From 31aab7cf280d1d4b985be1921569935a6cd5ba03 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:51:31 +0700 Subject: [PATCH 001/266] configs --- config/alekiships-client.toml | 4 + config/emi.css | 10 +- config/everycomp-common.toml | 53 ------ config/everycomp-entries.toml | 45 +++++ config/everycomp-hazardous.properties | 2 +- config/forgivingworld.json | 27 +++ config/gcyr.yaml | 13 +- config/gtceu.yaml | 195 ++++++++++++++++++++-- config/icterine.yml | 36 ++++ config/inventoryhud-client.toml | 2 +- config/jade/plugins.json | 30 +++- config/jade/sort-order.json | 21 +++ config/jei/jei-client.ini | 110 +++++++++--- config/jei/jei-debug.ini | 10 ++ config/jei/recipe-category-sort-order.ini | 1 - config/lmft.json | 3 + config/modernfix-mixins.properties | 1 + config/packetfixer.properties | 4 +- config/resourceful-config-web.json | 12 ++ 19 files changed, 478 insertions(+), 101 deletions(-) create mode 100644 config/alekiships-client.toml create mode 100644 config/everycomp-entries.toml create mode 100644 config/forgivingworld.json create mode 100644 config/icterine.yml create mode 100644 config/lmft.json create mode 100644 config/resourceful-config-web.json 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/emi.css b/config/emi.css index c065e078b..b7d9c1cfb 100644 --- a/config/emi.css +++ b/config/emi.css @@ -96,9 +96,10 @@ empty-search-sidebar-focus: none; /** - * The amount of vertical margin to give in the recipe screen. + * The maximum height the recipe screen will grow to be if space is available in + * pixels. */ - vertical-margin: 20; + maximum-recipe-screen-height: 256; /** * The minimum width of the recipe screen in pixels. Controls how many tabs there @@ -107,6 +108,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 */ diff --git a/config/everycomp-common.toml b/config/everycomp-common.toml index 866518931..53915b7bd 100644 --- a/config/everycomp-common.toml +++ b/config/everycomp-common.toml @@ -19,56 +19,3 @@ #Only show on advanced settings show_on_advanced_tooltips = false - #Disables certain types - [general.types] - - [general.types.leaves_type] - - [general.types.leaves_type.gtceu] - rubber = false - - [general.types.wood_type] - - [general.types.wood_type.gtceu] - rubber = false - - [general.types.wood_type.tfc] - acacia = true - ash = true - aspen = true - birch = true - blackwood = true - chestnut = true - douglas_fir = true - hickory = true - kapok = true - mangrove = true - maple = true - oak = true - palm = true - pine = true - rosewood = true - sequoia = true - spruce = true - sycamore = true - white_cedar = true - willow = true - - #Disables specific entries - [general.entries] - - [general.entries.wood_type] - - [general.entries.wood_type.storagedrawers] - full_drawers_2 = true - half_drawers_1 = true - full_drawers_4 = true - half_drawers_4 = true - trim = true - half_drawers_2 = true - full_drawers_1 = true - - [general.entries.wood_type.create] - window_pane = true - window = true - diff --git a/config/everycomp-entries.toml b/config/everycomp-entries.toml new file mode 100644 index 000000000..f56fa413f --- /dev/null +++ b/config/everycomp-entries.toml @@ -0,0 +1,45 @@ + +#Disables certain types. Note that all these configs, like in any other mod, only hide stuff from tabs and disable their recipes +[types] + + [types.leaves_type] + + [types.leaves_type.gtceu] + rubber = false + + [types.wood_type] + + [types.wood_type.tfc] + acacia = true + ash = true + aspen = true + birch = true + blackwood = true + chestnut = true + douglas_fir = true + hickory = true + kapok = true + mangrove = true + maple = true + oak = true + palm = true + pine = true + rosewood = true + sequoia = true + spruce = true + sycamore = true + white_cedar = true + willow = true + + [types.wood_type.gtceu] + rubber = false + +#Disables specific entries +[entries] + + [entries.wood_type] + + [entries.wood_type.create] + window_pane = true + window = true + diff --git a/config/everycomp-hazardous.properties b/config/everycomp-hazardous.properties index 20072f7ba..d00b0d730 100644 --- a/config/everycomp-hazardous.properties +++ b/config/everycomp-hazardous.properties @@ -1,2 +1,2 @@ #Hard disable entire modules. Use at your own risk and don't ask for support if you use this -#Mon Apr 22 18:18:22 NOVT 2024 +#Tue Aug 27 09:45:44 NOVT 2024 diff --git a/config/forgivingworld.json b/config/forgivingworld.json new file mode 100644 index 000000000..473941821 --- /dev/null +++ b/config/forgivingworld.json @@ -0,0 +1,27 @@ +{ + "disableVanillaPortals": { + "desc:": "Disables vanilla portals, default:false", + "disableVanillaPortals": false + }, + "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": [] +} \ No newline at end of file diff --git a/config/gcyr.yaml b/config/gcyr.yaml index 0d7c2db45..7253ab308 100644 --- a/config/gcyr.yaml +++ b/config/gcyr.yaml @@ -32,6 +32,11 @@ server: # Default: -270.0 spaceTemperature: -270.0 + # The Maximum size of a single space station. + # DO NOT CHANGE AFTER LOADING THE SPACE STATION WORLD, THAT WILL BREAK THE WORLD BORDER + # Default: 512 + spaceStationMaxSize: 512 + machine: # Damage caused by standing in an active dyson system controller's beam. (per tick) # Default: 5.0 @@ -39,25 +44,25 @@ machine: 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 + # Do rockets explode if landing is executed improperly? + # Default: true. + doCrashLandingExplosion: true + client: # Offset of the oxygen bar from the left side of the screen. # Default: 32 diff --git a/config/gtceu.yaml b/config/gtceu.yaml index 613f02ac1..693db866b 100644 --- a/config/gtceu.yaml +++ b/config/gtceu.yaml @@ -14,16 +14,16 @@ recipes: # 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 @@ -79,10 +79,14 @@ recipes: # Whether to nerf the output amounts of the first circuit in a set to 1 (from 2) and SoC to 2 (from 4). # Default: false - harderCircuitRecipes: false + harderCircuitRecipes: true + + # 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 @@ -107,11 +111,11 @@ worldgen: oreVeins: # The grid size (in chunks) for ore vein generation # Default: 3 - oreVeinGridSize: 3 + oreVeinGridSize: 5 # The maximum random offset (in blocks) from the grid for generating an ore vein. # Default: 12 - oreVeinRandomOffset: 12 + oreVeinRandomOffset: 32 # Prevents regular vanilla ores from being generated outside GregTech ore veins # Default: true @@ -252,7 +256,85 @@ machines: # This is intended for modpack developers only, and is not playable without custom tweaks or addons. # Other mods can override this to true, regardless of the config file. # Default: false - highTierContent: false + highTierContent: true + + # 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: true + + # Let Dual Hatch has more ability. + # When enabled it, Dual Hatch will can used to assemble line and so on. + # Need restart Minecraft to apply. + enableMoreDualHatchAbility: true + + # 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. @@ -273,12 +355,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 @@ -317,12 +399,74 @@ tools: # Default: 16 sprayCanChainLength: 16 + # 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: true + + # 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 + + # Whether the GTCEu's ingame guidebook, 'Compass', be enabled. + # WARNING: INCOMPLETE + # Default: false + enableCompass: false + # Config options for Mod Compatibility compat: # Config options regarding GTEU compatibility with other energy systems @@ -346,6 +490,17 @@ compat: # Default: 4 FE/Energy == 1 EU euToPlatformRatio: 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 + # Whether to hide facades of all blocks in JEI and creative search menu. # Default: true hideFacadesInJEI: true @@ -354,12 +509,20 @@ compat: # Default: true hideFilledCellsInJEI: 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 marker should show dimension tier. + # 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 diff --git a/config/icterine.yml b/config/icterine.yml new file mode 100644 index 000000000..87836718f --- /dev/null +++ b/config/icterine.yml @@ -0,0 +1,36 @@ +# Report issues on Github https://github.com/Mephodio/Icterine/issues +# Discuss, get help or report issues on Discord https://discord.gg/2SpfwvM7dm + +# Enables debug logs +# Will worsen your performance, please do not enable if you don't need it! +debug_mode: false + +# Cancels advancement check when stack becomes empty (for example, when player throws out the whole stack). +# Injects into InventoryChangeTrigger. +# Disable if you have mixin conflict or some advancements became unobtainable (and also report on github/discord!). +ignore_triggers_for_emptied_stacks: true + +# Cancels advancement check when stack size decreases (for example, when player throws out one item from stack). +# Injects into InventoryChangeTrigger, ItemStack, AbstractContainerMenu. +# Disable if you have mixin conflict or some advancements became unobtainable (and also report on github/discord!). +ignore_triggers_for_decreased_stacks: true + +# Optimizes advancement check for advancements that require multiple items (for example, "Cover me in debris" requires full netherite armor set). +# Injects into InventoryChangeTriggerInstance. +# Disable if you have mixin conflict or some advancements became unobtainable (and also report on github/discord!). +optimize_multiple_predicate_trigger: true + +# Disables advancement check when you just open any container (for example, chest or backpack). +# Injects into AbstractContainerMenu. +# Disable if you have mixin conflict or problems with any container (and also report on github/discord!). +initialize_inventory_last_slots: true + +# Skips advancement check when you pick up or otherwise increase stack size if this change doesn't pass any advancement threshold. +# For example, dirt stack size increased from 52 to 53, but there's no advancement for getting 53 dirt in your modpack. +optimize_triggers_for_increased_stacks: true + +# When checking each item criterion, first check the count requirement and see if it was fulfilled before. +# For example, there is advancement for getting stone block, any amount. You have 52 dirt, and you pick up one more. There is +# no way you can the get stone advancement from this action, because it requires any amount of item, and you already had some. +# Another example: there is no way you can get the advancement for 64 emerald blocks if you don't have dirt and you pick up 5 dirt. +check_count_before_item_predicate_match: true \ No newline at end of file diff --git a/config/inventoryhud-client.toml b/config/inventoryhud-client.toml index 3964470b7..7c8b246a5 100644 --- a/config/inventoryhud-client.toml +++ b/config/inventoryhud-client.toml @@ -217,7 +217,7 @@ #Notification settings [notification] #Last notified mod version - lastNotifiedVersion = "3.4.22" + lastNotifiedVersion = "3.4.26" #Notify more than once keepNotifying = true diff --git a/config/jade/plugins.json b/config/jade/plugins.json index 8df2f645f..8dcb00930 100644 --- a/config/jade/plugins.json +++ b/config/jade/plugins.json @@ -54,10 +54,24 @@ "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 + "recipe_output_info": true, + "stained_color": true, + "hazard_cleaner_provider": true, + "cable_info": true, + "parallel_info": true }, "jade": { "coordinates.rel": false, @@ -67,6 +81,13 @@ "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 @@ -127,6 +148,7 @@ "sheet_pile": true, "quern": true, "pit_kiln_above": true, + "hot_poured_glass": true, "gearbox": true, "axle": true, "chested_horse": true, @@ -149,6 +171,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 2fdfcc63d..bd9d8dfda 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:cheese": null, "firmalife:drying_mat": null, "firmalife:fruit_tree_sapling": null, @@ -52,10 +59,24 @@ "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: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:transformer": null, "gtceu:workable_provider": null, "jade:block_face": null, "jade:distance": null, diff --git a/config/jei/jei-client.ini b/config/jei/jei-client.ini index b0fbe9a60..dfb253e13 100644 --- a/config/jei/jei-client.ini +++ b/config/jei/jei-client.ini @@ -1,9 +1,56 @@ -[advanced] +[appearance] # Description: Display search bar in the center # Valid Values: [true, false] # Default Value: false CenterSearch = false + # Description: Max. recipe gui height + # Valid Values: Any integer greater than or equal to 175 + # Default Value: 350 + RecipeGuiHeight = 350 + + +[cheat_mode] + # Description: How items should be handed to you + # Valid Values: [INVENTORY, MOUSE_PICKUP] + # Default Value: MOUSE_PICKUP + GiveMode = MOUSE_PICKUP + + # Description: Enable cheating items into the hotbar by using the shift+number 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 @@ -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,15 +71,22 @@ # 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 + +[input] + # Description: Number of milliseconds before a long mouse click is considered to become 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] @@ -52,6 +96,24 @@ # 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: @) @@ -84,6 +146,16 @@ # 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 + [IngredientList] # Description: Max number of rows shown diff --git a/config/jei/jei-debug.ini b/config/jei/jei-debug.ini index f2171e61e..30ff2591f 100644 --- a/config/jei/jei-debug.ini +++ b/config/jei/jei-debug.ini @@ -4,11 +4,21 @@ # Default Value: false DebugMode = false + # 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 diff --git a/config/jei/recipe-category-sort-order.ini b/config/jei/recipe-category-sort-order.ini index 85146b9e5..21e393e53 100644 --- a/config/jei/recipe-category-sort-order.ini +++ b/config/jei/recipe-category-sort-order.ini @@ -83,5 +83,4 @@ ftbquests:loot_crate ftbquests:quest firmalife:bowl_pot firmalife:stinky_soup -framedblocks:framing_saw tfc:sewing 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/modernfix-mixins.properties b/config/modernfix-mixins.properties index 3986f867a..5b64dd174 100644 --- a/config/modernfix-mixins.properties +++ b/config/modernfix-mixins.properties @@ -52,6 +52,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) diff --git a/config/packetfixer.properties b/config/packetfixer.properties index b52932142..de97da359 100644 --- a/config/packetfixer.properties +++ b/config/packetfixer.properties @@ -1,8 +1,8 @@ #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. -#Fri Jul 05 04:36:29 YEKT 2024 -nbtMaxSize=209715200 +#Tue Aug 27 09:45:36 NOVT 2024 decoderSize=838860800 +nbtMaxSize=209715200 packetSize=104857600 varInt21=8 diff --git a/config/resourceful-config-web.json b/config/resourceful-config-web.json new file mode 100644 index 000000000..6eadf185b --- /dev/null +++ b/config/resourceful-config-web.json @@ -0,0 +1,12 @@ +{ + "enabled": false, + "port": 7903, + "validator": { + "uuids": [], + "if": { + "password": "bb4ee1f6-ea54-434a-b4e4-d538be159dd1", + "type": "password" + }, + "type": "if" + } +} \ No newline at end of file From c35b4628a4b8e1c3264f7f112bf75db7df5b13d4 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:51:50 +0700 Subject: [PATCH 002/266] port some vanilla textures from tfg-core --- .../minecraft/textures/item/raw_copper.png | Bin 0 -> 2751 bytes .../assets/minecraft/textures/item/raw_gold.png | Bin 0 -> 2754 bytes .../assets/minecraft/textures/item/raw_iron.png | Bin 0 -> 2802 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/minecraft/textures/item/raw_copper.png create mode 100644 kubejs/assets/minecraft/textures/item/raw_gold.png create mode 100644 kubejs/assets/minecraft/textures/item/raw_iron.png diff --git a/kubejs/assets/minecraft/textures/item/raw_copper.png b/kubejs/assets/minecraft/textures/item/raw_copper.png new file mode 100644 index 0000000000000000000000000000000000000000..afa9c5dc885a887be173a103499002db56b89515 GIT binary patch literal 2751 zcmcImU2GIp6kZewVlYIa7D#j$qEcjbes*SOcfty#TWk{+YFVX?FW$NLPCMz&+;L{w z-SQ$K!B7>0N)!nCV1qv|z6jB1RES0+HHs!;f)75JnCOGX5MrW|dS+*L+CrDsze(or zobR6hbM77Q-Esf&WviE^QmN%V-Nin5uZZrYOW=9u#VG`@8@=vtsIV@@ZMXk|c9Fe5qL_m(OqH6iLa5QdU$nL6HneHZ+ZETs)}riDmQ^w>6Z(Ux6PA zL(dS!YPFiKX41?b6yl#CO$kLBVBhvao4H&h5t(cxEbw4z z?1SSaV%?w-Cy1C>L!Kz7rO2l`kl+O8jrf(ia)L!#p$>J!0I+g`g)o&$34Bhmj+3B+ zuxk`7YWOxMIw+5MRP3Vx8}Tvi8U>B(nuY~oADs@(0+s_jS?mq5kOf1mMGzA9tWbou z)k0y!nFXaay9G4jBv8-j^eGCNUuLY*ES}z`ZJeT}b#DD`+a;_Tv`3CN7SJLJX@Q4A zQUysCB)u%>po$DhzgN-?Ns6H*s7-=GbQM^U4Mj5)c@~%v+Zvk}O0Z!u-$9T#+d+d= z^xVO^wo=LHaf1-KnD!J4JeZocZDPo>MdU0tp$jZsP>CuFh-7pjlhsL1BShEa*jiX$ zWOyVhs%U-OV1!|ikz~Wb5-}~4$O6%@Bxpp{g&fg|AnP)+R4t>L)NER_)3>3=QDvso z$SML76<3*NLagvyR4+zd|1OwaU_e&WGFpS)Yu9L{ zzi30$g4mGkOwPb;PBhA*4mG;%0BUZmF>7|wM;l)io2xgafpF{sj;fOqzCpIryYY3;d#44Y-N0aMz3wUWU5%onwnr@q6((2QXy}ltYE1~ zwNw*HG=rP2UuF80J@ijZZ-f;OA$O3%E+q0Tox#i*bywxu3IeS1dOW@<@H;Qm8>^CoFw1EfWL{eMXkqdhh59P!Gg zivNpoB)3Jmsqaa8idWufN7Y_$GW8=rdK#IKz^dG74l zb!`m2z5k`HV)pm*e=a81-_j|s{p0A=58|Ye38oGY-|8J-Ui!Li?~m^s{r3CA7cL*F zbsIlFENof%#it*wY414q{@OFIzjgVm(O*w*KDFeKbNgN0XSRQMv2gJ2)RBuHPyRHq zbHZ)gQZAi%V0`g2w=G`rr1i@BMaQ1q|Jez4dh*ix4MzqhK6&ryZ#FF2x3swW#V5|6 z+Pmq%_>sep3lH6am%jYib(!|n-`(KcL)_Fd|OC4WEN6enC9mO}cKC^SA literal 0 HcmV?d00001 diff --git a/kubejs/assets/minecraft/textures/item/raw_gold.png b/kubejs/assets/minecraft/textures/item/raw_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..31b9965a41c68e85dae28e036bcf5b5b24ce30fa GIT binary patch literal 2754 zcmcImTWB0r7@iQVwKY&tN=P3%PN{h5>|Ay(J43fgn%%mAZW_|qCQu}2&z#vEvO8y- znPfM8Y8$AC6;zOhR!|Vs2PqYyKKP))7KExOB1*kH^g$m43kp(Di2v-)PLej;#M{8m zo;l|`|K@14IbA^5x3D@+Cqv-N@K*TtNB zr5EPTI^z@JMDd`BX)T2;S|X`N%>y*U?Co!O2v3ucEs?V0X1N>hf55ShmF14AMX~4& zk&06|?vumEN5=8-X>3?r|2}qa!vp~}5+b%ytGa>N$Z}1&CXAzLfn%GHa5~EkMhe-9 z;wU>reZm?kiN~TSu{w+tP0kp`9#$6Rv>sgfFT!vL^Sf(4q2#RR^l*jg<$W}l~qvEa5_Mvl?3XULq0(v^~Wi#wv%VHZ5t~qDV=@fsN-6+9y}U39&aEy6p}0l ziKOtN#Ebg4lz}WVMg4J6H$|}pEkbTuC`7k`WyzFPGcBzGQ_HdE)`eQww5eZ15ICoX z%0%$oa#LHeXb!tUh+IsDb6E~dO*xKbN`|Q0iY4)iVX3?*Dj6P0dWOfgu4o$86{O4U z{W*$fqNIxUw+hUn7-S^TFeL?p&z8n38QtKGl49|hv?1}bRg%TDBHK1fx1}BO9jI|s zT`4uP$^wb9Bxf|0lz3eN`gC29`H~32G;HZsMovqH4sw?D4$&(0i_`+nVLpns3F5(2 z6xCOjlj6yVC{?R7tw~)L;Sr?h9j{NWv%b9ir0W31Kuwe{W>f!R=v`odrmAT*o*#7@ zq&ksvfVH4yh_-TNa`j5o%AyK23r+wzHy8Js!{q6BRCU;9QJM(1T)lFfI-63mRuz=cO9rK%SC$%ZYE3bur(J)%`dXK`S(l6Jp|K7jvz}*Kwy2*BL|LmPb z@veNju=rKbHI-+(2hP2yUefwbUMW7Gzqo_(AN%CU3;P$In>zjB<%@lczr7%RynSKo zKuJ7{zC3gPCU$tIF!|u8?7qTx-;DO|IsG-W@Q^q^aN*>YEoTmW&RFvU+9_r6Sog2o x50%UI<~_v|%KWiG|EUvm_nfz{l^-sN%zNLyzJLBLdLz1J4(CU57xqt``U{lFcU}Mh literal 0 HcmV?d00001 diff --git a/kubejs/assets/minecraft/textures/item/raw_iron.png b/kubejs/assets/minecraft/textures/item/raw_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..a532bc3b5e5a438d4322e5d147c46f0b980bcba4 GIT binary patch literal 2802 zcmcImTWl0n7@k5SSU^kKL}Mt9Q%EE*JD1(r**&sA+g){m*_cc%ywIbV@?ji3+|6Y0rdES5hPe@*O+MNR~MJ;Rc?>g$> zp?k^L8%AHh*RN~?DmEif!#NZwnKnUF)W*#v8>%D7qjPA;uu{yGQ=c%jp{1BzlEN!? z2O2gy#~su=-qoj$kEltF*}RF~SOP?Vi9AS`%)I4-Qi>_d1?1Zw<`}vR@kUZio3D`W zSGwsA>>xTB5m=Sy1zILwvACE>CO6O`FGe{&&WRE$@_-kBB+ei;-e9f}J5wNG6jUFLI*D5(MjxSspC0mfKpDkVdZR7`A6%i}oeL94>e% zhL~FM!L&oMmK(&0M2sszn-e0u?^7A5sUglTIQg=2P32G?naJ{7f)zq636r9P@Hxer zW{7sZ%qX!a@NG`C+c#z-t_Qie;HW4wN;I}s4RgI7G##1+EGO`Au|14E><;4^K?tX3 zg~BuR8VdcHSx{6mYC!#&5Nd-C2SE=zeHiDfa75j4&G@&I@r~*Gb)oyw2uiA}y(-7>g3JmP>+QgK>?l|xF(>1G zwgC}OOoe`Zr5GU??DwgfFH{C)ktY`?_|IT|V4nHu=^d6qLM$@0&lgbE-%ENIF(58U zQ7IVjHcBYppEgL;+=?N@{qlBH)E1Y2rBSMlBIZ3&sAN&#q^tN=%1J#gjF4e)(|4Q5XaPXM#a`Ba%SYhh7Kf~ z4|3cTqdVB7p>5|4wMzTxx7@|mm6J6BJ(Dy79u?agb~tlQi2&F}b+vzGyLaZl6PC+l{vTK3ACeS7Mc zp6Sk9-#B%`1lL;XpS!TAQC3>V4o{st)^PrpCmuiptLY_MnllXtj%3f!=^Z=1o+w@& z=_)+_p}GF_m8o?TPxq|+F7Yy8zW89=Tv_rW9Q3U6(gdRu+8`9*zG z-Qn+#PEwcZzg)Gqt>xSL$)k&@Lll!g$DdkqX=3@0Coiv@+)mZ=@6w;G{Q2nq12=jn zJ{o-Wt3l!QpHA)+jxB%YsV4KG6Kh8 Date: Tue, 27 Aug 2024 09:52:18 +0700 Subject: [PATCH 003/266] fix firmaciv drop from wood blocks --- .../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 ++++++++++++++++++ 40 files changed, 10760 insertions(+) create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/acacia.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/ash.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/aspen.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/birch.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/blackwood.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/chestnut.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/douglas_fir.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/hickory.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/kapok.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/mangrove.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/maple.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/oak.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/palm.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/pine.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/rosewood.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sequoia.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/spruce.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sycamore.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/white_cedar.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/willow.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/acacia.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/ash.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/aspen.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/birch.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/blackwood.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/chestnut.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/douglas_fir.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/hickory.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/kapok.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/mangrove.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/maple.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/oak.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/palm.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/pine.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/rosewood.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sequoia.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/spruce.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sycamore.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/white_cedar.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/willow.json 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 new file mode 100644 index 000000000..353ebbb62 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/acacia.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..19284251a --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/ash.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..f3b2d9b5f --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/aspen.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..20f54ccf5 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/birch.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..020990dbe --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/blackwood.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..ca770d7db --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/chestnut.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..169f303c7 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/douglas_fir.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..714e59b86 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/hickory.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..7d9c7c129 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/kapok.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..9c6c9ca8d --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/mangrove.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..343ecc373 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/maple.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..8d37c7e78 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/oak.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..8f5d172b1 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/palm.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..d110788a1 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/pine.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..38b33ecb6 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/rosewood.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..72c6b7452 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sequoia.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..d47e81a0e --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/spruce.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..b84e5d14f --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sycamore.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..4d3495adb --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/white_cedar.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..6a6c190ca --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/willow.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..0bd7f40eb --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/acacia.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..7cbebb491 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/ash.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..6d602f7ee --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/aspen.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..8ab6c3c52 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/birch.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..01ce90f96 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/blackwood.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..0af106297 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/chestnut.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..ec8861408 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/douglas_fir.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..8e0c736f2 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/hickory.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..cfb56f03c --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/kapok.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..383377de1 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/mangrove.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..c78cebc60 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/maple.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..d728fb43a --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/oak.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..2ff8e6057 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/palm.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..3f02f20c2 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/pine.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..2bf6d17f2 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/rosewood.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..953c853a2 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sequoia.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..c69146c74 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/spruce.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..2138d1327 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sycamore.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..54a39a172 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/white_cedar.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..879ab55ec --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/willow.json @@ -0,0 +1,269 @@ +{ + "__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 From eadac36ebd0e18e97e4d89a60f8d381fb1692803 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:52:37 +0700 Subject: [PATCH 004/266] remove old firmaciv loot_table fix files --- .../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 ------------------ 40 files changed, 10760 deletions(-) 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 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 From 60337f88616bf2728579dd97a1cc1c0e4bb4b392 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:52:52 +0700 Subject: [PATCH 005/266] remove cringe fix for tfc powders --- kubejs/data/forge/tags/items/dusts.json | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 kubejs/data/forge/tags/items/dusts.json diff --git a/kubejs/data/forge/tags/items/dusts.json b/kubejs/data/forge/tags/items/dusts.json deleted file mode 100644 index e2ad84af9..000000000 --- a/kubejs/data/forge/tags/items/dusts.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "replace": true, - "values": [] -} \ No newline at end of file From d567189ecef466bca79b2bc8d4bcecff3a0cb7d6 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:53:20 +0700 Subject: [PATCH 006/266] drop old tfc ore gen files --- .../worldgen/configured_feature/geode.json | 0 .../vein/deep_garnet_amethyst.json | 313 ------------ .../vein/deep_garnet_opal.json | 175 ------- .../configured_feature/vein/deep_gold.json | 174 ------- .../vein/deep_hematite.json | 121 ----- .../vein/deep_limonite.json | 59 --- .../vein/deep_magnetite.json | 202 -------- .../vein/deep_molybdenum.json | 174 ------- .../vein/deep_naquadah.json | 103 ---- .../vein/deep_pitchblende.json | 148 ------ .../vein/deep_sapphire.json | 106 ---- .../vein/deep_scheelite.json | 70 --- .../vein/deep_sheldonite.json | 151 ------ .../configured_feature/vein/deep_topaz.json | 152 ------ .../vein/normal_apatite_.json | 184 ------- .../vein/normal_basaltic_sands.json | 60 --- .../vein/normal_bauxite.json | 146 ------ .../vein/normal_beryllium.json | 95 ---- .../vein/normal_bismuthinite.json | 215 -------- .../vein/normal_cassiterite.json | 70 --- .../vein/normal_certus_quartz.json | 105 ---- .../configured_feature/vein/normal_coal.json | 90 ---- .../vein/normal_copper.json | 117 ----- .../vein/normal_garnet_tin.json | 473 ------------------ .../vein/normal_garnierite.json | 52 -- .../configured_feature/vein/normal_gold.json | 187 ------- .../vein/normal_graphite.json | 38 -- .../vein/normal_hematite.json | 117 ----- .../configured_feature/vein/normal_lapis.json | 151 ------ .../vein/normal_limonite.json | 71 --- .../vein/normal_lubricant.json | 94 ---- .../vein/normal_magnetite.json | 158 ------ .../vein/normal_manganese.json | 266 ---------- .../configured_feature/vein/normal_mica.json | 220 -------- .../vein/normal_monazite.json | 70 --- .../vein/normal_oilsands.json | 90 ---- .../vein/normal_olivine.json | 174 ------- .../vein/normal_redstone.json | 32 -- .../configured_feature/vein/normal_salt.json | 83 --- .../vein/normal_saltpeter.json | 220 -------- .../vein/normal_silver.json | 63 --- .../vein/normal_sphalerite.json | 215 -------- .../vein/normal_spodumene.json | 221 -------- .../vein/normal_sulfur.json | 89 ---- .../vein/normal_tetrahedrite.json | 139 ----- .../vein/surface_bismuthinite.json | 215 -------- .../vein/surface_cassiterite.json | 70 --- .../vein/surface_copper.json | 117 ----- .../vein/surface_sphalerite.json | 215 -------- .../vein/surface_tetrahedrite.json | 139 ----- .../tfg/worldgen/placed_feature/geode.json | 28 -- .../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 - 100 files changed, 7233 deletions(-) rename kubejs/data/{tfg => tfc}/worldgen/configured_feature/geode.json (100%) 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_basaltic_sands.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_lubricant.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_mica.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_saltpeter.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_cassiterite.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 delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/geode.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 diff --git a/kubejs/data/tfg/worldgen/configured_feature/geode.json b/kubejs/data/tfc/worldgen/configured_feature/geode.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/geode.json rename to kubejs/data/tfc/worldgen/configured_feature/geode.json 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 5c182435e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_amethyst.json +++ /dev/null @@ -1,313 +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 - } - ] - } - ] - } -} \ 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 4d44ad915..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_opal.json +++ /dev/null @@ -1,175 +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 - } - ] - } - ] - } -} \ 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 ddab0f5d8..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_gold.json +++ /dev/null @@ -1,174 +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 - } - ] - } - ] - } -} \ 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 c354a8d12..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_hematite.json +++ /dev/null @@ -1,121 +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 - } - ] - } - ] - } -} \ 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 186db84af..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_limonite.json +++ /dev/null @@ -1,59 +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 - } - ] - } - ] - } -} \ 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 a9f375c72..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_magnetite.json +++ /dev/null @@ -1,202 +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 - } - ] - } - ] - } -} \ 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 5c616d03e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_molybdenum.json +++ /dev/null @@ -1,174 +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 - } - ] - } - ] - } -} \ 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 ae246bac5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_naquadah.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 310, - "density": 0.25, - "min_y": -64, - "max_y": -20, - "size": 22, - "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 - } - ] - } - ] - } -} \ 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 2ce0d37b3..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_pitchblende.json +++ /dev/null @@ -1,148 +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 - } - ] - } - ] - } -} \ 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 4f38d2fc0..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sapphire.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 280, - "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 - } - ] - } - ] - } -} \ 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 60dad99ed..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_scheelite.json +++ /dev/null @@ -1,70 +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 - } - ] - } - ] - } -} \ 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 6a61d6e5b..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sheldonite.json +++ /dev/null @@ -1,151 +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 - } - ] - } - ] - } -} \ 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 bbbefa97b..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_topaz.json +++ /dev/null @@ -1,152 +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 - } - ] - } - ] - } -} \ 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 e55526af6..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_apatite_.json +++ /dev/null @@ -1,184 +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 - } - ] - } - ] - } -} \ 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/vein/normal_basaltic_sands.json deleted file mode 100644 index 630d2171c..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_basaltic_sands.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 160, - "density": 0.3, - "min_y": -32, - "max_y": 60, - "size": 48, - "random_name": "normal_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 - } - ] - }, - { - "replace": [ - "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 - } - ] - } - ] - } -} \ 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 4c96d330b..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bauxite.json +++ /dev/null @@ -1,146 +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 - } - ] - } - ] - } -} \ 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 0ff3e26c5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_beryllium.json +++ /dev/null @@ -1,95 +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 - } - ] - } - ] - } -} \ 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 b8c2b9826..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": 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/normal_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_cassiterite.json deleted file mode 100644 index c0571a68e..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": 1, - "underground_count": 0, - "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 974fd99e3..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_certus_quartz.json +++ /dev/null @@ -1,105 +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 - } - ] - } - ] - } -} \ 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 93c69ee0d..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_coal.json +++ /dev/null @@ -1,90 +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 - } - ] - } - ] - } -} \ 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 9ac3958d5..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": 1, - "underground_count": 0, - "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 cd8a87579..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnet_tin.json +++ /dev/null @@ -1,473 +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 - } - ] - } - ] - } -} \ 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 3002932eb..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": 1, - "underground_count": 0, - "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 c3baaa13e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_gold.json +++ /dev/null @@ -1,187 +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": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_native_gold", - "weight": 100 - } - ] - } - } -} \ 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 c31c1d0fe..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_graphite.json +++ /dev/null @@ -1,38 +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 - } - ] - } - ] - } -} \ 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 cf40974c8..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_hematite.json +++ /dev/null @@ -1,117 +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": 35, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_hematite", - "weight": 100 - } - ] - } - } -} \ 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 5d287c649..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lapis.json +++ /dev/null @@ -1,151 +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 - } - ] - } - ] - } -} \ 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 b0e3a01e3..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_limonite.json +++ /dev/null @@ -1,71 +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": 35, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_limonite", - "weight": 100 - } - ] - } - } -} \ 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/vein/normal_lubricant.json deleted file mode 100644 index 5248cc9bf..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lubricant.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 190, - "density": 0.25, - "min_y": -40, - "max_y": 56, - "size": 36, - "random_name": "normal_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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - } - ] - } -} \ 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 74b7fc550..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_magnetite.json +++ /dev/null @@ -1,158 +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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_magnetite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file 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 7f3d2ceb6..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_manganese.json +++ /dev/null @@ -1,266 +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 - } - ] - } - ] - } -} \ 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/vein/normal_mica.json deleted file mode 100644 index bd96dcf05..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_mica.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 190, - "density": 0.25, - "min_y": 0, - "max_y": 210, - "size": 36, - "random_name": "normal_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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_pollucite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_pollucite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_pollucite_ore", - "weight": 15 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_pollucite_ore", - "weight": 15 - } - ] - } - ] - } -} \ 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 0086b72f3..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_monazite.json +++ /dev/null @@ -1,70 +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 - } - ] - } - ] - } -} \ 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 b90e0ee33..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_oilsands.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 155, - "density": 0.25, - "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 - } - ] - } - ] - } -} \ 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 11114ea15..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_olivine.json +++ /dev/null @@ -1,174 +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 - } - ] - } - ] - } -} \ 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 ebe0c1a5f..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_redstone.json +++ /dev/null @@ -1,32 +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 - } - ] - } - ] - } -} \ 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 6fc2e582e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_salt.json +++ /dev/null @@ -1,83 +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 - } - ] - } - ] - } -} \ 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/vein/normal_saltpeter.json deleted file mode 100644 index 7228aafc5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_saltpeter.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 210, - "density": 0.3, - "min_y": -32, - "max_y": 60, - "size": 50, - "random_name": "normal_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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_alunite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_alunite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_alunite_ore", - "weight": 15 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_alunite_ore", - "weight": 15 - } - ] - } - ] - } -} \ 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 5a6a4031c..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": 1, - "underground_count": 0, - "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 c283fe420..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": 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/normal_spodumene.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_spodumene.json deleted file mode 100644 index 71d98f782..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_spodumene.json +++ /dev/null @@ -1,221 +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 - } - ] - } - ] - } -} \ 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 464d1f9cd..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sulfur.json +++ /dev/null @@ -1,89 +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 - } - ] - } - ] - } -} \ 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 a740d6ff4..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_tetrahedrite.json +++ /dev/null @@ -1,139 +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": 35 - }, - { - "block": "gtceu:quartzite_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:quartzite_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:slate_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:phyllite_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:schist_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:gneiss_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:marble_stibnite_ore", - "weight": 25 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_tetrahedrite", - "weight": 100 - } - ] - } - } -} \ 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_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/surface_cassiterite.json deleted file mode 100644 index 4f93ee411..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_cassiterite.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 135, - "density": 0.25, - "min_y": 60, - "max_y": 210, - "size": 50, - "random_name": "surface_cassiterite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_cassiterite_ore", - "weight": 60 - }, - { - "block": "gtceu:granite_tin_ore", - "weight": 40 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_cassiterite_ore", - "weight": 60 - }, - { - "block": "gtceu:diorite_tin_ore", - "weight": 40 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_cassiterite_ore", - "weight": 60 - }, - { - "block": "gtceu:gabbro_tin_ore", - "weight": 40 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_cassiterite", - "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 8e6f8ace9..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_copper.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 140, - "density": 0.25, - "min_y": 60, - "max_y": 210, - "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": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "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/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 78e7e3b16..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_tetrahedrite.json +++ /dev/null @@ -1,139 +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": 10 - }, - { - "block": "gtceu:quartzite_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:slate_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:slate_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:phyllite_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:phyllite_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:schist_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:schist_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:gneiss_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:gneiss_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:marble_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:marble_stibnite_ore", - "weight": 30 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_tetrahedrite", - "weight": 100 - } - ] - } - } -} \ 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/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 From 1b2acf1c2ce48ae865e75a07fc13062db9e2dd0d Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:53:38 +0700 Subject: [PATCH 007/266] refactor firmalife ore removing --- kubejs/server_scripts/firmalife/tags.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 49e685f98..1216e8ee6 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -32,10 +32,16 @@ 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) => { - event.remove('tfc:in_biome/veins', 'firmalife:vein/normal_chromite') - event.remove('tfc:in_biome/veins', 'firmalife:vein/deep_chromite') + const ALL_DISABLED_FIRMALIFE_VEINS = [ + 'firmalife:vein/normal_chromite', + 'firmalife:vein/deep_chromite' + ] + + // Удаление + ALL_DISABLED_FIRMALIFE_VEINS.forEach(vein => { + event.remove('tfc:in_biome/veins', vein) + }) } \ No newline at end of file From 1cf4b13cf642649228ebe0c37eeea1eb9179d149 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:54:14 +0700 Subject: [PATCH 008/266] add custom fresh water vein for GTM --- kubejs/server_scripts/gregtech/fluid_veins.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 kubejs/server_scripts/gregtech/fluid_veins.js diff --git a/kubejs/server_scripts/gregtech/fluid_veins.js b/kubejs/server_scripts/gregtech/fluid_veins.js new file mode 100644 index 000000000..db71d4360 --- /dev/null +++ b/kubejs/server_scripts/gregtech/fluid_veins.js @@ -0,0 +1,15 @@ +// priority: 0 + +const registerGTMFluidVeins = (event) => { + + event.add('tfg:fresh_water', vein => { + vein.dimensions('minecraft:overworld') + vein.fluid(() => Fluid.of('minecraft:water').fluid) + vein.weight(5) + vein.minimumYield(250) + vein.maximumYield(300) + vein.depletionAmount(1) + vein.depletionChance(100) + vein.depletedYield(15) + }) +} \ No newline at end of file From 2c556118bfb90cf4064aac1ceae04a0dd5122444 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:54:27 +0700 Subject: [PATCH 009/266] small refactor for loot.js --- kubejs/server_scripts/gregtech/loot.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/gregtech/loot.js index e7f04f58f..84d79ac51 100644 --- a/kubejs/server_scripts/gregtech/loot.js +++ b/kubejs/server_scripts/gregtech/loot.js @@ -2,11 +2,11 @@ const registerGTCEULoots = (event) => { - global.TFC_STONE_TYPES.forEach(stoneType => { + global.TFC_STONE_TYPES.forEach(stoneTypeName => { GTMaterialRegistry.getRegisteredMaterials().forEach(material => { if (material.hasProperty(PropertyKey.ORE)) { - let stoneTypeMaterial = TFGHelpers.getMaterial(stoneType) + let stoneTypeMaterial = TFGHelpers.getMaterial(stoneTypeName) let stoneTypeDust = null if (stoneTypeMaterial != null) stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1) @@ -17,7 +17,7 @@ const registerGTCEULoots = (event) => { let crushedOre = ChemicalHelper.get(TagPrefix.crushed, material, 1) - let blockName = `gtceu:${stoneType}_${material.getName()}_ore` + let blockName = `gtceu:${stoneTypeName}_${material.getName()}_ore` if (!richRawOre.isEmpty() && !normalRawOre.isEmpty() && !poorRawOre.isEmpty()) { From b1e1e8aa0774b81a43aa01b3923b7bf6bf35a56e Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:54:43 +0700 Subject: [PATCH 010/266] add all ores from gtm to tfc world --- kubejs/server_scripts/gregtech/ore_veins.js | 302 ++++++++++++++++++++ 1 file changed, 302 insertions(+) create mode 100644 kubejs/server_scripts/gregtech/ore_veins.js diff --git a/kubejs/server_scripts/gregtech/ore_veins.js b/kubejs/server_scripts/gregtech/ore_veins.js new file mode 100644 index 000000000..515ecaeac --- /dev/null +++ b/kubejs/server_scripts/gregtech/ore_veins.js @@ -0,0 +1,302 @@ +// priority: 0 + +// Я правда не тупой, я знаю, что это можно было сделать перебором списка, но это сделано +// для удобного изменения значения каждой жилы, допустим редкости спавна и тд. + +const registerGTMOreVeins = (event) => { + + // Перемещение - End -> Overworld + + event.modify("gtceu:bauxite_vein_end", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + + vein.layeredVeinGenerator(generator => generator + .buildLayerPattern(pattern => pattern + .layer(l => l.weight(2).mat(GTMaterials.Bauxite).size(1, 4)) + .layer(l => l.weight(2).mat(GTMaterials.Ilmenite).size(1, 2)) + .layer(l => l.weight(1).mat(GTMaterials.Aluminium).size(1, 1)) + ) + ) + }) + + event.modify("gtceu:magnetite_vein_end", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:naquadah_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:pitchblende_vein_end", vein => { + vein.layer('tfg_tfc_ii_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:scheelite_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:sheldonite_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + // Nether -> Overworld + + event.modify("gtceu:banded_iron_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:beryllium_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:certus_quartz", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:manganese_vein", vein => { + vein.layer('tfg_tfc_ie_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:molybdenum_vein", vein => { + vein.layer('tfg_tfc_ie_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:monazite_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:nether_quartz_vein", vein => { + vein.layer('tfg_tfc_s_q_s_g') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:redstone_vein", vein => { + vein.layer('tfg_tfc_granite') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:saltpeter_vein", vein => { + vein.layer('tfg_tfc_ie_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + + vein.layeredVeinGenerator(generator => generator + .buildLayerPattern(pattern => pattern + .layer(l => l.weight(3).mat(GTMaterials.Saltpeter).size(2, 4)) + .layer(l => l.weight(2).mat(GTMaterials.Diatomite).size(1, 1)) + .layer(l => l.weight(2).mat(GTMaterials.Electrotine).size(1, 1)) + .layer(l => l.weight(1).mat(GTMaterials.Alunite).size(1, 1)) + ) + ) + }) + + event.modify("gtceu:sulfur_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:tetrahedrite_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:topaz_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + // Перемещение - Overworld -> Overworld + + event.modify("gtceu:apatite_vein", vein => { + vein.layer('tfg_tfc_ii_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:cassiterite_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:coal_vein", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:copper_tin_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:galena_vein", vein => { + vein.layer('tfg_tfc_g_g') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:garnet_tin_vein", vein => { + vein.layer('tfg_tfc_all') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:garnet_vein", vein => { + vein.layer('tfg_tfc_m_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + event.modify("gtceu:iron_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:lubricant_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:magnetite_vein_ow", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:mineral_sand_vein", vein => { + vein.layer('tfg_tfc_g_b') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:nickel_vein", vein => { + vein.layer('tfg_tfc_gabbro') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:salts_vein", vein => { + vein.layer('tfg_tfc_s_c_l') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:oilsands_vein", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + // Перемещение - Deepslate Overworld -> Overworld + + event.modify("gtceu:copper_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:diamond_vein", vein => { + vein.layer('tfg_tfc_gabbro') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:lapis_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:manganese_vein_ow", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:mica_vein", vein => { + vein.layer('tfg_tfc_ii_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:olivine_vein", vein => { + vein.layer('tfg_tfc_ie_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:redstone_vein_ow", vein => { + vein.layer('tfg_tfc_granite') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:sapphire_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + // Перемещение - Custom + + event.add("tfg:bismuth", vein => { + vein.weight(80) + vein.clusterSize(40) + vein.density(0.25) + vein.discardChanceOnAirExposure(0) + + vein.layer('tfg_tfc_ii_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + + vein.heightRangeUniform(0, 60) + + vein.layeredVeinGenerator(generator => generator + .buildLayerPattern(pattern => pattern + .layer(l => l.weight(1).mat(GTMaterials.Cobalt).size(1, 1)) + .layer(l => l.weight(2).mat(GTMaterials.Nickel).size(1, 1)) + .layer(l => l.weight(3).mat(GTMaterials.Bismuth).size(2, 4)) + .layer(l => l.weight(1).mat(GTMaterials.Silver).size(1, 1)) + ) + ) + + vein.surfaceIndicatorGenerator(indicator => indicator + .surfaceRock(GTMaterials.Bismuth) + .placement("above") + .density(0.4) + .radius(5) + ) + }) +} \ No newline at end of file From c75600621703014c3cf27637b638c32e64aac5e5 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:54:56 +0700 Subject: [PATCH 011/266] latex heating from tfg-core --- kubejs/server_scripts/gregtech/recipes.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 8b9084861..6e7d5bbf9 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1252,6 +1252,13 @@ const registerGTCEURecipes = (event) => { //#endregion + event.recipes.gtceu.fluid_solidifier('tfg:latex_heating') + .itemInputs('gtceu:sulfur_dust') + .inputFluids(Fluid.of('tfg:latex', 1000)) + .itemOutputs('gtceu:sticky_resin') + .duration(480) + .EUt(7) + //#region Рецепты, которые итерируются по всем материалам From a268d9b546757a2ad1cd2ffcd4ca458d0ef19583 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:55:09 +0700 Subject: [PATCH 012/266] disable most of recipes (tests) --- kubejs/server_scripts/main_server_script.js | 187 +++++++++++--------- 1 file changed, 100 insertions(+), 87 deletions(-) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 5adb7f640..e8e538495 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -4,60 +4,67 @@ * Событие регистрации предмет-тэгов. */ ServerEvents.tags('item', event => { - registerAE2ItemTags(event) - registerAsticorCartsItemTags(event) - registerChiselAndBitsItemTags(event) - registerComputerCraftItemTags(event) - registerCreateItemTags(event) - registerCreateAdditionsItemTags(event) - registerExtendedAE2ItemTags(event) - registerFirmaCivItemTags(event) - registerFirmaLifeItemTags(event) - registerFramedBlocksItemTags(event) - registerFTBQuestsItemTags(event) - registerGTCEUItemTags(event) - registerMegaCellsItemTags(event) - registerMinecraftItemTags(event) - registerMoreRedItemTags(event) - registerHotOrNotItemTags(event) - registerRailWaysItemTags(event) - registerSophisticatedBackpacksItemTags(event) - registerTFCItemTags(event) + // registerAE2ItemTags(event) + // registerAsticorCartsItemTags(event) + // registerChiselAndBitsItemTags(event) + // registerComputerCraftItemTags(event) + // registerCreateItemTags(event) + // registerCreateAdditionsItemTags(event) + // registerExtendedAE2ItemTags(event) + // registerFirmaCivItemTags(event) + // registerFirmaLifeItemTags(event) + // registerFramedBlocksItemTags(event) + // registerFTBQuestsItemTags(event) + // registerGTCEUItemTags(event) + // registerMegaCellsItemTags(event) + // registerMinecraftItemTags(event) + // registerMoreRedItemTags(event) + // registerHotOrNotItemTags(event) + // registerRailWaysItemTags(event) + // registerSophisticatedBackpacksItemTags(event) + // registerTFCItemTags(event) }) /** * Событие регистрации блок-тэгов. */ ServerEvents.tags('block', event => { - registerAE2BlockTags(event) - registerAsticorCartsBlockTags(event) - registerChiselAndBitsBlockTags(event) - registerComputerCraftBlockTags(event) - registerCreateBlockTags(event) - registerCreateAdditionsBlockTags(event) - registerExtendedAE2BlockTags(event) - registerFirmaCivBlockTags(event) - registerFirmaLifeBlockTags(event) - registerFramedBlocksBlockTags(event) - registerFTBQuestsBlockTags(event) - registerGTCEUBlockTags(event) - registerMegaCellsBlockTags(event) - registerMinecraftBlockTags(event) - registerMoreRedBlockTags(event) - registerHotOrNotBlockTags(event) - registerRailWaysBlockTags(event) - registerSophisticatedBackpacksBlockTags(event) - registerTFCBlockTags(event) + // registerAE2BlockTags(event) + // registerAsticorCartsBlockTags(event) + // registerChiselAndBitsBlockTags(event) + // registerComputerCraftBlockTags(event) + // registerCreateBlockTags(event) + // registerCreateAdditionsBlockTags(event) + // registerExtendedAE2BlockTags(event) + // registerFirmaCivBlockTags(event) + // registerFirmaLifeBlockTags(event) + // registerFramedBlocksBlockTags(event) + // registerFTBQuestsBlockTags(event) + // registerGTCEUBlockTags(event) + // registerMegaCellsBlockTags(event) + // registerMinecraftBlockTags(event) + // registerMoreRedBlockTags(event) + // registerHotOrNotBlockTags(event) + // registerRailWaysBlockTags(event) + // registerSophisticatedBackpacksBlockTags(event) + // registerTFCBlockTags(event) }) /** * Событие регистрации жидкость-тэгов. */ ServerEvents.tags('fluid', event => { - registerCreateFluidTags(event) - registerCreateAdditionsFluidTags(event) - registerFirmaLifeBlockTags(event) - registerTFCFluidTags(event) + // registerCreateFluidTags(event) + // registerCreateAdditionsFluidTags(event) + // registerFirmaLifeBlockTags(event) + // registerTFCFluidTags(event) +}) + +/** + * Событие регистрации тегов биомов. + */ +ServerEvents.tags('worldgen/biome', event => { + registerTFCBiomeTags(event) }) /** @@ -73,7 +80,7 @@ ServerEvents.tags('worldgen/placed_feature', event => { * Срабатывает до инициализации рецептов, но после тегов. */ ServerEvents.highPriorityData(event => { - registerComputerCraftData(event) + // registerComputerCraftData(event) }) /** @@ -81,10 +88,10 @@ ServerEvents.highPriorityData(event => { * Срабатывает до инициализации рецептов, но после тегов. */ TFCEvents.data(event => { - registerTFCDataForGTCEU(event) - registerTFCDataForTFC(event) - registerTFCDataForTreeTap(event) - registerTFCDataForWaterFlasks(event) + // registerTFCDataForGTCEU(event) + // registerTFCDataForTFC(event) + // registerTFCDataForTreeTap(event) + // registerTFCDataForWaterFlasks(event) }) /** @@ -95,49 +102,55 @@ LootJS.modifiers((event) => { registerGTCEULoots(event) }); -/** - * Событие регистрации рудных жил. - * Не представляю когда срабатывает, но явно после тегов и датапаков. - */ -GTCEuServerEvents.oreVeins(event => { - // event.removeAll() -}) - /** * Событие регистрации рецептов. * Срабатывает после инициализации датапаков и тегов. */ ServerEvents.recipes(event => { - registerAE2Recipes(event) - registerAsticorCartsRecipes(event) - registerAE2InsertExportCardRecipes(event) - registerAE2NetworkAnalyzerRecipes(event) - registerAE2WTLibRecipes(event) - registerChiselAndBitsRecipes(event) - registerComputerCraftRecipes(event) - registerCreateRecipes(event) - registerCreateAdditionsRecipes(event) - registerCreateConnectedRecipes(event) - registerExtendedAE2Recipes(event) - registerExposureRecipes(event) - registerEtchedRecipes(event) - registerFirmaCivRecipes(event) - registerFirmaLifeRecipes(event) - registerFramedBlocksRecipes(event) - registerFTBQuestsRecipes(event) - registerGTCEURecipes(event) - registerHandGliderRecipes(event) - registerHotOrNotRecipes(event) - registerMegaCellsRecipes(event) - registerMERequesterRecipes(event) - registerMinecraftRecipes(event) - registerMoreRedRecipes(event) - registerRailWaysRecipes(event) - registerSophisticatedBackpacksRecipes(event) - registerTfceaRecipes(event) - registerTFCRecipes(event) - registerTFCGroomingStationRecipes(event) - registerToolBeltRecipes(event) - registerTreeTapRecipes(event) - registerWaterFlasksRecipes(event) + // registerAE2Recipes(event) + // registerAsticorCartsRecipes(event) + // registerAE2InsertExportCardRecipes(event) + // registerAE2NetworkAnalyzerRecipes(event) + // registerAE2WTLibRecipes(event) + // registerChiselAndBitsRecipes(event) + // registerComputerCraftRecipes(event) + // registerCreateRecipes(event) + // registerCreateAdditionsRecipes(event) + // registerCreateConnectedRecipes(event) + // registerExtendedAE2Recipes(event) + // registerExposureRecipes(event) + // registerEtchedRecipes(event) + // registerFirmaCivRecipes(event) + // registerFirmaLifeRecipes(event) + // registerFramedBlocksRecipes(event) + // registerFTBQuestsRecipes(event) + // registerGTCEURecipes(event) + // registerHandGliderRecipes(event) + // registerHotOrNotRecipes(event) + // registerMegaCellsRecipes(event) + // registerMERequesterRecipes(event) + // registerMinecraftRecipes(event) + // registerMoreRedRecipes(event) + // registerRailWaysRecipes(event) + // registerSophisticatedBackpacksRecipes(event) + // registerTfceaRecipes(event) + // registerTFCRecipes(event) + // registerTFCGroomingStationRecipes(event) + // registerToolBeltRecipes(event) + // registerTreeTapRecipes(event) + // registerWaterFlasksRecipes(event) +}) + +/** + * Событие регистрации рудных жил GTM. +*/ +GTCEuServerEvents.oreVeins(event => { + registerGTMOreVeins(event) +}) + +/** + * Событие регистрации жидкостных жил GTM. +*/ +GTCEuServerEvents.fluidVeins(event => { + registerGTMFluidVeins(event) }) \ No newline at end of file From 84057f798783f700bb535224fdb18bd3251f8a63 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:55:37 +0700 Subject: [PATCH 013/266] proper removing #dust tag from tfc powders + tfc biome tag + vein removing --- kubejs/server_scripts/tfc/tags.js | 181 +++++++++++++++--------------- 1 file changed, 90 insertions(+), 91 deletions(-) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 2f026964f..bec616794 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,8 +1,8 @@ // priority: 0 const registerTFCItemTags = (event) => { - // Теги для соответствия инструментов TFC и GT + // Теги для соответствия инструментов TFC и GT GTMaterialRegistry.getRegisteredMaterials().forEach(material => { if (material.hasProperty(PropertyKey.TOOL)) { for (let [key, value] of Object.entries(global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS)) { @@ -30,6 +30,9 @@ const registerTFCItemTags = (event) => { event.add('tfc:usable_on_tool_rack', '#forge:tools/buzzsaws') event.add('tfc:usable_on_tool_rack', '#forge:tools/drills') + // Удаление у всех powders тэга dusts + event.remove('forge:dusts', '#tfc:powders') + // Для складывания event.add('tfc:pileable_ingots', '#forge:ingots') event.add('tfc:pileable_sheets', '#forge:plates') @@ -228,9 +231,13 @@ const registerTFCBlockTags = (event) => { event.add('tfc:can_start_collapse', '#forge:ores') event.add('tfc:can_trigger_collapse', '#forge:ores') + // Разрешить спавн мобов на руде 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') @@ -369,96 +376,88 @@ const registerTFCFluidTags = (event) => { 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') +const registerTFCBiomeTags = (event) => { + const ALL_TFC_BIOMES = [ + "tfc:badlands", + "tfc:canyons", + "tfc:deep_ocean", + "tfc:deep_ocean_trench", + "tfc:highlands", + "tfc:hills", + "tfc:inverted_badlands", + "tfc:lake", + "tfc:low_canyons", + "tfc:lowlands", + "tfc:mountain_lake", + "tfc:mountains", + "tfc:ocean", + "tfc:ocean_reef", + "tfc:oceanic_mountain_lake", + "tfc:oceanic_mountains", + "tfc:old_mountain_lake", + "tfc:old_mountains", + "tfc:plains", + "tfc:plateau", + "tfc:plateau_lake", + "tfc:river", + "tfc:rolling_hills", + "tfc:salt_marsh", + "tfc:shore", + "tfc:tidal_flats", + "tfc:volcanic_mountain_lake", + "tfc:volcanic_mountains", + "tfc:volcanic_oceanic_mountain_lake", + "tfc:volcanic_oceanic_mountains" + ] // Добавление - 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_oil_sands') - 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') + ALL_TFC_BIOMES.forEach(biome => { + event.add('tfg:is_tfc_overworld', biome) + }) +} + +const registerTFCPlacedFeatures = (event) => { + const ALL_DISABLED_TFC_VEINS = [ + 'tfc:vein/surface_native_copper', + 'tfc:vein/surface_malachite', + 'tfc:vein/surface_tetrahedrite', + 'tfc:vein/normal_malachite', + 'tfc:vein/normal_tetrahedrite', + 'tfc:vein/normal_native_gold', + 'tfc:vein/rich_native_gold', + 'tfc:vein/fake_native_gold', + 'tfc:vein/surface_native_silver', + 'tfc:vein/normal_native_silver', + 'tfc:vein/surface_cassiterite', + 'tfc:vein/surface_bismuthinite', + 'tfc:vein/normal_bismuthinite', + 'tfc:vein/surface_sphalerite', + 'tfc:vein/normal_sphalerite', + 'tfc:vein/surface_hematite', + 'tfc:vein/surface_magnetite', + 'tfc:vein/surface_limonite', + 'tfc:vein/normal_garnierite', + 'tfc:vein/gabbro_garnierite', + 'tfc:vein/graphite', + 'tfc:vein/lignite', + 'tfc:vein/bituminous_coal', + 'tfc:vein/sulfur', + 'tfc:vein/cryolite', + 'tfc:vein/cinnabar', + 'tfc:vein/saltpeter', + 'tfc:vein/sylvite', + 'tfc:vein/borax', + 'tfc:vein/gypsum', + 'tfc:vein/halite', + 'tfc:vein/lapis_lazuli', + 'tfc:vein/diamond', + 'tfc:vein/emerald', + 'tfc:vein/amethyst', + 'tfc:vein/opal' + ] + + // Удаление + ALL_DISABLED_TFC_VEINS.forEach(vein => { + event.remove('tfc:in_biome/veins', vein) + }) } From 09cfb702744a18813535c5abb020796bafb72759 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:55:46 +0700 Subject: [PATCH 014/266] wg layers for GTM --- .../startup_scripts/gtceu/world_gen_layers.js | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 kubejs/startup_scripts/gtceu/world_gen_layers.js diff --git a/kubejs/startup_scripts/gtceu/world_gen_layers.js b/kubejs/startup_scripts/gtceu/world_gen_layers.js new file mode 100644 index 000000000..b2b08d719 --- /dev/null +++ b/kubejs/startup_scripts/gtceu/world_gen_layers.js @@ -0,0 +1,141 @@ +// priority: 0 + +const registerGTMWorldGenLayers = (event) => { + + const ALL = ['#tfc:rock/raw'] + + const IE = [ + 'tfc:rock/raw/rhyolite', + 'tfc:rock/raw/basalt', + 'tfc:rock/raw/andesite', + 'tfc:rock/raw/dacite' + ] + + const II = [ + 'tfc:rock/raw/granite', + 'tfc:rock/raw/diorite', + 'tfc:rock/raw/gabbro' + ] + + const M = [ + 'tfc:rock/raw/quartzite', + 'tfc:rock/raw/slate', + 'tfc:rock/raw/phyllite', + 'tfc:rock/raw/schist', + 'tfc:rock/raw/gneiss', + 'tfc:rock/raw/marble' + ] + + const S = [ + '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' + ] + + const SQSG = [ + 'tfc:rock/raw/shale', + 'tfc:rock/raw/quartzite', + 'tfc:rock/raw/schist', + 'tfc:rock/raw/gneiss', + ] + + const GG = [ + 'tfc:rock/raw/granite', + 'tfc:rock/raw/gneiss', + ] + + const GB = [ + 'tfc:rock/raw/granite', + 'tfc:rock/raw/basalt' + ] + + const SCL = [ + 'tfc:rock/raw/shale', + 'tfc:rock/raw/claystone', + 'tfc:rock/raw/limestone', + ] + + const Granite = [ + 'tfc:rock/raw/granite' + ] + + const Gabbro = [ + 'tfc:rock/raw/gabbro' + ] + + // Слои + + event.create('tfg_tfc_all') + .targets(ALL) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ie') + .targets(IE) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ii') + .targets(II) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_m') + .targets(M) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_s') + .targets(S) + .dimensions('minecraft:overworld') + + // Кастомные + + event.create('tfg_tfc_ii_m') + .targets([].concat(II, M)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ii_s') + .targets([].concat(II, S)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ie_m') + .targets([].concat(IE, M)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ie_s') + .targets([].concat(IE, S)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ie_ii') + .targets([].concat(IE, II)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_m_s') + .targets([].concat(M, S)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_s_q_s_g') + .targets(SQSG) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_g_g') + .targets(GG) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_g_b') + .targets(GB) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_gabbro') + .targets(Gabbro) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_s_c_l') + .targets(SCL) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_granite') + .targets(Granite) + .dimensions('minecraft:overworld') +} \ No newline at end of file From ca2940d8693f0646c46ff48cef5bbc2d8bace504 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:55:58 +0700 Subject: [PATCH 015/266] disable most of this, because reasons --- kubejs/startup_scripts/main_startup_script.js | 68 +++++++++++++++++-- 1 file changed, 62 insertions(+), 6 deletions(-) diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index b36fa8b48..0f0db450e 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -4,14 +4,14 @@ * Событие регистрации предметов. */ StartupEvents.registry('item', event => { - registerGTCEuItems(event) + // registerGTCEuItems(event) }) /** * Событие регистрации блоков. */ StartupEvents.registry('block', event => { - registerGTCEuBlocks(event) + // registerGTCEuBlocks(event) }) @@ -20,7 +20,7 @@ StartupEvents.registry('block', event => { * Событие изменения блоков. */ BlockEvents.modification(event => { - modifyFirmaCivBlocks(event) + // modifyFirmaCivBlocks(event) }) /** @@ -37,14 +37,21 @@ StartupEvents.registry('fluid', event => {}) * Событие регистрации типов рецептов. */ GTCEuStartupEvents.registry('gtceu:recipe_type', event => { - registerGTCEuRecipeTypes(event) + // registerGTCEuRecipeTypes(event) }) /** * Событие регистрации механизмов. */ GTCEuStartupEvents.registry('gtceu:machine', event => { - registerGTCEuMachines(event) + // registerGTCEuMachines(event) +}) + +/** + * Событие регистрации слоев пород GTM. + */ +GTCEuStartupEvents.registry('gtceu:world_gen_layer', event => { + registerGTMWorldGenLayers(event) }) /** @@ -52,4 +59,53 @@ GTCEuStartupEvents.registry('gtceu:machine', event => { */ // TFGStartupEvents.materialInfo(event => { // registerGTCEuMaterialInfo(event) -// }) \ No newline at end of file +// }) + + +// /** +// * Отключение рецепта генерации nugget'ов из слитков, если nugget'а нет. +// */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 3), remap = false) +// private static void tfg$processIngot$gtRecipeBuilder$save$nugget(GTRecipeBuilder instance, Consumer consumer, TagPrefix ingotPrefix, Material material, IngotProperty property) { +// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { +// instance.save(consumer); +// } +// } +// +// /** +// * В GT при добавлении предмета в output или input сразу проверяется empty ли он, +// * чтобы отключить рецепт не хватит просто его не сохранять в некоторых случаях. +// * Если output'а или input'а нет, то нужно будет еще задать условие и какой-то предмет который существует, +// * собственно это мы тут и делаем. +// */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;outputItems(Lcom/gregtechceu/gtceu/api/data/tag/TagPrefix;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;I)Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;", ordinal = 1), remap = false) +// private static GTRecipeBuilder tfg$processIngot$gtRecipeBuilder$outputItems(GTRecipeBuilder instance, TagPrefix orePrefix, Material material, int count) { +// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { +// instance.outputItems(TagPrefix.nugget, material, 9); +// } +// return instance; +// } +// +// /** +// * Отключение генерации рецептов: 2 слитка + молот = пластина (верстак). +// * */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 2), remap = false) +// private static void tfg$processIngot$addShapedRecipe$plate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} +// +// /** +// * Отключение генерации рецептов: 9 слитков -> блок. (Компрессор) +// */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 5), remap = false) +// private static void tfg$processIngot$gtRecipeBuilder$save$block(GTRecipeBuilder instance, Consumer consumer) {} + +// /** +// * Отключение генерации рецептов: 2 пластины + молот = двойная пластина (верстак). +// * */ +// @Redirect(method = "processPlateDouble", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V"), remap = false) +// private static void tfg$processPlateDouble$vanillaRecipeHelper$addShapedRecipe$doublePlate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} +// +// /** +// * Отключение генерации рецептов: 2 стержня + молот = длинный стержень (верстак). +// * */ +// @Redirect(method = "processLongStick", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 3), remap = false) +// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer provider, String regName, ItemStack result, Object[] recipe) {} \ No newline at end of file From a8d886c16da6e4de067ceaa09a5e9b65933fff1c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:56:00 +0700 Subject: [PATCH 016/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index 4ff27f15a..6d23173d3 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 4ff27f15af76a01d1df9b4efac75d01eb830c453 +Subproject commit 6d23173d39b64fc4598bd6e0d87082a2b0549745 From e6efe21971155021f20ccd4688c91c2bf1a49908 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 09:54:35 +0700 Subject: [PATCH 017/266] advanced peripherals cfgs --- config/Advancedperipherals/general.toml | 6 ++++++ config/Advancedperipherals/peripherals.toml | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) 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 From ae8e4ce388c5fc96f7bbf5e38662724ab1391894 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 09:54:42 +0700 Subject: [PATCH 018/266] Update forgivingworld.json --- config/forgivingworld.json | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/config/forgivingworld.json b/config/forgivingworld.json index 473941821..67f90ae32 100644 --- a/config/forgivingworld.json +++ b/config/forgivingworld.json @@ -23,5 +23,29 @@ "desc:": "Enable debug logging, default:false", "debuglogging": false }, - "dimensionconnections": [] + "dimensionconnections": [ + { + "from": "minecraft:overworld", + "to": "minecraft:the_nether", + "xcoordmultiplier": 0.125, + "zcoordmultiplier": 0.125, + "teleporttype": { + "teleporttype": "AIR", + "teleport_to_y": 125 + }, + "belowy": -60, + "slowfallticks": 400 + }, + { + "from": "minecraft:the_nether", + "to": "minecraft:overworld", + "xcoordmultiplier": 8.0, + "zcoordmultiplier": 8.0, + "teleporttype": { + "teleporttype": "CAVE", + "teleport_to_y": -60 + }, + "abovey": 121 + } + ] } \ No newline at end of file From 14b377e55a9580a14973280c187ee95c2eea914a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 09:54:54 +0700 Subject: [PATCH 019/266] rnmgs --- kubejs/assets/gtceu/lang/en_us.json | 2 +- kubejs/assets/gtceu/lang/ru_ru.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index c655b848f..9d2abe646 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -1,5 +1,5 @@ { - "gtceu.jei.bedrock_fluid.tfc_salt_water_deposit": "Sea Water Deposit", + "gtceu.jei.bedrock_fluid.fresh_water": "Fresh Water Deposit", "block.gtceu.greenhouse": "Electric Greenhouse", "gtceu.greenhouse": "Electric Greenhouse", diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index 0b2d775e3..6972660ba 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -1,5 +1,5 @@ { - "gtceu.jei.bedrock_fluid.tfc_salt_water_deposit": "Sea Water Deposit", + "gtceu.jei.bedrock_fluid.fresh_water": "Отложение пресной воды", "block.gtceu.greenhouse": "Электрическая теплица", "gtceu.greenhouse": "Электрическая теплица", From a137790e5f25fade6274e700716ec7cd4dab836a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 11:19:26 +0700 Subject: [PATCH 020/266] move item-reg from TFGCore to KJS --- kubejs/assets/tfg/lang/en_us.json | 24 +++++++++++++++++ kubejs/assets/tfg/lang/ru_ru.json | 24 +++++++++++++++++ .../textures/item/axe_head_extruder_mold.png | Bin 0 -> 580 bytes .../tfg/textures/item/bell_casting_mold.png | Bin 0 -> 1886 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 .../textures/item/file_head_extruder_mold.png | Bin 0 -> 2265 bytes .../item/hammer_head_extruder_mold.png | Bin 0 -> 563 bytes .../textures/item/hoe_head_extruder_mold.png | Bin 0 -> 585 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 .../textures/item/mace_head_extruder_mold.png | Bin 0 -> 2125 bytes .../item/mining_hammer_head_extruder_mold.png | Bin 0 -> 2235 bytes .../item/pickaxe_head_extruder_mold.png | Bin 0 -> 591 bytes .../item/propick_head_extruder_mold.png | Bin 0 -> 2069 bytes .../textures/item/saw_head_extruder_mold.png | Bin 0 -> 596 bytes .../item/scythe_head_extruder_mold.png | Bin 0 -> 2260 bytes .../item/shovel_head_extruder_mold.png | Bin 0 -> 3223 bytes .../item/spade_head_extruder_mold.png | Bin 0 -> 2083 bytes .../item/sword_head_extruder_mold.png | Bin 0 -> 3223 bytes .../textures/item/trapdoor_casting_mold.png | Bin 0 -> 2034 bytes kubejs/startup_scripts/gtceu/items.js | 25 ++++++++++++++++++ kubejs/startup_scripts/main_startup_script.js | 2 +- 25 files changed, 74 insertions(+), 1 deletion(-) 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/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/file_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/hammer_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/hoe_head_extruder_mold.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/mace_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/pickaxe_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/propick_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/saw_head_extruder_mold.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/spade_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/sword_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/trapdoor_casting_mold.png diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index dfc5db90d..fd35ece85 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1,4 +1,28 @@ { + "item.tfg.mining_hammer_head_extruder_mold": "Extruder Mold (Mining Hammer)", + "item.tfg.sword_head_extruder_mold": "Extruder Mold (Sword Head)", + "item.tfg.pickaxe_head_extruder_mold": "Extruder Mold (Pickaxe Head)", + "item.tfg.shovel_head_extruder_mold": "Extruder Mold (Shovel Head)", + "item.tfg.axe_head_extruder_mold": "Extruder Mold (Axe Head)", + "item.tfg.hoe_head_extruder_mold": "Extruder Mold (Hoe Head)", + "item.tfg.scythe_head_extruder_mold": "Extruder Mold (Scythe Head)", + "item.tfg.file_head_extruder_mold": "Extruder Mold (File Head)", + "item.tfg.hammer_head_extruder_mold": "Extruder Mold (Hammer Head)", + "item.tfg.saw_head_extruder_mold": "Extruder Mold (Saw Head)", + "item.tfg.knife_head_extruder_mold": "Extruder Mold (Knife Head)", + "item.tfg.butchery_knife_head_extruder_mold": "Extruder Mold (Butchery Knife Head)", + "item.tfg.propick_head_extruder_mold": "Extruder Mold (Propick Head)", + "item.tfg.javelin_head_extruder_mold": "Extruder Mold (Javelin Head)", + "item.tfg.chisel_head_extruder_mold": "Extruder Mold (Chisel Head)", + "item.tfg.mace_head_extruder_mold": "Extruder Mold (Mace Head)", + + "item.tfg.lamp_casting_mold": "Casting Mold (Lamp)", + "item.tfg.trapdoor_casting_mold": "Casting Mold (Trapdoor)", + "item.tfg.chain_casting_mold": "Casting Mold (Chain)", + "item.tfg.bell_casting_mold": "Casting Mold (Bell)", + + "quests.placeholder.delimiter": "=== QUEST SECTION ===", + "quests.naming-1": "t - Title", "quests.naming-2": "st - Subtitle", "quests.naming-3": "d* - Description, where * description number, for example: d1, d2, d3, d4...", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index a5915d9c4..ffbf68df0 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1,4 +1,28 @@ { + "item.tfg.mining_hammer_head_extruder_mold": "Форма экструдера (Оголовье шахтерского молота)", + "item.tfg.sword_head_extruder_mold": "Форма экструдера (Оголовье меча)", + "item.tfg.pickaxe_head_extruder_mold": "Форма экструдера (Оголовье кирки)", + "item.tfg.shovel_head_extruder_mold": "Форма экструдера (Оголовье лопаты)", + "item.tfg.axe_head_extruder_mold": "Форма экструдера (Оголовье топора)", + "item.tfg.hoe_head_extruder_mold": "Форма экструдера (Оголовье мотыги)", + "item.tfg.scythe_head_extruder_mold": "Форма экструдера (Оголовье косы)", + "item.tfg.file_head_extruder_mold": "Форма экструдера (Оголовье напильника)", + "item.tfg.hammer_head_extruder_mold": "Форма экструдера (Оголовье кувалды)", + "item.tfg.saw_head_extruder_mold": "Форма экструдера (Оголовье пилы)", + "item.tfg.knife_head_extruder_mold": "Форма экструдера (Оголовье меча)", + "item.tfg.butchery_knife_head_extruder_mold": "Форма экструдера (Оголовье тесака)", + "item.tfg.propick_head_extruder_mold": "Форма экструдера (Оголовье геологической кирки)", + "item.tfg.javelin_head_extruder_mold": "Форма экструдера (Оголовье копья)", + "item.tfg.chisel_head_extruder_mold": "Форма экструдера (Оголовье стамески)", + "item.tfg.mace_head_extruder_mold": "Форма экструдера (Оголовье биты)", + + "item.tfg.lamp_casting_mold": "Отливная форма (Лампа)", + "item.tfg.trapdoor_casting_mold": "Отливная форма (Люк)", + "item.tfg.chain_casting_mold": "Отливная форма (Цепь)", + "item.tfg.bell_casting_mold": "Отливная форма (Колокол)", + + "quests.placeholder.delimiter": "=== QUEST SECTION ===", + "quests.naming-1": "t - Заголовок", "quests.naming-2": "st - Подзаголовок", "quests.naming-3": "d* - Описание, где * номер описания, например: d1, d2, d3, d4...", 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 zcmV-K0=xZ*P)jKvJYaVZrvi zBC-`C-gK76zH`r93;(I-=Vy&E=JV_8t6b|7fU2q#pwsC9V6CMrO8`_A?>+ndo)7}6 ziZKT7J@ffoYk(rl#)vV7-EQ|I1~8w`1<>JeNQ@Cx z1;BfcF$PsdMDhclpPwui3jr_ylgUJf!yzJqh@h&dD(~;_G);rG7VkYF1OU3-ZnkZb zPk{6JOaj+54YS!yX0w^x-QE2F6Tvx0Q4|?sW)MOk#)ydI%YTU{Hl0o<3z?*xCfRPc zS1%{k-xe<{B=u|c^70~s!GNMD2q9#_oP(#QC%wJB%@5q)-vh8(tuCgSPN%xrY-rn- zudgqb%cYpKt~5!q(KHQZSu!4v_4hQV(f$4Or0PFRdl-R@| zk5^Td-rU^e;5g@UY|rO2ZQD{51>So;K0c`HS}y)Vx7*FDDvAPYEzY?N%zK|VV6CNT z8tS_K`3v9Q-vG32n?d&beGZ2M&N)H|>~^~x>6DoZ3x8`g8Yz$)-`?J?_WlEf&?SYG S=`=F{0000K9BlZ# z5)8ZdD<#-&w+FU}lCHXdtam_HTs06H!)i9h4Ip(w8}EQ&Me`DWOiU8EB72FpssJ4@ zYGFjF?=fL(Pg79p>68SS*th|&iHnFpg*L$BYE-ktxR*%rifHXTrU*O*u{*tl&k@Ai z1I>7?ZbDpeF{DJ(4DLZI&du_IupVb=wvwXV6kA2Iv`8~zRTZB35lGIILt=}6b4Co^ zd5MT^8zM!;Vlh{&(xsbWiV*~XqFIV%NrWJ+gl2;{sad7-41Q=yrefHNuHgk?R5gyI8Ir9EvW&>FB1f;IJt9q~p#fc1 zLWzY?j%1l2!;2g*vX!?%QP0T021|lvNetwv@n5Z(1d7?EC^GWs7FY;)Qsx0iGAt*PLPtm@0mDL$7i2dF(@~)PeqHKv zD(mb|ce$)fh~pnsniCjLD8!R)t^<%AGKWrr2ap^m3v!5MD}lhyyV+_g=tBe1g{+P% z*>MGc6mkO(S?TdGBy=NJz|C7LxAc%5119u^QSO#(F6vI^EzrG$^}8x% z+S5Yoi#Fr`v7Skb6aiWoqRB}SPB4@+V$wyS{#~!sy9MKD9*$<5v&>Fcbd#OWP(#!v zn!ZN{L(>?RQ{CYA1^G7*z1{d$vbo^3xw_wcG@h(Em3-sM_P&b9xm$X*a2P+cn&r#N z2RZMwsvPL6f1$PTo(qYy+d73C=RW^yA-M#_n>pK}gzPcu`$C-ROS+xr7|IES9rJgyVUaA4B_JoC)6Me^{I4PTx= zpx-Ro`RLG8Zts2XB=KX{igp&y@HcaJjFwCdB=UBxo+%#nUV9Mx`PcCcTXPyO?@8oM zacb`SgR^rt&W=y+J6*Or|NCWMCl8j*efmXXX>p!Zw6^)VL#vki_CK*N|K&%@w_N{g ux7SuzD>3 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 zcmbVN4RF(B7*6dr#;;RuAczn%(QY$Mnzm~jDX_I09iuR3l`(hN{Cw>KYg3Y}?Kr`8 z{=huOA#fWLIVT5r{-NUVZ_0*<4jsQDc#5*qxq;|$$}#agz%N@@!5cqk@6vopp6_{| z_kG^HsVkm4YxIbTBM<}`UFdR_z;l{vdV0BTv+Pqno~K;{nZ%{IxrF|2i5C zKj>OxT(c~xqo-)aTW{8UQ<&B_Hmx=F)Nu6gk*;O*hW(#va)y1%0@gQfkwlZch6O zS=4ffZ>EsF+NaLj(kAU%#ro6O)HUU0o)kb)6UO#rbZ*Gl-QLxP9fcI<3x8-@zJ9h+}$c$QLYfLL7jMf zRRCC9w>uGING*XtB805uhhZA=f((h4J=GyVlmJ<*k~okbhB7nMY(lg{0*oR`9#O0u zbgFnzGD=Z;Gpd^}1bHzcXI`-ZI2i@lG3c5RHyCgO=`q-7qnS35*`$Rg$pNTaXy^SSd;{FjQykSK)Tkg+WX6uBzZS#|$F zm-8YAIsT2xaz55)Wv#f??90Jzyotvd3uVKN44=c16uiqN*yc$Be9@T7D_K=lJY@7S z09dRx1}Cis3a1PvGtTh51-Am$$eS4!Sj>#t&HW8Ry960pR~>&p9s*0^t4aaw?+KdW z)Lyq^oN6-QvG{Fah{j(=U;g4sH{bYE;KjSPRvg_dg^jpUytdPj(Qih zAbfhx%isTKz3U+R_8Q%@KZKUsfBL<&CYfj~dgayG4>oM=uHN4J)oIVY>*_jv#(Hu1 zM+=GSX_HHi?>uofGId8=xn80-bw{UtvAnI(&Ry5g^tG$^ z+=7$uefI{ITKg`-Q+GCX-T$TTbIr#61>x3BYv;fAaBI>pj;^I2XN_60XXAxB>+185 zuDz!o>E5g}WuO1!QqzQ$uA)y*j9%eb@(FqL^<%%yqnz6M7I{+fGku!uhNhiG?Qbo7 zb7#^c>0NU_*nGLK?KuHGdAAnd-GgZMSZ)i}e0y5cx9p@CjJ?#{dQ_Xuxx98yoHh8Ryt=347PR-qqc;we5Dd znUD=)1}Y@}3W~!ZCL}r{3K7JClRpUjr6x!wA!bG})5tOvF`8)R>)q`bX8eek^!nO< z-skiA{&?^0Sl_T_?wloaJRZ;7y4qkPy3cp7Sq13-!K)Jh-DaD$Ew;x~SnOVTo<02~ z9!~+#!p%-|s9utdgcm4A1bR~m6QMnx@>MAl$nDU?8C zJyvB{5EH#LAyX8M324Ofj9(PXFot4$B*l{qM=+E`(GtgD*&mMNEJc+XgEd((^c28j zj$=wBnM@|VNuSrSq9iSfB1thM!w?8T*j>5C5+=fCqjcL6k5;+OmsqRE!WD_zi+75S_kZgpu(P7E3x)a%4=0;;mRTcz}VTBDN zK3S>tla?`t^$OUEjhe0)Nqgm#2`~s87{F20Sc0Mnh6^*a#4-{~Jw^!}|;^PRYvMk|Od@RBH1d-x-Ao^h@3N$}x$Q^EF z-T9d=R}2|(Tvuf|1@MswMF=#<6Mo1tgvj^-8YwJb7{~!ynRK(x($GQ!@u{q?D+Mv~ zT!fZIAP}k$;R!}&MIs^yD#6Ku!qO4i2N}xk=IhFnER`re8x_*du9npxnjOWpil~Mv zo$;I=iX5O+j^_!Q1%P0Anj%D%qX zrYCP^-UgkwwtiE;%+eMx@L+({iEdGb-eYp+UWMz*H)iO?m4iw|I5)Ang*V_x2JwI`P=4~Pe7ahI2V0`ykrzpjb7Vmpp*>_KTUfIO4S?7KVj|oe5 z{=Kkdj=sA$ue5EOGSa-J=f#7=KOgtBoK-h8m405-c7N~IyYRNcuXg+jMr5+ K1V32aw)I~zg}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 zcmbVOe{9rb7`_dV$;52H9|K7&Ma-7*U4LJD%?=p5jh%2~up=A%Vf@;Dy*2FG(ssMs z5|u1yfcOJO6eSu7A(9w^1|vj?4#xz;{s3JJF`!7IpdkdwOfV3fU+-?mzyXVw^!l}Z zzUO`3=l$M(-PYW+V&;r_GXjCY%vfV|Ek2j|N6BOO|LKuYh)<8(jqBY&pmer>6b1IY zR}lzIUuh)Tyteo%S+!C@s96dMW>Pjr2Ld%qGd5H=B9Bl|(l8_B^<(`cVQ3MuRfyAZ zyAHJ*jXe%(>1j%+JsZ`qMlM}K)MR8#kU}0LGN}&Jl`|1C%PZrtf14tSEX3OwA#44B zL|eR>sIweIgo6xFX__HKJmN#F6b>&YSeoT1Iz+JoU}>3VWI-VEKN5#?G+kaBZO8}1 zR}r$^^K6--(&=^wdNipGYn4(#VWdTM2x7+k!2AJ-`F@`8|RmZSB!!ik<5h_-v z7a_6KTn;I_Kx?{rpRi+82HF%8r2U+-Kus;+>`td68(dQ<)PYjS^jwT(3Rt_{@+`OA zdH{9d@jU^sxAAx(#)Mi@sX_?XtM9^TYtW2{omW0DD$4~j%(t6^$Z+N~Nl0Y#yQA|$RF4`>E3Oo9<*Mvxh{nigf6&Ozgr zX6W7bLAeBjt4qrqe-9L|84Y^ykzh@gb<0UXoUoCCNkrLZk|YW?%5_$U<>0_r9hX%R zkIOOB^`NPuSTsW7oP&m;$p~?(f-KK;U^6Kpm^%MaUu;(n3gL{ndOo@)%1k&dh{t7wAzlL#&5A%*#Sq7`tiVfb4dpiqrpWc+1Gz*_6*)$r0aU^q;2E9)Qb-B| z2pJR>I1~~TeX?AVr0|l$s({t7I8NllK*B}>o>mnhBtTx(>B({_C`{wB^0*u!2{1g* z0fpAEtBS(#ETidRO&rIS%{FHp^>B}~Eh;w}zUSR}cUsV62@woTmGv|Mzw9 zf28MaQQM)JM0oF_NI#iuHFHIw?ypz&*|-g1432jhe^}Vx@I_&VL?)(o@cwuB+Pl4h zKv66ftxZU;ztVF4Q17xQ{yJJle_LOCa(daCHKtR#ZFF=47yl^PdSb!c)6eVgbRDZE zH{2O`ssBLb_Mgw5yI~IwjnoutBbV&Gu%hC{i!H-^P5=38l_kY9PVBf@U3})suFKsY zZkk^eoAs=6;Rsl_uKwoj_qXrcJM`PYcbz}Ixq0iV;X&=S@=JTK%3aOpgxMoCSNf}~ z1~(ntF|Fc6(S-}9D1UHf@#gMD(|$d$tFyf1_!8x9bg}sFp}vx>jYYw-qvx-!IDYd^ z`m^29{aepneQW-yHLEY($b7PHaM8};KL)ERi>1~DQ%1wF;Y7UXNrEU7SCU6kFHb!? zr*hW3hEr7eobL}Gyx!0ktlPOPIMnyl?;n?ZRr}8urEP&XPAwEmx9q zFP}XAj5Fnz;vX8O8lV37XU#rik5=*Op57bbKJ&89ex zoq-_P?};@vbXZ>;0TXL#dU|tbq(&M%D_5@e)a1X{eYE>HlDz8Jk)$U~raZL1`l0F^ zbMmkCk2hcMTJUkw#v=t;XYaCP=a@cxxapJZX|J*yo0~sCdQMn~8OWo|2~%hBn$APt zrlIxsl(aEzOGo#dzk9`=-A$jArvEZ2eSgX~W6^FT9W8Q2x?Y-NRTks3b z_GNlA!1lnp?3?D#pP$2S|LTqxb4Jh2SikLjMsD={w7$$6zsj7}zHK{ls_@L1pe&@3(;!e16S#0)Bsdsc5(y9lA)x3Q#8L@txK`CwtycXT z>crz~0zhxw?nI0cwS+>65Sm_G57USnG9p^@#=?N`08Oonh@iM0%A8_k6XuH|K+x5Q zS56>c|Q zs%W~Ph@jNv#9+=AS(bRe-$qdq>%eK7kHUe?3UHrQwBaJ_urYo~qB*~Pc)v>(>x{}8 z`-i$*Qbow|XH<^$v38MWahf3++)i3aoU{6@xYg!h84^$qE8`z#tBA<(MH7Novl^-- z$jC7^iD4ub_i?lx7ip^rPBGiVP$yep?>FkN*@ozQ3UsK+=CG{!nyH_3I5n1k4UV@BX#9h`$rB3HARh z{lArRNYhBtuW82rBRy`5SSu(204FDb8OadFh#4vh@z;6{KD%lh4a4D#GnR?z3NI4# z87PoC0;lg!UBAJPrKz>lHQUR+yL9b^j+V;ttucJ@f(;FPfd^0Y?fYy(viU;)z?ZS- zKF&<(oVm7t0N;7)uIkB%fXsUOF9^2Ws85)Rb?o+fX^~wK2%dvNYtQ zJx{f@Eki3W{oLq$IH|qm_AmC`eEgAHYR2_WT=w#*g`BDSd;k59lyztCNqT{Kd{giC z1FqSojJD#+o=$|`6WWYV>}wfyx~`6Ty>(+j(#h%Oh1RUbijI4CdS3EAbY;sN7xlxg a?lcR_htZ9RSBR)Q4nK9RoU%! z0Q7o2R230P0;ki7#bO}<24FNAX;Bo22qMCEyJbF~%X~hUJkPP#;=Lz?06??ZOtww! z6X15crOUOo>2xZcPUj9x1m_%CmL-U$-h>d?@AnUv{}m~UBC%;S8q^aqb?5)B>2xY@ zZ*PbQs+wM%EW{Ye^PJ&usK1H4zrQ~;H1*tT(%o+NR}p|1BO>xwz6R_5@-|ty2m-oN${rwHV<#I`I@;vA3 z>kH=`Ap{PGLjoN_NI8&aqz8k6*2Do;tJROSe*nc64zK39qTv7l002ovPDHLkV1g6Z B^A-RA literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/hoe_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/hoe_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..152bb6f93f2a89354abc301afc7178b01461b19d GIT binary patch literal 585 zcmV-P0=E5$P)r;Y+A3!QpV=<>f^H0>ErGv+;P0h#(@E8D>UGiJUVrMpTuQ5&->v-)+avC&2l924J(< zcu4p6_x_`Z5M$(bxSm0$)-(-uU0=ovf#GmytJR9`uB!BUJtqmjmCcO0uBq$V-rwIX zrNnBrl81)}ilXo-I*U$VX5^d^xm4XW4a4D(rfKZQl9QyAT+j((jGlC7M?|QqijR*E z6A|9t-efcyc?KOec6I#@v#U;3xx2fgswx9`eSM{ETmN>|Lff|P)7SK;*7bUgs?xSC z-NtrezTea7)NXEWT)iwyU)%Hf%;|KZC<;`S{eI74v5>2`(C_zs{Gup`F;bSL2d1jt zK#Y;iX2W8!xV(k0uP*>jr;~?MRTZC~pOj@uN{Q`u>p^!rb7kS*^Z58^fCHDy<)7GZ XRZlcF|5~x#00000NkvXXu0mjfi4G1v 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 zcmbVOeQeZZ9KJ0G6D3R`Wa1KP7ZZW?`fsf`k|{0q5KMV&M3Qm-PC! zectEy{J#2Y_lnRjI} z%N&lW<65}cY7V|4DSF%qpe`e4I-bO6hofpyIti3@$RcDE(GouLYX4!9(4dcOatE1U zvKB?PK!<@=c7(!8$2vuXi(Fl=hJsUJ0-5+cZgJAl5n`Sz{X{ znu9BdTHQc|=wvB{VOYY8SGCR#KwrR4V06xtzKYp;=KBX@;XYj=~7aY)@DqO(o2VJcA#ZilHSfO-~RuBaro0 z%SU3VSs&ub0&T*~#R*4@PJ<-PIvLxi3=k>>T(Z@OWsF0GMllpe3CqM-wt!7WbxSv+ z`hBPikMA;oV;c+>Y)q;p9xs?Mt-3bsMlK+eqRnu7644FF)LRV&)wN-n6}C4?sn$Ti z(v7gL$MTt4k(W$xywgj((4-}xo-*f8*ns@NLOv2_ji(rvV%ae3l~}jLatj%+#4uTC zP=}h@eh<_YW?6|BCAa4;D6Sa@Ebve;R3ue5;s86W#X$to$wY)C3SpFL^_Xs8!&sdw zqaqlT>Jz2~5(=vK`$+7wQ`4X%0}m9uP@sV75h=j%kP;!!QnHMAAh<;cU21;6Usqb~ z%-Z|2RStCpbKJ4Y0VF_`XK-P=Rmux65%91A#ib7sqjKUf`-|yHPMjwg>OaB?vMv$ecoP5EHt*yhsVG zEK)q9$Zn4t@QTVjDwm8z#*NcJ3CM$k!1FFjW*|oaS!Q{Tg{la>6Sy)8v+mLlj!UMk zq=06}sXgb>O0>S<8Egm`V7eFx5~3QyX|@{knIH+u-{xhVYu`Cp`M=>Kk0u)3%TB6cW(b< zX7gjul@^T-hPuAp8XO%zu)FHz&@ZJM!_D8XIsaY%{O-X1lFdIZ?igr!`+`|LcWmvU z)5Tw>h4SNL8yb(Sue^D?<@!jXN&2K`O3j|XdIry4d++9L=g#4}#GzeJk97*=uz%#Z zdT{%xwa*WqZ}{Rudv90w>H|&BuZoObvUZ$|p6gl_+4AP$15kQaT)tNwXc?#GymRJ< zz=FXIC5wwo%Ghm3{+T&;$@+VNqq}|EQDs@kII}cVzM)i9ru8*0ob_ktqLH?qTVq$c zTpyHe{fyrgyfNqEyPL_&?HhlKeOVzC|9<&kXYJ^@;bX7P)^1!&U+L-EoEjOrKIg+u zt~a`7pykAr^z5M>sw+!okZ`pPo2XeQxLYrlq4NnWdF%%ba!)KX=>gz)OZ0hyO0%gNamr1|w6C8-uZVy`TQ9Jt>T}lMX1%Q5jCaUGKi@PTF3%-qu2x zQhsDpekLp%AOh-KM2Vt6OeBFJf)M^e8HB$Xanp=HC8&gu`Q6r4FawNDuJ_&D^F8nL zKJR<)RTWH`(68^Xz6gT!%Xc~o;aR61i3#xk*<0-_f@nsHc6-5iUh)96a6&GcL0PSq z(Fl@poGU4zgUVbP3@9l%crem}8oV_bLyL=xGc65QMtzjovnaW)z9l&;(vsdfWbl9zF@$Pc*}dM7N>E#0g; zjl8zw1izU^_G_2iw(3%MFZXzLp2X^z#qI<^(&i*yC;pj33um%+68 zQ{3GAIh>Wp#*IbCL>Nfm2MUWu{JubliP*3XUIwn!+XRMoK$JN)th0VITm`6Ik^!2n zr*MuWNi^H4&-SnaCy>vfG)YqgMG}+&CrQRgF|-AZ{V*6#<^`tE@j@&Zys}}XiV|c9 zA{-9u!v?)1dkNSaR)VAnn#Lgl56ufGYy=O4(z+NNAjHXHP!Xj7sxq=3sZ6n9P-gs;~_#yUO7x7W=OZ_kb7Pb5QQKlmB}2)D~B@E)NF!`T?VWo$!7V8dY53^+yM6zQg{jKRbh$t*IPA<0gtOX5Xg zUUyKVg(2w&ps;6nR$(6t<~c@?WIqcN7X7Rj5W#>KL*q6wcF8BnFfdeS=uqKuG5LXz z!Ui~y@33JoXT2!$3~6Bvz-l$(*#?glH=B$U?(rB+xRK7bn1R(J(B{r8;C_e1m8q3g z_jh(VFL99LpQx~LplRMj;f8D>8>h`i4p*shBWDB#mNm0bo!ZSE4Z=9Z5G>ui*!wXJ%#E#lBHGat z49ls#Zo@dW$biRUx5aM!_)n2z`@^LGl0KsNozX**poCc&jQ2wC9@|{R!^DT!@<&Vm zZ>8+i)SdJPn(_ZgkJ-YNvH>rElas*IWC(S{bQXp9cfC5E-8YW9;BdyN%lLGK7xDQF z0+3pU)AxFAQ4Rby&d+y@cUulutU0%GQGw2J2OnRRx=0uh@|Rq^7d@&&jEc z6}2F9dQwiqz!6{1?f;A5K&le2ZXcPCE#8~6;kU@laC+7ip=jI1z-_dtZRhUAlb^8l z-a5m3rv1I)=kMNoofz|zu(SAHpPQ~bj_KbIYQBWM^R(t`d&022El9LMJ3aB+?JuLx zQ`;`L-M;i{^!?4+yhd7k?9G&Irzar41-`nQj3$kEm-gizi1yPt1f(r-N2*TqN@L&Q zDd$F>NT_P9)i#xtk!Kw#%{>lptzK}ssbc!^TlJ@ZUC?fKReEl2x!!xywY3=+);N>Y P4`_bg6vt<|C5!$BbO{tL 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 zcmbVNe{9rL9Pbp!gkdlS!uSJgA#sAe{=6TpJJ{F_H?y0|xXBbn-o3uNt6YE3c6Yal zxJ_d+5i%e`f;b2g-9JJyWfGUj42d%FM?i^&#UKGfK#)vSf{6HfcRPj|KVp-%ukGi3 zKA-Q8_uAD^|HRbEvnCS+F}1cP)QIoX+_QKRzCLv6I>5L4%$jFxf|&B4dlnH}x6LGo zNkEM>JI&!b85)`gC`J@{GMb6e1W~>)V*u9N15hsuHA@dc$nktU?L3 zrp-c2+Ug^)Z6%ZxYT*L1JR@TQ4LN|!Xi43cGeIiLE90^InxV)n#90}nDqTUcIov>2 z85SZX4@X0mgqB zOqpTQ>9i*;cnmAfaFQf3EYI*fjS;lnsyiS<>-L;ch7hu$rJ9av=%mXCqDG4oq_EXo z44PS>)$M$qaK@MnFd5Fnx-n&e3M}Bv7Au(*S0ICuNJF|~V=Py|nhC=(?1XU(>cZ!n z1aNM{;ey7vUNo&BVLR0+97aANxmsvIk4I7FYYaI&} zX`YL4KAB@>fxiigdqx2cxFcABa?G$afCE-F5J!xu$0@RqM!CvJ8WtAD?u4w1a9FO@ zZ3pNO)rNu;j@hHCiVP(PqEW!ofv5y%=o1Ax3KU3t@u39#k`jfvDDeD{0bAV4y7O~g zt{4z=+)#}L1VQxsAdLb(k&gOAL`z=8(SZOjiXwtBC=}S9vQ)g#Kyoar>q^0lfRh00 z_xotCfGF%hJ5W#zckXct7tiXWS)%CzH8Rj*z*%a<*~h8r5~un%7@~ zRu!C(*6u%Z zw?XRm*6*&xa-POoA9s=bAM5$Fzy#3a2=C|&aCzOAef9=w8+Hb!_9@u5+n@p)0GO zzM3iDd^j<8(@^Nz{Pyy1PhVO6~)>iMG_}9JDz8INO(S=F}*X-YN z^u;Ek_|xTkjtSQ`7b%O-VC=)grLTdqYinMZwf_TeovcZnCeQe7Q#qE_T`JHMvxCt2;$qj+c9u_#3pUuw$J5688KKU6yo(|YJwnYE;%wZmLoG&Z zp@W(iHYT)%t(vS;Q>T#CIRz7BkO#?JCT+S(E<)vb6}BZwJedS62r+D!0RjzJh2<1MAd3fu%{h8fnH7DaXbe9^s20z& z6^6-Xv%zdAXgMi{lVzD<0RsSy5wzQGdN4vNuLp_R+|^0u+)MN z8M{Ply2Uu*h%q^6GhC4MeaZuMt%S4NoOIr}t}!T$GRX8?jO9vLyT$S>x5c^zb?NgB z25@ZS@sf>xwPZ3S6Ruak0J~8PNWW+|(QYGV7ILjNM?>`su*~tkH?~seAm~|6!m`r6 znQH2lOaeYAl2x+}Q@672V|_NDDD+T-!dc^KmZLc?!HEhdC>)r?iVDjXpm9q#lI=G^ zLkW&kcu5J#H$ZXC=+J|A1nZiTw44mY4jUPmLX2&uD6$krrOrxQ4mOO{h4L!maizg@ zJ!opEAsV5u&q2e`6)_nO1E6YjSXRR{()kcAb1Fx(lAwx6*K}6pdiO^ytsA4REYt*!20+wkpkg*CNIEU?Kva>$3u-YYSj|(8fg25``?C6~bj-+tFwzl@ zXgHa~6nP$wS7}a05|DL46m{0G=IfSwS!%I=E>5Id?3QUTRa~WwDgBEMB{?ApG>H!L zIE^sOW4$a8>7*uxLjVAQmq0b+HwvaG^x!SIBuV8Z6=2_WOc)Y*nU*+Jrg>IVg|Gm5 zEy?!b%Ci@OM1wB^(#>GyE;N?emNtZD!w-Q$^2c#xVS&t zf-vcA%DiCRwUS;II;b{b@$1wI;VOs9z;R70K296y5&$VsI4I>XxCvvf6Yci?sA3u1U`XMuJXr0n^IP~rO z>Q9dUx-%H)98>?`#YKlt?p$f^c=*iNRnyNc>S}y{#ED5|NBFO#l^0%~VvHIz@%WWj zb~TULzx?#Y8TB*Io{|nxB(>$cw>pkbj()M{O!eXKpEJglmrdOJ_oMBn)8wn`zb?D{ zTFtTT%eS2$J$LP*!MmTne04?D?#iRvKP}H~6ubTu1N#ncop5mLH}i7Uk6d%6-~UY0 z0DH?%2iCbuUh16i;*d>5+2W4R$Gm48kh_gw*{C-+Z{F0?`q|~*1N&ww1A^;@R4)5N zjsaBF{6_r9mxtB|RzGlV|Ki&6&hpN;1HbK=tIimBtB!SJ25rm+iMk&T>siSOm|B#eqH*OXZuquew zqv|-+Dq630EVepcs8by;uxhc2c+}QTwc|Lbb<`?V!KtGC7ecBXtWI}kH~;Q_|M$N4 zy|*t5vd4~$>Nc<&f*?^@ndTh$t5(j)2zY(--cuGqRBt=e)3b;3q79%qBh%10(rBdP z5hSjG%gduY@-zwb%FC;(PmJ#-`EusZUzC%V(ol1(<|Goa;P}z-B`Vc0v}nrADG8ww z4~rI;y>6cRQ~1iGsRJ*M(#9pI&dw^m5I1Buy|S$A3{rPWi^n4ib*EI-85PyFx1!LZ zcQcpjmd*&PyEb~>_HCsXveeDJ)%zlU?}|R^o;ic5tUsbk>T-CwYRBlD#MEYrz8-Du z2deUy#r4n4%}t=I8e_jo2%Fe%#fEGB68+bPT#xSC7(Hb9hAQNI+Qlvrv(GggAOjT<*RLxODE@ABLGDW=zT5bWMxck&E-SO%F3?3mUeQ(iZZsW zXK3hC>zv9}gG0+phlPH3(1_F=8`nC3Ntz6e>*~pT--{sKdn>03S+%-9f`lJ;S|`bq zEMpi>bZc3~POabVfoKF7n&S7cTmg_#8_0JGCe59Fhcu{@H)$psEQH0A4jj(R5($hi z8EfTA3OFOLNg0L?^)ryb4P+MeyIq2p@tZVlybN3`k8us!29XO)n)dolvSg#_q6E-n zEs1diL7>S-ZL*EEb9Uk#lp-h+CkdR?VFbbGNrs})z@dTRB;L;Cm`4PH!8?=2A`8uN>)*H zbyO<5Lo!NHS_2w4(JAnv&l~^D24H4oVA8;<=`fPSNWw}Q8J&UA6NyAJLlEsyi^x0e z#hpR*NsK<}IVkKIo|V~`f_aXyi;|m#2|L|vKEORfz6K52$fS!dQG$V?I$fIzi-pM& zyfQ0rAj@phz?`*CC(i&<&*=;{7Bd)aI!vFeH(<6Tpu=>eE{W1nI)XOpJNBDJu28A0 zvcJ8{d69!0|3oEhfC8MshS9X0!hl{+VJw+s$AAs+HqvMyc%JQG8z(v8hsL^|WmQ!1 zkdfs`3J^99Gtzb%<7qvC(ZC1|rfGsQ>IkDwZ&$jxtwESfrx%v4IPiUp2h##8mlJL4 z2}q~(x=F(+MFzYk@YvajAFmWSu;1qZkn}%_-yYp7+GQUrf#LbkyO%Z>{vz>Sw&=g5 zzgj8VHFYNaxn}%7(gU_|4pztqaB|`rB^g{9G3`ac|6Q-Pch8KY4mg}~$}%`z;Z1Np z0|8P?aQgZdJ%p29WzRAXx6&tOe0pQ+?9?73im|Z8Ups!R+%voTAJZ?lK5Z^38LuuM z`zNru8$MbSzvLc>nwNf~<q-zalG~O%?X8jCpUU%$Npb$kLv&N*_#ja zhr;Tr$EH%4<{4>OXtbx;3`q zZf?(zIpwW0w>8BrwAR~q_E`V0$?rJ3IsAKMb!4B3(*_kZ@l^b`sk0EeeqqXB#I>&B zdU)xTb2l~|eedoR*O!sLJ$bPyks;HVHA_}ETpyG@;c?H}@V&dfXesS042*ufVADcX zOgEKf^ zIeo&mqi*A((IML}3A@*fi`-EWnp@LvRlU80LO&m-U0fN}Yez+S?v|?Z;cDt|_}p84 u3j5Ni zwYxey=Vy+EKhE9Vot9GU{r>)5e!~gCY&KJXwrv3jA#ind1%RrOQsV9Hjhr*8igS*X z5{tz`LY;JTb3@LVoU;L%rr~fnP)gzQ@{&>tr4*cVY`5Dp8Ngz(5I`rB38fTN6@Ziy z&N);S5wQUuA0IqCJcwDC&*wTCjSvx5tJM#WF-E-i?Du<8N~kJ*-}CwT`DLLpu2w6? zYz(fck@I72tA9Bvb7>P0Ja5&T$qXKkYC*$$>4E~=@+qO2u0rY)u ziFaMcX0xH|I$mC0G^NDz^RrAQ6H}q8rrOmXODTwat-6%L_4PHcudnL8r|UYIPN(FY zjnD>!5X^J6BO-Y38I4A4HXA)2kJgdzWUj8ODyc=O-z(6255VbkvT|7uRF%`|WFV`l z$PZQZv~6n{nCaPUrh~!2iqkZWsp2%7|(-SEr-rwI@E|>D-E?it(*s8qugb-+& z#saH$RFx0{>-C!Da(OP&e!mCccs!cq7$dvgj;3kIIkVkvE$E!H^+5i*&bPO>TGt8i d`1trM_8)RBFGf|wb$)0){Ltm2x4TcCEA9s_j^b6P<(#u+*N=t_gXFU9fBA>#yfmO-^N;k7@E=( zNjDjPMpn(NA3#$<{(RQLXo9GpmbZYq2)U$!Qo0eL&g|Pykvfb}^Q1T%x0+E}Z|Snp zoUU03wQG?YhSanMvOX_kf-G_Yna^enN6ts60TLA$+Nt`umOgbXr7f>PL?FH^rNtx4K=wf`cz2_-$kgj>sm6y zZU<@j6gBl-3W!P7Gua- z6S~(+iexi=)g9|d(l{OvyFgj+6mLllq=O* zwoLM(KS)lRryJ1BIg_uOfTF-f5eipLq*;#UxC9rJIZ5XDDQr+?*&;M5MvoBimaqjZZA2ro>ud?3!VwXcx#T?gE z!vRhJkX7(>iKQh?6zOn45ot+9B9M5E7eb*j+iY9M3k_thXZ2h`%&2KtpG6!E1yP~_ zCjvSo3L=dpUO-w9X;2J$-F!{C%+iSCb8sP@(rRe}snRH;Hwu2`wj(1>hSlRpWP37x>3`}j~Z$olR zatT5B60vAwBJ|n|y~lR+w2p{grkUCYj&z^(RUH_fe<*(GYJcAk@7TNT36sC}Z#w!t zPmj{21Frn~q!mA(y|8Jfu#>EQ>HU*OGZXty&HcsRd+>yH_@8|J`tQ;c)*gype57aK z+~n0?G#h(1{B$N)Wj8#!x^4Ztr#tG7W&*tfdrzLQl4ELPbLZB4wBgXex%p#HpMS2( z|Hjjw9Dn%nRch6fvA@Pn>dx#t{^hf~+V1)No9eG-exSc~WcGV&N0Xa3Zv8Fj+jEKX z9jx9)-ZykvA35Ul^SfVM^W*6LQ@j5D^vsni$TJtFjb5@~J(7ExKN~h=%>H$U>o$LT zd{is3boq9jTH5{bK&Rx}x-eFIQn=DfOiaR^{TBnhdsjZ;^RH+c38&Y0KR={y{F{p( ze06!C3H~Vz>su45tC2UY8n=x4aMZSi$KdqKOBS5^)z~xTkB)s4(_JfH*0yXPc6#{R W^wfFI*wzN`!yTJ3E4rg;Vb8yO^1T-T 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 zcmV-a0;~OrP)2!-K{c^Lsv@%WpUVm`^Kvt^iO~y!U*5eiA}JRWZik zy=Splh)tO$lL;XNLI@e)oa6iZn;0V(7Z=1Bi7{e~q3gOM8Ngz(5J20uCC12ly$0as z<_2R7s)~r@1iRgi$HzwjFaWdJOxw0aM0kCDWi%Q|(=;+14v8^ht;Ks!2mye>V31{- zq!Zw9IGh>u@$n%|)8vmLf^&|dC^E*RO9+AFdWvtJO;G?(WXWEP(f(Q!`WRR;v|V*HKj!MNypL(%q)O&(F`9 zyGie8G~)XDT2t)h<%O~=Gg+SR>2#`>mzSB{IhV)wa5&KSeXe4=-LhOR8s5-Q{)$Gb{K@IM6)tVr>`&4pyVn$GQfR@HS~62CSo3A~OS3k~Zj+@+ zJHy$uh!l%-1cjn#$LZnC$sADSyrZ@j1#LZ~$0;Xx$B2#=>o_uwBZw8bZ`(A2Q-8+H zZ1&sT=X>7gecpH9Z7C~VF?0I-=@^F1EGc%Cqq9LfrlzC+JHNUHFif{dayrYFiLwvk zYc{9m6eq__I)4!{!cmjirKq5hi2!-hZbI#bKA#r7Czaz4?A7> zzbWZWhKD;0?_dwU^e?f4#g3nGcAGG>ydHOl;ZoM7&aqQJ9OBd zr{`kWL-wl$S?q?KVZ=qY$;mL5$UJ zt-B0&$`Od$ObjW|G>zLhlg$VGf}dWDvoy<43{5d+lBRhJ!?Sig`6E!ci0J3bUCWcf z(3OJ-sH(zKR4f)V#mpu-Qca=e;3%4hMzavBASLJFsBhy+K2ivk6MFa*PD6k(YZRtdKOmBXmKAtJz{IwUho%SPdy z5eQT{;*sUxc%{n5CF3k>%EOHnQdpE@(d_FsKo?Mn- z(_>J#EK2_RiJ%rU&*t3#MLi<|75pMt6nMWJ2?3O_6av+dQo_{)p0bg5%0W4T0wZ1JV}R%%XImYS(2E9w z*RyJ>M8wDnG!$sYPMQVAMlwE&odotgNZKI7_vabqXhnu1k-RNU;K#3uoZKG^Kt%d8#UG0vmHlcAMBuV&6%9y4yeb#LkOCanF$^3Cy{s?)lWyGz6u&l>9wt$lY@M}gk| zVtdmahPx)Y41EQ)JyjKx+6MH)G48~EQ<^ML62CYwhbmWW6)VrJh do>6daM5kZfRnyg?IJK{6Nl~fmuZ7;G{{uo@8W{ip 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 zcmV;I3~2L-P)KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`>RI+y?e7jKeZ#YO-C z0mMl}K~#9!Y?Hl?>M#_9KRXVhii8jn1yIpYBT+#`#m_szOQEfxg2$jiC?Kd2B(Z&N zvDdx}cc)8qJZEM+Rw9B@icc&S3-R8^@2{_~|As^a12COV1)x@|0bq=w-EPMrYb~?c zOq_Fw2wH2bwE)Tlw!vV4a}MWR97xlY*XxD%o@TR&_a5&(T5GP?>-RE%?RKjG>G%71 z?-3CIthH#Z2{r@4{eEY++o?z}pUjX`T57dgB+)-N2PJu) zza0*!*XwTMmLf8H z?>U`LESF0e4u|A8Ybnbzmg~(zS(Y)tfN;2~Dx7naWl3mkSf+yX>2xZsRx1`K zP19K0s;Vf8BC5FEZtVAa_4XFBETbq2wALg^f>Me!P2&xPf5sSky&mK7_+OEp&nEyy zQN(aMoeq!3gEUQX&T+k7W6+^9Zx%i=nM@=E3UD|aetph=1^^%cI@|8XA&>w7002ov JPDHLkV1ho4BD(+p 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 zcmbVNe{9rL94|x8$;L8&L{MRr4g|t_{c-KBZFU>mZn7oZKz3%p4EWl<-Zi^xOWW;k z3kZ=!1Bon5ene2fe^4}A&_Be)00T@E5J8CvxPT@~3^8O90!RqK*Zai}$B%ePudnUr zeLkP>kN4iXg{|`@jDK-FhG7$0n!}6Gz1+KsedvGcmD>Q_p0b*kI2cy)tapvUwtX-O z!+bG4y4YPDnJ+13(hpQqhW>QYLTC)DsY_cx>4YvW!@=k61c90h;}|gN32E| z*PDB7*w)(`ReC!WQ6=hX@tU-R2$IkRcsiLd94Q?lGQ1KRd#@=1&p_PH5K-?5;)^2- z@kY~zxaem{g{B$28jZLhD~Mth&eCjvqJtF6lPoRKjKuSJ?nfXwTh*jR;a75E=qW_R zUDuK*DwRt4Qvtte$0$Y=MT%xAmL(B_bb1UIq)Ef6%rk_cqu9FT>ZXBvj6gQK+z^4R zW@AWN1zN+&6%X5d;oRf z^F0D6w~Zy9Gfe>FaO=qDIQ`NPe z`=DZ!<|PiHnR}q9XH?*VM}k#F(o8!EP{4W;#2{rEF#<27QED_3rj3M=yFkW8BqFsK zjtdM0wuD0jirKI0sssSdX#k*B6l9H*8IB_bRs|$bSe~bYiYD+NKR;|LU0!9q`PnX4 zO$Bk>QRR3+0jvy3$Z0GY3~&KbmKmB1s6v3@6p^DDG0(QZ*3m)(iMv@nS1MwZXwRNLOQwC(g0$)Q9`dB-E=@>c#TyA zGRUDaf*_}o0?k&Fno=DMuq?}S0$W3Q3k6Z&*-@63dbob3eWhmI^V5@a(FRu({NS06 zm4M={#1Nr)EeKU2_gWvNT91{N-27A=BGQMnW>(!XH8%xpSRX@`ePruX4>Iq7?uT1{ zyhh7h7KOUMUYT!qZI*dB+JU`cVedx|h0_BX zh}uSHLwe~DI*!K3E#dm8@NU<8X9o|{rQw?$o0{f!l;ag^wiugMZT{zW`|>Fzjbrz3 z^vyXGsF*o8lUR0o+X;<*fByOSu~+?d_2tET|G2Tzzx8<2irSs<;IDt(h;#k3)~huY zod+uaURitLa{9Zgy_;{|8Vp~1=ScmR!vl%nOS9KEd{K2;m|Rv@R24S%ZGUEfz3fVR z)}Avy{^n}$z|S8(zx(u_{yhox2dwPORybSV_UVxPxz(|&?uk!)%hZu^=PK8%k|%$A zuqgV`FB6vl|A}z}rM|U&b0@vsHC*=N(CV*_H0}8Fr;+RD+J%a~4Qr(vGjAKr1k{j<#n8uks}DyE-%y?kujyi2X;_w`{D&t7!j zeDdh-((T33*JfNj_C0oO+U=DkXNtBIAKiWOKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`>RI+y?e7jKeZ#YO-C z0mMl}K~#9!bd$YK<3JF{f3se@bQ48NVOxrnhIfD}70Cmqf(l-O!U&uqf*K{pyE_zU z=kOi3-L7W;Uo#`Biiq&{+3)w7QnLHuaQLT4Rq+7Z?N$M*ssg}!&uX=@q7VYNx3?N& zL{)Ll5kdeEpV6+au81)bW3+;@EV*1Rq?A}J7NnF&DdC*sbUJ;L0o>i)380(JhLjSj z3P1<}=N#E)26%se=l=d)3}Cn0Y1_7l2qJ>2qN)bwz2|&B6JrFRuIp_3+d^iXrpW+a zUtec|HBAFRjFF-!?A0qa>qJ#)+jgel`T1D@ z*6X!CJw2Ifvyf7vZCjeA(ccuT*J}mn``!o*zrxBbEK4P z_Y=4cE-V=jZ1v-OS*eW11#H2#n*1s!~;zWguDlcDvQ( za%l?6vNT20G%=2&DR_H(kU_ zj0uZDKqCk-en&!#M1q)sibx`mksv_=W*TFFEC!VbDw&{Q!iTT-#W3R|UefDp`+L9N z@Bi`MTRnf?W8+g3IrU^Xr(l8%@*tVZq)k`JMW{Tlg2(=Ah9dJ2uPZ_|_=046d_LJ^ zIf#@4EUf~-k|G}QAx@Izhe-}_K?Z~vPM|rU09FwMviPI0oTKSVYxL2g7=DUSot|ea z43o`f1KD7}a#9Q{%Q6EvhT~|ApxqwRgE`uCroqUOVH6WGD%wr-*obLGuGQ_RsChZIIo*%OR+=0HJBT|WjS3>>Pc2D&5v4Yw_jO*exb`X zOT`@5R7H&y1xZZOA`l@hg!m8*MOMbVK~~jONs@R}Vtc|d@Ir&>k*vNe4KwPx8k7Jh z(-86!os@WvmJx^Opddhr!=_|W^1Jz(a*3q@$LHcgy2aJf2vfyT+Ne(%xY7mB`JpU8 zpbMc8&GHb^e24|KtP6nVWT5jJU^$T!!;HT~@MN+uDiAU^SI#%C(qi~ddW!lB(6X`< zGT*BTRQ)v=p;W*5kVX|>8>7_ewlY$jpY24L^d?PNPFixoVLv_9%0`9Ic+X;C|&nL>C+XDC0Id|eAgVg6gM{I?O?WC@PLxaSbF}huch&6nkH3#pY&ddiNA9V%y_2;?V~>5t zI!o?*{m{?N8!KlFuKadIYrC=K;{L`d2ZpMCoAq>bLR-z;8T%W>JEpFvo;d_w{<3Du znt>lTZtd88BB{Llch&jzAAGpIa>8Br9<4<8#MXcHet#QUv}tDbKfg?!xO?Y{%J`rL zaxuN{qvWT%f(QBdu2b92C^I%3T)Xto!>3o(&Al|~!kAfC2kt(wY4aZcRE{;zi*9S| G==&Fn!LafG literal 0 HcmV?d00001 diff --git a/kubejs/startup_scripts/gtceu/items.js b/kubejs/startup_scripts/gtceu/items.js index 488cc5e9b..9500b35c2 100644 --- a/kubejs/startup_scripts/gtceu/items.js +++ b/kubejs/startup_scripts/gtceu/items.js @@ -3,4 +3,29 @@ const registerGTCEuItems = (event) => { event.create('tfg:unfinished_vacuum_tube', 'create:sequenced_assembly') event.create('tfg:unfinished_basic_electronic_circuit', 'create:sequenced_assembly') + + // Extrudel Molds + event.create('tfg:mining_hammer_head_extruder_mold') + event.create('tfg:sword_head_extruder_mold') + event.create('tfg:pickaxe_head_extruder_mold') + event.create('tfg:shovel_head_extruder_mold') + event.create('tfg:axe_head_extruder_mold') + event.create('tfg:hoe_head_extruder_mold') + event.create('tfg:scythe_head_extruder_mold') + event.create('tfg:file_head_extruder_mold') + event.create('tfg:hammer_head_extruder_mold') + event.create('tfg:saw_head_extruder_mold') + event.create('tfg:knife_head_extruder_mold') + event.create('tfg:butchery_knife_head_extruder_mold') + event.create('tfg:spade_head_extruder_mold') + event.create('tfg:propick_head_extruder_mold') + event.create('tfg:javelin_head_extruder_mold') + event.create('tfg:chisel_head_extruder_mold') + event.create('tfg:mace_head_extruder_mold') + + // Other Molds + event.create('tfg:lamp_casting_mold') + event.create('tfg:trapdoor_casting_mold') + event.create('tfg:chain_casting_mold') + event.create('tfg:bell_casting_mold') } \ No newline at end of file diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 0f0db450e..9257d3cc9 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -4,7 +4,7 @@ * Событие регистрации предметов. */ StartupEvents.registry('item', event => { - // registerGTCEuItems(event) + registerGTCEuItems(event) }) /** From cad3d31a1676140c4f7875cb64e754b2a111c8a5 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 11:19:47 +0700 Subject: [PATCH 021/266] allow firmalife greenhouse hold gt frameboxes --- kubejs/server_scripts/firmalife/tags.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 1216e8ee6..c2098d5fc 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -26,6 +26,9 @@ const registerFirmaLifeBlockTags = (event) => { // Удаление тегов у руд event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + + // Для того, чтобы стенками greenhouse могли быть фреймы грега (для передачи воды) + event.add('tfc:always_valid_greenhouse_wall', '#forge:frames') } const registerFirmaLifeFluidTags = (event) => { From 18792ff3902916ec1d8e8b4d5e11f2bdc781a8ef Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 11:21:10 +0700 Subject: [PATCH 022/266] cleanup --- kubejs/startup_scripts/firmaciv/blocks.js | 8 ++++---- kubejs/startup_scripts/gtceu/blocks.js | 5 ----- kubejs/startup_scripts/main_startup_script.js | 10 ++-------- 3 files changed, 6 insertions(+), 17 deletions(-) delete mode 100644 kubejs/startup_scripts/gtceu/blocks.js diff --git a/kubejs/startup_scripts/firmaciv/blocks.js b/kubejs/startup_scripts/firmaciv/blocks.js index f9a3a5c57..833cd702f 100644 --- a/kubejs/startup_scripts/firmaciv/blocks.js +++ b/kubejs/startup_scripts/firmaciv/blocks.js @@ -1,8 +1,8 @@ // priority: 0 const modifyFirmaCivBlocks = (event) => { - event.modify('firmaciv:cleat', block => { - block.requiresTool = false - block.destroySpeed = 0.1 - }) + // event.modify('firmaciv:cleat', block => { + // block.requiresTool = false + // block.destroySpeed = 0.1 + // }) } \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/blocks.js b/kubejs/startup_scripts/gtceu/blocks.js deleted file mode 100644 index d389a83f2..000000000 --- a/kubejs/startup_scripts/gtceu/blocks.js +++ /dev/null @@ -1,5 +0,0 @@ -// priority: 0 - -const registerGTCEuBlocks = (event) => { - -} \ No newline at end of file diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 9257d3cc9..ffcd9f0b7 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -10,18 +10,12 @@ StartupEvents.registry('item', event => { /** * Событие регистрации блоков. */ -StartupEvents.registry('block', event => { - // registerGTCEuBlocks(event) - - -}) +StartupEvents.registry('block', event => {}) /** * Событие изменения блоков. */ -BlockEvents.modification(event => { - // modifyFirmaCivBlocks(event) -}) +BlockEvents.modification(event => {}) /** * Событие изменения предметов. From 3feb1779ffddabb23adc18cbdcdc031b0eca9fde Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 11:21:37 +0700 Subject: [PATCH 023/266] refactor gtceu -> gregtech --- kubejs/startup_scripts/{gtceu => gregtech}/constants.js | 0 kubejs/startup_scripts/{gtceu => gregtech}/items.js | 0 kubejs/startup_scripts/{gtceu => gregtech}/machines.js | 0 kubejs/startup_scripts/{gtceu => gregtech}/material_info.js | 0 kubejs/startup_scripts/{gtceu => gregtech}/recipe_types.js | 0 kubejs/startup_scripts/{gtceu => gregtech}/world_gen_layers.js | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename kubejs/startup_scripts/{gtceu => gregtech}/constants.js (100%) rename kubejs/startup_scripts/{gtceu => gregtech}/items.js (100%) rename kubejs/startup_scripts/{gtceu => gregtech}/machines.js (100%) rename kubejs/startup_scripts/{gtceu => gregtech}/material_info.js (100%) rename kubejs/startup_scripts/{gtceu => gregtech}/recipe_types.js (100%) rename kubejs/startup_scripts/{gtceu => gregtech}/world_gen_layers.js (100%) diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gregtech/constants.js similarity index 100% rename from kubejs/startup_scripts/gtceu/constants.js rename to kubejs/startup_scripts/gregtech/constants.js diff --git a/kubejs/startup_scripts/gtceu/items.js b/kubejs/startup_scripts/gregtech/items.js similarity index 100% rename from kubejs/startup_scripts/gtceu/items.js rename to kubejs/startup_scripts/gregtech/items.js diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gregtech/machines.js similarity index 100% rename from kubejs/startup_scripts/gtceu/machines.js rename to kubejs/startup_scripts/gregtech/machines.js diff --git a/kubejs/startup_scripts/gtceu/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js similarity index 100% rename from kubejs/startup_scripts/gtceu/material_info.js rename to kubejs/startup_scripts/gregtech/material_info.js diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gregtech/recipe_types.js similarity index 100% rename from kubejs/startup_scripts/gtceu/recipe_types.js rename to kubejs/startup_scripts/gregtech/recipe_types.js diff --git a/kubejs/startup_scripts/gtceu/world_gen_layers.js b/kubejs/startup_scripts/gregtech/world_gen_layers.js similarity index 100% rename from kubejs/startup_scripts/gtceu/world_gen_layers.js rename to kubejs/startup_scripts/gregtech/world_gen_layers.js From 8e3a91e65deb240533c57dc6a025152dc862b4af Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 11:30:47 +0700 Subject: [PATCH 024/266] refactors + fix alternator (probably) --- kubejs/server_scripts/gregtech/recipes.js | 53 ++++++++++++++++ kubejs/startup_scripts/gregtech/items.js | 2 +- kubejs/startup_scripts/gregtech/machines.js | 14 +++-- .../startup_scripts/gregtech/material_info.js | 2 +- .../startup_scripts/gregtech/recipe_types.js | 6 +- .../gregtech/world_gen_layers.js | 6 +- kubejs/startup_scripts/main_startup_script.js | 63 +++---------------- 7 files changed, 79 insertions(+), 67 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 6e7d5bbf9..4a75fe1dd 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1440,3 +1440,56 @@ const registerGTCEURecipes = (event) => { //#endregion } + + + + + + +// /** +// * Отключение рецепта генерации nugget'ов из слитков, если nugget'а нет. +// */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 3), remap = false) +// private static void tfg$processIngot$gtRecipeBuilder$save$nugget(GTRecipeBuilder instance, Consumer consumer, TagPrefix ingotPrefix, Material material, IngotProperty property) { +// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { +// instance.save(consumer); +// } +// } +// +// /** +// * В GT при добавлении предмета в output или input сразу проверяется empty ли он, +// * чтобы отключить рецепт не хватит просто его не сохранять в некоторых случаях. +// * Если output'а или input'а нет, то нужно будет еще задать условие и какой-то предмет который существует, +// * собственно это мы тут и делаем. +// */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;outputItems(Lcom/gregtechceu/gtceu/api/data/tag/TagPrefix;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;I)Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;", ordinal = 1), remap = false) +// private static GTRecipeBuilder tfg$processIngot$gtRecipeBuilder$outputItems(GTRecipeBuilder instance, TagPrefix orePrefix, Material material, int count) { +// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { +// instance.outputItems(TagPrefix.nugget, material, 9); +// } +// return instance; +// } +// +// /** +// * Отключение генерации рецептов: 2 слитка + молот = пластина (верстак). +// * */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 2), remap = false) +// private static void tfg$processIngot$addShapedRecipe$plate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} +// +// /** +// * Отключение генерации рецептов: 9 слитков -> блок. (Компрессор) +// */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 5), remap = false) +// private static void tfg$processIngot$gtRecipeBuilder$save$block(GTRecipeBuilder instance, Consumer consumer) {} + +// /** +// * Отключение генерации рецептов: 2 пластины + молот = двойная пластина (верстак). +// * */ +// @Redirect(method = "processPlateDouble", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V"), remap = false) +// private static void tfg$processPlateDouble$vanillaRecipeHelper$addShapedRecipe$doublePlate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} +// +// /** +// * Отключение генерации рецептов: 2 стержня + молот = длинный стержень (верстак). +// * */ +// @Redirect(method = "processLongStick", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 3), remap = false) +// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer provider, String regName, ItemStack result, Object[] recipe) {} \ No newline at end of file diff --git a/kubejs/startup_scripts/gregtech/items.js b/kubejs/startup_scripts/gregtech/items.js index 9500b35c2..4620fb706 100644 --- a/kubejs/startup_scripts/gregtech/items.js +++ b/kubejs/startup_scripts/gregtech/items.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGTCEuItems = (event) => { +const registerGregTechItems = (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/gregtech/machines.js b/kubejs/startup_scripts/gregtech/machines.js index 0a415b613..31c99918a 100644 --- a/kubejs/startup_scripts/gregtech/machines.js +++ b/kubejs/startup_scripts/gregtech/machines.js @@ -1,6 +1,8 @@ // priority: 0 -const registerGTCEuMachines = (event) => { +const registerGregTechMachines = (event) => { + + // Регистрация мультиблока теплицы event.create('greenhouse', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) .recipeType('greenhouse') @@ -24,20 +26,22 @@ const registerGTCEuMachines = (event) => { ) .workableCasingRenderer('gtceu:block/casings/solid/machine_casing_solid_steel', 'gtceu:block/multiblock/implosion_compressor', false) + // Регистрация мультиблока (хз как перевести, короче конвертит энергию физическую в энергию электрическую) event.create('alternator', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) - .recipeType('alternator') + .recipeType('basic_alternator') + .appearanceBlock(GTBlocks.CASING_STEEL_SOLID) + .generator(true) .pattern(definition => FactoryBlockPattern.start() .aisle("CWC", "CWC", "#W#") .aisle("CWC", "K#E", "CWC") - .aisle("CWI", "CWA", "#W#") + .aisle("CWC", "CWA", "#W#") .where('A', Predicates.controller(Predicates.blocks(definition.get()))) - .where('W', Predicates.blocks('gtceu:cupronickel_coil_block')) + .where('W', Predicates.blocks(GTBlocks.COIL_CUPRONICKEL.get())) .where("C", Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get())) .where('#', Predicates.any()) .where('K', Predicates.abilities(PartAbility.INPUT_KINETIC).setExactLimit(1)) .where('E', Predicates.abilities(PartAbility.OUTPUT_ENERGY).setExactLimit(1)) - .where('I', Predicates.abilities(PartAbility.IMPORT_ITEMS).setExactLimit(1)) .build() ) .workableCasingRenderer( diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index 07238979e..f58f2c3b6 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGTCEuMaterialInfo = (event) => { +const registerGregTechMaterialInfo = (event) => { //#region Дерево global.VANILLA_WOOD_TYPES.forEach(woodType => { diff --git a/kubejs/startup_scripts/gregtech/recipe_types.js b/kubejs/startup_scripts/gregtech/recipe_types.js index eb4144c95..829c53603 100644 --- a/kubejs/startup_scripts/gregtech/recipe_types.js +++ b/kubejs/startup_scripts/gregtech/recipe_types.js @@ -1,15 +1,15 @@ // priority: 0 -const registerGTCEuRecipeTypes = (event) => { +const registerGregTechRecipeTypes = (event) => { event.create('greenhouse') - .category('greenhouse') + .category('multiblock') .setEUIO('in') .setMaxIOSize(3, 4, 1, 0) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.BATH) event.create('alternator') - .category('alternator') + .category('multiblock') .setEUIO('out') .setMaxIOSize(1, 0, 0, 0) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) diff --git a/kubejs/startup_scripts/gregtech/world_gen_layers.js b/kubejs/startup_scripts/gregtech/world_gen_layers.js index b2b08d719..8c1c40697 100644 --- a/kubejs/startup_scripts/gregtech/world_gen_layers.js +++ b/kubejs/startup_scripts/gregtech/world_gen_layers.js @@ -1,7 +1,11 @@ // priority: 0 -const registerGTMWorldGenLayers = (event) => { +const registerGregTechWorldGenLayers = (event) => { + // Здесь куча конченных переменных. Почему? + // А потому что мы не можем использовать у руды несколько слоев для гена и з-за этого приходится говнить. + // Спасибо разрабам. + const ALL = ['#tfc:rock/raw'] const IE = [ diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index ffcd9f0b7..6a5bf6fda 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -4,7 +4,7 @@ * Событие регистрации предметов. */ StartupEvents.registry('item', event => { - registerGTCEuItems(event) + registerGregTechItems(event) }) /** @@ -31,75 +31,26 @@ StartupEvents.registry('fluid', event => {}) * Событие регистрации типов рецептов. */ GTCEuStartupEvents.registry('gtceu:recipe_type', event => { - // registerGTCEuRecipeTypes(event) + registerGregTechRecipeTypes(event) }) /** * Событие регистрации механизмов. */ GTCEuStartupEvents.registry('gtceu:machine', event => { - // registerGTCEuMachines(event) + registerGregTechMachines(event) }) /** * Событие регистрации слоев пород GTM. */ GTCEuStartupEvents.registry('gtceu:world_gen_layer', event => { - registerGTMWorldGenLayers(event) + registerGregTechWorldGenLayers(event) }) /** * Событие регистрации информации о составе предмета. */ -// TFGStartupEvents.materialInfo(event => { -// registerGTCEuMaterialInfo(event) -// }) - - -// /** -// * Отключение рецепта генерации nugget'ов из слитков, если nugget'а нет. -// */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 3), remap = false) -// private static void tfg$processIngot$gtRecipeBuilder$save$nugget(GTRecipeBuilder instance, Consumer consumer, TagPrefix ingotPrefix, Material material, IngotProperty property) { -// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { -// instance.save(consumer); -// } -// } -// -// /** -// * В GT при добавлении предмета в output или input сразу проверяется empty ли он, -// * чтобы отключить рецепт не хватит просто его не сохранять в некоторых случаях. -// * Если output'а или input'а нет, то нужно будет еще задать условие и какой-то предмет который существует, -// * собственно это мы тут и делаем. -// */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;outputItems(Lcom/gregtechceu/gtceu/api/data/tag/TagPrefix;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;I)Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;", ordinal = 1), remap = false) -// private static GTRecipeBuilder tfg$processIngot$gtRecipeBuilder$outputItems(GTRecipeBuilder instance, TagPrefix orePrefix, Material material, int count) { -// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { -// instance.outputItems(TagPrefix.nugget, material, 9); -// } -// return instance; -// } -// -// /** -// * Отключение генерации рецептов: 2 слитка + молот = пластина (верстак). -// * */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 2), remap = false) -// private static void tfg$processIngot$addShapedRecipe$plate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} -// -// /** -// * Отключение генерации рецептов: 9 слитков -> блок. (Компрессор) -// */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 5), remap = false) -// private static void tfg$processIngot$gtRecipeBuilder$save$block(GTRecipeBuilder instance, Consumer consumer) {} - -// /** -// * Отключение генерации рецептов: 2 пластины + молот = двойная пластина (верстак). -// * */ -// @Redirect(method = "processPlateDouble", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V"), remap = false) -// private static void tfg$processPlateDouble$vanillaRecipeHelper$addShapedRecipe$doublePlate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} -// -// /** -// * Отключение генерации рецептов: 2 стержня + молот = длинный стержень (верстак). -// * */ -// @Redirect(method = "processLongStick", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 3), remap = false) -// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer provider, String regName, ItemStack result, Object[] recipe) {} \ No newline at end of file +TFGStartupEvents.materialInfo(event => { + registerGregTechMaterialInfo(event) +}) \ No newline at end of file From 3ec93a8524f6c09e0dcf7e6d7d8780fc4deb2106 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 11:31:39 +0700 Subject: [PATCH 025/266] Update CHANGELOG.md --- CHANGELOG.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2914bf0c3..2a382615d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,30 @@ # Changelog +## [0.8.0] - ?? +### TODO + +### Changes +- Replaced TFC ore gen with GT oregen. +- Fixed most of bad langs from TFG-Core. +- Fixed compat for firmaciv 1.0.+. +- Disabled HotOrNot. +- Moved some textures from TFG-Core to KJS. +- Moved 90% of recipes from TFG-Core to KJS. +- Added custom biome tag for all TFC biomes (used for oregen). +- Proper way to remove #dusts tag from TFC powders. +- Enabled HighTier machines from GTM (but without circuit recipes). +- Moved some custom items from TFG-Core to KJS (like molds and etc). +- Make ores spawn inside grid with 5x5 sized with 32block offset (was 3x3 with 16). +- Now nether availiable to research (dig ores, drink lava, kill pigmens, what?). +- Small changes for loottables for nether. +- You can now fill sprinkler(firmalife greenhouse) from any fluid source (example: GT pipes). +- Unlocked steel steam machines (again, yes). +- Added translation for ru_ru inside TFG-Core. +- Fixed alternator multiblock (now works fine). +- ... +### Updated mods +- ?? + ## [0.7.12] - 03.06.2024 ### Changes - Small fixes in quests. (FriendlyCube) From 35f8d4b561769797a141697ed241c0dfd4935f51 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 12:09:49 +0700 Subject: [PATCH 026/266] fixed nether loot_tables --- .../loot_tables/chests/bastion_bridge.json | 233 ++++++++++ .../chests/bastion_hoglin_stable.json | 326 ++++++++++++++ .../loot_tables/chests/bastion_other.json | 420 ++++++++++++++++++ .../loot_tables/chests/bastion_treasure.json | 293 ++++++++++++ .../loot_tables/chests/nether_bridge.json | 151 +++++++ 5 files changed, 1423 insertions(+) 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/chests/nether_bridge.json 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..f9341687b --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json @@ -0,0 +1,233 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:lodestone" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "damage": { + "type": "minecraft:uniform", + "max": 0.5, + "min": 0.1 + }, + "function": "minecraft:set_damage" + } + ], + "name": "minecraft:crossbow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 28.0, + "min": 10.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:spectral_arrow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 12.0, + "min": 8.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gilded_blackstone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crying_obsidian" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_block" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9.0, + "min": 4.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9.0, + "min": 4.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_ingot" + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 2.0, + "min": 1.0 + } + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:string" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:leather" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 5.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:arrow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_nugget" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_nugget" + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + } + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:empty", + "weight": 11 + }, + { + "type": "minecraft:item", + "name": "minecraft:snout_armor_trim_smithing_template" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "minecraft:chests/bastion_bridge" +} \ 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..36e33970b --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json @@ -0,0 +1,326 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "gtceu:cobalt_ingot", + "weight": 15 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:brass_ingot", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 8 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:steel_ingot", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 2.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:saddle", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_block", + "weight": 16 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 8.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:golden_carrot", + "weight": 10 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:golden_apple", + "weight": 10 + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crying_obsidian" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:glowstone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gilded_blackstone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:soul_sand" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crimson_nylium" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_nugget" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:leather" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 5.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:arrow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:string" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "tfc:food/cooked_pork" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "tfc:food/cooked_pork" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crimson_fungus" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crimson_roots" + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 3.0 + } + } + ], + "random_sequence": "minecraft:chests/bastion_hoglin_stable" +} \ 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..f3d6ad869 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_other.json @@ -0,0 +1,420 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "damage": { + "type": "minecraft:uniform", + "max": 0.9, + "min": 0.1 + }, + "function": "minecraft:set_damage" + } + ], + "name": "minecraft:crossbow", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 4 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 22.0, + "min": 10.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:spectral_arrow", + "weight": 10 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:piglin_banner_pattern", + "weight": 9 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:music_disc_pigstep", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 6.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:golden_carrot", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:golden_apple", + "weight": 9 + }, + { + "type": "minecraft:item", + "name": "minecraft:book", + "weight": 10 + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_block", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_block", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crossbow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_ingot", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_ingot", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crying_obsidian", + "weight": 2 + } + ], + "rolls": 2.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gilded_blackstone", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:chain" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:magma_cream", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:bone_block" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_nugget" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 4.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:obsidian" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_nugget" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 4.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:string" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 5.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:arrow", + "weight": 2 + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 3.0 + } + } + ], + "random_sequence": "minecraft:chests/bastion_other" +} \ 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..a4adf48de --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json @@ -0,0 +1,293 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 15 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 10 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 8 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 2.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_sword", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{},GT.Tool:{AttackDamage:10.0f,AttackSpeed:-2.3000002f,Damage:0,MaxDamage:4607},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_pickaxe", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{},GT.Tool:{AttackDamage:8.0f,AttackSpeed:-2.7f,Damage:0,HarvestLevel:3,MaxDamage:4607,ToolSpeed:10.0f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_axe", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{DisableShields:1b,TreeFelling:1b},GT.Tool:{AttackDamage:12.0f,AttackSpeed:-3.1000001f,Damage:0,HarvestLevel:3,MaxDamage:4607,ToolSpeed:8.0f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_shovel", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{},GT.Tool:{AttackDamage:8.5f,AttackSpeed:-2.9f,Damage:0,HarvestLevel:3,MaxDamage:4607,ToolSpeed:10.0f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_hammer", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{},GT.Tool:{AttackDamage:8.0f,AttackSpeed:-2.7f,Damage:0,HarvestLevel:3,MaxDamage:4607,ToolSpeed:10.0f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_mining_hammer", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{AoEColumn:1,AoELayer:0,AoERow:1,MaxAoEColumn:1,MaxAoELayer:0,MaxAoERow:1},GT.Tool:{AttackDamage:8.5f,AttackSpeed:-3.1000001f,Damage:0,HarvestLevel:3,MaxDamage:13823,ToolSpeed:6.4f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:diamond", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:enchanted_golden_apple", + "weight": 2 + } + ], + "rolls": 3.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 25.0, + "min": 12.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:spectral_arrow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_block" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_block" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crying_obsidian" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 23.0, + "min": 8.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:quartz" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 15.0, + "min": 5.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gilded_blackstone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:magma_cream" + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 3.0 + } + } + ], + "random_sequence": "minecraft:chests/bastion_treasure" +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/chests/nether_bridge.json b/kubejs/data/minecraft/loot_tables/chests/nether_bridge.json new file mode 100644 index 000000000..b6c38ba2b --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/nether_bridge.json @@ -0,0 +1,151 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:diamond", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_ingot", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_ingot", + "weight": 15 + }, + { + "type": "minecraft:item", + "name": "minecraft:flint_and_steel", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:nether_wart", + "weight": 5 + }, + { + "type": "minecraft:item", + "name": "minecraft:saddle", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/copper", + "weight": 9 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/bismuth_bronze", + "weight": 8 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/bronze", + "weight": 7 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/black_bronze", + "weight": 6 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/wrought_iron", + "weight": 5 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/steel", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/black_steel", + "weight": 3 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/blue_steel", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/red_steel", + "weight": 1 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:obsidian", + "weight": 2 + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + } + } + ], + "random_sequence": "minecraft:chests/nether_bridge" +} \ No newline at end of file From dd10ae62417f738eaf4b6db6e97570dee437a890 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 12:09:59 +0700 Subject: [PATCH 027/266] oups :trollface: --- kubejs/startup_scripts/gregtech/machines.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/gregtech/machines.js b/kubejs/startup_scripts/gregtech/machines.js index 31c99918a..f8d48cda3 100644 --- a/kubejs/startup_scripts/gregtech/machines.js +++ b/kubejs/startup_scripts/gregtech/machines.js @@ -29,7 +29,7 @@ const registerGregTechMachines = (event) => { // Регистрация мультиблока (хз как перевести, короче конвертит энергию физическую в энергию электрическую) event.create('alternator', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) - .recipeType('basic_alternator') + .recipeType('alternator') .appearanceBlock(GTBlocks.CASING_STEEL_SOLID) .generator(true) .pattern(definition => FactoryBlockPattern.start() From 2875f061dd20036e03ebdf85850f1acd96dc5626 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 12:15:07 +0700 Subject: [PATCH 028/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index 6d23173d3..4d74e79d6 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 6d23173d39b64fc4598bd6e0d87082a2b0549745 +Subproject commit 4d74e79d696bd7818627463a1fce31f47e95d7c5 From 7b7a63679fceac90ddf51fa4593125c45624f553 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 12:51:31 +0700 Subject: [PATCH 029/266] cleanup, refactors --- kubejs/server_scripts/gregtech/data.js | 11 +---- kubejs/server_scripts/gregtech/fluid_veins.js | 2 +- kubejs/server_scripts/gregtech/loot.js | 2 +- kubejs/server_scripts/gregtech/ore_veins.js | 2 +- kubejs/server_scripts/gregtech/recipes.js | 2 +- kubejs/server_scripts/gregtech/tags.js | 2 +- kubejs/server_scripts/main_server_script.js | 43 ++++++++++--------- kubejs/server_scripts/tfc/data.js | 11 ++++- kubejs/server_scripts/treetap/data.js | 9 ---- kubejs/server_scripts/water_flasks/data.js | 9 ---- 10 files changed, 38 insertions(+), 55 deletions(-) diff --git a/kubejs/server_scripts/gregtech/data.js b/kubejs/server_scripts/gregtech/data.js index 2729278a5..282be0449 100644 --- a/kubejs/server_scripts/gregtech/data.js +++ b/kubejs/server_scripts/gregtech/data.js @@ -1,18 +1,9 @@ // priority: 0 -const registerTFCDataForGTCEU = (event) => { +const registerTFCDataForGregTech = (event) => { registerGTCEUHeats(event) } -/** - * event.itemHeat( - ingredient: Ingredient, - heatCapacity: number, - forgingTemperature: @Nullable number, - weldingTemperature: @Nullable number, - name?: string - ) - */ const registerGTCEUHeats = (event) => { event.itemHeat('gtceu:compressed_coke_clay', 0.1242, null, null) } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/fluid_veins.js b/kubejs/server_scripts/gregtech/fluid_veins.js index db71d4360..ca4c5b7fb 100644 --- a/kubejs/server_scripts/gregtech/fluid_veins.js +++ b/kubejs/server_scripts/gregtech/fluid_veins.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGTMFluidVeins = (event) => { +const registerGregTechFluidVeins = (event) => { event.add('tfg:fresh_water', vein => { vein.dimensions('minecraft:overworld') diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/gregtech/loot.js index 84d79ac51..cff2cc129 100644 --- a/kubejs/server_scripts/gregtech/loot.js +++ b/kubejs/server_scripts/gregtech/loot.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGTCEULoots = (event) => { +const registerGregTechLoots = (event) => { global.TFC_STONE_TYPES.forEach(stoneTypeName => { GTMaterialRegistry.getRegisteredMaterials().forEach(material => { diff --git a/kubejs/server_scripts/gregtech/ore_veins.js b/kubejs/server_scripts/gregtech/ore_veins.js index 515ecaeac..4ac0415ec 100644 --- a/kubejs/server_scripts/gregtech/ore_veins.js +++ b/kubejs/server_scripts/gregtech/ore_veins.js @@ -3,7 +3,7 @@ // Я правда не тупой, я знаю, что это можно было сделать перебором списка, но это сделано // для удобного изменения значения каждой жилы, допустим редкости спавна и тд. -const registerGTMOreVeins = (event) => { +const registerGregTechOreVeins = (event) => { // Перемещение - End -> Overworld diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 4a75fe1dd..52f2c93c1 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGTCEURecipes = (event) => { +const registerGregTechRecipes = (event) => { //#region Выход: Удобрение // В обычном миксере diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 232b68b32..a0773abd3 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGTCEUItemTags = (event) => { +const registerGregTechItemTags = (event) => { // Удаление тегов у отключенных предметов global.GTCEU_DISABLED_ITEMS.forEach(item => { diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index e8e538495..200c45092 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -15,7 +15,7 @@ ServerEvents.tags('item', event => { // registerFirmaLifeItemTags(event) // registerFramedBlocksItemTags(event) // registerFTBQuestsItemTags(event) - // registerGTCEUItemTags(event) + // registerGregTechItemTags(event) // registerMegaCellsItemTags(event) // registerMinecraftItemTags(event) // registerMoreRedItemTags(event) @@ -40,7 +40,7 @@ ServerEvents.tags('block', event => { // registerFirmaLifeBlockTags(event) // registerFramedBlocksBlockTags(event) // registerFTBQuestsBlockTags(event) - // registerGTCEUBlockTags(event) + // registerGregTechBlockTags(event) // registerMegaCellsBlockTags(event) // registerMinecraftBlockTags(event) // registerMoreRedBlockTags(event) @@ -61,7 +61,7 @@ ServerEvents.tags('fluid', event => { }) /** - * Событие регистрации тегов биомов. + * Событие регистрации биом-тегов. */ ServerEvents.tags('worldgen/biome', event => { registerTFCBiomeTags(event) @@ -80,7 +80,7 @@ ServerEvents.tags('worldgen/placed_feature', event => { * Срабатывает до инициализации рецептов, но после тегов. */ ServerEvents.highPriorityData(event => { - // registerComputerCraftData(event) + registerComputerCraftData(event) }) /** @@ -88,20 +88,12 @@ ServerEvents.highPriorityData(event => { * Срабатывает до инициализации рецептов, но после тегов. */ TFCEvents.data(event => { - // registerTFCDataForGTCEU(event) - // registerTFCDataForTFC(event) - // registerTFCDataForTreeTap(event) - // registerTFCDataForWaterFlasks(event) + registerTFCDataForGregTech(event) + registerTFCDataForTFC(event) + registerTFCDataForTreeTap(event) + registerTFCDataForWaterFlasks(event) }) -/** - * Событие регистрации лут-тейблов. - * Срабатывает до инициализации рецептов, но после датапаков и тегов. - */ -LootJS.modifiers((event) => { - registerGTCEULoots(event) -}); - /** * Событие регистрации рецептов. * Срабатывает после инициализации датапаков и тегов. @@ -124,7 +116,7 @@ ServerEvents.recipes(event => { // registerFirmaLifeRecipes(event) // registerFramedBlocksRecipes(event) // registerFTBQuestsRecipes(event) - // registerGTCEURecipes(event) + // registerGregTechRecipes(event) // registerHandGliderRecipes(event) // registerHotOrNotRecipes(event) // registerMegaCellsRecipes(event) @@ -142,15 +134,24 @@ ServerEvents.recipes(event => { }) /** - * Событие регистрации рудных жил GTM. + * Событие регистрации лут-тейблов. + * Срабатывает до инициализации рецептов, но после датапаков и тегов. + */ +LootJS.modifiers((event) => { + registerGregTechLoots(event) +}) + + +/** + * Событие регистрации рудных жил GregTech. */ GTCEuServerEvents.oreVeins(event => { - registerGTMOreVeins(event) + registerGregTechOreVeins(event) }) /** - * Событие регистрации жидкостных жил GTM. + * Событие регистрации жидкостных жил GregTech. */ GTCEuServerEvents.fluidVeins(event => { - registerGTMFluidVeins(event) + registerGregTechFluidVeins(event) }) \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index cac547eda..fea14d1de 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -43,11 +43,20 @@ const registerTFCMetals = (event) => { event.metal('gtceu:nickel', 1453, 0.00625, '#forge:ingots/nickel', '#forge:double_ingots/nickel', '#forge:plates/nickel', 1, 'tfc:nickel') event.metal('gtceu:brass', 930, 0.00857, '#forge:ingots/brass', '#forge:double_ingots/brass', '#forge:plates/brass', 2, 'tfc:brass') - event.metal('gtceu:redstone', 460, 0.01729, null, null, null, 1, 'tfg:redstone') + event.metal('gtceu:redstone', 460, 0.01729, null, null, '#forge:plates/redstone', 1, 'tfg:redstone') 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') } +/** + * event.itemHeat( + ingredient: Ingredient, + heatCapacity: number, + forgingTemperature: @Nullable number, + weldingTemperature: @Nullable number, + name?: string + ) + */ const registerTFCHeats = (event) => { function makeItemHeatByTagPrefix(tagPrefix, material, tfcProperty, heatCapacity) { diff --git a/kubejs/server_scripts/treetap/data.js b/kubejs/server_scripts/treetap/data.js index ccaafbb3f..ce68b2d0c 100644 --- a/kubejs/server_scripts/treetap/data.js +++ b/kubejs/server_scripts/treetap/data.js @@ -4,15 +4,6 @@ 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/water_flasks/data.js b/kubejs/server_scripts/water_flasks/data.js index ae8860cb9..0168ed24f 100644 --- a/kubejs/server_scripts/water_flasks/data.js +++ b/kubejs/server_scripts/water_flasks/data.js @@ -4,15 +4,6 @@ const registerTFCDataForWaterFlasks = (event) => { registerWaterFlasksHeats(event) } -/** - * event.itemHeat( - ingredient: Ingredient, - heatCapacity: number, - forgingTemperature: @Nullable number, - weldingTemperature: @Nullable number, - name?: string - ) - */ const registerWaterFlasksHeats = (event) => { event.itemHeat('waterflasks:unfinished_iron_flask', 0.2345, null, null) event.itemHeat('waterflasks:broken_iron_flask', 0.2345, null, null) From d6ff45d50e5ce71f57c14117452ea2186c4c7c3e Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 14:01:04 +0700 Subject: [PATCH 030/266] refactor tfc + firmalife tags --- CHANGELOG.md | 6 + kubejs/assets/emi/index/stacks/items.json | 7 +- .../assets/emi/recipe/filters/categories.json | 52 +- kubejs/jsconfig.json | 16 + kubejs/server_scripts/ae2/tags.js | 2 + kubejs/server_scripts/chisel_and_bits/tags.js | 4 +- kubejs/server_scripts/firmalife/tags.js | 47 +- kubejs/server_scripts/gregtech/recipes.js | 696 +++++++++++++++++- kubejs/server_scripts/main_server_script.js | 15 +- kubejs/server_scripts/tfc/recipes.js | 56 ++ kubejs/server_scripts/tfc/tags.js | 24 +- kubejs/startup_scripts/firmalife/constants.js | 14 +- 12 files changed, 850 insertions(+), 89 deletions(-) create mode 100644 kubejs/jsconfig.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a382615d..31b330bc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,12 @@ - Unlocked steel steam machines (again, yes). - Added translation for ru_ru inside TFG-Core. - Fixed alternator multiblock (now works fine). +- Return raw ore blocks from GregTech. +- True way to remove TFC ores from EMI. +- True way to remove Firmelife ores from EMI. +- True way to hide AE2 facades. +- True way to hide chisel and bits bits, yes. +- Fix double removing honey liquid from EMI. - ... ### Updated mods - ?? diff --git a/kubejs/assets/emi/index/stacks/items.json b/kubejs/assets/emi/index/stacks/items.json index c9288b43b..d6b8b397a 100644 --- a/kubejs/assets/emi/index/stacks/items.json +++ b/kubejs/assets/emi/index/stacks/items.json @@ -1,8 +1,3 @@ { - "filters": [ - "/tfc:ore/[^*]+/[^*]+/", - "/firmalife:ore/[^*]+/[^*]+/", - "ae2:facade", - "chiselandbits:block_bit" - ] + "filters": [] } \ No newline at end of file diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 2aa0f16a3..9e54ab81b 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -1,55 +1,5 @@ { "filters": [ - { - "category": "minecraft:campfire_cooking" - }, - { - "category": "minecraft:brewing" - }, - { - "category": "minecraft:stonecutting" - }, - { - "category": "emi:anvil_repairing" - }, - { - "category": "emi:world_interaction" - }, - { - "category": "gtceu:primitive_blast_furnace" - }, - { - "category": "create:mystery_conversion" - }, - { - "category": "jumbofurnace:jumbo_furnace_upgrade" - }, - { - "category": "jumbofurnace:jumbo_smelting" - }, - { - "category": "emi:composting" - }, - { - "category": "emi:fuel" - }, - { - "id": "/emi:/crafting/repairing/[^*]+/" - }, - { - "id": "/emi:/grindstone/repairing/minecraft/[^*]+/" - }, - { - "id": "/emi:/crafting/shulker_box_dying/minecraft/[^*]+/" - }, - { - "id": "/create:create.toolbox.color.block.create.[^*]+/" - }, - { - "id": "/sophisticatedbackpacks:single_color_[^*]+/" - }, - { - "id": "sophisticatedbackpacks:multiple_colors" - } + ] } \ No newline at end of file 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/ae2/tags.js b/kubejs/server_scripts/ae2/tags.js index 719cf7567..842adba74 100644 --- a/kubejs/server_scripts/ae2/tags.js +++ b/kubejs/server_scripts/ae2/tags.js @@ -2,6 +2,8 @@ const registerAE2ItemTags = (event) => { + event.add('c:hidden_from_recipe_viewers', "ae2:facade") + global.AE2_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) diff --git a/kubejs/server_scripts/chisel_and_bits/tags.js b/kubejs/server_scripts/chisel_and_bits/tags.js index 648608b25..86552e617 100644 --- a/kubejs/server_scripts/chisel_and_bits/tags.js +++ b/kubejs/server_scripts/chisel_and_bits/tags.js @@ -3,13 +3,13 @@ const registerChiselAndBitsItemTags = (event) => { if (Platform.isLoaded('chiselsandbits')) { + event.add('c:hidden_from_recipe_viewers', "chiselandbits:block_bit") + global.CHISEL_AND_BITS_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) }) } - - } const registerChiselAndBitsBlockTags = (event) => { diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index c2098d5fc..c12c73a0a 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -2,49 +2,66 @@ const registerFirmaLifeItemTags = (event) => { - // Удаление тегов у отключенных предметов + //#region Удаление тегов и скрытие руд + const ALL_FIRMALIFE_ORES = Ingredient.of(/firmalife:ore\/[^*]+\/[^*]+/).itemIds + + ALL_FIRMALIFE_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) + }) + //#endregion + + //#region Удаление тегов и скрытие предметов global.FIRMALIFE_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) }) + //#endregion - // Просто предметы для скрытия + //#region Скрытие предметов global.FIRMALIFE_HIDED_ITEMS.forEach(item => { event.add('c:hidden_from_recipe_viewers', item) }) - - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + //#endregion } const registerFirmaLifeBlockTags = (event) => { - // Удаление тегов у отключенных предметов + //#region Удаление тегов и скрытие руд + const ALL_FIRMALIFE_ORES = Ingredient.of(/firmalife:ore\/[^*]+\/[^*]+/).itemIds + + ALL_FIRMALIFE_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) + }) + //#endregion + + //#region Удаление тегов и скрытие предметов global.FIRMALIFE_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) }) - - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + //#endregion // Для того, чтобы стенками greenhouse могли быть фреймы грега (для передачи воды) - event.add('tfc:always_valid_greenhouse_wall', '#forge:frames') + event.add('firmalife:always_valid_greenhouse_wall', '#forge:frames') } const registerFirmaLifeFluidTags = (event) => { - // Добавляем тег для скрытия в EMI + //#region Скрытие магического хрома event.add('c:hidden_from_recipe_viewers', 'firmalife:metal/chromium') + //#endregion } const registerFirmaLifePlacedFeatures = (event) => { + + //#region Удаление из генерации жил const ALL_DISABLED_FIRMALIFE_VEINS = [ 'firmalife:vein/normal_chromite', 'firmalife:vein/deep_chromite' ] - // Удаление - ALL_DISABLED_FIRMALIFE_VEINS.forEach(vein => { - event.remove('tfc:in_biome/veins', vein) - }) + ALL_DISABLED_FIRMALIFE_VEINS.forEach(vein => event.remove('tfc:in_biome/veins', vein)) + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 52f2c93c1..865da32c4 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1,6 +1,10 @@ // priority: 0 const registerGregTechRecipes = (event) => { + +} + +const registerGregTechRecipes1 = (event) => { //#region Выход: Удобрение // В обычном миксере @@ -1492,4 +1496,694 @@ const registerGregTechRecipes = (event) => { // * Отключение генерации рецептов: 2 стержня + молот = длинный стержень (верстак). // * */ // @Redirect(method = "processLongStick", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 3), remap = false) -// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer provider, String regName, ItemStack result, Object[] recipe) {} \ No newline at end of file +// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer provider, String regName, ItemStack result, Object[] recipe) {} + +//public static void init(Consumer provider) { + // registerTFCRockDecompositionRecipes(provider); + // registerExtruderMoldRecipes(provider); + // registerCastingMoldRecipes(provider); + // registerExtruderMoldCopyingRecipes(provider); + // registerCastingMoldCopyingRecipes(provider); + // registerProcessingToolHeadsRecipes(provider); + // registerTagPrefixHandlerRecipes(provider); + // } + + // private static void registerTFCRockDecompositionRecipes(Consumer provider) { + // // Gabbro + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("gabbro_dust_separation")) + // .EUt(VA[MV]).duration(480) + // .inputItems(dust, Gabbro) + // .chancedOutput(dustTiny, Titanium, 6700, 700) + // .chancedOutput(dustTiny, Iron, 3700, 700) + // .chancedOutput(dustTiny, MetalMixture, 1700, 700) + // .save(provider); + // + // // Shale + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("shale_dust_separation")) + // .EUt(VA[MV]).duration(480) + // .inputItems(dust, Shale) + // .chancedOutput(dustTiny, Sodium, 7500, 500) + // .chancedOutput(dustTiny, MetalMixture, 1500, 500) + // .outputFluids(Oxygen.getFluid(16)) + // .save(provider); + // + // // Claystone + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("claystone_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Claystone) + // .chancedOutput(dustTiny, Aluminium, 6700, 700) + // .chancedOutput(dustTiny, Silicon, 6700, 700) + // .chancedOutput(dustTiny, Hematite, 6700, 700) + // .outputFluids(Oxygen.getFluid(5)) + // .save(provider); + // + // // Limestone + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("limestone_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Limestone) + // .chancedOutput(dustTiny, Calcium, 8700, 700) + // .chancedOutput(dustTiny, MetalMixture, 1700, 700) + // .outputFluids(Oxygen.getFluid(36)) + // .save(provider); + // + // // Conglomerate + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("conglomerate_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Conglomerate) + // .chancedOutput(dustTiny, Hematite, 6700, 700) + // .chancedOutput(dustTiny, Silicon, 4700, 700) + // .chancedOutput(dustTiny, TricalciumPhosphate, 3700, 700) + // .outputFluids(Oxygen.getFluid(5)) + // .save(provider); + // + // // Dolomite + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("dolomite_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Dolomite) + // .chancedOutput(dustTiny, Magnesium, 6700, 700) + // .chancedOutput(dustTiny, Calcium, 5700, 700) + // .chancedOutput(dustTiny, MetalMixture, 3700, 700) + // .outputFluids(Oxygen.getFluid(16)) + // .save(provider); + // + // // Chert + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("chert_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Chert) + // .chancedOutput(dustTiny, Silicon, 6700, 700) + // .chancedOutput(dustTiny, MetalMixture, 5700, 700) + // .outputFluids(Oxygen.getFluid(24)) + // .save(provider); + // + // // Chalk + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("chalk_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Chalk) + // .chancedOutput(dustTiny, Calcium, 6700, 700) + // .chancedOutput(dustTiny, Carbon, 3700, 700) + // .chancedOutput(dustTiny, MetalMixture, 1700, 700) + // .outputFluids(Oxygen.getFluid(12)) + // .save(provider); + // + // // Rhyolite + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("rhyolite_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Rhyolite) + // .chancedOutput(dustTiny, SiliconDioxide, 8700, 700) + // .chancedOutput(dustTiny, MetalMixture, 800, 700) + // .save(provider); + // + // // Dacite + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("dacite_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Dacite) + // .chancedOutput(dustTiny, Sodium, 6700, 700) + // .chancedOutput(dustTiny, Calcium, 5700, 700) + // .chancedOutput(dustTiny, SiliconDioxide, 4700, 700) + // .chancedOutput(dustTiny, Aluminium, 3700, 700) + // .chancedOutput(dustTiny, MetalMixture, 150, 700) + // .outputFluids(Oxygen.getFluid(12)) + // .save(provider); + // + // // Slate + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("slate_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Slate) + // .chancedOutput(dustTiny, MetalMixture, 780, 480) + // .outputFluids(Oxygen.getFluid(6)) + // .save(provider); + // + // // Phyllite + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("phyllite_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Phyllite) + // .chancedOutput(dustTiny, Quartzite, 5700, 700) + // .chancedOutput(dustTiny, CalciumChloride, 1700, 700) + // .outputFluids(Oxygen.getFluid(2)) + // .save(provider); + // + // // Schist + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("schist_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Schist) + // .chancedOutput(dustTiny, Mica, 6700, 700) + // .chancedOutput(dustTiny, Talc, 5700, 700) + // .chancedOutput(dustTiny, Graphite, 4700, 700) + // .chancedOutput(dustTiny, MetalMixture, 780, 700) + // .outputFluids(Oxygen.getFluid(12)) + // .save(provider); + // + // // Gneiss + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("gneiss_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Gneiss) + // .chancedOutput(dustTiny, Quartzite, 6700, 700) + // .chancedOutput(dustTiny, Biotite, 3700, 700) + // .outputFluids(Oxygen.getFluid(2)) + // .save(provider); + // } + + // private static void registerExtruderMoldRecipes(Consumer provider) { + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_mining_hammer_head"), + // SHAPE_EXTRUDER_MINING_HAMMER_HEAD.asStack(), + // "Sfh", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_sword_head"), + // SHAPE_EXTRUDER_SWORD_HEAD.asStack(), + // "Shf", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_pickaxe_head"), + // SHAPE_EXTRUDER_PICKAXE_HEAD.asStack(), + // "S ", "hf ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_axe_head"), + // SHAPE_EXTRUDER_AXE_HEAD.asStack(), + // "S ", " fh", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_hoe_head"), + // SHAPE_EXTRUDER_HOE_HEAD.asStack(), + // "S ", " hf", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_scythe_head"), + // SHAPE_EXTRUDER_SCYTHE_HEAD.asStack(), + // "S ", " ", "fh ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_file_head"), + // SHAPE_EXTRUDER_FILE_HEAD.asStack(), + // "S ", " ", "hf ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_hammer_head"), + // SHAPE_EXTRUDER_HAMMER_HEAD.asStack(), + // "Sf ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_saw_head"), + // SHAPE_EXTRUDER_SAW_HEAD.asStack(), + // "Sh ", " f ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_knife_head"), + // SHAPE_EXTRUDER_KNIFE_HEAD.asStack(), + // "S f", " ", " h", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_butchery_head_head"), + // SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD.asStack(), + // "S h", " ", " f", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_shovel_head"), + // SHAPE_EXTRUDER_SHOVEL_HEAD.asStack(), + // "S ", "f ", "h ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_spade_head"), + // SHAPE_EXTRUDER_SPADE_HEAD.asStack(), + // "S ", "f ", " h", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_propick_head"), + // SHAPE_EXTRUDER_PROPICK_HEAD.asStack(), + // "Sxf", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_javelin_head"), + // SHAPE_EXTRUDER_JAVELIN_HEAD.asStack(), + // "S x", "f ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_chisel_head"), + // SHAPE_EXTRUDER_CHISEL_HEAD.asStack(), + // "S ", "xf ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_mace_head"), + // SHAPE_EXTRUDER_MACE_HEAD.asStack(), + // "S ", " xf", " ", 'S', SHAPE_EMPTY.asStack()); + // } + + // private static void registerCastingMoldRecipes(Consumer provider) { + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_unfinished_lamp"), + // SHAPE_MOLD_UNFINISHED_LAMP.asStack(), + // "Sh ", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_trapdoor"), + // SHAPE_MOLD_TRAPDOOR.asStack(), + // "S h", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_chain"), + // SHAPE_MOLD_CHAIN.asStack(), + // "S ", "h ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_bell"), + // SHAPE_MOLD_BELL.asStack(), + // "S ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); + // } + + // private static void registerExtruderMoldCopyingRecipes(Consumer provider) { + // for (var shapeMold : TFGItems.SHAPE_EXTRUDERS) { + // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get())) + // .duration(120).EUt(22) + // .notConsumable(shapeMold) + // .inputItems(SHAPE_EMPTY) + // .outputItems(shapeMold) + // .save(provider); + // } + // } + + // private static void registerCastingMoldCopyingRecipes(Consumer provider) { + // for (var shapeMold : TFGItems.SHAPE_MOLDS) { + // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get() + "_casting_mold")) + // .duration(120).EUt(22) + // .notConsumable(shapeMold) + // .inputItems(SHAPE_EMPTY) + // .outputItems(shapeMold) + // .save(provider); + // } + // } + + // private static void registerProcessingToolHeadsRecipes(Consumer consumer) { + // for (var material : GTCEuAPI.materialManager.getRegisteredMaterials()) { + // if (material.hasProperty(PropertyKey.TOOL)) { + // + // int counter = 0; + // + // processToolHead(toolHeadAxe, material, SHAPE_EXTRUDER_AXE_HEAD, counter++, consumer); + // processToolHead(toolHeadHoe, material, SHAPE_EXTRUDER_HOE_HEAD, counter++, consumer); + // processToolHead(toolHeadShovel, material, SHAPE_EXTRUDER_SHOVEL_HEAD, counter++, consumer); + // processToolHead(toolHeadKnife, material, SHAPE_EXTRUDER_KNIFE_HEAD, counter++, consumer); + // processToolHead(toolHeadMiningHammer, material, SHAPE_EXTRUDER_MINING_HAMMER_HEAD, counter++, consumer); + // processToolHead(toolHeadSword, material, SHAPE_EXTRUDER_SWORD_HEAD, counter++, consumer); + // processToolHead(toolHeadPickaxe, material, SHAPE_EXTRUDER_PICKAXE_HEAD, counter++, consumer); + // processToolHead(toolHeadScythe, material, SHAPE_EXTRUDER_SCYTHE_HEAD, counter++, consumer); + // processToolHead(toolHeadFile, material, SHAPE_EXTRUDER_FILE_HEAD, counter++, consumer); + // processToolHead(toolHeadHammer, material, SHAPE_EXTRUDER_HAMMER_HEAD, counter++, consumer); + // processToolHead(toolHeadSaw, material, SHAPE_EXTRUDER_SAW_HEAD, counter++, consumer); + // processToolHead(toolHeadButcheryKnife, material, SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD, counter++, consumer); + // processToolHead(toolHeadSpade, material, SHAPE_EXTRUDER_SPADE_HEAD, counter++, consumer); + // processToolHead(toolHeadPropick, material, SHAPE_EXTRUDER_PROPICK_HEAD, counter++, consumer); + // processToolHead(toolHeadJavelin, material, SHAPE_EXTRUDER_JAVELIN_HEAD, counter++, consumer); + // processToolHead(toolHeadChisel, material, SHAPE_EXTRUDER_CHISEL_HEAD, counter++, consumer); + // processToolHead(toolHeadMace, material, SHAPE_EXTRUDER_MACE_HEAD, counter, consumer); + // } + // } + // } + + // private static void registerTagPrefixHandlerRecipes(Consumer provider) { + // ingotDouble.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::processDoubleIngot); + // plate.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::processPlate); + // + // anvil.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessAnvil); + // lamp.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessLamp); + // lampUnfinished.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessUnfinishedLamp); + // trapdoor.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessTrapdoor); + // chain.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessChain); + // bell.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessBell); + // } + + // private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var ingotStack = ChemicalHelper.get(ingot, material); + // var doubleIngotStack = ChemicalHelper.get(prefix, material); + // + // BENDER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_double_ingot")) + // .EUt(VA[ULV]).duration((int) material.getMass()) + // .inputItems(ingotStack.copyWithCount(2)) + // .circuitMeta(6) + // .outputItems(doubleIngotStack) + // .save(provider); + // + // EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) + // .EUt(VA[ULV]).duration((int) material.getMass()) + // .inputItems(doubleIngotStack) + // .outputFluids(material.getFluid(288)) + // .save(provider); + // + // MACERATOR_RECIPES.recipeBuilder(TFGCore.id("macerate_" + material.getName() + "_double_ingot")) + // .EUt(VA[ULV]).duration((int) material.getMass()) + // .inputItems(doubleIngotStack) + // .outputItems(dust, material, 2) + // .save(provider); + // } + + // private static void processPlate(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var plateStack = ChemicalHelper.get(prefix, material); + // var doubleIngotStack = ChemicalHelper.get(ingotDouble, material); + // + // if (material.hasFlag(TFGMaterialFlags.GENERATE_DOUBLE_INGOTS)) { + // FORGE_HAMMER_RECIPES.recipeBuilder(TFGCore.id("hammer_" + material.getName() + "_plate")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 4) + // .inputItems(doubleIngotStack) + // .outputItems(plateStack) + // .save(provider); + // } + // } + + // private static void proccessAnvil(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var anvil = ChemicalHelper.get(prefix, material); + // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); + // + // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_anvil_from_ingots")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 6) + // .inputItems(ingot, outputMaterial, 14) + // .notConsumable(GTItems.SHAPE_MOLD_ANVIL) + // .outputItems(anvil) + // .save(provider); + // + // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_anvil_from_fluid")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 6) + // .inputFluids(outputMaterial.getFluid(2016)) + // .notConsumable(GTItems.SHAPE_MOLD_ANVIL) + // .outputItems(anvil) + // .save(provider); + // } + + // private static void proccessLamp(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var finishedLamp = ChemicalHelper.get(prefix, material); + // var unfinishedLamp = ChemicalHelper.get(lampUnfinished, material); + // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); + // + // ASSEMBLER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_lamp")) + // .EUt(VA[ULV]).duration((int) outputMaterial.getMass() * 7) + // .inputItems(new ItemStack(TFCItems.LAMP_GLASS.get()), unfinishedLamp) + // .circuitMeta(12) + // .outputItems(finishedLamp) + // .save(provider); + // + // ASSEMBLER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_lamp_from_liquid")) + // .EUt(VA[ULV]).duration((int) outputMaterial.getMass() * 7) + // .inputItems(unfinishedLamp) + // .inputFluids(Glass.getFluid(576)) + // .circuitMeta(13) + // .outputItems(finishedLamp) + // .save(provider); + // } + + // private static void proccessUnfinishedLamp(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var unfinishedLamp = ChemicalHelper.get(prefix, material); + // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); + // + // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_unfinished_lamp_from_ingots")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 7) + // .inputItems(ingot, outputMaterial) + // .notConsumable(SHAPE_MOLD_UNFINISHED_LAMP) + // .outputItems(unfinishedLamp) + // .save(provider); + // + // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_unfinished_lamp_from_fluid")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 7) + // .inputFluids(outputMaterial.getFluid(144)) + // .notConsumable(SHAPE_MOLD_UNFINISHED_LAMP) + // .outputItems(unfinishedLamp) + // .save(provider); + // } + + // private static void proccessTrapdoor(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var trapdoor = ChemicalHelper.get(prefix, material); + // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); + // + // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_trapdoor_from_ingots")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 6) + // .inputItems(ingot, outputMaterial) + // .notConsumable(SHAPE_MOLD_TRAPDOOR) + // .outputItems(trapdoor) + // .save(provider); + // + // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_trapdoor_from_fluid")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 6) + // .inputFluids(outputMaterial.getFluid(144)) + // .notConsumable(SHAPE_MOLD_TRAPDOOR) + // .outputItems(trapdoor) + // .save(provider); + // } + + // private static void proccessChain(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var chain = ChemicalHelper.get(prefix, material); + // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); + // + // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_chain_from_ingots")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 2) + // .inputItems(ingot, outputMaterial) + // .notConsumable(SHAPE_MOLD_CHAIN) + // .outputItems(chain.copyWithCount(9)) + // .save(provider); + // + // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_chain_from_fluid")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 2) + // .inputFluids(outputMaterial.getFluid(144)) + // .notConsumable(SHAPE_MOLD_CHAIN) + // .outputItems(chain.copyWithCount(9)) + // .save(provider); + // } + + // private static void proccessBell(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var bell = ChemicalHelper.get(prefix, material); + // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); + // + // + // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_bell_from_ingots")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 4) + // .inputItems(ingot, outputMaterial) + // .notConsumable(SHAPE_MOLD_BELL) + // .outputItems(bell) + // .save(provider); + // + // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_bell_from_fluid")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 4) + // .inputFluids(outputMaterial.getFluid(144)) + // .notConsumable(SHAPE_MOLD_BELL) + // .outputItems(bell) + // .save(provider); + // } + + // private static void processToolHead(TagPrefix prefix, Material material, ItemEntry extruderShape, int circuitValue, Consumer consumer) { + // var output = ChemicalHelper.get(prefix, material); + // if (output.isEmpty()) return; + // + // if (material.hasProperty(PropertyKey.INGOT)) { + // EXTRUDER_RECIPES.recipeBuilder(TFGCore.id("extrude_" + material.getName() + "_ingot_to_" + prefix.name().toLowerCase() + "_head")) + // .duration(12).EUt(32) + // .notConsumable(extruderShape) + // .inputItems(ingot, material, (int) (prefix.materialAmount() / GTValues.M)) + // .outputItems(output) + // .save(consumer); + // } else if (material.hasProperty(PropertyKey.GEM)) { + // LASER_ENGRAVER_RECIPES.recipeBuilder(TFGCore.id("engrave_" + material.getName() + "_gem_to_" + prefix.name().toLowerCase() + "_head")) + // .duration(12).EUt(32) + // .circuitMeta(circuitValue) + // .notConsumable(ChemicalHelper.get(TagPrefix.lens, Glass)) + // .inputItems(gem, material, (int) (prefix.materialAmount() / GTValues.M)) + // .outputItems(output) + // .save(consumer); + // } + // } + + + /** + * Замена ванильного камня в рецепте ступки на тфк камень. + */ +// @Redirect(method = "registerMortarRecipes", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V"), remap = false) +// private static void tfg$registerMortarRecipes$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// addToolRecipe(provider, material, GTToolType.MORTAR, false, +// " I ", "SIS", "SSS", +// 'I', new UnificationEntry(material.hasProperty(PropertyKey.GEM) ? TagPrefix.gem : TagPrefix.ingot, material), +// 'S', TFGTags.Items.RawRockBlocks); +// } + + /** + * Отключение рецептов MiningHammer, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 0), remap = false) +// private static void tfg$processMiningHammer$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer); +// else +// new TFGAdvancedShapedToolRecipeBuilder("mining_hammer_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadMiningHammer, material)) +// .output(ToolHelper.get(GTToolType.MINING_HAMMER, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Spade, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 1), remap = false) +// private static void processSpade$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.SPADE, TFGTagPrefix.toolHeadSpade); +// else +// new TFGAdvancedShapedToolRecipeBuilder("spade_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material)) +// .output(ToolHelper.get(GTToolType.SPADE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Saw, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 2), remap = false) +// private static void tfg$processSaw$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.SAW, TFGTagPrefix.toolHeadSaw); +// else +// new TFGAdvancedShapedToolRecipeBuilder("saw_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSaw, material)) +// .output(ToolHelper.get(GTToolType.SAW, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Axe, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 3), remap = false) +// private static void tfg$processAxe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.AXE, TFGTagPrefix.toolHeadAxe); +// else +// new TFGAdvancedShapedToolRecipeBuilder("axe_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadAxe, material)) +// .output(ToolHelper.get(GTToolType.AXE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Hoe, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 4), remap = false) +// private static void tfg$processHoe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.HOE, TFGTagPrefix.toolHeadHoe); +// else +// new TFGAdvancedShapedToolRecipeBuilder("hoe_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadHoe, material)) +// .output(ToolHelper.get(GTToolType.HOE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Pickaxe, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 5), remap = false) +// private static void tfg$processPickaxe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe); +// else +// new TFGAdvancedShapedToolRecipeBuilder("pickaxe_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadPickaxe, material)) +// .output(ToolHelper.get(GTToolType.PICKAXE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Scythe, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 6), remap = false) +// private static void tfg$processScythe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe); +// else +// new TFGAdvancedShapedToolRecipeBuilder("scythe_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadScythe, material)) +// .output(ToolHelper.get(GTToolType.SCYTHE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Shovel, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 7), remap = false) +// private static void tfg$processShovel$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel); +// else +// new TFGAdvancedShapedToolRecipeBuilder("shovel_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadShovel, material)) +// .output(ToolHelper.get(GTToolType.SHOVEL, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Sword, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 8), remap = false) +// private static void tfg$processSword$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.SWORD, TFGTagPrefix.toolHeadSword); +// else +// new TFGAdvancedShapedToolRecipeBuilder("sword_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material)) +// .output(ToolHelper.get(GTToolType.SWORD, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Hammer, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 9), remap = false) +// private static void tfg$processHardHammer$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer); +// else +// new TFGAdvancedShapedToolRecipeBuilder("hammer_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadHammer, material)) +// .output(ToolHelper.get(GTToolType.HARD_HAMMER, material)) +// .save(provider); +// } + + /** + * Отключение рецептов File, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 10), remap = false) +// private static void tfg$processFile$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.FILE, TFGTagPrefix.toolHeadFile); +// else +// new TFGAdvancedShapedToolRecipeBuilder("file_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadFile, material)) +// .output(ToolHelper.get(GTToolType.FILE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Knife, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 11), remap = false) +// private static void tfg$processKnife$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife); +// else +// new TFGAdvancedShapedToolRecipeBuilder("knife_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material)) +// .output(ToolHelper.get(GTToolType.KNIFE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов ButcheryKnife, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 13), remap = false) +// private static void tfg$processButcheryKnife$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife); +// else +// new TFGAdvancedShapedToolRecipeBuilder("butchery_knife_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadButcheryKnife, material)) +// .output(ToolHelper.get(GTToolType.BUTCHERY_KNIFE, material)) +// .save(provider); +// } + +// @Unique +// private static void tfg$addToolRecipe(Consumer provider, Material material, GTToolType toolType, TagPrefix tagPrefix) { +// addToolRecipe(provider, material, toolType, false, "H", "S", 'H', new UnificationEntry(tagPrefix, material), 'S', TFGTags.Items.WoodenSticks); +// } \ 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 200c45092..f976ab4d1 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -12,7 +12,7 @@ ServerEvents.tags('item', event => { // registerCreateAdditionsItemTags(event) // registerExtendedAE2ItemTags(event) // registerFirmaCivItemTags(event) - // registerFirmaLifeItemTags(event) + registerFirmaLifeItemTags(event) // registerFramedBlocksItemTags(event) // registerFTBQuestsItemTags(event) // registerGregTechItemTags(event) @@ -22,7 +22,7 @@ ServerEvents.tags('item', event => { // registerHotOrNotItemTags(event) // registerRailWaysItemTags(event) // registerSophisticatedBackpacksItemTags(event) - // registerTFCItemTags(event) + registerTFCItemTags(event) }) /** @@ -37,7 +37,7 @@ ServerEvents.tags('block', event => { // registerCreateAdditionsBlockTags(event) // registerExtendedAE2BlockTags(event) // registerFirmaCivBlockTags(event) - // registerFirmaLifeBlockTags(event) + registerFirmaLifeBlockTags(event) // registerFramedBlocksBlockTags(event) // registerFTBQuestsBlockTags(event) // registerGregTechBlockTags(event) @@ -47,7 +47,7 @@ ServerEvents.tags('block', event => { // registerHotOrNotBlockTags(event) // registerRailWaysBlockTags(event) // registerSophisticatedBackpacksBlockTags(event) - // registerTFCBlockTags(event) + registerTFCBlockTags(event) }) /** @@ -56,7 +56,7 @@ ServerEvents.tags('block', event => { ServerEvents.tags('fluid', event => { // registerCreateFluidTags(event) // registerCreateAdditionsFluidTags(event) - // registerFirmaLifeBlockTags(event) + registerFirmaLifeBlockTags(event) // registerTFCFluidTags(event) }) @@ -116,7 +116,7 @@ ServerEvents.recipes(event => { // registerFirmaLifeRecipes(event) // registerFramedBlocksRecipes(event) // registerFTBQuestsRecipes(event) - // registerGregTechRecipes(event) + registerGregTechRecipes(event) // registerHandGliderRecipes(event) // registerHotOrNotRecipes(event) // registerMegaCellsRecipes(event) @@ -126,7 +126,7 @@ ServerEvents.recipes(event => { // registerRailWaysRecipes(event) // registerSophisticatedBackpacksRecipes(event) // registerTfceaRecipes(event) - // registerTFCRecipes(event) + registerTFCRecipes(event) // registerTFCGroomingStationRecipes(event) // registerToolBeltRecipes(event) // registerTreeTapRecipes(event) @@ -141,7 +141,6 @@ LootJS.modifiers((event) => { registerGregTechLoots(event) }) - /** * Событие регистрации рудных жил GregTech. */ diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index af4127197..c3bb07967 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -1,6 +1,10 @@ // priority: 0 const registerTFCRecipes = (event) => { + +} + +const registerTFCRecipes1 = (event) => { //return; TODO тут баг //#region Металлы @@ -3310,3 +3314,55 @@ const registerTFCRecipes = (event) => { //#endregion } + +// { +// "category": "minecraft:campfire_cooking" +// }, +// { +// "category": "minecraft:brewing" +// }, +// { +// "category": "minecraft:stonecutting" +// }, +// { +// "category": "emi:anvil_repairing" +// }, +// { +// "category": "emi:world_interaction" +// }, +// { +// "category": "gtceu:primitive_blast_furnace" +// }, +// { +// "category": "create:mystery_conversion" +// }, +// { +// "category": "jumbofurnace:jumbo_furnace_upgrade" +// }, +// { +// "category": "jumbofurnace:jumbo_smelting" +// }, +// { +// "category": "emi:composting" +// }, +// { +// "category": "emi:fuel" +// }, +// { +// "id": "/emi:/crafting/repairing/[^*]+/" +// }, +// { +// "id": "/emi:/grindstone/repairing/minecraft/[^*]+/" +// }, +// { +// "id": "/emi:/crafting/shulker_box_dying/minecraft/[^*]+/" +// }, +// { +// "id": "/create:create.toolbox.color.block.create.[^*]+/" +// }, +// { +// "id": "/sophisticatedbackpacks:single_color_[^*]+/" +// }, +// { +// "id": "sophisticatedbackpacks:multiple_colors" +// } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index bec616794..3fbba9a36 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,6 +1,28 @@ // priority: 0 const registerTFCItemTags = (event) => { + //#region Удаление тегов и скрытие руд TFC + const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds + + ALL_TFC_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) + }) + //#endregion +} + +const registerTFCBlockTags = (event) => { + //#region Удаление тегов и скрытие руд TFC + const allTFCOres = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds + + allTFCOres.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) + }) + //#endregion +} + +const registerTFCItemTags1 = (event) => { // Теги для соответствия инструментов TFC и GT GTMaterialRegistry.getRegisteredMaterials().forEach(material => { @@ -198,7 +220,7 @@ const registerTFCItemTags = (event) => { event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") } -const registerTFCBlockTags = (event) => { +const registerTFCBlockTags1 = (event) => { // Теги для каменных ступенек тфк global.TFC_STONE_TYPES.forEach(stoneTypeName => { global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach(slabType => { diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index 27b131cf2..b4e032881 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -2,7 +2,7 @@ /** * Список хранит предметы, - * у которых должны быть удалены тэги и они должны быть скрыты в REI. + * у которых должны быть удалены тэги и они должны быть скрыты в EMI. */ global.FIRMALIFE_DISABLED_ITEMS = [ @@ -37,6 +37,10 @@ global.FIRMALIFE_DISABLED_ITEMS = [ 'firmalife:pumping_station' ]; +/** + * Список хранит предметы, + * у которых должны быть скрыты в EMI. + */ global.FIRMALIFE_HIDED_ITEMS = [ 'firmalife:weathered_copper_greenhouse_wall', 'firmalife:weathered_copper_greenhouse_panel_wall', @@ -93,10 +97,10 @@ global.FIRMALIFE_HIDED_ITEMS = [ 'firmalife:weathered_treated_wood_greenhouse_port' ]; - -global.FIRMALIFE_ORE_MATERIALS = [ - 'chromite' -]; +//todo: to remove +// global.FIRMALIFE_ORE_MATERIALS = [ +// 'chromite' +// ]; global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ { input: 'firmalife:plant/cocoa_sapling', fluid_amount: 8000, output: '3x firmalife:food/cocoa_beans', name: 'cocoa_beans' }, From c532e1182b751f124cca2555bd8eb0c4294e9974 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 15:13:28 +0700 Subject: [PATCH 031/266] =?UTF-8?q?=D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=BE?= =?UTF-8?q?=D0=B9=20=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE=D1=80=D0=B8?= =?UTF-8?q?=D0=BD=D0=B3=20=D0=BF=D1=80=D0=BE=D0=B4=D0=BE=D0=BB=D0=B6=D0=B0?= =?UTF-8?q?=D0=B5=D1=82=D1=81=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kubejs/server_scripts/ae2/tags.js | 14 +- kubejs/server_scripts/gregtech/constants.js | 14 +- kubejs/server_scripts/gregtech/recipes.js | 4 +- kubejs/server_scripts/gregtech/tags.js | 107 +++++-- kubejs/server_scripts/main_server_script.js | 8 +- kubejs/server_scripts/tfc/tags.js | 330 ++++++++++++-------- 6 files changed, 305 insertions(+), 172 deletions(-) diff --git a/kubejs/server_scripts/ae2/tags.js b/kubejs/server_scripts/ae2/tags.js index 842adba74..41d9c7c0e 100644 --- a/kubejs/server_scripts/ae2/tags.js +++ b/kubejs/server_scripts/ae2/tags.js @@ -4,15 +4,15 @@ const registerAE2ItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', "ae2:facade") - global.AE2_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }) + // global.AE2_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // event.add('c:hidden_from_recipe_viewers', item) + // }) } const registerAE2BlockTags = (event) => { - global.AE2_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - }) + // global.AE2_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // }) } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/constants.js b/kubejs/server_scripts/gregtech/constants.js index 6c3465ca2..0038a033c 100644 --- a/kubejs/server_scripts/gregtech/constants.js +++ b/kubejs/server_scripts/gregtech/constants.js @@ -22,16 +22,4 @@ global.GTCEU_ANVIL_TOOL_TYPES = [ GTToolType.KNIFE, GTToolType.BUTCHERY_KNIFE, // GTToolType.PLUNGER -]; - -global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS = { - "tfc:swords" : GTToolType.SWORD, - "tfc:pickaxes" : GTToolType.PICKAXE, - "tfc:axes" : GTToolType.AXE, - "tfc:shovels" : GTToolType.SHOVEL, - "tfc:hoes" : GTToolType.HOE, - "tfc:hammers" : GTToolType.HARD_HAMMER, - "tfc:knives" : GTToolType.KNIFE, - "tfc:saws" : GTToolType.SAW, - "tfc:scythes" : GTToolType.SCYTHE -}; \ No newline at end of file +]; \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 865da32c4..1161b24e1 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -812,7 +812,7 @@ const registerGregTechRecipes1 = (event) => { B: 'gtceu:zpm_electric_piston', C: '#gtceu:circuits/zpm', D: 'gtceu:zpm_machine_hull', - E: '#tfc:red_or_blue_anvil', + E: '#tfg:tier_6_anvil', }).id('gtceu:shaped/zpm_forge_hammer') event.shaped('gtceu:uv_forge_hammer', [ @@ -824,7 +824,7 @@ const registerGregTechRecipes1 = (event) => { B: 'gtceu:uv_electric_piston', C: '#gtceu:circuits/uv', D: 'gtceu:uv_machine_hull', - E: '#tfc:red_or_blue_anvil', + E: '#tfg:tier_6_anvil', }).id('gtceu:shaped/uv_forge_hammer') //#endregion diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index a0773abd3..19d180766 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -2,20 +2,49 @@ const registerGregTechItemTags = (event) => { - // Удаление тегов у отключенных предметов - global.GTCEU_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) + //#region Базовые теги для инструментов GregTech + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + if (material.hasProperty(PropertyKey.TOOL)) { + + //#region Меч + const swordType = GTToolType.SWORD; + const swordTool = ToolHelper.get(swordType, material) + + if (!swordTool.isEmpty()) event.add('forge:tools/swords', swordTool.getItem().getId()) + //#endregion + + //#region Кирка + const pickaxeType = GTToolType.PICKAXE; + const pickaxeTool = ToolHelper.get(pickaxeType, material) + + if (!pickaxeTool.isEmpty()) event.add('forge:tools/pickaxes', pickaxeTool.getItem().getId()) + //#endregion + + //#region Топор + const axeType = GTToolType.AXE; + const axeTool = ToolHelper.get(axeType, material) + + if (!axeTool.isEmpty()) event.add('forge:tools/axes', axeTool.getItem().getId()) + //#endregion + + //#region Лопата + const shovelType = GTToolType.SHOVEL; + const shovelTool = ToolHelper.get(shovelType, material) + + if (!shovelTool.isEmpty()) event.add('forge:tools/shovels', shovelTool.getItem().getId()) + //#endregion + + //#region Мотыга + const hoeType = GTToolType.HOE; + const hoeTool = ToolHelper.get(hoeType, material) + + if (!hoeTool.isEmpty()) event.add('forge:tools/hoes', hoeTool.getItem().getId()) + //#endregion + } }) - - global.GTCEU_HIDED_ITEMS.forEach(item => { - event.add('c:hidden_from_recipe_viewers', item) - }) - - // Добавление тега EMI для скрытия всех руд - event.add('c:hidden_from_recipe_viewers', '#forge:ores') - - //#region Пыли стоунтайпов в один тэг + //#endregion + + //#region Пыли пород в один тэг event.add('tfg:stone_dusts', 'gtceu:gabbro_dust') event.add('tfg:stone_dusts', 'gtceu:shale_dust') event.add('tfg:stone_dusts', 'gtceu:claystone_dust') @@ -38,14 +67,54 @@ const registerGregTechItemTags = (event) => { event.add('tfg:stone_dusts', 'gtceu:granite_dust') event.add('tfg:stone_dusts', 'gtceu:stone_dust') - //#endregion + + //#region Скрываем все руды (не используем #forge:ores, потому что будет пересечение) + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/red_granite') //todo: может его удалить? + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/marble') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/netherrack') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/blackstone') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/gabbro') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/shale') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/claystone') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/limestone') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/conglomerate') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/dolomite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/chert') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/rhyolite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/dacite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/quartzite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/slate') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/phyllite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/schist') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/gneiss') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/basalt') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/diorite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/andesite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/granite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/chalk') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/moon') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/mars') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/venus') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/mercury') + //#endregion + + // Удаление тегов и скрытие предметов + // 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) + // }) } -const registerGTCEUBlockTags = (event) => { +const registerGregTechBlockTags = (event) => { - // Удаление тегов у отключенных предметов - global.GTCEU_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - }) + // Удаление тегов и скрытие предметов + // global.GTCEU_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // }) } diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index f976ab4d1..ce4d0dacf 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -4,7 +4,7 @@ * Событие регистрации предмет-тэгов. */ ServerEvents.tags('item', event => { - // registerAE2ItemTags(event) + registerAE2ItemTags(event) // registerAsticorCartsItemTags(event) // registerChiselAndBitsItemTags(event) // registerComputerCraftItemTags(event) @@ -15,7 +15,7 @@ ServerEvents.tags('item', event => { registerFirmaLifeItemTags(event) // registerFramedBlocksItemTags(event) // registerFTBQuestsItemTags(event) - // registerGregTechItemTags(event) + registerGregTechItemTags(event) // registerMegaCellsItemTags(event) // registerMinecraftItemTags(event) // registerMoreRedItemTags(event) @@ -40,7 +40,7 @@ ServerEvents.tags('block', event => { registerFirmaLifeBlockTags(event) // registerFramedBlocksBlockTags(event) // registerFTBQuestsBlockTags(event) - // registerGregTechBlockTags(event) + registerGregTechBlockTags(event) // registerMegaCellsBlockTags(event) // registerMinecraftBlockTags(event) // registerMoreRedBlockTags(event) @@ -57,7 +57,7 @@ ServerEvents.tags('fluid', event => { // registerCreateFluidTags(event) // registerCreateAdditionsFluidTags(event) registerFirmaLifeBlockTags(event) - // registerTFCFluidTags(event) + registerTFCFluidTags(event) }) /** diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 3fbba9a36..9d74ed011 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,40 +1,16 @@ // priority: 0 const registerTFCItemTags = (event) => { - //#region Удаление тегов и скрытие руд TFC - const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds - - ALL_TFC_ORES.forEach(element => { - event.removeAllTagsFrom(element) - event.add('c:hidden_from_recipe_viewers', element) - }) - //#endregion -} - -const registerTFCBlockTags = (event) => { - //#region Удаление тегов и скрытие руд TFC - const allTFCOres = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds - - allTFCOres.forEach(element => { - event.removeAllTagsFrom(element) - event.add('c:hidden_from_recipe_viewers', element) - }) - //#endregion -} - -const registerTFCItemTags1 = (event) => { - - // Теги для соответствия инструментов TFC и GT - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - if (material.hasProperty(PropertyKey.TOOL)) { - for (let [key, value] of Object.entries(global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS)) { - var tool = ToolHelper.get(value, material) - if (!tool.isEmpty()) event.add(key, tool.getId()) - - event.add('tfc:usable_on_tool_rack', `#${key}`) - } - } - }) + //#region Возможность вешать инструменты GregTech на ToolRack + event.add('tfc:usable_on_tool_rack', '#forge:tools/swords') + event.add('tfc:usable_on_tool_rack', '#forge:tools/pickaxes') + event.add('tfc:usable_on_tool_rack', '#forge:tools/axes') + event.add('tfc:usable_on_tool_rack', '#forge:tools/shovels') + event.add('tfc:usable_on_tool_rack', '#forge:tools/hoes') + event.add('tfc:usable_on_tool_rack', '#forge:tools/hammers') + event.add('tfc:usable_on_tool_rack', '#forge:tools/knives') + event.add('tfc:usable_on_tool_rack', '#forge:tools/saws') + event.add('tfc:usable_on_tool_rack', '#forge:tools/scythes') event.add('tfc:usable_on_tool_rack', '#forge:tools/mining_hammers') event.add('tfc:usable_on_tool_rack', '#forge:tools/spades') @@ -47,19 +23,34 @@ const registerTFCItemTags1 = (event) => { event.add('tfc:usable_on_tool_rack', '#forge:tools/plungers') event.add('tfc:usable_on_tool_rack', '#forge:tools/mortars') event.add('tfc:usable_on_tool_rack', '#forge:tools/mallets') - event.add('tfc:usable_on_tool_rack', '#forge:tools/chainsaws') event.add('tfc:usable_on_tool_rack', '#forge:tools/buzzsaws') event.add('tfc:usable_on_tool_rack', '#forge:tools/drills') - - // Удаление у всех powders тэга dusts - event.remove('forge:dusts', '#tfc:powders') + //#endregion - // Для складывания + //#region Возможность GT инструментам выполнять те же действия, что и TFC + event.add('tfc:swords', '#forge:tools/swords') + event.add('tfc:pickaxes', '#forge:tools/pickaxes') + event.add('tfc:axes', '#forge:tools/axes') + event.add('tfc:shovels', '#forge:tools/shovels') + event.add('tfc:shovels', '#forge:tools/spades') + event.add('tfc:hoes', '#forge:tools/hoes') + event.add('tfc:hammers', '#forge:tools/hammers') + event.add('tfc:knives', '#forge:tools/knives') + event.add('tfc:saws', '#forge:tools/saws') + event.add('tfc:scythes', '#forge:tools/scythes') + //#endregion + + //#region Трушное удаление dusts у powders + event.remove('forge:dusts', '#tfc:powders') + //#endregion + + //#region Позволяет складывать все слитки и пластины в игре event.add('tfc:pileable_ingots', '#forge:ingots') event.add('tfc:pileable_sheets', '#forge:plates') + //#endregion - // Рыба + //#region Объединяем рыбу в 1 тег event.add('minecraft:fishes', 'tfc:food/calamari') event.add('minecraft:fishes', 'tfc:food/bluegill') event.add('minecraft:fishes', 'tfc:food/crappie') @@ -67,43 +58,49 @@ const registerTFCItemTags1 = (event) => { event.add('minecraft:fishes', 'tfc:food/largemouth_bass') event.add('minecraft:fishes', 'tfc:food/rainbow_trout') event.add('minecraft:fishes', 'tfc:food/smallmouth_bass') + //#endregion - // Чтобы жарились бревна из TFC в пиролиз. печке - // Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия... + //#region Чтобы жарились бревна из TFC в пиролиз. печке (Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия...) global.TFC_WOOD_TYPES.forEach(woodType => { event.add('minecraft:logs_that_burn', `#tfc:${woodType}_logs`) }) + //#endregion - // Определеяет какое оружие может появиться у зомбя/скелета в руках - // Мечи + //#region Позволяет скелетам и зомбям использовать GT оружие + // Мечи 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') + //#endregion - // Тэги для возможности использования разных углей в кузне + //#region Тэги для возможности использования разных углей в кузне event.add('tfc:forge_fuel', 'minecraft:coal') 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') + //#endregion - // Тэги для сундуков, чтобы отличать их виды + //#region Тэги для сундуков, чтобы отличать их виды global.TFC_WOOD_TYPES.forEach(woodType => { event.add('tfg:default_chests', `tfc:wood/chest/${woodType}`) event.add('tfg:trapped_chests', `tfc:wood/trapped_chest/${woodType}`) - event.add('tfg:bladed_axles', `tfc:wood/bladed_axle/${woodType}`) + // event.add('tfg:bladed_axles', `tfc:wood/bladed_axle/${woodType}`) //todo: нахера я это добавлял? }) + //#endregion - // Теги для сосудов по цветам + //#region Теги для сосудов по цветам global.MINECRAFT_DYE_NAMES.forEach(dye => { event.add('tfg:colorized_unfired_vessels', `tfc:ceramic/${dye}_unfired_vessel`) event.add('tfg:colorized_fired_vessels', `tfc:ceramic/${dye}_glazed_vessel`) @@ -112,15 +109,18 @@ const registerTFCItemTags1 = (event) => { event.add('tfg:colorized_fired_large_vessels', `tfc:ceramic/large_vessel/${dye}`) }) + //#endregion - // Цвета гравия + //#region Объединяем гравий по цветам // Коричневый event.add('tfc:brown_gravel', 'tfc:rock/gravel/claystone') + // Белый event.add('tfc:white_gravel', 'tfc:rock/gravel/chalk') event.add('tfc:white_gravel', 'tfc:rock/gravel/diorite') event.add('tfc:white_gravel', 'tfc:rock/gravel/quartzite') event.add('tfc:white_gravel', 'tfc:rock/gravel/marble') + // Черный event.add('tfc:black_gravel', 'tfc:rock/gravel/basalt') event.add('tfc:black_gravel', 'tfc:rock/gravel/phyllite') @@ -129,24 +129,36 @@ const registerTFCItemTags1 = (event) => { event.add('tfc:black_gravel', 'tfc:rock/gravel/gabbro') event.add('tfc:black_gravel', 'tfc:rock/gravel/dolomite') event.add('tfc:black_gravel', 'tfc:rock/gravel/shale') + // Красный event.add('tfc:red_gravel', 'tfc:rock/gravel/chert') event.add('tfc:red_gravel', 'tfc:rock/gravel/rhyolite') + // Желтый event.add('tfc:yellow_gravel', 'tfc:rock/gravel/limestone') event.add('tfc:yellow_gravel', 'tfc:rock/gravel/slate') + // Зеленый event.add('tfc:green_gravel', 'tfc:rock/gravel/gneiss') event.add('tfc:green_gravel', 'tfc:rock/gravel/conglomerate') event.add('tfc:green_gravel', 'tfc:rock/gravel/schist') + // Розовый event.add('tfc:pink_gravel', 'tfc:rock/gravel/granite') + //#endregion - // Теги для объединения наковален - event.add('tfc:red_or_blue_anvil', 'tfc:metal/anvil/blue_steel') - event.add('tfc:red_or_blue_anvil', 'tfc:metal/anvil/red_steel') + //#region Теги для объединения наковален 2 уровня + event.add('tfg:tier_2_anvil', 'tfc:metal/anvil/bismuth_bronze') + event.add('tfg:tier_2_anvil', 'tfc:metal/anvil/bronze') + event.add('tfg:tier_2_anvil', 'tfc:metal/anvil/black_bronze') + //#endregion - // Теги для решеток + //#region Теги для объединения наковален 6 уровня + event.add('tfg:tier_6_anvil', 'tfc:metal/anvil/blue_steel') + event.add('tfg:tier_6_anvil', 'tfc:metal/anvil/red_steel') + //#endregion + + //#region Теги для объединения решеток event.add('tfg:metal_bars', 'tfc:metal/bars/bismuth_bronze') event.add('tfg:metal_bars', 'tfc:metal/bars/black_bronze') event.add('tfg:metal_bars', 'tfc:metal/bars/bronze') @@ -156,8 +168,9 @@ const registerTFCItemTags1 = (event) => { event.add('tfg:metal_bars', 'tfc:metal/bars/black_steel') event.add('tfg:metal_bars', 'tfc:metal/bars/blue_steel') event.add('tfg:metal_bars', 'tfc:metal/bars/red_steel') + //#endregion - // Тэги для цепей + //#region Теги для объединения цепей event.add('tfg:metal_chains', 'tfc:metal/chain/bismuth_bronze') event.add('tfg:metal_chains', 'tfc:metal/chain/black_bronze') event.add('tfg:metal_chains', 'tfc:metal/chain/bronze') @@ -167,8 +180,9 @@ const registerTFCItemTags1 = (event) => { event.add('tfg:metal_chains', 'tfc:metal/chain/black_steel') event.add('tfg:metal_chains', 'tfc:metal/chain/blue_steel') event.add('tfg:metal_chains', 'tfc:metal/chain/red_steel') - - // Теги для незаконченных ламп + //#endregion + + //#region Теги для объединения незаверешенных ламп event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/bismuth_bronze') event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/black_bronze') event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/bronze') @@ -178,8 +192,9 @@ const registerTFCItemTags1 = (event) => { event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/black_steel') event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/blue_steel') event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/red_steel') + //#endregion - // Теги для кораллов + //#region Теги для объединения кораллов event.add('tfc:corals', 'tfc:coral/tube_coral_fan') event.add('tfc:corals', 'tfc:coral/brain_coral_fan') event.add('tfc:corals', 'tfc:coral/bubble_coral_fan') @@ -200,8 +215,9 @@ const registerTFCItemTags1 = (event) => { event.add('tfc:corals', 'tfc:coral/brain_dead_coral') event.add('tfc:corals', 'tfc:coral/fire_dead_coral') event.add('tfc:corals', 'tfc:coral/horn_dead_coral') + //#endregion - // Теги для каменных ступенек тфк + //#region Теги для объединения ступеней, полублоков и стен соответственно global.TFC_STONE_TYPES.forEach(stoneTypeName => { global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach(slabType => { event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`) @@ -209,19 +225,28 @@ const registerTFCItemTags1 = (event) => { event.add(`tfg:rock_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`) }) }) + //#endregion - // Удаление тегов у отключенных предметов - global.TFC_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) + //#region Удаление тегов и скрытие руд + const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds + + ALL_TFC_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) }) + //#endregion - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + // todo: + // Удаление тегов у отключенных предметов + // global.TFC_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // event.add('c:hidden_from_recipe_viewers', item) + // }) } -const registerTFCBlockTags1 = (event) => { - // Теги для каменных ступенек тфк +const registerTFCBlockTags = (event) => { + + //#region Теги для объединения ступеней, полублоков и стен соответственно global.TFC_STONE_TYPES.forEach(stoneTypeName => { global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach(slabType => { event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`) @@ -229,90 +254,82 @@ const registerTFCBlockTags1 = (event) => { event.add(`tfg:rock_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`) }) }) + //#endregion + - // Отключение ломания блоков установленных на полу + //#region Отключение ломания блоков установленных на полу event.add('tfcdesirepaths:trample_blacklist', 'tfc:placed_item') - - // Возможность обрушения полу-блоков + //#endregion + + //#region Возможность обрушения полу-блоков event.add('tfc:can_collapse', '#tfg:rock_slabs') event.add('tfc:can_start_collapse', '#tfg:rock_slabs') event.add('tfc:can_trigger_collapse', '#tfg:rock_slabs') + //#endregion - // Возможность обрушения ступеней + //#region Возможность обрушения ступеней event.add('tfc:can_collapse', '#tfg:rock_stairs') event.add('tfc:can_start_collapse', '#tfg:rock_stairs') event.add('tfc:can_trigger_collapse', '#tfg:rock_stairs') + //#endregion - // Возможность обрушения стен + //#region Возможность обрушения стен event.add('tfc:can_collapse', '#tfg:rock_walls') event.add('tfc:can_start_collapse', '#tfg:rock_walls') event.add('tfc:can_trigger_collapse', '#tfg:rock_walls') + //#endregion - // Возможность обрушения руды + //#region Возможность обрушения руды event.add('tfc:can_collapse', '#forge:ores') event.add('tfc:can_start_collapse', '#forge:ores') event.add('tfc:can_trigger_collapse', '#forge:ores') - - // Разрешить спавн мобов на руде - event.add('tfc:monster_spawns_on', '#forge:ores') - - // Разрешить проспекторам тфк находить любые руды - event.add('tfc:prospectable', '#forge:ores') + //#endregion - // Разрешить отливать стекло в кастомных блоках + //#region Разрешаем спавн мобов на руде + event.add('tfc:monster_spawns_on', '#forge:ores') + //#endregion + + //#region Разрешаем проспекторам тфк находить любые руды + event.add('tfc:prospectable', '#forge:ores') + //#endregion + + //#region Разрешаем отливать стекло в кастомных блоках + // GregTech блок латуни event.add('tfc:glass_basin_blocks', 'gtceu:brass_block') event.add('tfc:glass_pouring_table', 'gtceu:brass_block') + // Красная каолинитовая глина event.add('tfc:glass_basin_blocks', 'tfc:red_kaolin_clay') event.add('tfc:glass_pouring_table', 'tfc:red_kaolin_clay') + // Розовая каолинитовая глина event.add('tfc:glass_basin_blocks', 'tfc:pink_kaolin_clay') event.add('tfc:glass_pouring_table', 'tfc:pink_kaolin_clay') + // Белая каолинитовая глина event.add('tfc:glass_basin_blocks', 'tfc:white_kaolin_clay') event.add('tfc:glass_pouring_table', 'tfc:white_kaolin_clay') + //#endregion + + //#region Удаление тегов и скрытие руд + const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds - // Удаление тегов у отключенных предметов - global.TFC_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) + ALL_TFC_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) }) + //#endregion - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + // todo: + // // Удаление тегов у отключенных предметов + // global.TFC_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // }) } const registerTFCFluidTags = (event) => { - // Удаление TFC металлов из возможных в форме слитка - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth_bronze') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bronze') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_bronze') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/brass') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/copper') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/gold') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/nickel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/rose_gold') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/silver') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/tin') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/zinc') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/sterling_silver') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/wrought_iron') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_steel') - 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 металлов в форму слитков + //#region Добавление GregTech металлов в форму слитков + // Обычные металлы event.add('tfc:usable_in_ingot_mold', 'gtceu:bismuth') event.add('tfc:usable_in_ingot_mold', 'gtceu:bismuth_bronze') event.add('tfc:usable_in_ingot_mold', 'gtceu:black_bronze') @@ -342,32 +359,86 @@ const registerTFCFluidTags = (event) => { 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') + //#endregion - // + //#region Удаляем TFC металлов из формы слитка + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth_bronze') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bronze') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_bronze') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/brass') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/copper') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/gold') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/nickel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/rose_gold') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/silver') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/tin') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/zinc') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/sterling_silver') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/wrought_iron') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_steel') + 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') + //#endregion + + //#region Добавляем GregTech металлы в формы колокола event.add('tfc:usable_in_bell_mold', 'gtceu:bronze') event.add('tfc:usable_in_bell_mold', 'gtceu:gold') event.add('tfc:usable_in_bell_mold', 'gtceu:brass') + //#endregion - // + //#region Удаляем TFC металлы из формы колокола + //todo: + //#endregion + + //#region Добавляем GregTech металлы в формы оголовья event.add('tfc:usable_in_tool_head_mold', 'gtceu:copper') event.add('tfc:usable_in_tool_head_mold', 'gtceu:bismuth_bronze') event.add('tfc:usable_in_tool_head_mold', 'gtceu:black_bronze') event.add('tfc:usable_in_tool_head_mold', 'gtceu:bronze') + //#endregion - // + //#region Удаляем TFC металлы из формы оголовья + //todo: + //#endregion + + //#region Добавляем жидкости в чашу event.add('tfc:usable_in_pot', 'tfg:latex') + //#endregion + + //#region Добавляем жидкости в бочку 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') - event.add('tfc:usable_in_red_steel_bucket', 'gtceu:creosote') - event.add('tfc:usable_in_blue_steel_bucket', 'gtceu:creosote') + //#endregion - // Добавляем тег для скрытия в EMI + //#region Добавляем жидкости в деревянное ведро + event.add('tfc:usable_in_wooden_bucket', 'tfg:latex') + event.add('tfc:usable_in_wooden_bucket', 'gtceu:creosote') + //#endregion + + //#region Добавляем жидкости в красное ведро + event.add('tfc:usable_in_red_steel_bucket', 'gtceu:creosote') + //#endregion + + //#region Добавляем жидкости в синее ведро + event.add('tfc:usable_in_blue_steel_bucket', 'gtceu:creosote') + //#endregion + + //#region Скрываем неиспользуемые жидкости event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bismuth') event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bismuth_bronze') event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bronze') @@ -396,9 +467,12 @@ const registerTFCFluidTags = (event) => { 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') + //#endregion } const registerTFCBiomeTags = (event) => { + + //#region Создаем тег со всеми TFC биомами const ALL_TFC_BIOMES = [ "tfc:badlands", "tfc:canyons", @@ -432,13 +506,15 @@ const registerTFCBiomeTags = (event) => { "tfc:volcanic_oceanic_mountains" ] - // Добавление ALL_TFC_BIOMES.forEach(biome => { event.add('tfg:is_tfc_overworld', biome) }) + //#endregion } const registerTFCPlacedFeatures = (event) => { + + //#region Удаляем все руды TFC из генерации мира const ALL_DISABLED_TFC_VEINS = [ 'tfc:vein/surface_native_copper', 'tfc:vein/surface_malachite', @@ -478,8 +554,8 @@ const registerTFCPlacedFeatures = (event) => { 'tfc:vein/opal' ] - // Удаление ALL_DISABLED_TFC_VEINS.forEach(vein => { event.remove('tfc:in_biome/veins', vein) }) + //#endregion } From 921dbf5a4e1d471014537d66399912d7c4ea7d55 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 1 Sep 2024 10:27:22 +0700 Subject: [PATCH 032/266] rewrite metal recipe gen part 1 --- kubejs/server_scripts/firmalife/tags.js | 3 +- kubejs/server_scripts/gregtech/recipes.js | 156 +- kubejs/server_scripts/tfc/recipes.js | 2623 +++++++++++---------- kubejs/startup_scripts/tfc/constants.js | 4 - 4 files changed, 1435 insertions(+), 1351 deletions(-) diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index c12c73a0a..b0d6f8311 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -43,8 +43,9 @@ const registerFirmaLifeBlockTags = (event) => { }) //#endregion - // Для того, чтобы стенками greenhouse могли быть фреймы грега (для передачи воды) + //#region Для того, чтобы стенками greenhouse могли быть фреймы грега (для передачи воды) event.add('firmalife:always_valid_greenhouse_wall', '#forge:frames') + //#endregion } const registerFirmaLifeFluidTags = (event) => { diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 1161b24e1..8ad19b931 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1774,56 +1774,12 @@ const registerGregTechRecipes1 = (event) => { // } // } - // private static void registerProcessingToolHeadsRecipes(Consumer consumer) { - // for (var material : GTCEuAPI.materialManager.getRegisteredMaterials()) { - // if (material.hasProperty(PropertyKey.TOOL)) { - // - // int counter = 0; - // - // processToolHead(toolHeadAxe, material, SHAPE_EXTRUDER_AXE_HEAD, counter++, consumer); - // processToolHead(toolHeadHoe, material, SHAPE_EXTRUDER_HOE_HEAD, counter++, consumer); - // processToolHead(toolHeadShovel, material, SHAPE_EXTRUDER_SHOVEL_HEAD, counter++, consumer); - // processToolHead(toolHeadKnife, material, SHAPE_EXTRUDER_KNIFE_HEAD, counter++, consumer); - // processToolHead(toolHeadMiningHammer, material, SHAPE_EXTRUDER_MINING_HAMMER_HEAD, counter++, consumer); - // processToolHead(toolHeadSword, material, SHAPE_EXTRUDER_SWORD_HEAD, counter++, consumer); - // processToolHead(toolHeadPickaxe, material, SHAPE_EXTRUDER_PICKAXE_HEAD, counter++, consumer); - // processToolHead(toolHeadScythe, material, SHAPE_EXTRUDER_SCYTHE_HEAD, counter++, consumer); - // processToolHead(toolHeadFile, material, SHAPE_EXTRUDER_FILE_HEAD, counter++, consumer); - // processToolHead(toolHeadHammer, material, SHAPE_EXTRUDER_HAMMER_HEAD, counter++, consumer); - // processToolHead(toolHeadSaw, material, SHAPE_EXTRUDER_SAW_HEAD, counter++, consumer); - // processToolHead(toolHeadButcheryKnife, material, SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD, counter++, consumer); - // processToolHead(toolHeadSpade, material, SHAPE_EXTRUDER_SPADE_HEAD, counter++, consumer); - // processToolHead(toolHeadPropick, material, SHAPE_EXTRUDER_PROPICK_HEAD, counter++, consumer); - // processToolHead(toolHeadJavelin, material, SHAPE_EXTRUDER_JAVELIN_HEAD, counter++, consumer); - // processToolHead(toolHeadChisel, material, SHAPE_EXTRUDER_CHISEL_HEAD, counter++, consumer); - // processToolHead(toolHeadMace, material, SHAPE_EXTRUDER_MACE_HEAD, counter, consumer); - // } - // } - // } - - // private static void registerTagPrefixHandlerRecipes(Consumer provider) { - // ingotDouble.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::processDoubleIngot); - // plate.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::processPlate); - // - // anvil.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessAnvil); - // lamp.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessLamp); - // lampUnfinished.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessUnfinishedLamp); - // trapdoor.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessTrapdoor); - // chain.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessChain); - // bell.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessBell); - // } + // private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { // var ingotStack = ChemicalHelper.get(ingot, material); // var doubleIngotStack = ChemicalHelper.get(prefix, material); // - // BENDER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_double_ingot")) - // .EUt(VA[ULV]).duration((int) material.getMass()) - // .inputItems(ingotStack.copyWithCount(2)) - // .circuitMeta(6) - // .outputItems(doubleIngotStack) - // .save(provider); - // // EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) // .EUt(VA[ULV]).duration((int) material.getMass()) // .inputItems(doubleIngotStack) @@ -1837,115 +1793,11 @@ const registerGregTechRecipes1 = (event) => { // .save(provider); // } - // private static void processPlate(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var plateStack = ChemicalHelper.get(prefix, material); - // var doubleIngotStack = ChemicalHelper.get(ingotDouble, material); - // - // if (material.hasFlag(TFGMaterialFlags.GENERATE_DOUBLE_INGOTS)) { - // FORGE_HAMMER_RECIPES.recipeBuilder(TFGCore.id("hammer_" + material.getName() + "_plate")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 4) - // .inputItems(doubleIngotStack) - // .outputItems(plateStack) - // .save(provider); - // } - // } + - // private static void proccessAnvil(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var anvil = ChemicalHelper.get(prefix, material); - // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); - // - // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_anvil_from_ingots")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 6) - // .inputItems(ingot, outputMaterial, 14) - // .notConsumable(GTItems.SHAPE_MOLD_ANVIL) - // .outputItems(anvil) - // .save(provider); - // - // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_anvil_from_fluid")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 6) - // .inputFluids(outputMaterial.getFluid(2016)) - // .notConsumable(GTItems.SHAPE_MOLD_ANVIL) - // .outputItems(anvil) - // .save(provider); - // } + - // private static void proccessLamp(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var finishedLamp = ChemicalHelper.get(prefix, material); - // var unfinishedLamp = ChemicalHelper.get(lampUnfinished, material); - // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); - // - // ASSEMBLER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_lamp")) - // .EUt(VA[ULV]).duration((int) outputMaterial.getMass() * 7) - // .inputItems(new ItemStack(TFCItems.LAMP_GLASS.get()), unfinishedLamp) - // .circuitMeta(12) - // .outputItems(finishedLamp) - // .save(provider); - // - // ASSEMBLER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_lamp_from_liquid")) - // .EUt(VA[ULV]).duration((int) outputMaterial.getMass() * 7) - // .inputItems(unfinishedLamp) - // .inputFluids(Glass.getFluid(576)) - // .circuitMeta(13) - // .outputItems(finishedLamp) - // .save(provider); - // } - - // private static void proccessUnfinishedLamp(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var unfinishedLamp = ChemicalHelper.get(prefix, material); - // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); - // - // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_unfinished_lamp_from_ingots")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 7) - // .inputItems(ingot, outputMaterial) - // .notConsumable(SHAPE_MOLD_UNFINISHED_LAMP) - // .outputItems(unfinishedLamp) - // .save(provider); - // - // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_unfinished_lamp_from_fluid")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 7) - // .inputFluids(outputMaterial.getFluid(144)) - // .notConsumable(SHAPE_MOLD_UNFINISHED_LAMP) - // .outputItems(unfinishedLamp) - // .save(provider); - // } - - // private static void proccessTrapdoor(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var trapdoor = ChemicalHelper.get(prefix, material); - // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); - // - // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_trapdoor_from_ingots")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 6) - // .inputItems(ingot, outputMaterial) - // .notConsumable(SHAPE_MOLD_TRAPDOOR) - // .outputItems(trapdoor) - // .save(provider); - // - // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_trapdoor_from_fluid")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 6) - // .inputFluids(outputMaterial.getFluid(144)) - // .notConsumable(SHAPE_MOLD_TRAPDOOR) - // .outputItems(trapdoor) - // .save(provider); - // } - - // private static void proccessChain(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var chain = ChemicalHelper.get(prefix, material); - // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); - // - // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_chain_from_ingots")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 2) - // .inputItems(ingot, outputMaterial) - // .notConsumable(SHAPE_MOLD_CHAIN) - // .outputItems(chain.copyWithCount(9)) - // .save(provider); - // - // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_chain_from_fluid")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 2) - // .inputFluids(outputMaterial.getFluid(144)) - // .notConsumable(SHAPE_MOLD_CHAIN) - // .outputItems(chain.copyWithCount(9)) - // .save(provider); - // } + // private static void proccessBell(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { // var bell = ChemicalHelper.get(prefix, material); diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index c3bb07967..24d29aadc 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -2,30 +2,14 @@ const registerTFCRecipes = (event) => { -} - -const registerTFCRecipes1 = (event) => { - //return; TODO тут баг - //#region Металлы - - // Удаление рецептов руд TFC + //#region Удаляем рецепты для бедных, нормальной и богатых кусков руды 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/ }) - - let getFillingNBT = (material, amount) => { + //#endregion + + //#region Крафты и раскрафты металлических предметов + const getFluidTankNBT = (material, amount) => { return { tank: { FluidName: Fluid.of(material.getFluid()).getId(), @@ -34,1273 +18,1524 @@ const registerTFCRecipes1 = (event) => { } } - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + const calcAmountOfMetal = (defaultAmount, percents) => { + const value = defaultAmount / (100 / percents) + return (value % 2 == 0) ? value : Math.round(value) - 1 + } - if (tfcProperty != null) { - let outputMaterial = (tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial() + const processIngot = (tagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(tagPrefix, material, 1) + if (ingotItem.isEmpty()) return - // 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`) + // Декрафт слитка в жидкость + event.recipes.tfc.heating(ingotItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_ingot`) - if (material != GTMaterials.WroughtIron) { + if (material == GTMaterials.WroughtIron) return - // Отливка слитка в обычной форме - 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/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.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/ingot_mold', getFluidTankNBT(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`) + event.recipes.create.filling( + Item.of('tfc:ceramic/fire_ingot_mold', getFluidTankNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/fire_ingot_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_fire_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 Щит + const processDoubleIngot = (tagPrefix, tfcProperty, material, outputMaterial) => { + const doubleIngotItem = ChemicalHelper.get(tagPrefix, material, 1) + if (doubleIngotItem.isEmpty()) return - // Декрафт щита в жидкость - 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.heating(doubleIngotItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_double_ingot`) - // Щит - 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`) + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return - //#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 - } + // 2 слитка -> Двойной слиток + event.recipes.tfc.welding(doubleIngotItem, ingotItem, ingotItem, tfcProperty.getTier() - 1) + .id(`tfc:welding/${material.getName()}_double_ingot`) - } + event.recipes.gtceu.bender(`tfg:${material.getName()}_double_ingot`) + .itemInputs(ingotItem.copyWithCount(2)) + .circuit(6) + .itemOutputs(doubleIngotItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass()) + } - // Tools (From Plate) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - //#region Удочка + const processPlate = (tagPrefix, tfcProperty, material, outputMaterial) => { + const plateItem = ChemicalHelper.get(tagPrefix, material, 1) + if (plateItem.isEmpty()) return + + // Декрафт пластины в жидкость + event.recipes.tfc.heating(plateItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_sheet`) + + const doubleIngotItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) + if (doubleIngotItem.isEmpty()) return + + // Двойной слиток -> Пластина + event.recipes.tfc.anvil(plateItem, doubleIngotItem, ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_sheet`) + + // Крафт в смолоте + event.recipes.gtceu.forge_hammer(`tfg:${material.getName()}_plate_from_double_ingot`) + .inputItems(doubleIngotItem) + .outputItems(plateItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 4) + } + + const processDoublePlate = (tagPrefix, tfcProperty, material, outputMaterial) => { + const doublePlateItem = ChemicalHelper.get(tagPrefix, material, 1) + if (doublePlateItem.isEmpty()) return + + // Декрафт двойных пластин + event.recipes.tfc.heating(doublePlateItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_double_sheet`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // Две пластины -> Двойная пластина + event.recipes.tfc.welding(doublePlateItem, plateItem, plateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_double_sheet`) + } + + const processTFCMetalBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedBlock.isEmpty()) return + + // Декрафт + event.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) + .id(`tfc:heating/metal/${material.getName()}_block`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // Крафт в ассемблере + event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_block`) + .itemInputs(plateItem.copyWithCount(4), '#minecraft:planks') + .itemOutputs(platedBlock) + .duration(300) + .EUt(8) + } + + const processTFCMetalStairs = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedStairBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedStairBlock.isEmpty()) return + + // Удаление рецепта через верстак + event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_stairs`}) + + // Декрафт + event.recipes.tfc.heating(platedStairBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 54)) + .id(`tfc:heating/metal/${material.getName()}_block_stairs`) + + const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) + if (platedBlock.isEmpty()) return + + // Крафт в каттере + event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_stairs`) + .itemInputs(platedBlock.copyWithCount(3)) + .itemOutputs(platedStairBlock) + .duration(300) + .EUt(8) + } + + const processTFCMetalSlabs = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedSlabBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedSlabBlock.isEmpty()) return + + // Удаление рецепта через верстак + event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_slab`}) + + // Декрафт + event.recipes.tfc.heating(platedSlabBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) + .id(`tfc:heating/metal/${material.getName()}_block_slab`) + + const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) + if (platedBlock.isEmpty()) return + + // Крафт в каттере + event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_slab`) + .itemInputs(platedBlock) + .itemOutputs(platedSlabBlock.copyWithCount(2)) + .duration(300) + .EUt(8) + } + + const processTFCArmor = (tfcProperty, material, outputMaterial) => { + if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) return - // Декрафт оголовья в жидкость - 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`) + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return - // Крюк удочки - 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`) + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return - // Декрафт инструмента в жидкость - 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`) + //#region Шлем - //#endregion - } + // Декрафт незавершенного шлема в жидкость + 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()}`, plateDoubleItem, ['hit_last', 'bend_second_last', 'bend_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_helmet`) - // 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`) + // Декрафт шлема в жидкость + 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`) - } - - 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.welding(`tfc:metal/helmet/${material.getName()}`, `tfc:metal/unfinished_helmet/${material.getName()}`, plateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_helmet`) - // Крафт оголовья - 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 - - - } - - //#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`) + //#region Нагрудник - 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 + // Декрафт незавершенного нагрудника в жидкость + 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`) - //#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`) + // Незавершенный нагрудник + event.recipes.tfc.anvil(`tfc:metal/unfinished_chestplate/${material.getName()}`, plateDoubleItem, ['hit_last', 'hit_second_last', 'upset_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_chestplate`) - } - - 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`) + // Декрафт нагрудника в жидкость + 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.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`) + // Нагрудник + event.recipes.tfc.welding(`tfc:metal/chestplate/${material.getName()}`, `tfc:metal/unfinished_chestplate/${material.getName()}`, plateDoubleItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_chestplate`) - } + //#endregion - //#endregion + //#region Поножи - //#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`) + // Декрафт незавершенных поножей в жидкость + 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()}`, plateDoubleItem, ['bend_any', 'draw_any', 'hit_any']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_greaves`) - 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.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.anvil(miningHammerHeadItem, doubleIngotItem, ['punch_last', 'shrink_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) - - } + // Поножи + 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 + //#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()) { + //#region Ботинки - // Крафт оголовья - 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(`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.heating(spadeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_spade_head`) - - } + // Незавершенные ботинки + 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`) - //#endregion - } + // Декрафт ботинок в жидкость + 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`) - // 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`) + //#endregion - // Слиток -> 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`) + //#region Конская броня - // 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.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`) - // Стержни -> Длинный стержень - event.recipes.tfc.welding(longRodItem, rodItem, rodItem) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_long_rod`) - - } + //#endregion + } - // 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`) + const processTFCTools = (tfcProperty, material, outputMaterial) => { + if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) return - // Стержень -> Кольцо - event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_ring`) + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return - } - - } + const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return - // Tools (From Ingot) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return + + //#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()}`, plateDoubleItem, ['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()}`, plateDoubleItem, ['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/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 + + //#region Меч + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const swordItem = ToolHelper.get(GTToolType.SWORD, material) + if (!swordItem.isEmpty()) { - //#region Кирка - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) + event.recipes.tfc.heating(swordItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_sword`) + } - // Декрафт инструмента в жидкость - 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`) + const swordHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material, 1) + if (!swordHeadItem.isEmpty()) { - // Металл + Форма -> Оголовье - 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.tfc.heating(swordHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_sword_blade`) - 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(swordHeadItem, ingotDoubleItem, ['punch_last', 'bend_not_last', 'draw_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_sword_blade`) - // Крафт оголовья - 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(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 Мясницкий нож - // Металл + Форма -> Оголовье - 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`) + // Декрафт инструмента в жидкость + const 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`) - 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 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`) + + // Крафт оголовья + 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 Молот шахтера + + // Декрафт инструмента в жидкость + const 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 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`) + const 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`) - // Металл + Форма -> Оголовье - 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.tfc.anvil(miningHammerHeadItem, ingotDoubleItem, ['punch_last', 'shrink_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) + + } + //#endregion - 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`) - } + //#region Большая лопата - } - - //#endregion + // Декрафт инструмента в жидкость + const 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`) + + } - //#region Мотыга - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) + const spadeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material, 1) + if (!spadeHeadItem.isEmpty()) { + + // Крафт оголовья + event.recipes.tfc.anvil(spadeHeadItem, ingotDoubleItem, ['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 + + //#region Кирка - // Декрафт инструмента в жидкость - 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.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) - 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`) + // Декрафт инструмента в жидкость + const pickaxeItem = ToolHelper.get(GTToolType.PICKAXE, material) + if (!pickaxeItem.isEmpty()) { - // Крафт оголовья - 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.heating(`gtceu:${material.getName()}_pickaxe`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_pickaxe`) + + } - // Крафт оголовья - 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`) + const 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.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`) - } - - } + // Крафт оголовья + 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`) - //#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`) + // Металл + Форма -> Оголовье + 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.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 - } - + 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`) } - // 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`) - - } + } + //#endregion - // 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 Топор + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` }) - //#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.calcAmountOfMetal(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.calcAmountOfMetal(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.calcAmountOfMetal(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.calcAmountOfMetal(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.calcAmountOfMetal(120, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/purified_dust/${material.getName()}`) - - } + // Декрафт инструмента в жидкость + const 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`) + + } + + const 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`) } - - // 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.calcAmountOfMetal(80, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_ore/${material.getName()}`) - - } + } + //#endregion - // Декрафт ломанной очищенной руды - let crushedPurifiedOre = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) - if (!crushedPurifiedOre.isEmpty()) { - - event.recipes.tfc.heating(crushedPurifiedOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(100, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) - - } + //#region Лопата + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/shovel/${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.calcAmountOfMetal(110, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) - - } + // Декрафт инструмента в жидкость + const 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`) + + } + + const 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`) - // Декрафт богатого куска руды - 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()}`) - } + // Крафт оголовья + 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`) } - // 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()}`) - + } + //#endregion + + //#region Мотыга + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const 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`) + } + + const 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()}` }) + + // Декрафт инструмента в жидкость + const 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`) + + } + + const 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()}` }) + + // Декрафт инструмента в жидкость + const 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`) + + } + + const 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()}` }) + + // Декрафт инструмента в жидкость + const 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`) + } + + const 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 Напильник + + // Декрафт инструмента в жидкость + const 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`) + } + + const 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()}` }) + + // Декрафт инструмента в жидкость + const 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`) + } + + const 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 + + //#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 + } + + const processRods = (tagPrefix, tfcProperty, material, outputMaterial) => { + const rodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (rodItem.isEmpty()) return + + // Декрафт стержня в жидкость + 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`) + } + + const processLongRods = (tagPrefix, tfcProperty, material, outputMaterial) => { + const longRodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (longRodItem.isEmpty()) return + + // Декрафт длинного стержня в жидкость + event.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_long_rod`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержни -> Длинный стержень + event.recipes.tfc.welding(longRodItem, rodItem, rodItem) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_long_rod`) + } + + const processBolts = (tagPrefix, tfcProperty, material, outputMaterial) => { + const boltItem = ChemicalHelper.get(tagPrefix, material, 1) + if (boltItem.isEmpty()) return + + // Болт -> Металл + event.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) + .id(`tfc:heating/metal/${material.getName()}_bolt`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Болт + 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`) + } + + const processScrews = (tagPrefix, tfcProperty, material, outputMaterial) => { + const screwItem = ChemicalHelper.get(tagPrefix, material, 1) + if (screwItem.isEmpty()) return + + // Винт -> Металл + event.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/metal/${material.getName()}_screw`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Винт + event.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_screw`) + } + + const processRings = (tagPrefix, tfcProperty, material, outputMaterial) => { + const ringItem = ChemicalHelper.get(tagPrefix, material, 1) + if (ringItem.isEmpty()) return + + // Кольцо -> Металл + event.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) + .id(`tfc:heating/metal/${material.getName()}_ring`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Кольцо + event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_ring`) + + + } + + const processBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { + const blockItem = ChemicalHelper.get(tagPrefix, material, 1) + if (blockItem.isEmpty()) return + + // Декрафт блока в жидкость + event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) + .id(`tfc:heating/metal/${material.getName()}_block`) + } + + const processAnvils = (tagPrefix, tfcProperty, material, outputMaterial) => { + const anvilItem = ChemicalHelper.get(tagPrefix, material, 1) + if (anvilItem.isEmpty()) return + + // Декрафт наковальни в жидкость + event.recipes.tfc.heating(anvilItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 2016)) + .id(`tfc:heating/metal/${material.getName()}_anvil`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, outputMaterial, 1) + if (ingotItem.isEmpty()) return + + // Крафт в смелтере + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_anvil_from_ingots`) + .itemInputs(ingotItem.copyWithCount(14)) + .notConsumable('gtceu:anvil_casting_mold') + .outputItems(anvilItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) + + // Крафт в солидифаере + event.recipes.gtceu.solidifier(`tfg:${material.getName()}_anvil_from_fluid`) + .inputFluids(outputMaterial.getFluid(2016)) + .notConsumable('gtceu:anvil_casting_mold') + .outputItems(anvilItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) + } + + const processUnfinishedLamp = (tagPrefix, tfcProperty, material, outputMaterial) => { + const lampUnfinishedItem = ChemicalHelper.get(tagPrefix, material, 1) + if (lampUnfinishedItem.isEmpty()) return + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Декрафт незавершенной лампы в жидкость + event.recipes.tfc.heating(lampUnfinishedItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_unfinished_lamp`) + + // Крафт в смелтере + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_unfinished_lamp_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('gtceu:lamp_casting_mold') + .outputItems(lampUnfinishedItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + + // Крафт в солидифаере + event.recipes.gtceu.solidifier(`tfg:${material.getName()}_unfinished_lamp_from_fluid`) + .inputFluids(outputMaterial.getFluid(144)) + .notConsumable('gtceu:lamp_casting_mold') + .outputItems(lampUnfinishedItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + } + + const processLamps = (tagPrefix, tfcProperty, material, outputMaterial) => { + const lampItem = ChemicalHelper.get(tagPrefix, material, 1) + if (lampItem.isEmpty()) return + + // Декрафт лампы в жидкость + event.recipes.tfc.heating(lampItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_lamp`) + + const lampUnfinishedItem = ChemicalHelper.get(TFGTagPrefix.lampUnfinished, material, 1) + if (lampUnfinishedItem.isEmpty()) return + + // Рецепт ассемблер + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp`) + .itemInputs(lampUnfinishedItem, 'tfc:lamp_glass') + .circuit(12) + .outputItems(lampItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 7) + + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp_from_liquid`) + .itemInputs(lampUnfinishedItem) + .inputFluids(GTMaterials.Glass.getFluid(576)) + .circuit(13) + .outputItems(lampItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) + } + + const processTrapdoors = (tagPrefix, tfcProperty, material, outputMaterial) => { + const trapdoorItem = ChemicalHelper.get(tagPrefix, material, 1) + if (trapdoorItem.isEmpty()) return + + // Декрафт люка в жидкость + event.recipes.tfc.heating(trapdoorItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_trapdoor`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // Люк + event.recipes.tfc.anvil(trapdoorItem, plateItem, ['bend_last', 'draw_second_last', 'draw_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_trapdoor`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт в смелтере + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_trapdoor_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('gtceu:trapdoor_casting_mold') + .outputItems(trapdoorItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) + + // Крафт в солидифаере + event.recipes.gtceu.solidifier(`tfg:${material.getName()}_trapdoor_from_fluid`) + .inputFluids(outputMaterial.getFluid(144)) + .notConsumable('gtceu:trapdoor_casting_mold') + .outputItems(trapdoorItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) + } + + const processChains = (tagPrefix, tfcProperty, material, outputMaterial) => { + const chainItem = ChemicalHelper.get(tagPrefix, material, 1) + if (chainItem.isEmpty()) return + + // Декрафт решетки в жидкость + event.recipes.tfc.heating(chainItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) + .id(`tfc:heating/metal/${material.getName()}_bars`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // 8x Решетка + event.recipes.tfc.anvil(chainItem.copyWithCount(8), plateItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_bars`) + + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return + + // 16x Решетка + event.recipes.tfc.anvil(chainItem.copyWithCount(16), plateDoubleItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_bars_double`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт в смелтере + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_chain_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('gtceu:chain_casting_mold') + .outputItems(chainItem.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + + // Крафт в солидифаере + event.recipes.gtceu.solidifier(`tfg:${material.getName()}_chain_from_fluid`) + .inputFluids(outputMaterial.getFluid(144)) + .notConsumable('gtceu:chain_casting_mold') + .outputItems(chainItem.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + } + + const processTFCSmallOres = (tagPrefix, tfcProperty, material, outputMaterial) => { + if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) return + + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + // Декрафт мелкого кусочка в жидкость + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/ore/small_${material.getName()}`) + } + + const processTFCSmallNativeOres = () => { + if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) return + + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + // Декрафт мелкого кусочка в жидкость + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/ore/small_native_${material.getName()}`) + } + + const processTinyDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/tiny_dust/${material.getName()}`) + } + + const processSmallDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/small_dust/${material.getName()}`) + } + + const processDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(144, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/dust/${material.getName()}`) + } + + const processImpureDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(80, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/impure_dust/${material.getName()}`) + } + + const processPurifiedDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(120, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/purified_dust/${material.getName()}`) + } + + const processCrushedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(60, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_ore/${material.getName()}`) + } + + const processCrushedPurifiedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(90, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) + } + + const processCrushedRefinedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(110, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) + } + + const processRichRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/rich_raw/${material.getName()}`) + } + + const processNormalRawore = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/raw/${material.getName()}`) + } + + const processPoorRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/poor_raw/${material.getName()}`) + } + + const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { + const nuggetItem = ChemicalHelper.get(tagPrefix, material, 1) + if (nuggetItem.isEmpty()) return + + event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/nugget/${material.getName()}`) + } + + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + + if (tfcProperty != null) { + const outputMaterial = (tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial() + + // 1. Префикс ассоциируемый с текущим предметом. + // 2. Проперти ТФК с нагревом металла и другими полезными проперти. + // 3. Материал из которого состоит объект. + // 4. Материал в который объект должен быть преобразован после разборки. + + processIngot(TagPrefix.ingot, tfcProperty, material, outputMaterial) + processBlocks(TagPrefix.block, tfcProperty, material, outputMaterial) + processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) + processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) + processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) + processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) + processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) + processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) + processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) + processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) + processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) + processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) + processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) + processImpureDust(TagPrefix.dustImpure, tfcProperty, material, outputMaterial) + processPurifiedDust(TagPrefix.dustPure, tfcProperty, material, outputMaterial) + processCrushedOre(TagPrefix.crushed, tfcProperty, material, outputMaterial) + processCrushedPurifiedOre(TagPrefix.crushedPurified, tfcProperty, material, outputMaterial) + processCrushedRefinedOre(TagPrefix.crushedRefined, tfcProperty, material, outputMaterial) + processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) + processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) + processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) + processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) + + processTFCArmor(tfcProperty, material, outputMaterial) + processTFCTools(tfcProperty, material, outputMaterial) //todo: Разделить на отдельные методы под каждый инструмент + + //todo: передавать еще и молд + (возможно тултайп?) + // processToolSword(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolPickaxe(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolAxe(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolShovel(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolHoe(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolKnife(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolMiningHammer(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolScythe(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolFile(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolHammer(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolSaw(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolButcheryKnife(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolSpade(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolPropick(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolJavelin(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolChisel(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolMace(TagPrefix.?, tfcProperty, material, outputMaterial) + + processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) + processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) + processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) + + processAnvils(TFGTagPrefix.anvil, tfcProperty, material, outputMaterial) + processUnfinishedLamp(TFGTagPrefix.lampUnfinished, tfcProperty, material, outputMaterial) + processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) + processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) + processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) + processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) + processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) + } }) + //#endregion - - //#region Рецепты для новых сплавов - + //#region Сплав красного камня event.recipes.tfc.alloy('tfg:red_alloy', [ TFC.alloyPart('tfg:redstone', 0.15, 0.25), TFC.alloyPart('tfc:copper', 0.75, 0.85) ]).id('tfg:alloy/red_alloy') + //#endregion + //#region Сплав олова 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 + +} + +const registerTFCRecipes1 = (event) => { + + + //#region Удаление рецептов для предметов из Cast Iron // Блок diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index e1ae8b45c..51f46268f 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -1057,7 +1057,3 @@ global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [ { input: 'tfc:plant/cranberry_bush', fluid_amount: 6000, output: '3x tfc:food/cranberry', name: 'cranberry' }, ]; -global.calcAmountOfMetal = (defaultAmount, percents) => { - const value = defaultAmount / (100 / percents) - return (value % 2 == 0) ? value : Math.round(value) - 1 -} \ No newline at end of file From c5ddc57895462e82532ca4beb8f43d93aadd9514 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 6 Sep 2024 10:19:05 +0700 Subject: [PATCH 033/266] split tool recipe gen in parts --- kubejs/server_scripts/tfc/recipes.js | 2103 +++++++++++++------------- 1 file changed, 1089 insertions(+), 1014 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 24d29aadc..0aa866f31 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -9,7 +9,7 @@ const registerTFCRecipes = (event) => { //#endregion //#region Крафты и раскрафты металлических предметов - const getFluidTankNBT = (material, amount) => { + const getFluidTankAsNBT = (material, amount) => { return { tank: { FluidName: Fluid.of(material.getFluid()).getId(), @@ -43,7 +43,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_fire_ingot`) event.recipes.create.filling( - Item.of('tfc:ceramic/ingot_mold', getFluidTankNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/ingot_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/ingot_mold').strongNBT() @@ -51,7 +51,7 @@ const registerTFCRecipes = (event) => { ).id(`tfg:tfc/filling/${material.getName()}_ingot`) event.recipes.create.filling( - Item.of('tfc:ceramic/fire_ingot_mold', getFluidTankNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/fire_ingot_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/fire_ingot_mold').strongNBT() @@ -124,75 +124,999 @@ const registerTFCRecipes = (event) => { .id(`tfc:welding/${material.getName()}_double_sheet`) } - const processTFCMetalBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { - const platedBlock = ChemicalHelper.get(tagPrefix, material, 1) - if (platedBlock.isEmpty()) return - - // Декрафт - event.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp()) + const processRods = (tagPrefix, tfcProperty, material, outputMaterial) => { + const rodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (rodItem.isEmpty()) return + + // Декрафт стержня в жидкость + 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`) + } + + const processLongRods = (tagPrefix, tfcProperty, material, outputMaterial) => { + const longRodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (longRodItem.isEmpty()) return + + // Декрафт длинного стержня в жидкость + event.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_long_rod`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержни -> Длинный стержень + event.recipes.tfc.welding(longRodItem, rodItem, rodItem) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_long_rod`) + } + + const processBolts = (tagPrefix, tfcProperty, material, outputMaterial) => { + const boltItem = ChemicalHelper.get(tagPrefix, material, 1) + if (boltItem.isEmpty()) return + + // Болт -> Металл + event.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) + .id(`tfc:heating/metal/${material.getName()}_bolt`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Болт + 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`) + } + + const processScrews = (tagPrefix, tfcProperty, material, outputMaterial) => { + const screwItem = ChemicalHelper.get(tagPrefix, material, 1) + if (screwItem.isEmpty()) return + + // Винт -> Металл + event.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/metal/${material.getName()}_screw`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Винт + event.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_screw`) + } + + const processRings = (tagPrefix, tfcProperty, material, outputMaterial) => { + const ringItem = ChemicalHelper.get(tagPrefix, material, 1) + if (ringItem.isEmpty()) return + + // Кольцо -> Металл + event.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) + .id(`tfc:heating/metal/${material.getName()}_ring`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Кольцо + event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_ring`) + } + + const processBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { + const blockItem = ChemicalHelper.get(tagPrefix, material, 1) + if (blockItem.isEmpty()) return + + // Декрафт блока в жидкость + event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) .id(`tfc:heating/metal/${material.getName()}_block`) + } + + const processTinyDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/tiny_dust/${material.getName()}`) + } + + const processSmallDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/small_dust/${material.getName()}`) + } + + const processDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(144, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/dust/${material.getName()}`) + } + + const processImpureDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(80, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/impure_dust/${material.getName()}`) + } + + const processPurifiedDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(120, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/purified_dust/${material.getName()}`) + } + + const processCrushedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(60, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_ore/${material.getName()}`) + } + + const processCrushedPurifiedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(90, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) + } + + const processCrushedRefinedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(110, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) + } + + const processRichRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/rich_raw/${material.getName()}`) + } + + const processNormalRawore = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/raw/${material.getName()}`) + } + + const processPoorRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/poor_raw/${material.getName()}`) + } + + const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { + const nuggetItem = ChemicalHelper.get(tagPrefix, material, 1) + if (nuggetItem.isEmpty()) return + + event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/nugget/${material.getName()}`) + } + + const processToolSword = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const swordItem = ToolHelper.get(toolType, 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`) + } + + const swordHeadItem = ChemicalHelper.get(headTagPrefix, 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, ingotDoubleItem, ['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`) + } + } + } + + const processToolPickaxe = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const pickaxeItem = ToolHelper.get(toolType, 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`) + + } + + const pickaxeHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + + } + } + + const processToolAxe = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const axeItem = ToolHelper.get(toolType, 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`) + + } + + const axeHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + } + } + + const processToolShovel = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/shovel/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const shovelItem = ToolHelper.get(toolType, 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`) + + } + + const shovelHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + + } + } + + const processToolHoe = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const hoeItem = ToolHelper.get(toolType, 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`) + } + + const hoeHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + + } + } + + const processToolKnife = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/knife/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const knifeItem = ToolHelper.get(toolType, 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`) + } + + const knifeHeadItem = ChemicalHelper.get(headTagPrefix, 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 + + } + } + + const processToolMiningHammer = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return + + // Декрафт инструмента в жидкость + const miningHammerItem = ToolHelper.get(toolType, 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`) + + } + + + const miningHammerHeadItem = ChemicalHelper.get(headTagPrefix, 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, ingotDoubleItem, ['punch_last', 'shrink_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) + + } + } + + const processToolScythe = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/scythe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const scytheItem = ToolHelper.get(toolType, 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`) + } + + const scytheHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + + } + } + + const processToolFile = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + const fileItem = ToolHelper.get(toolType, 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`) + } + + const fileHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + + } + } + + const processToolHammer = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/hammer/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const hammerItem = ToolHelper.get(toolType, 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`) + + } + + const hammerHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + + } + } + + const processToolSaw = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/saw/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const sawItem = ToolHelper.get(toolType, 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`) + + } + + const sawHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + + } + } + + const processToolButcheryKnife = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Декрафт инструмента в жидкость + const butcheryKnifeItem = ToolHelper.get(toolType, 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(headTagPrefix, 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, ingotItem, ['punch_last', 'bend_not_last', 'bend_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_knife_butchery_head`) + + } + } + + const processToolSpade = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return + + // Декрафт инструмента в жидкость + const spadeItem = ToolHelper.get(toolType, 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`) + + } + + const spadeHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!spadeHeadItem.isEmpty()) { + + // Крафт оголовья + event.recipes.tfc.anvil(spadeHeadItem, ingotDoubleItem, ['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`) + + } + } + + const processToolPropick = (headTagPrefix, tfcProperty, material, outputMaterial) => { + const propickItem = Item.of(`tfc:metal/propick/${material.getName()}`) + if (propickItem.isEmpty()) return + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(propickItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_propick`) + + const propickHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (propickHeadItem.isEmpty()) return; + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(propickHeadItem, 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(propickHeadItem, '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`) + } + } + + const processToolJavelin = (headTagPrefix, tfcProperty, material, outputMaterial) => { + const javelinItem = Item.of(`tfc:metal/javelin/${material.getName()}`) + if (javelinItem.isEmpty()) return + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(javelinItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_javelin`) + + const javelinHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (javelinHeadItem.isEmpty()) return + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(javelinHeadItem, 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(javelinHeadItem, '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`) + } + } + + const processToolChisel = (headTagPrefix, tfcProperty, material, outputMaterial) => { + const chiselItem = Item.of(`tfc:metal/chisel/${material.getName()}`) + if (chiselItem.isEmpty()) return + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(chiselItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_chisel`) + + const chiselHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (chiselHeadItem.isEmpty()) return + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(chiselHeadItem, 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(chiselHeadItem, '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`) + } + } + + const processToolMace = (headTagPrefix, tfcProperty, material, outputMaterial) => { + const maceItem = Item.of(`tfc:metal/mace/${material.getName()}`) + if (maceItem.isEmpty()) return + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(maceItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_mace`) + + const maceHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (maceHeadItem.isEmpty()) return + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(maceHeadItem, '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(maceHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_mace_head`) + } + + const processToolShield = (tfcProperty, material, outputMaterial) => { + const shieldItem = Item.of(`tfc:metal/shield/${material.getName()}`) + if (maceItem.isEmpty()) return + + // Декрафт щита в жидкость + event.recipes.tfc.heating(shieldItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_shield`) + + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return + + // Щит + event.recipes.tfc.anvil(shieldItem, plateDoubleItem, ['upset_last', 'bend_second_last', 'bend_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_shield`) + } + + const processToolFishingRod = (tfcProperty, material, outputMaterial) => { + const fishingRodItem = Item.of(`tfc:metal/fishing_rod/${material.getName()}`) + if (fishingRodItem.isEmpty()) return + + const fishingRodHeadItem = Item.of(`tfc:metal/fish_hook/${material.getName()}`) + if (fishingRodHeadItem.isEmpty()) return + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(fishingRodHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_fish_hook`) const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) if (plateItem.isEmpty()) return - // Крафт в ассемблере - event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_block`) - .itemInputs(plateItem.copyWithCount(4), '#minecraft:planks') - .itemOutputs(platedBlock) - .duration(300) - .EUt(8) + // Крюк удочки + event.recipes.tfc.anvil(fishingRodHeadItem, plateItem, ['draw_not_last', 'bend_any', 'hit_any']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_fish_hook`) + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(fishingRodItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_fishing_rod`) + } + + const processTuyere = (tfcProperty, material, outputMaterial) => { + const tuyereItem = Item.of(`tfc:metal/tuyere/${material.getName()}`) + if (fishingRodItem.isEmpty()) return + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(tuyereItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_tuyere`) + + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return + + // Фурма + event.recipes.tfc.anvil(tuyereItem, plateDoubleItem, ['bend_last', 'bend_second_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_tuyere`) } - const processTFCMetalStairs = (tagPrefix, tfcProperty, material, outputMaterial) => { - const platedStairBlock = ChemicalHelper.get(tagPrefix, material, 1) - if (platedStairBlock.isEmpty()) return + const processToolTongs = (tfcProperty, material, outputMaterial) => { + // const tongsStack = Item.of(`tfchotornot:tongs/${material.getName()}`) + // const tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`) - // Удаление рецепта через верстак - event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_stairs`}) + // if (tongsStack.isEmpty() && tongPartStack.isEmpty()) return - // Декрафт - event.recipes.tfc.heating(platedStairBlock, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 54)) - .id(`tfc:heating/metal/${material.getName()}_block_stairs`) - - const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) - if (platedBlock.isEmpty()) return - - // Крафт в каттере - event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_stairs`) - .itemInputs(platedBlock.copyWithCount(3)) - .itemOutputs(platedStairBlock) - .duration(300) - .EUt(8) - } - - const processTFCMetalSlabs = (tagPrefix, tfcProperty, material, outputMaterial) => { - const platedSlabBlock = ChemicalHelper.get(tagPrefix, material, 1) - if (platedSlabBlock.isEmpty()) return - - // Удаление рецепта через верстак - event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_slab`}) - - // Декрафт - event.recipes.tfc.heating(platedSlabBlock, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) - .id(`tfc:heating/metal/${material.getName()}_block_slab`) - - const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) - if (platedBlock.isEmpty()) return - - // Крафт в каттере - event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_slab`) - .itemInputs(platedBlock) - .itemOutputs(platedSlabBlock.copyWithCount(2)) - .duration(300) - .EUt(8) + // // Ручка щипцов + // 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()}`) } const processTFCArmor = (tfcProperty, material, outputMaterial) => { - if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) return - const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) if (plateItem.isEmpty()) return @@ -310,847 +1234,70 @@ const registerTFCRecipes = (event) => { //#endregion } - const processTFCTools = (tfcProperty, material, outputMaterial) => { - if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) return - - const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) - if (ingotItem.isEmpty()) return + const processTFCMetalBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedBlock.isEmpty()) return - const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) - if (ingotDoubleItem.isEmpty()) return + // Декрафт + event.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) + .id(`tfc:heating/metal/${material.getName()}_block`) const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) if (plateItem.isEmpty()) return - const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) - if (plateDoubleItem.isEmpty()) return - - //#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()}`, plateDoubleItem, ['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()}`, plateDoubleItem, ['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/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 - - //#region Меч - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) - - // Декрафт инструмента в жидкость - const 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`) - } - - const 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, ingotDoubleItem, ['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 Мясницкий нож - - // Декрафт инструмента в жидкость - const 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`) - - // Крафт оголовья - 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 Молот шахтера - - // Декрафт инструмента в жидкость - const 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`) - - } - - - const 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, ingotDoubleItem, ['punch_last', 'shrink_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) - - } - //#endregion - - //#region Большая лопата - - // Декрафт инструмента в жидкость - const 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`) - - } - - const spadeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material, 1) - if (!spadeHeadItem.isEmpty()) { - - // Крафт оголовья - event.recipes.tfc.anvil(spadeHeadItem, ingotDoubleItem, ['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 - - //#region Кирка - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - const 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`) - - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - } - - const 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 Напильник - - // Декрафт инструмента в жидкость - const 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`) - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - } - - const 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 - - //#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 + // Крафт в ассемблере + event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_block`) + .itemInputs(plateItem.copyWithCount(4), '#minecraft:planks') + .itemOutputs(platedBlock) + .duration(300) + .EUt(8) } - const processRods = (tagPrefix, tfcProperty, material, outputMaterial) => { - const rodItem = ChemicalHelper.get(tagPrefix, material, 1) - if (rodItem.isEmpty()) return - - // Декрафт стержня в жидкость - event.recipes.tfc.heating(rodItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) - .id(`tfc:heating/metal/${material.getName()}_rod`) + const processTFCMetalStairs = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedStairBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedStairBlock.isEmpty()) return - // Слиток -> 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`) + // Удаление рецепта через верстак + event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_stairs`}) + + // Декрафт + event.recipes.tfc.heating(platedStairBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 54)) + .id(`tfc:heating/metal/${material.getName()}_block_stairs`) + + const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) + if (platedBlock.isEmpty()) return + + // Крафт в каттере + event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_stairs`) + .itemInputs(platedBlock.copyWithCount(3)) + .itemOutputs(platedStairBlock) + .duration(300) + .EUt(8) } - const processLongRods = (tagPrefix, tfcProperty, material, outputMaterial) => { - const longRodItem = ChemicalHelper.get(tagPrefix, material, 1) - if (longRodItem.isEmpty()) return + const processTFCMetalSlabs = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedSlabBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedSlabBlock.isEmpty()) return - // Декрафт длинного стержня в жидкость - event.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_long_rod`) + // Удаление рецепта через верстак + event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_slab`}) - const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) - if (rodItem.isEmpty()) return - - // Стержни -> Длинный стержень - event.recipes.tfc.welding(longRodItem, rodItem, rodItem) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_long_rod`) - } - - const processBolts = (tagPrefix, tfcProperty, material, outputMaterial) => { - const boltItem = ChemicalHelper.get(tagPrefix, material, 1) - if (boltItem.isEmpty()) return - - // Болт -> Металл - event.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) - .id(`tfc:heating/metal/${material.getName()}_bolt`) - - const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) - if (rodItem.isEmpty()) return - - // Стержень -> Болт - 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`) - } - - const processScrews = (tagPrefix, tfcProperty, material, outputMaterial) => { - const screwItem = ChemicalHelper.get(tagPrefix, material, 1) - if (screwItem.isEmpty()) return - - // Винт -> Металл - event.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) - .id(`tfc:heating/metal/${material.getName()}_screw`) - - const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) - if (rodItem.isEmpty()) return - - // Стержень -> Винт - event.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_screw`) - } - - const processRings = (tagPrefix, tfcProperty, material, outputMaterial) => { - const ringItem = ChemicalHelper.get(tagPrefix, material, 1) - if (ringItem.isEmpty()) return - - // Кольцо -> Металл - event.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) + // Декрафт + event.recipes.tfc.heating(platedSlabBlock, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) - .id(`tfc:heating/metal/${material.getName()}_ring`) + .id(`tfc:heating/metal/${material.getName()}_block_slab`) - const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) - if (rodItem.isEmpty()) return + const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) + if (platedBlock.isEmpty()) return - // Стержень -> Кольцо - event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_ring`) - - - } - - const processBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { - const blockItem = ChemicalHelper.get(tagPrefix, material, 1) - if (blockItem.isEmpty()) return - - // Декрафт блока в жидкость - event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) - .id(`tfc:heating/metal/${material.getName()}_block`) + // Крафт в каттере + event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_slab`) + .itemInputs(platedBlock) + .itemOutputs(platedSlabBlock.copyWithCount(2)) + .duration(300) + .EUt(8) } const processAnvils = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -1324,7 +1471,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:heating/ore/small_${material.getName()}`) } - const processTFCSmallNativeOres = () => { + const processTFCSmallNativeOres = (tagPrefix, tfcProperty, material, outputMaterial) => { if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) return const oreItem = ChemicalHelper.get(tagPrefix, material, 1) @@ -1336,114 +1483,6 @@ const registerTFCRecipes = (event) => { .id(`tfc:heating/ore/small_native_${material.getName()}`) } - const processTinyDust = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/tiny_dust/${material.getName()}`) - } - - const processSmallDust = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/small_dust/${material.getName()}`) - } - - const processDust = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(144, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/dust/${material.getName()}`) - } - - const processImpureDust = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(80, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/impure_dust/${material.getName()}`) - } - - const processPurifiedDust = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(120, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/purified_dust/${material.getName()}`) - } - - const processCrushedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(60, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_ore/${material.getName()}`) - } - - const processCrushedPurifiedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(90, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) - } - - const processCrushedRefinedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(110, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) - } - - const processRichRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { - const oreItem = ChemicalHelper.get(tagPrefix, material, 1) - if (oreItem.isEmpty()) return - - event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/rich_raw/${material.getName()}`) - } - - const processNormalRawore = (tagPrefix, tfcProperty, material, outputMaterial) => { - const oreItem = ChemicalHelper.get(tagPrefix, material, 1) - if (oreItem.isEmpty()) return - - event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/raw/${material.getName()}`) - } - - const processPoorRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { - const oreItem = ChemicalHelper.get(tagPrefix, material, 1) - if (oreItem.isEmpty()) return - - event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/poor_raw/${material.getName()}`) - } - - const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { - const nuggetItem = ChemicalHelper.get(tagPrefix, material, 1) - if (nuggetItem.isEmpty()) return - - event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/nugget/${material.getName()}`) - } - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) @@ -1478,28 +1517,42 @@ const registerTFCRecipes = (event) => { processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) - processTFCArmor(tfcProperty, material, outputMaterial) - processTFCTools(tfcProperty, material, outputMaterial) //todo: Разделить на отдельные методы под каждый инструмент + // 1. Тип инструмента + // 2. Префикс ассоциируемый с текущим предметом. + // 3. Проперти ТФК с нагревом металла и другими полезными проперти. + // 4. Материал из которого состоит объект. + // 5. Материал в который объект должен быть преобразован после разборки. - //todo: передавать еще и молд + (возможно тултайп?) - // processToolSword(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolPickaxe(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolAxe(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolShovel(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolHoe(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolKnife(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolMiningHammer(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolScythe(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolFile(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolHammer(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolSaw(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolButcheryKnife(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolSpade(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolPropick(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolJavelin(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolChisel(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolMace(TagPrefix.?, tfcProperty, material, outputMaterial) + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, tfcProperty, material, outputMaterial) + processToolPickaxe(GTToolType.PICKAXE, TagPrefix.toolHeadPickaxe, tfcProperty, material, outputMaterial) + processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, tfcProperty, material, outputMaterial) + processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, tfcProperty, material, outputMaterial) + processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, tfcProperty, material, outputMaterial) + processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, tfcProperty, material, outputMaterial) + processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, tfcProperty, material, outputMaterial) + processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, tfcProperty, material, outputMaterial) // because sense dont make sense + processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, tfcProperty, material, outputMaterial) + processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, tfcProperty, material, outputMaterial) + processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, tfcProperty, material, outputMaterial) + processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, tfcProperty, material, outputMaterial) + processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, tfcProperty, material, outputMaterial) + + processToolPropick(TFGTagPrefix.toolHeadPropick, tfcProperty, material, outputMaterial) + processToolJavelin(TFGTagPrefix.toolHeadJavelin, tfcProperty, material, outputMaterial) + processToolChisel(TFGTagPrefix.toolHeadChisel, tfcProperty, material, outputMaterial) + processToolMace(TFGTagPrefix.toolHeadMace, tfcProperty, material, outputMaterial) + processToolShield(tfcProperty, material, outputMaterial) + processToolFishingRod(tfcProperty, material, outputMaterial) + processTuyere(tfcProperty, material, outputMaterial) + processToolTongs(tfcProperty, material, outputMaterial) + } + + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) { + processTFCArmor(tfcProperty, material, outputMaterial) + } + processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) @@ -1509,6 +1562,7 @@ const registerTFCRecipes = (event) => { processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) + processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) } @@ -1529,6 +1583,27 @@ const registerTFCRecipes = (event) => { ]).id('tfg:alloy/tin_alloy') //#endregion + + + + + + + + + + + + + + + + + + + + + } From e0d6c6dc2d11104e101c1b9cdda205f224f5594b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:40:56 +0700 Subject: [PATCH 034/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index 4d74e79d6..8ed275bd6 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 4d74e79d696bd7818627463a1fce31f47e95d7c5 +Subproject commit 8ed275bd64b0ebeeefc5e6bcc0f50e06a5b32776 From 1b70f96a165fdd2670ea38ff91660ffb0a8ce88b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:40:59 +0700 Subject: [PATCH 035/266] Update CHANGELOG.md --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31b330bc4..030c24011 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,14 @@ - True way to hide AE2 facades. - True way to hide chisel and bits bits, yes. - Fix double removing honey liquid from EMI. +- Fixed bug when foods cant root inside EMI (of course not by mod dev (by myself)). +- Now it is impossible to pour liquid from the TFC blast furnace into the GT pipe, which fixes the releated crash. +- Fixed a bug where an item with the last durab broke the ore, then the ore did not dropped out. +- Added recipes for crushing raw ores to crushed ores by workbench. +- Fixed bug when electronic tools run out their durability, the tool breaks up without returning any power unit. +- Alternator multiblock now works as intended. +- Alternator recipes was sligthly nerfed. +- Fixed bug when some items wont display inside EMI. - ... ### Updated mods - ?? From 9784569b3098cc86bf2c44703bb7cc59484f6e25 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:41:06 +0700 Subject: [PATCH 036/266] Delete loot.js --- kubejs/server_scripts/gregtech/loot.js | 55 -------------------------- 1 file changed, 55 deletions(-) delete mode 100644 kubejs/server_scripts/gregtech/loot.js diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/gregtech/loot.js deleted file mode 100644 index cff2cc129..000000000 --- a/kubejs/server_scripts/gregtech/loot.js +++ /dev/null @@ -1,55 +0,0 @@ -// priority: 0 - -const registerGregTechLoots = (event) => { - - global.TFC_STONE_TYPES.forEach(stoneTypeName => { - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - if (material.hasProperty(PropertyKey.ORE)) { - - let stoneTypeMaterial = TFGHelpers.getMaterial(stoneTypeName) - let stoneTypeDust = null - - if (stoneTypeMaterial != null) stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1) - - let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) - let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) - let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) - - let crushedOre = ChemicalHelper.get(TagPrefix.crushed, material, 1) - - let blockName = `gtceu:${stoneTypeName}_${material.getName()}_ore` - - 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)) - ) - } - - if (!crushedOre.isEmpty()) { - event.addBlockLootModifier(blockName) - .matchMainHand('#forge:tools/hammers') - .removeLoot(Ingredient.all) - .addWeightedLoot([ - crushedOre.withChance(0.8), - crushedOre.withCount(2).withChance(0.2) - ]); - } - - - } - }) - }) - -} From 7bbf663f1a141fb55475f8ad754ff699219dc75d Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:41:10 +0700 Subject: [PATCH 037/266] Update main_server_script.js --- kubejs/server_scripts/main_server_script.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index ce4d0dacf..2dcc8450c 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -137,9 +137,7 @@ ServerEvents.recipes(event => { * Событие регистрации лут-тейблов. * Срабатывает до инициализации рецептов, но после датапаков и тегов. */ -LootJS.modifiers((event) => { - registerGregTechLoots(event) -}) +LootJS.modifiers((event) => {}) /** * Событие регистрации рудных жил GregTech. From 3510c8769a0f3af7da5bda7c71aa7f0a66f042f2 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:41:45 +0700 Subject: [PATCH 038/266] restore some alternator recipes --- kubejs/server_scripts/gregtech/recipes.js | 59 +++++++++++------------ 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 8ad19b931..12508885a 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1,7 +1,36 @@ // priority: 0 const registerGregTechRecipes = (event) => { + + //#region Рецепты электрического генератора + event.recipes.gtceu.alternator('32_rpm_to_32_eu') + .inputStress(256) + .circuit(0) + .rpm(32) + .duration(2) + .EUt(-32) + event.recipes.gtceu.alternator('64_rpm_to_48_eu') + .inputStress(256) + .circuit(1) + .rpm(64) + .duration(2) + .EUt(-48) + + event.recipes.gtceu.alternator('128_rpm_to_64_eu') + .inputStress(256) + .circuit(2) + .rpm(128) + .duration(2) + .EUt(-64) + + event.recipes.gtceu.alternator('256_rpm_to_96_eu') + .inputStress(256) + .circuit(3) + .rpm(256) + .duration(2) + .EUt(-96) + //#endregion } const registerGregTechRecipes1 = (event) => { @@ -1215,37 +1244,7 @@ const registerGregTechRecipes1 = (event) => { //#endregion - //#region Рецепты электрического генератора - event.recipes.gtceu.alternator('32_rpm_to_32_eu') - .inputStress(256) - .circuit(0) - .rpm(32) - .duration(2) - .EUt(-32) - - event.recipes.gtceu.alternator('64_rpm_to_48_eu') - .inputStress(256) - .circuit(1) - .rpm(64) - .duration(2) - .EUt(-48) - - event.recipes.gtceu.alternator('128_rpm_to_64_eu') - .inputStress(256) - .circuit(2) - .rpm(128) - .duration(2) - .EUt(-64) - - event.recipes.gtceu.alternator('256_rpm_to_96_eu') - .inputStress(256) - .circuit(3) - .rpm(256) - .duration(2) - .EUt(-96) - - //#endregion //#region Выход: Фикс выработки пара на ведре лавы From 429aa8dae1578c90f67ccb6f41c9630562b4691a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:42:01 +0700 Subject: [PATCH 039/266] some refactoring of tfc recipes --- kubejs/server_scripts/tfc/recipes.js | 391 +++++++++++++++------------ 1 file changed, 220 insertions(+), 171 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 0aa866f31..a2d595ed7 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -300,6 +300,14 @@ const registerTFCRecipes = (event) => { event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/rich_raw/${material.getName()}`) + + const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedItem.isEmpty()) return + + event.shapeless(crushedItem.copyWithCount(2), [ + '#forge:tools/hammers', + oreItem + ]).id(`tfg:shapeless/rich_raw_${material.getName()}_to_crushed`) } const processNormalRawore = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -309,6 +317,14 @@ const registerTFCRecipes = (event) => { event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/raw/${material.getName()}`) + + const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedItem.isEmpty()) return + + event.shapeless(crushedItem, [ + '#forge:tools/hammers', + oreItem + ]).id(`tfg:shapeless/normal_raw_${material.getName()}_to_crushed`) } const processPoorRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -318,6 +334,15 @@ const registerTFCRecipes = (event) => { event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/poor_raw/${material.getName()}`) + + const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedItem.isEmpty()) return + + event.shapeless(crushedItem, [ + '#forge:tools/hammers', + oreItem, + oreItem + ]).id(`tfg:shapeless/poor_raw_${material.getName()}_to_crushed`) } const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -1420,8 +1445,32 @@ const registerTFCRecipes = (event) => { const chainItem = ChemicalHelper.get(tagPrefix, material, 1) if (chainItem.isEmpty()) return + // Декрафт цепи в жидкость + 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.gtceu.alloy_smelter(`tfg:${material.getName()}_chain_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('gtceu:chain_casting_mold') + .outputItems(barsItem.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + + // Крафт в солидифаере + event.recipes.gtceu.solidifier(`tfg:${material.getName()}_chain_from_fluid`) + .inputFluids(outputMaterial.getFluid(144)) + .notConsumable('gtceu:chain_casting_mold') + .outputItems(barsItem.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + } + + const processBars = (tagPrefix, tfcProperty, material, outputMaterial) => { + const barsItem = ChemicalHelper.get(tagPrefix, material, 1) + if (barsItem.isEmpty()) return + // Декрафт решетки в жидкость - event.recipes.tfc.heating(chainItem, tfcProperty.getMeltTemp()) + event.recipes.tfc.heating(barsItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) .id(`tfc:heating/metal/${material.getName()}_bars`) @@ -1429,7 +1478,7 @@ const registerTFCRecipes = (event) => { if (plateItem.isEmpty()) return // 8x Решетка - event.recipes.tfc.anvil(chainItem.copyWithCount(8), plateItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + event.recipes.tfc.anvil(barsItem.copyWithCount(8), plateItem, ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_bars`) @@ -1437,26 +1486,40 @@ const registerTFCRecipes = (event) => { if (plateDoubleItem.isEmpty()) return // 16x Решетка - event.recipes.tfc.anvil(chainItem.copyWithCount(16), plateDoubleItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + event.recipes.tfc.anvil(barsItem.copyWithCount(16), plateDoubleItem, ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_bars_double`) - const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) - if (ingotItem.isEmpty()) return + const rodtItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodtItem.isEmpty()) return - // Крафт в смелтере - event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_chain_from_ingots`) - .itemInputs(ingotItem) - .notConsumable('gtceu:chain_casting_mold') - .outputItems(chainItem.copyWithCount(9)) - .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) - - // Крафт в солидифаере - event.recipes.gtceu.solidifier(`tfg:${material.getName()}_chain_from_fluid`) - .inputFluids(outputMaterial.getFluid(144)) - .notConsumable('gtceu:chain_casting_mold') - .outputItems(chainItem.copyWithCount(9)) - .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + // Крафт в ассемблере + event.recipes.gtceu.assembler(`tfg:${material.getName()}_bars_from_rods`) + .itemInputs(rodtItem.withCount(3)) + .circuit(3) + .outputItems(barsItem.copyWithCount(4)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 8) + } + + const processBell = (tagPrefix, tfcProperty, material, outputMaterial) => { + if (!material.hasFlag(TFGMaterialFlags.GENERATE_BELL)) return + + const bellItem = ChemicalHelper.get(tagPrefix, material, 1) + + event.recipes.tfc.casting(bellItem, 'tfc:ceramic/bell_mold', outputMaterial.getFluid(144), 1) + .id(`tfc:casting/${material.getName()}_bell`) + + event.recipes.tfc.heating(bellItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(144)) + .id(`tfc:heating/${material.getName()}_bell`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/bell_mold', getFillingNBT(outputMaterial, 144)), + [ + outputMaterial.getFluid(144), + Item.of('tfc:ceramic/bell_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_bell_mold`) } const processTFCSmallOres = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -1495,27 +1558,27 @@ const registerTFCRecipes = (event) => { // 4. Материал в который объект должен быть преобразован после разборки. processIngot(TagPrefix.ingot, tfcProperty, material, outputMaterial) - processBlocks(TagPrefix.block, tfcProperty, material, outputMaterial) - processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) - processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) - processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) - processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) - processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) - processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) - processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) - processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) - processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) - processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) - processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) - processImpureDust(TagPrefix.dustImpure, tfcProperty, material, outputMaterial) - processPurifiedDust(TagPrefix.dustPure, tfcProperty, material, outputMaterial) - processCrushedOre(TagPrefix.crushed, tfcProperty, material, outputMaterial) - processCrushedPurifiedOre(TagPrefix.crushedPurified, tfcProperty, material, outputMaterial) - processCrushedRefinedOre(TagPrefix.crushedRefined, tfcProperty, material, outputMaterial) - processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) - processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) - processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) - processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) + // processBlocks(TagPrefix.block, tfcProperty, material, outputMaterial) + // processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) + // processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) + // processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) + // processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) + // processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) + // processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) + // processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) + // processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) + // processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) + // processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) + // processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) + // processImpureDust(TagPrefix.dustImpure, tfcProperty, material, outputMaterial) + // processPurifiedDust(TagPrefix.dustPure, tfcProperty, material, outputMaterial) + // processCrushedOre(TagPrefix.crushed, tfcProperty, material, outputMaterial) + // processCrushedPurifiedOre(TagPrefix.crushedPurified, tfcProperty, material, outputMaterial) + // processCrushedRefinedOre(TagPrefix.crushedRefined, tfcProperty, material, outputMaterial) + // processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) + // processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) + // processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) + // processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) // 1. Тип инструмента // 2. Префикс ассоциируемый с текущим предметом. @@ -1524,51 +1587,55 @@ const registerTFCRecipes = (event) => { // 5. Материал в который объект должен быть преобразован после разборки. if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, tfcProperty, material, outputMaterial) - processToolPickaxe(GTToolType.PICKAXE, TagPrefix.toolHeadPickaxe, tfcProperty, material, outputMaterial) - processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, tfcProperty, material, outputMaterial) - processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, tfcProperty, material, outputMaterial) - processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, tfcProperty, material, outputMaterial) - processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, tfcProperty, material, outputMaterial) - processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, tfcProperty, material, outputMaterial) - processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, tfcProperty, material, outputMaterial) // because sense dont make sense - processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, tfcProperty, material, outputMaterial) - processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, tfcProperty, material, outputMaterial) - processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, tfcProperty, material, outputMaterial) - processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, tfcProperty, material, outputMaterial) - processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, tfcProperty, material, outputMaterial) + // processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, tfcProperty, material, outputMaterial) + // processToolPickaxe(GTToolType.PICKAXE, TagPrefix.toolHeadPickaxe, tfcProperty, material, outputMaterial) + // processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, tfcProperty, material, outputMaterial) + // processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, tfcProperty, material, outputMaterial) + // processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, tfcProperty, material, outputMaterial) + // processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, tfcProperty, material, outputMaterial) + // processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, tfcProperty, material, outputMaterial) + // processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, tfcProperty, material, outputMaterial) // because sense dont make sense + // processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, tfcProperty, material, outputMaterial) + // processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, tfcProperty, material, outputMaterial) + // processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, tfcProperty, material, outputMaterial) + // processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, tfcProperty, material, outputMaterial) + // processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, tfcProperty, material, outputMaterial) - processToolPropick(TFGTagPrefix.toolHeadPropick, tfcProperty, material, outputMaterial) - processToolJavelin(TFGTagPrefix.toolHeadJavelin, tfcProperty, material, outputMaterial) - processToolChisel(TFGTagPrefix.toolHeadChisel, tfcProperty, material, outputMaterial) - processToolMace(TFGTagPrefix.toolHeadMace, tfcProperty, material, outputMaterial) + // processToolPropick(TFGTagPrefix.toolHeadPropick, tfcProperty, material, outputMaterial) + // processToolJavelin(TFGTagPrefix.toolHeadJavelin, tfcProperty, material, outputMaterial) + // processToolChisel(TFGTagPrefix.toolHeadChisel, tfcProperty, material, outputMaterial) + // processToolMace(TFGTagPrefix.toolHeadMace, tfcProperty, material, outputMaterial) - processToolShield(tfcProperty, material, outputMaterial) - processToolFishingRod(tfcProperty, material, outputMaterial) - processTuyere(tfcProperty, material, outputMaterial) - processToolTongs(tfcProperty, material, outputMaterial) + // processToolShield(tfcProperty, material, outputMaterial) + // processToolFishingRod(tfcProperty, material, outputMaterial) + // processTuyere(tfcProperty, material, outputMaterial) + // processToolTongs(tfcProperty, material, outputMaterial) } if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) { - processTFCArmor(tfcProperty, material, outputMaterial) + // processTFCArmor(tfcProperty, material, outputMaterial) } - processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) - processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) - processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) + // processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) + // processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) + // processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) - processAnvils(TFGTagPrefix.anvil, tfcProperty, material, outputMaterial) - processUnfinishedLamp(TFGTagPrefix.lampUnfinished, tfcProperty, material, outputMaterial) - processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) - processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) - processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) + // processAnvils(TFGTagPrefix.anvil, tfcProperty, material, outputMaterial) + // processUnfinishedLamp(TFGTagPrefix.lampUnfinished, tfcProperty, material, outputMaterial) + // processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) + // processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) + // processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) + // processBars(TFGTagPrefix.bars, tfcProperty, material, outputMaterial) + // processBell(TFGTagPrefix.bell, tfcProperty, material, outputMaterial) - processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) - processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) + // processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) + // processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) } }) //#endregion + //#region Новые сплавы + //#region Сплав красного камня event.recipes.tfc.alloy('tfg:red_alloy', [ TFC.alloyPart('tfg:redstone', 0.15, 0.25), @@ -1583,35 +1650,9 @@ const registerTFCRecipes = (event) => { ]).id('tfg:alloy/tin_alloy') //#endregion + //#endregion - - - - - - - - - - - - - - - - - - - - - -} - -const registerTFCRecipes1 = (event) => { - - - - //#region Удаление рецептов для предметов из Cast Iron + //#region Удаление рецептов для предметов из CastIron // Блок event.remove({ id: `tfc:crafting/metal/block/cast_iron` }) @@ -1659,144 +1700,124 @@ const registerTFCRecipes1 = (event) => { 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 машинах - // Сырая крица -> Укрепленная крица + //#region Сырая крица -> Укрепленная крица event.recipes.gtceu.forge_hammer('tfg/refined_bloom') .itemInputs('tfc:raw_iron_bloom') .itemOutputs('tfc:refined_iron_bloom') .duration(1000) .EUt(4) - // Укрепленная крица -> Слиток кованного железа + //todo: create + + //#endregion + + //#region Укрепленная крица -> Слиток кованного железа event.recipes.gtceu.forge_hammer('tfg/wrought_iron_ingot') .itemInputs('tfc:refined_iron_bloom') .itemOutputs('gtceu:wrought_iron_ingot') .duration(1000) .EUt(4) - // Чугун -> Высокоуглеродная сталь + //todo: create + + //#endregion + + //#region Чугун -> Высокоуглеродная сталь 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таль + //todo: create + + //#endregion + + //#region Высокоуглеродная сталь -> Cталь event.recipes.gtceu.forge_hammer('tfg/steel') .itemInputs('tfc:metal/ingot/high_carbon_steel') .itemOutputs('gtceu:steel_ingot') .duration(1000) .EUt(4) - // Высокоуглеродная черная сталь -> черная сталь + //todo: create + + //#endregion + + //#region Высокоуглеродная черная сталь -> черная сталь 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) - // Высокоуглеродная синяя сталь -> синяя сталь + //todo: create + + //#endregion + + //#region Высокоуглеродная синяя сталь -> синяя сталь 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) - // Высокоуглеродная красная сталь -> красная сталь + //todo: create + + //#endregion + + //#region Высокоуглеродная красная сталь -> красная сталь 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) - // Слабая сталь + Чугун -> Высокоуглеродная черная сталь + //todo: create + + //#endregion + + //#region Слабая сталь + Чугун -> Высокоуглеродная черная сталь 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) - // Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь + //todo: create + + //#endregion + + + //#region Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь 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) - // Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь + //todo: create + + //#endregion + + + //#region Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь 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) + //todo: create + //#endregion + //#endregion + //#region Фикс рецептов металлических предметов // Рецепт Jacks @@ -1868,6 +1889,34 @@ const registerTFCRecipes1 = (event) => { //#endregion + + + + + + + + + + + + + + +} + +const registerTFCRecipes1 = (event) => { + + + + + + + + + + + //#endregion //#region Земля From d5f80da91df19526c7e578118f0b1cc06e7d93fa Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:42:04 +0700 Subject: [PATCH 040/266] Update tags.js --- kubejs/server_scripts/tfc/tags.js | 72 ++++++++++++++++++------------- 1 file changed, 41 insertions(+), 31 deletions(-) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 9d74ed011..5069ac6bb 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -256,7 +256,6 @@ const registerTFCBlockTags = (event) => { }) //#endregion - //#region Отключение ломания блоков установленных на полу event.add('tfcdesirepaths:trample_blacklist', 'tfc:placed_item') //#endregion @@ -402,7 +401,9 @@ const registerTFCFluidTags = (event) => { //#endregion //#region Удаляем TFC металлы из формы колокола - //todo: + event.remove('tfc:usable_in_bell_mold', "tfc:metal/bronze") + event.remove('tfc:usable_in_bell_mold', "tfc:metal/gold") + event.remove('tfc:usable_in_bell_mold', "tfc:metal/brass") //#endregion //#region Добавляем GregTech металлы в формы оголовья @@ -413,7 +414,10 @@ const registerTFCFluidTags = (event) => { //#endregion //#region Удаляем TFC металлы из формы оголовья - //todo: + event.add('tfc:usable_in_tool_head_mold', 'tfc:metal/copper') + event.add('tfc:usable_in_tool_head_mold', 'tfc:metal/bismuth_bronze') + event.add('tfc:usable_in_tool_head_mold', 'tfc:metal/black_bronze') + event.add('tfc:usable_in_tool_head_mold', 'tfc:metal/bronze') //#endregion //#region Добавляем жидкости в чашу @@ -439,34 +443,40 @@ const registerTFCFluidTags = (event) => { //#endregion //#region Скрываем неиспользуемые жидкости - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bismuth') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bismuth_bronze') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bronze') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/black_bronze') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/brass') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/copper') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/gold') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/nickel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/rose_gold') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/silver') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/tin') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/zinc') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/sterling_silver') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/wrought_iron') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/black_steel') - 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 ALL_DISABLED_FLUIDS = [ + 'tfc:metal/bismuth', + 'tfc:metal/bismuth_bronze', + 'tfc:metal/bronze', + 'tfc:metal/black_bronze', + 'tfc:metal/brass', + 'tfc:metal/copper', + 'tfc:metal/gold', + 'tfc:metal/nickel', + 'tfc:metal/rose_gold', + 'tfc:metal/silver', + 'tfc:metal/tin', + 'tfc:metal/zinc', + 'tfc:metal/sterling_silver', + 'tfc:metal/wrought_iron', + 'tfc:metal/steel', + 'tfc:metal/black_steel', + 'tfc:metal/red_steel', + 'tfc:metal/blue_steel', + 'tfc:metal/cast_iron', + 'tfc:metal/pig_iron', + 'tfc:metal/high_carbon_steel', + 'tfc:metal/high_carbon_black_steel', + 'tfc:metal/high_carbon_red_steel', + 'tfc:metal/high_carbon_blue_steel', + 'tfc:metal/weak_steel', + 'tfc:metal/weak_red_steel', + 'tfc:metal/weak_blue_steel', + 'tfc:metal/unknown' + ] + + ALL_DISABLED_FLUIDS.forEach(fluid => { + event.add('c:hidden_from_recipe_viewers', fluid) + }) //#endregion } From 8498ab36b87d969e282bf7c7320ef6bd0630b474 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:42:13 +0700 Subject: [PATCH 041/266] small fix for alternator --- kubejs/startup_scripts/gregtech/machines.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/gregtech/machines.js b/kubejs/startup_scripts/gregtech/machines.js index f8d48cda3..a631a5555 100644 --- a/kubejs/startup_scripts/gregtech/machines.js +++ b/kubejs/startup_scripts/gregtech/machines.js @@ -35,8 +35,9 @@ const registerGregTechMachines = (event) => { .pattern(definition => FactoryBlockPattern.start() .aisle("CWC", "CWC", "#W#") .aisle("CWC", "K#E", "CWC") - .aisle("CWC", "CWA", "#W#") + .aisle("CWI", "CWA", "#W#") .where('A', Predicates.controller(Predicates.blocks(definition.get()))) + .where('I', Predicates.abilities(PartAbility.IMPORT_ITEMS).setExactLimit(1)) .where('W', Predicates.blocks(GTBlocks.COIL_CUPRONICKEL.get())) .where("C", Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get())) .where('#', Predicates.any()) From 56d8a5629da781c9882319109cb867d594993d79 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:53:05 +0700 Subject: [PATCH 042/266] oups --- kubejs/server_scripts/gregtech/recipes.js | 2 ++ kubejs/server_scripts/tfc/recipes.js | 40 ++++++++++++----------- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 12508885a..ad187f82b 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -3,6 +3,8 @@ const registerGregTechRecipes = (event) => { //#region Рецепты электрического генератора + + //todo: nerf event.recipes.gtceu.alternator('32_rpm_to_32_eu') .inputStress(256) .circuit(0) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index a2d595ed7..7d863da4f 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -23,6 +23,15 @@ const registerTFCRecipes = (event) => { return (value % 2 == 0) ? value : Math.round(value) - 1 } + const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { + const nuggetItem = ChemicalHelper.get(tagPrefix, material, 1) + if (nuggetItem.isEmpty()) return + + event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/nugget/${material.getName()}`) + } + const processIngot = (tagPrefix, tfcProperty, material, outputMaterial) => { const ingotItem = ChemicalHelper.get(tagPrefix, material, 1) if (ingotItem.isEmpty()) return @@ -75,6 +84,7 @@ const registerTFCRecipes = (event) => { event.recipes.tfc.welding(doubleIngotItem, ingotItem, ingotItem, tfcProperty.getTier() - 1) .id(`tfc:welding/${material.getName()}_double_ingot`) + // Рецепт через бендер event.recipes.gtceu.bender(`tfg:${material.getName()}_double_ingot`) .itemInputs(ingotItem.copyWithCount(2)) .circuit(6) @@ -99,11 +109,11 @@ const registerTFCRecipes = (event) => { .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_sheet`) - // Крафт в смолоте + // Крафт в молоте event.recipes.gtceu.forge_hammer(`tfg:${material.getName()}_plate_from_double_ingot`) - .inputItems(doubleIngotItem) - .outputItems(plateItem) - .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 4) + .itemInputs(doubleIngotItem) + .itemOutputs(plateItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) } const processDoublePlate = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -345,15 +355,6 @@ const registerTFCRecipes = (event) => { ]).id(`tfg:shapeless/poor_raw_${material.getName()}_to_crushed`) } - const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { - const nuggetItem = ChemicalHelper.get(tagPrefix, material, 1) - if (nuggetItem.isEmpty()) return - - event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/nugget/${material.getName()}`) - } - const processToolSword = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) if (ingotDoubleItem.isEmpty()) return @@ -1124,6 +1125,7 @@ const registerTFCRecipes = (event) => { } const processToolTongs = (tfcProperty, material, outputMaterial) => { + //todo: asd // const tongsStack = Item.of(`tfchotornot:tongs/${material.getName()}`) // const tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`) @@ -1557,16 +1559,17 @@ const registerTFCRecipes = (event) => { // 3. Материал из которого состоит объект. // 4. Материал в который объект должен быть преобразован после разборки. + processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) processIngot(TagPrefix.ingot, tfcProperty, material, outputMaterial) - // processBlocks(TagPrefix.block, tfcProperty, material, outputMaterial) - // processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) - // processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) - // processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) + processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) + processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) + processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) // processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) // processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) // processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) // processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) // processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) + // processBlock(TagPrefix.block, tfcProperty, material, outputMaterial) // processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) // processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) // processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) @@ -1578,8 +1581,7 @@ const registerTFCRecipes = (event) => { // processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) // processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) // processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) - // processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) - + // 1. Тип инструмента // 2. Префикс ассоциируемый с текущим предметом. // 3. Проперти ТФК с нагревом металла и другими полезными проперти. From 1597dbe056588dc7258c32e906d9414d16575f49 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 8 Sep 2024 00:34:08 +0700 Subject: [PATCH 043/266] more recipes --- kubejs/server_scripts/gregtech/recipes.js | 1447 ++++++++--------- kubejs/server_scripts/tfc/recipes.js | 233 +-- kubejs/startup_scripts/gregtech/blocks.js | 16 + kubejs/startup_scripts/gregtech/machines.js | 2 +- kubejs/startup_scripts/main_startup_script.js | 4 +- 5 files changed, 818 insertions(+), 884 deletions(-) create mode 100644 kubejs/startup_scripts/gregtech/blocks.js diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index ad187f82b..6a3b86995 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -2,6 +2,675 @@ const registerGregTechRecipes = (event) => { + //#region Крафты и раскрафты металлических предметов + const makeToolRecipe = (toolType, headTagPrefix, 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(toolHeadItem).copyForgingBonus(), ['#forge:rods/wooden', toolHeadItem]) + .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) + } + } + + const processToolSword = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolPickaxe = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolAxe = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolShovel = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolHoe = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolKnife = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolFile = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolSaw = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolSpade = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolMiningHammer = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolScythe = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolHammer = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolButcheryKnife = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + 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.shaped(toolItem, [ + ' A ', + 'BAB', + 'BBB' + ], { + A: usableItem, + B: '#tfc:rock/raw', + }).id(`gtceu:shaped/mortar_${material.getName()}`) + } + + const processNugget = (tagPrefix, material) => { + if (material != TFGMaterials.Unknown) return + + const item = ChemicalHelper.get(tagPrefix, material, 1) + if (item.isEmpty()) return + + event.remove({ id: `gtceu:alloy_smelter/alloy_smelt_${material.getName()}_to_nugget` }) + event.remove({ id: `gtceu:fluid_solidifier/solidify_${material.getName()}_to_nugget` }) + } + + const processIngot = (tagPrefix, material) => { + const ingotItem = 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.recipes.createPressing(plateStack.withChance(0.8), ingotItem) + .id(`tfg:pressing/${material.getName()}_plate`) + + if (!blockStack.isEmpty()) { + + // 9х Слиток -> Блок + event.recipes.createCompacting(blockStack, ingotItem.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 processRod = (tagPrefix, material) => { + const rodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (rodItem.isEmpty()) return + + const ingotItem = ChemicalHelper.get(tagPrefix, material, 1) + if (ingotItem.isEmpty()) return + + if (!material.hasFlag(MaterialFlags.GENERATE_ROD) || material == GTMaterials.Wood) return + if (ingotItem.isEmpty() || rodItem.isEmpty()) return + + // Прокатка стержней + event.custom({ + type: "createaddition:rolling", + input: ingotItem.toJson(), + result: rodItem.toJson() + }).id(`tfg:rolling/${material.getName()}_rod`) + } + + 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 processPoorRawOre = (tagPrefix, material) => { + const poorOreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (poorOreItem.isEmpty()) return + + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedOreItem.isEmpty()) return + + // Бедная сырая руда -> Дробленная руда (75%) + event.recipes.createCrushing([crushedOreItem.withChance(0.75)], poorOreItem) + .processingTime(200) + .id(`tfg:crushing/${material.getName()}_crushed_ore_from_poor_raw_ore`) + } + + const processNormalRawOre = (tagPrefix, material) => { + const normalOreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (normalOreItem.isEmpty()) return + + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedOreItem.isEmpty()) return + + // Нормальная сырая руда -> Дробленная руда + Дробленная руда (20%) + event.recipes.createCrushing([crushedOreItem, crushedOreItem.withChance(0.2)], normalOreItem) + .processingTime(200) + .id(`tfg:crushing/${material.getName()}_crushed_ore_from_normal_raw_ore`) + } + + const processRichRawOre = (tagPrefix, material) => { + const richOreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (richOreItem.isEmpty()) return + + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedOreItem.isEmpty()) return + + // Богатая сырая руда -> Дробленная руда + Дробленная руда (20%) + event.recipes.createCrushing([crushedOreItem, crushedOreItem, crushedOreItem.withChance(0.2)], richOreItem) + .processingTime(200) + .id(`tfg:crushing/${material.getName()}_crushed_ore_from_rich_raw_ore`) + } + + const processCrushedDust = (tagPrefix, material) => { + const crushedDustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (crushedDustItem.isEmpty()) return + + const pureDustItem = ChemicalHelper.get(TagPrefix.dustPure, material, 1) + if (pureDustItem.isEmpty()) return + + // Дробленная руда -> Очищенная руда (90%) + event.recipes.createSplashing(pureDustItem.withChance(0.9), crushedDustItem) + .id(`tfg:splashing/${material.getName()}_purified_ore`) + + // Дробленная руда -> Очищенная руда + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [ + crushedDustItem.toJson() + ], + result: pureDustItem.toJson() + }).id(`tfg:ae_transform/${material.getName()}_purified_ore`) + } + + const processImpureDust = (tagPrefix, material) => { + const impureDustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (impureDustItem.isEmpty()) return + + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) + if (dustItem.isEmpty()) return + + // Грязная пыль -> Пыль (90%) + event.recipes.createSplashing(dustItem.withChance(0.9), 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) + if (pureDust.isEmpty()) return + + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) + if (dustItem.isEmpty()) return + + // Очищенная пыль -> Пыль (90%) + event.recipes.createSplashing(dustItem.withChance(0.9), 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`) + } + + const processDust = (tagPrefix, material) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) + + if (!ingotItem.isEmpty()) { + event.recipes.createCrushing(dustItem, ingotItem) + .processingTime(250) + .id(`tfg:crushing/${material.getName()}_dust`) + } + + if (!gemItem.isEmpty()) { + event.recipes.createMilling(dustItem, gemItem) + .processingTime(200) + .id(`tfg:milling/${material.getName()}_dust`) + } + } + + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + const toolProperty = material.getProperty(PropertyKey.TOOL) + const ingotProperty = material.getProperty(PropertyKey.INGOT) + const oreProperty = material.getProperty(PropertyKey.ORE) + + if (toolProperty != null) { + processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, material) + processToolPickaxe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, material) + processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, material) + processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, material) + processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, material) + processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, material) + processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, material) + processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, material) + processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, material) + processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, material) + processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, material) + processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, material) + processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, material) + processToolMortar(GTToolType.MORTAR, material) + } + + if (ingotProperty != null) { + processNugget(TagPrefix.nugget, material) + processIngot(TagPrefix.ingot, material) + processPlate(TagPrefix.plate, material) + processPlateDouble(TagPrefix.plateDouble, material) + processBlock(TagPrefix.block, material) + processRod(TagPrefix.rod, material) + processRodLong(TagPrefix.rodLong, material) + } + + if (oreProperty != null) { + processPoorRawOre(TFGTagPrefix.poorRawOre, material) + processNormalRawOre(TagPrefix.rawOre, material) + processRichRawOre(TFGTagPrefix.richRawOre, material) + + processCrushedDust(TagPrefix.crushed, material) + processImpureDust(TagPrefix.dustImpure, material) + processPureDust(TagPrefix.dustPure, material) + processDust(TagPrefix.dust, material) + } + + }) + //#endregion + + //#region Раскрафт камня стоунтайпов + // Gabbro + event.recipes.gtceu.centrifuge(`tfg:gabbro_dust_separation`) + .itemInputs('tfg:gabbro_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Titanium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Iron, 3700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Shale + event.recipes.gtceu.centrifuge(`tfg:shale_dust_separation`) + .itemInputs('tfg:shale_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Sodium, 7500, 500) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1500, 500) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 16)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Claystone + event.recipes.gtceu.centrifuge(`tfg:claystone_dust_separation`) + .itemInputs('tfg:claystone_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Aluminium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Hematite, 6700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 5)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Limestone + event.recipes.gtceu.centrifuge(`tfg:limestone_dust_separation`) + .itemInputs('tfg:limestone_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 8700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 36)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Conglomerate + event.recipes.gtceu.centrifuge(`tfg:conglomerate_dust_separation`) + .itemInputs('tfg:conglomerate_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Hematite, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 4700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.TricalciumPhosphate, 3700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 5)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Dolomite + event.recipes.gtceu.centrifuge(`tfg:dolomite_dust_separation`) + .itemInputs('tfg:dolomite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Magnesium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 3700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 16)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Chert + event.recipes.gtceu.centrifuge(`tfg:chert_dust_separation`) + .itemInputs('tfg:chert_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 5700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 24)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Chalk + event.recipes.gtceu.centrifuge(`tfg:chalk_dust_separation`) + .itemInputs('tfg:chalk_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Carbon, 3700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 12)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Rhyolite + event.recipes.gtceu.centrifuge(`tfg:rhyolite_dust_separation`) + .itemInputs('tfg:rhyolite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 8700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 800, 700) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Dacite + event.recipes.gtceu.centrifuge(`tfg:dacite_dust_separation`) + .itemInputs('tfg:dacite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Sodium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 4700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Aluminium, 3700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 150, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 12)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Slate + event.recipes.gtceu.centrifuge(`tfg:slate_dust_separation`) + .itemInputs('tfg:slate_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 780, 480) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 6)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Phyllite + event.recipes.gtceu.centrifuge(`tfg:phyllite_dust_separation`) + .itemInputs('tfg:phyllite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Quartzite, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.CalciumChloride, 1700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 2)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Schist + event.recipes.gtceu.centrifuge(`tfg:schist_dust_separation`) + .itemInputs('tfg:schist_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Mica, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Talc, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Graphite, 4700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 780, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 12)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Gneiss + event.recipes.gtceu.centrifuge(`tfg:gneiss_dust_separation`) + .itemInputs('tfg:gneiss_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Quartzite, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Biotite, 3700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 2)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + //#endregion + + //#region Молды крафты, дубляжи + + // private static void registerExtruderMoldRecipes(Consumer provider) { + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_mining_hammer_head"), + // SHAPE_EXTRUDER_MINING_HAMMER_HEAD.asStack(), + // "Sfh", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_sword_head"), + // SHAPE_EXTRUDER_SWORD_HEAD.asStack(), + // "Shf", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_pickaxe_head"), + // SHAPE_EXTRUDER_PICKAXE_HEAD.asStack(), + // "S ", "hf ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_axe_head"), + // SHAPE_EXTRUDER_AXE_HEAD.asStack(), + // "S ", " fh", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_hoe_head"), + // SHAPE_EXTRUDER_HOE_HEAD.asStack(), + // "S ", " hf", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_scythe_head"), + // SHAPE_EXTRUDER_SCYTHE_HEAD.asStack(), + // "S ", " ", "fh ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_file_head"), + // SHAPE_EXTRUDER_FILE_HEAD.asStack(), + // "S ", " ", "hf ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_hammer_head"), + // SHAPE_EXTRUDER_HAMMER_HEAD.asStack(), + // "Sf ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_saw_head"), + // SHAPE_EXTRUDER_SAW_HEAD.asStack(), + // "Sh ", " f ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_knife_head"), + // SHAPE_EXTRUDER_KNIFE_HEAD.asStack(), + // "S f", " ", " h", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_butchery_head_head"), + // SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD.asStack(), + // "S h", " ", " f", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_shovel_head"), + // SHAPE_EXTRUDER_SHOVEL_HEAD.asStack(), + // "S ", "f ", "h ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_spade_head"), + // SHAPE_EXTRUDER_SPADE_HEAD.asStack(), + // "S ", "f ", " h", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_propick_head"), + // SHAPE_EXTRUDER_PROPICK_HEAD.asStack(), + // "Sxf", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_javelin_head"), + // SHAPE_EXTRUDER_JAVELIN_HEAD.asStack(), + // "S x", "f ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_chisel_head"), + // SHAPE_EXTRUDER_CHISEL_HEAD.asStack(), + // "S ", "xf ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_mace_head"), + // SHAPE_EXTRUDER_MACE_HEAD.asStack(), + // "S ", " xf", " ", 'S', SHAPE_EMPTY.asStack()); + // } + + // private static void registerCastingMoldRecipes(Consumer provider) { + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_unfinished_lamp"), + // SHAPE_MOLD_UNFINISHED_LAMP.asStack(), + // "Sh ", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_trapdoor"), + // SHAPE_MOLD_TRAPDOOR.asStack(), + // "S h", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_chain"), + // SHAPE_MOLD_CHAIN.asStack(), + // "S ", "h ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_bell"), + // SHAPE_MOLD_BELL.asStack(), + // "S ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); + // } + + //#endregion + + //#region оставшееся под разобрать + + // private static void registerExtruderMoldCopyingRecipes(Consumer provider) { + // for (var shapeMold : TFGItems.SHAPE_EXTRUDERS) { + // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get())) + // .duration(120).EUt(22) + // .notConsumable(shapeMold) + // .inputItems(SHAPE_EMPTY) + // .outputItems(shapeMold) + // .save(provider); + // } + // } + + // private static void registerCastingMoldCopyingRecipes(Consumer provider) { + // for (var shapeMold : TFGItems.SHAPE_MOLDS) { + // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get() + "_casting_mold")) + // .duration(120).EUt(22) + // .notConsumable(shapeMold) + // .inputItems(SHAPE_EMPTY) + // .outputItems(shapeMold) + // .save(provider); + // } + // } + + + // private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var ingotStack = ChemicalHelper.get(ingot, material); + // var doubleIngotStack = ChemicalHelper.get(prefix, material); + // + // EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) + // .EUt(VA[ULV]).duration((int) material.getMass()) + // .inputItems(doubleIngotStack) + // .outputFluids(material.getFluid(288)) + // .save(provider); + // + // MACERATOR_RECIPES.recipeBuilder(TFGCore.id("macerate_" + material.getName() + "_double_ingot")) + // .EUt(VA[ULV]).duration((int) material.getMass()) + // .inputItems(doubleIngotStack) + // .outputItems(dust, material, 2) + // .save(provider); + // } + + + // private static void processToolHead(TagPrefix prefix, Material material, ItemEntry extruderShape, int circuitValue, Consumer consumer) { + // var output = ChemicalHelper.get(prefix, material); + // if (output.isEmpty()) return; + // + // if (material.hasProperty(PropertyKey.INGOT)) { + // EXTRUDER_RECIPES.recipeBuilder(TFGCore.id("extrude_" + material.getName() + "_ingot_to_" + prefix.name().toLowerCase() + "_head")) + // .duration(12).EUt(32) + // .notConsumable(extruderShape) + // .inputItems(ingot, material, (int) (prefix.materialAmount() / GTValues.M)) + // .outputItems(output) + // .save(consumer); + // } else if (material.hasProperty(PropertyKey.GEM)) { + // LASER_ENGRAVER_RECIPES.recipeBuilder(TFGCore.id("engrave_" + material.getName() + "_gem_to_" + prefix.name().toLowerCase() + "_head")) + // .duration(12).EUt(32) + // .circuitMeta(circuitValue) + // .notConsumable(ChemicalHelper.get(TagPrefix.lens, Glass)) + // .inputItems(gem, material, (int) (prefix.materialAmount() / GTValues.M)) + // .outputItems(output) + // .save(consumer); + // } + // } + + + //#endregion + //#region Рецепты электрического генератора //todo: nerf @@ -1263,780 +1932,4 @@ const registerGregTechRecipes1 = (event) => { .itemOutputs('gtceu:sticky_resin') .duration(480) .EUt(7) - - - //#region Рецепты, которые итерируются по всем материалам - - 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) - - 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 - - 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 matAmount = TagPrefix.block.getMaterialAmount(material) / GTValues.M; - - if (material.hasProperty(PropertyKey.INGOT)) - { - if (!plateStack.isEmpty()) { - // Слиток -> Стержень - event.recipes.createPressing(plateStack.withChance(0.8), ingotStack) - .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 -} - - - - - - -// /** -// * Отключение рецепта генерации nugget'ов из слитков, если nugget'а нет. -// */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 3), remap = false) -// private static void tfg$processIngot$gtRecipeBuilder$save$nugget(GTRecipeBuilder instance, Consumer consumer, TagPrefix ingotPrefix, Material material, IngotProperty property) { -// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { -// instance.save(consumer); -// } -// } -// -// /** -// * В GT при добавлении предмета в output или input сразу проверяется empty ли он, -// * чтобы отключить рецепт не хватит просто его не сохранять в некоторых случаях. -// * Если output'а или input'а нет, то нужно будет еще задать условие и какой-то предмет который существует, -// * собственно это мы тут и делаем. -// */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;outputItems(Lcom/gregtechceu/gtceu/api/data/tag/TagPrefix;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;I)Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;", ordinal = 1), remap = false) -// private static GTRecipeBuilder tfg$processIngot$gtRecipeBuilder$outputItems(GTRecipeBuilder instance, TagPrefix orePrefix, Material material, int count) { -// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { -// instance.outputItems(TagPrefix.nugget, material, 9); -// } -// return instance; -// } -// -// /** -// * Отключение генерации рецептов: 2 слитка + молот = пластина (верстак). -// * */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 2), remap = false) -// private static void tfg$processIngot$addShapedRecipe$plate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} -// -// /** -// * Отключение генерации рецептов: 9 слитков -> блок. (Компрессор) -// */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 5), remap = false) -// private static void tfg$processIngot$gtRecipeBuilder$save$block(GTRecipeBuilder instance, Consumer consumer) {} - -// /** -// * Отключение генерации рецептов: 2 пластины + молот = двойная пластина (верстак). -// * */ -// @Redirect(method = "processPlateDouble", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V"), remap = false) -// private static void tfg$processPlateDouble$vanillaRecipeHelper$addShapedRecipe$doublePlate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} -// -// /** -// * Отключение генерации рецептов: 2 стержня + молот = длинный стержень (верстак). -// * */ -// @Redirect(method = "processLongStick", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 3), remap = false) -// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer provider, String regName, ItemStack result, Object[] recipe) {} - -//public static void init(Consumer provider) { - // registerTFCRockDecompositionRecipes(provider); - // registerExtruderMoldRecipes(provider); - // registerCastingMoldRecipes(provider); - // registerExtruderMoldCopyingRecipes(provider); - // registerCastingMoldCopyingRecipes(provider); - // registerProcessingToolHeadsRecipes(provider); - // registerTagPrefixHandlerRecipes(provider); - // } - - // private static void registerTFCRockDecompositionRecipes(Consumer provider) { - // // Gabbro - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("gabbro_dust_separation")) - // .EUt(VA[MV]).duration(480) - // .inputItems(dust, Gabbro) - // .chancedOutput(dustTiny, Titanium, 6700, 700) - // .chancedOutput(dustTiny, Iron, 3700, 700) - // .chancedOutput(dustTiny, MetalMixture, 1700, 700) - // .save(provider); - // - // // Shale - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("shale_dust_separation")) - // .EUt(VA[MV]).duration(480) - // .inputItems(dust, Shale) - // .chancedOutput(dustTiny, Sodium, 7500, 500) - // .chancedOutput(dustTiny, MetalMixture, 1500, 500) - // .outputFluids(Oxygen.getFluid(16)) - // .save(provider); - // - // // Claystone - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("claystone_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Claystone) - // .chancedOutput(dustTiny, Aluminium, 6700, 700) - // .chancedOutput(dustTiny, Silicon, 6700, 700) - // .chancedOutput(dustTiny, Hematite, 6700, 700) - // .outputFluids(Oxygen.getFluid(5)) - // .save(provider); - // - // // Limestone - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("limestone_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Limestone) - // .chancedOutput(dustTiny, Calcium, 8700, 700) - // .chancedOutput(dustTiny, MetalMixture, 1700, 700) - // .outputFluids(Oxygen.getFluid(36)) - // .save(provider); - // - // // Conglomerate - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("conglomerate_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Conglomerate) - // .chancedOutput(dustTiny, Hematite, 6700, 700) - // .chancedOutput(dustTiny, Silicon, 4700, 700) - // .chancedOutput(dustTiny, TricalciumPhosphate, 3700, 700) - // .outputFluids(Oxygen.getFluid(5)) - // .save(provider); - // - // // Dolomite - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("dolomite_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Dolomite) - // .chancedOutput(dustTiny, Magnesium, 6700, 700) - // .chancedOutput(dustTiny, Calcium, 5700, 700) - // .chancedOutput(dustTiny, MetalMixture, 3700, 700) - // .outputFluids(Oxygen.getFluid(16)) - // .save(provider); - // - // // Chert - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("chert_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Chert) - // .chancedOutput(dustTiny, Silicon, 6700, 700) - // .chancedOutput(dustTiny, MetalMixture, 5700, 700) - // .outputFluids(Oxygen.getFluid(24)) - // .save(provider); - // - // // Chalk - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("chalk_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Chalk) - // .chancedOutput(dustTiny, Calcium, 6700, 700) - // .chancedOutput(dustTiny, Carbon, 3700, 700) - // .chancedOutput(dustTiny, MetalMixture, 1700, 700) - // .outputFluids(Oxygen.getFluid(12)) - // .save(provider); - // - // // Rhyolite - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("rhyolite_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Rhyolite) - // .chancedOutput(dustTiny, SiliconDioxide, 8700, 700) - // .chancedOutput(dustTiny, MetalMixture, 800, 700) - // .save(provider); - // - // // Dacite - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("dacite_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Dacite) - // .chancedOutput(dustTiny, Sodium, 6700, 700) - // .chancedOutput(dustTiny, Calcium, 5700, 700) - // .chancedOutput(dustTiny, SiliconDioxide, 4700, 700) - // .chancedOutput(dustTiny, Aluminium, 3700, 700) - // .chancedOutput(dustTiny, MetalMixture, 150, 700) - // .outputFluids(Oxygen.getFluid(12)) - // .save(provider); - // - // // Slate - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("slate_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Slate) - // .chancedOutput(dustTiny, MetalMixture, 780, 480) - // .outputFluids(Oxygen.getFluid(6)) - // .save(provider); - // - // // Phyllite - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("phyllite_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Phyllite) - // .chancedOutput(dustTiny, Quartzite, 5700, 700) - // .chancedOutput(dustTiny, CalciumChloride, 1700, 700) - // .outputFluids(Oxygen.getFluid(2)) - // .save(provider); - // - // // Schist - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("schist_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Schist) - // .chancedOutput(dustTiny, Mica, 6700, 700) - // .chancedOutput(dustTiny, Talc, 5700, 700) - // .chancedOutput(dustTiny, Graphite, 4700, 700) - // .chancedOutput(dustTiny, MetalMixture, 780, 700) - // .outputFluids(Oxygen.getFluid(12)) - // .save(provider); - // - // // Gneiss - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("gneiss_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Gneiss) - // .chancedOutput(dustTiny, Quartzite, 6700, 700) - // .chancedOutput(dustTiny, Biotite, 3700, 700) - // .outputFluids(Oxygen.getFluid(2)) - // .save(provider); - // } - - // private static void registerExtruderMoldRecipes(Consumer provider) { - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_mining_hammer_head"), - // SHAPE_EXTRUDER_MINING_HAMMER_HEAD.asStack(), - // "Sfh", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_sword_head"), - // SHAPE_EXTRUDER_SWORD_HEAD.asStack(), - // "Shf", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_pickaxe_head"), - // SHAPE_EXTRUDER_PICKAXE_HEAD.asStack(), - // "S ", "hf ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_axe_head"), - // SHAPE_EXTRUDER_AXE_HEAD.asStack(), - // "S ", " fh", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_hoe_head"), - // SHAPE_EXTRUDER_HOE_HEAD.asStack(), - // "S ", " hf", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_scythe_head"), - // SHAPE_EXTRUDER_SCYTHE_HEAD.asStack(), - // "S ", " ", "fh ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_file_head"), - // SHAPE_EXTRUDER_FILE_HEAD.asStack(), - // "S ", " ", "hf ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_hammer_head"), - // SHAPE_EXTRUDER_HAMMER_HEAD.asStack(), - // "Sf ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_saw_head"), - // SHAPE_EXTRUDER_SAW_HEAD.asStack(), - // "Sh ", " f ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_knife_head"), - // SHAPE_EXTRUDER_KNIFE_HEAD.asStack(), - // "S f", " ", " h", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_butchery_head_head"), - // SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD.asStack(), - // "S h", " ", " f", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_shovel_head"), - // SHAPE_EXTRUDER_SHOVEL_HEAD.asStack(), - // "S ", "f ", "h ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_spade_head"), - // SHAPE_EXTRUDER_SPADE_HEAD.asStack(), - // "S ", "f ", " h", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_propick_head"), - // SHAPE_EXTRUDER_PROPICK_HEAD.asStack(), - // "Sxf", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_javelin_head"), - // SHAPE_EXTRUDER_JAVELIN_HEAD.asStack(), - // "S x", "f ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_chisel_head"), - // SHAPE_EXTRUDER_CHISEL_HEAD.asStack(), - // "S ", "xf ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_mace_head"), - // SHAPE_EXTRUDER_MACE_HEAD.asStack(), - // "S ", " xf", " ", 'S', SHAPE_EMPTY.asStack()); - // } - - // private static void registerCastingMoldRecipes(Consumer provider) { - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_unfinished_lamp"), - // SHAPE_MOLD_UNFINISHED_LAMP.asStack(), - // "Sh ", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_trapdoor"), - // SHAPE_MOLD_TRAPDOOR.asStack(), - // "S h", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_chain"), - // SHAPE_MOLD_CHAIN.asStack(), - // "S ", "h ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_bell"), - // SHAPE_MOLD_BELL.asStack(), - // "S ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); - // } - - // private static void registerExtruderMoldCopyingRecipes(Consumer provider) { - // for (var shapeMold : TFGItems.SHAPE_EXTRUDERS) { - // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get())) - // .duration(120).EUt(22) - // .notConsumable(shapeMold) - // .inputItems(SHAPE_EMPTY) - // .outputItems(shapeMold) - // .save(provider); - // } - // } - - // private static void registerCastingMoldCopyingRecipes(Consumer provider) { - // for (var shapeMold : TFGItems.SHAPE_MOLDS) { - // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get() + "_casting_mold")) - // .duration(120).EUt(22) - // .notConsumable(shapeMold) - // .inputItems(SHAPE_EMPTY) - // .outputItems(shapeMold) - // .save(provider); - // } - // } - - - - // private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var ingotStack = ChemicalHelper.get(ingot, material); - // var doubleIngotStack = ChemicalHelper.get(prefix, material); - // - // EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) - // .EUt(VA[ULV]).duration((int) material.getMass()) - // .inputItems(doubleIngotStack) - // .outputFluids(material.getFluid(288)) - // .save(provider); - // - // MACERATOR_RECIPES.recipeBuilder(TFGCore.id("macerate_" + material.getName() + "_double_ingot")) - // .EUt(VA[ULV]).duration((int) material.getMass()) - // .inputItems(doubleIngotStack) - // .outputItems(dust, material, 2) - // .save(provider); - // } - - - - - - - - // private static void proccessBell(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var bell = ChemicalHelper.get(prefix, material); - // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); - // - // - // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_bell_from_ingots")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 4) - // .inputItems(ingot, outputMaterial) - // .notConsumable(SHAPE_MOLD_BELL) - // .outputItems(bell) - // .save(provider); - // - // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_bell_from_fluid")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 4) - // .inputFluids(outputMaterial.getFluid(144)) - // .notConsumable(SHAPE_MOLD_BELL) - // .outputItems(bell) - // .save(provider); - // } - - // private static void processToolHead(TagPrefix prefix, Material material, ItemEntry extruderShape, int circuitValue, Consumer consumer) { - // var output = ChemicalHelper.get(prefix, material); - // if (output.isEmpty()) return; - // - // if (material.hasProperty(PropertyKey.INGOT)) { - // EXTRUDER_RECIPES.recipeBuilder(TFGCore.id("extrude_" + material.getName() + "_ingot_to_" + prefix.name().toLowerCase() + "_head")) - // .duration(12).EUt(32) - // .notConsumable(extruderShape) - // .inputItems(ingot, material, (int) (prefix.materialAmount() / GTValues.M)) - // .outputItems(output) - // .save(consumer); - // } else if (material.hasProperty(PropertyKey.GEM)) { - // LASER_ENGRAVER_RECIPES.recipeBuilder(TFGCore.id("engrave_" + material.getName() + "_gem_to_" + prefix.name().toLowerCase() + "_head")) - // .duration(12).EUt(32) - // .circuitMeta(circuitValue) - // .notConsumable(ChemicalHelper.get(TagPrefix.lens, Glass)) - // .inputItems(gem, material, (int) (prefix.materialAmount() / GTValues.M)) - // .outputItems(output) - // .save(consumer); - // } - // } - - - /** - * Замена ванильного камня в рецепте ступки на тфк камень. - */ -// @Redirect(method = "registerMortarRecipes", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V"), remap = false) -// private static void tfg$registerMortarRecipes$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// addToolRecipe(provider, material, GTToolType.MORTAR, false, -// " I ", "SIS", "SSS", -// 'I', new UnificationEntry(material.hasProperty(PropertyKey.GEM) ? TagPrefix.gem : TagPrefix.ingot, material), -// 'S', TFGTags.Items.RawRockBlocks); -// } - - /** - * Отключение рецептов MiningHammer, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 0), remap = false) -// private static void tfg$processMiningHammer$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer); -// else -// new TFGAdvancedShapedToolRecipeBuilder("mining_hammer_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadMiningHammer, material)) -// .output(ToolHelper.get(GTToolType.MINING_HAMMER, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Spade, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 1), remap = false) -// private static void processSpade$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.SPADE, TFGTagPrefix.toolHeadSpade); -// else -// new TFGAdvancedShapedToolRecipeBuilder("spade_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material)) -// .output(ToolHelper.get(GTToolType.SPADE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Saw, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 2), remap = false) -// private static void tfg$processSaw$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.SAW, TFGTagPrefix.toolHeadSaw); -// else -// new TFGAdvancedShapedToolRecipeBuilder("saw_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSaw, material)) -// .output(ToolHelper.get(GTToolType.SAW, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Axe, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 3), remap = false) -// private static void tfg$processAxe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.AXE, TFGTagPrefix.toolHeadAxe); -// else -// new TFGAdvancedShapedToolRecipeBuilder("axe_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadAxe, material)) -// .output(ToolHelper.get(GTToolType.AXE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Hoe, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 4), remap = false) -// private static void tfg$processHoe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.HOE, TFGTagPrefix.toolHeadHoe); -// else -// new TFGAdvancedShapedToolRecipeBuilder("hoe_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadHoe, material)) -// .output(ToolHelper.get(GTToolType.HOE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Pickaxe, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 5), remap = false) -// private static void tfg$processPickaxe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe); -// else -// new TFGAdvancedShapedToolRecipeBuilder("pickaxe_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadPickaxe, material)) -// .output(ToolHelper.get(GTToolType.PICKAXE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Scythe, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 6), remap = false) -// private static void tfg$processScythe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe); -// else -// new TFGAdvancedShapedToolRecipeBuilder("scythe_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadScythe, material)) -// .output(ToolHelper.get(GTToolType.SCYTHE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Shovel, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 7), remap = false) -// private static void tfg$processShovel$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel); -// else -// new TFGAdvancedShapedToolRecipeBuilder("shovel_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadShovel, material)) -// .output(ToolHelper.get(GTToolType.SHOVEL, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Sword, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 8), remap = false) -// private static void tfg$processSword$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.SWORD, TFGTagPrefix.toolHeadSword); -// else -// new TFGAdvancedShapedToolRecipeBuilder("sword_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material)) -// .output(ToolHelper.get(GTToolType.SWORD, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Hammer, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 9), remap = false) -// private static void tfg$processHardHammer$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer); -// else -// new TFGAdvancedShapedToolRecipeBuilder("hammer_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadHammer, material)) -// .output(ToolHelper.get(GTToolType.HARD_HAMMER, material)) -// .save(provider); -// } - - /** - * Отключение рецептов File, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 10), remap = false) -// private static void tfg$processFile$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.FILE, TFGTagPrefix.toolHeadFile); -// else -// new TFGAdvancedShapedToolRecipeBuilder("file_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadFile, material)) -// .output(ToolHelper.get(GTToolType.FILE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Knife, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 11), remap = false) -// private static void tfg$processKnife$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife); -// else -// new TFGAdvancedShapedToolRecipeBuilder("knife_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material)) -// .output(ToolHelper.get(GTToolType.KNIFE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов ButcheryKnife, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 13), remap = false) -// private static void tfg$processButcheryKnife$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife); -// else -// new TFGAdvancedShapedToolRecipeBuilder("butchery_knife_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadButcheryKnife, material)) -// .output(ToolHelper.get(GTToolType.BUTCHERY_KNIFE, material)) -// .save(provider); -// } - -// @Unique -// private static void tfg$addToolRecipe(Consumer provider, Material material, GTToolType toolType, TagPrefix tagPrefix) { -// addToolRecipe(provider, material, toolType, false, "H", "S", 'H', new UnificationEntry(tagPrefix, material), 'S', TFGTags.Items.WoodenSticks); -// } \ No newline at end of file +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 7d863da4f..40d0402b3 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -143,6 +143,9 @@ const registerTFCRecipes = (event) => { .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) .id(`tfc:heating/metal/${material.getName()}_rod`) + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + // Слиток -> 2 Стержня event.recipes.tfc.anvil(rodItem.withCount(2), ingotItem, ['bend_last', 'draw_second_last', 'draw_third_last']) .tier(tfcProperty.getTier()) @@ -221,14 +224,14 @@ const registerTFCRecipes = (event) => { .id(`tfc:anvil/${material.getName()}_ring`) } - const processBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { + const processBlock = (tagPrefix, tfcProperty, material, outputMaterial) => { const blockItem = ChemicalHelper.get(tagPrefix, material, 1) if (blockItem.isEmpty()) return // Декрафт блока в жидкость event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) - .id(`tfc:heating/metal/${material.getName()}_block`) + .id(`tfc:heating/metal/${material.getName()}_storage_block`) } const processTinyDust = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -308,7 +311,7 @@ const registerTFCRecipes = (event) => { if (oreItem.isEmpty()) return event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/rich_raw/${material.getName()}`) const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) @@ -325,7 +328,7 @@ const registerTFCRecipes = (event) => { if (oreItem.isEmpty()) return event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/raw/${material.getName()}`) const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) @@ -342,7 +345,7 @@ const registerTFCRecipes = (event) => { if (oreItem.isEmpty()) return event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/poor_raw/${material.getName()}`) const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) @@ -356,7 +359,7 @@ const registerTFCRecipes = (event) => { } const processToolSword = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { - const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + const ingotDoubleItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) if (ingotDoubleItem.isEmpty()) return // Крафт инструмента @@ -392,7 +395,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_sword_blade`) event.recipes.create.filling( - Item.of('tfc:ceramic/sword_blade_mold', getFillingNBT(outputMaterial, 288)), + Item.of('tfc:ceramic/sword_blade_mold', getFluidTankAsNBT(outputMaterial, 288)), [ Fluid.of(outputMaterial.getFluid(), 288), Item.of('tfc:ceramic/sword_blade_mold').strongNBT() @@ -440,7 +443,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_pickaxe_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/pickaxe_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/pickaxe_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/pickaxe_head_mold').strongNBT() @@ -488,7 +491,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_axe_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/axe_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/axe_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/axe_head_mold').strongNBT() @@ -536,7 +539,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_shovel_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/shovel_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/shovel_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/shovel_head_mold').strongNBT() @@ -583,7 +586,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_hoe_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/hoe_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/hoe_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/hoe_head_mold').strongNBT() @@ -630,7 +633,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_knife_blade`) event.recipes.create.filling( - Item.of('tfc:ceramic/knife_blade_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/knife_blade_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/knife_blade_mold').strongNBT() @@ -655,7 +658,7 @@ const registerTFCRecipes = (event) => { } const processToolMiningHammer = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { - const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + const ingotDoubleItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) if (ingotDoubleItem.isEmpty()) return // Декрафт инструмента в жидкость @@ -723,7 +726,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_scythe_blade`) event.recipes.create.filling( - Item.of('tfc:ceramic/scythe_blade_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/scythe_blade_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/scythe_blade_mold').strongNBT() @@ -801,7 +804,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_hammer_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/hammer_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/hammer_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/hammer_head_mold').strongNBT() @@ -850,7 +853,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_saw_blade`) event.recipes.create.filling( - Item.of('tfc:ceramic/saw_blade_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/saw_blade_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/saw_blade_mold').strongNBT() @@ -894,7 +897,7 @@ const registerTFCRecipes = (event) => { } const processToolSpade = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { - const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + const ingotDoubleItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) if (ingotDoubleItem.isEmpty()) return // Декрафт инструмента в жидкость @@ -949,7 +952,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_propick_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/propick_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/propick_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/propick_head_mold').strongNBT() @@ -982,7 +985,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_javelin_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/javelin_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/javelin_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/javelin_head_mold').strongNBT() @@ -1015,7 +1018,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_chisel_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/chisel_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/chisel_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/chisel_head_mold').strongNBT() @@ -1043,7 +1046,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_mace_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/mace_head_mold', getFillingNBT(outputMaterial, 288)), + Item.of('tfc:ceramic/mace_head_mold', getFluidTankAsNBT(outputMaterial, 288)), [ Fluid.of(outputMaterial.getFluid(), 288), Item.of('tfc:ceramic/mace_head_mold').strongNBT() @@ -1060,7 +1063,7 @@ const registerTFCRecipes = (event) => { const processToolShield = (tfcProperty, material, outputMaterial) => { const shieldItem = Item.of(`tfc:metal/shield/${material.getName()}`) - if (maceItem.isEmpty()) return + if (shieldItem.isEmpty()) return // Декрафт щита в жидкость event.recipes.tfc.heating(shieldItem, tfcProperty.getMeltTemp()) @@ -1107,7 +1110,7 @@ const registerTFCRecipes = (event) => { const processTuyere = (tfcProperty, material, outputMaterial) => { const tuyereItem = Item.of(`tfc:metal/tuyere/${material.getName()}`) - if (fishingRodItem.isEmpty()) return + if (tuyereItem.isEmpty()) return // Декрафт инструмента в жидкость event.recipes.tfc.heating(tuyereItem, tfcProperty.getMeltTemp()) @@ -1342,15 +1345,15 @@ const registerTFCRecipes = (event) => { // Крафт в смелтере event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_anvil_from_ingots`) .itemInputs(ingotItem.copyWithCount(14)) - .notConsumable('gtceu:anvil_casting_mold') - .outputItems(anvilItem) + .notConsumable('tfg:anvil_casting_mold') + .itemOutputs(anvilItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) // Крафт в солидифаере - event.recipes.gtceu.solidifier(`tfg:${material.getName()}_anvil_from_fluid`) - .inputFluids(outputMaterial.getFluid(2016)) - .notConsumable('gtceu:anvil_casting_mold') - .outputItems(anvilItem) + event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_anvil_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 2016)) + .notConsumable('tfg:anvil_casting_mold') + .itemOutputs(anvilItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) } @@ -1369,15 +1372,15 @@ const registerTFCRecipes = (event) => { // Крафт в смелтере event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_unfinished_lamp_from_ingots`) .itemInputs(ingotItem) - .notConsumable('gtceu:lamp_casting_mold') - .outputItems(lampUnfinishedItem) + .notConsumable('tfg:lamp_casting_mold') + .itemOutputs(lampUnfinishedItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) // Крафт в солидифаере - event.recipes.gtceu.solidifier(`tfg:${material.getName()}_unfinished_lamp_from_fluid`) - .inputFluids(outputMaterial.getFluid(144)) - .notConsumable('gtceu:lamp_casting_mold') - .outputItems(lampUnfinishedItem) + event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_unfinished_lamp_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) + .notConsumable('tfg:lamp_casting_mold') + .itemOutputs(lampUnfinishedItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) } @@ -1397,14 +1400,14 @@ const registerTFCRecipes = (event) => { event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp`) .itemInputs(lampUnfinishedItem, 'tfc:lamp_glass') .circuit(12) - .outputItems(lampItem) + .itemOutputs(lampItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 7) event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp_from_liquid`) .itemInputs(lampUnfinishedItem) .inputFluids(GTMaterials.Glass.getFluid(576)) .circuit(13) - .outputItems(lampItem) + .itemOutputs(lampItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) } @@ -1431,15 +1434,15 @@ const registerTFCRecipes = (event) => { // Крафт в смелтере event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_trapdoor_from_ingots`) .itemInputs(ingotItem) - .notConsumable('gtceu:trapdoor_casting_mold') - .outputItems(trapdoorItem) + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs(trapdoorItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) // Крафт в солидифаере - event.recipes.gtceu.solidifier(`tfg:${material.getName()}_trapdoor_from_fluid`) - .inputFluids(outputMaterial.getFluid(144)) - .notConsumable('gtceu:trapdoor_casting_mold') - .outputItems(trapdoorItem) + event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_trapdoor_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs(trapdoorItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) } @@ -1452,18 +1455,21 @@ const registerTFCRecipes = (event) => { .resultFluid(Fluid.of(outputMaterial.getFluid(), 9)) .id(`tfc:heating/metal/${material.getName()}_chain`) + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + // Крафт в смелтере event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_chain_from_ingots`) .itemInputs(ingotItem) - .notConsumable('gtceu:chain_casting_mold') - .outputItems(barsItem.copyWithCount(9)) + .notConsumable('tfg:chain_casting_mold') + .itemOutputs(chainItem.copyWithCount(9)) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) // Крафт в солидифаере - event.recipes.gtceu.solidifier(`tfg:${material.getName()}_chain_from_fluid`) - .inputFluids(outputMaterial.getFluid(144)) - .notConsumable('gtceu:chain_casting_mold') - .outputItems(barsItem.copyWithCount(9)) + event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_chain_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) + .notConsumable('tfg:chain_casting_mold') + .itemOutputs(chainItem.copyWithCount(9)) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) } @@ -1499,7 +1505,7 @@ const registerTFCRecipes = (event) => { event.recipes.gtceu.assembler(`tfg:${material.getName()}_bars_from_rods`) .itemInputs(rodtItem.withCount(3)) .circuit(3) - .outputItems(barsItem.copyWithCount(4)) + .itemOutputs(barsItem.copyWithCount(4)) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 8) } @@ -1508,20 +1514,37 @@ const registerTFCRecipes = (event) => { const bellItem = ChemicalHelper.get(tagPrefix, material, 1) - event.recipes.tfc.casting(bellItem, 'tfc:ceramic/bell_mold', outputMaterial.getFluid(144), 1) + event.recipes.tfc.casting(bellItem, 'tfc:ceramic/bell_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) .id(`tfc:casting/${material.getName()}_bell`) event.recipes.tfc.heating(bellItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(144)) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .id(`tfc:heating/${material.getName()}_bell`) event.recipes.create.filling( - Item.of('tfc:ceramic/bell_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/bell_mold', getFluidTankAsNBT(outputMaterial, 144)), [ - outputMaterial.getFluid(144), + Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/bell_mold').strongNBT() ] ).id(`tfg:tfc/filling/${material.getName()}_bell_mold`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт в смелтере + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_bell_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('tfg:bell_casting_mold') + .itemOutputs(bellItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 8) + + // Крафт в солидифаере + event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_bell_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) + .notConsumable('tfg:bell_casting_mold') + .itemOutputs(bellItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 8) } const processTFCSmallOres = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -1564,23 +1587,23 @@ const registerTFCRecipes = (event) => { processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) - // processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) - // processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) - // processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) - // processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) - // processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) - // processBlock(TagPrefix.block, tfcProperty, material, outputMaterial) - // processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) - // processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) - // processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) - // processImpureDust(TagPrefix.dustImpure, tfcProperty, material, outputMaterial) - // processPurifiedDust(TagPrefix.dustPure, tfcProperty, material, outputMaterial) - // processCrushedOre(TagPrefix.crushed, tfcProperty, material, outputMaterial) - // processCrushedPurifiedOre(TagPrefix.crushedPurified, tfcProperty, material, outputMaterial) - // processCrushedRefinedOre(TagPrefix.crushedRefined, tfcProperty, material, outputMaterial) - // processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) - // processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) - // processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) + processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) + processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) + processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) + processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) + processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) + processBlock(TagPrefix.block, tfcProperty, material, outputMaterial) + processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) + processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) + processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) + processImpureDust(TagPrefix.dustImpure, tfcProperty, material, outputMaterial) + processPurifiedDust(TagPrefix.dustPure, tfcProperty, material, outputMaterial) + processCrushedOre(TagPrefix.crushed, tfcProperty, material, outputMaterial) + processCrushedPurifiedOre(TagPrefix.crushedPurified, tfcProperty, material, outputMaterial) + processCrushedRefinedOre(TagPrefix.crushedRefined, tfcProperty, material, outputMaterial) + processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) + processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) + processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) // 1. Тип инструмента // 2. Префикс ассоциируемый с текущим предметом. @@ -1589,49 +1612,49 @@ const registerTFCRecipes = (event) => { // 5. Материал в который объект должен быть преобразован после разборки. if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - // processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, tfcProperty, material, outputMaterial) - // processToolPickaxe(GTToolType.PICKAXE, TagPrefix.toolHeadPickaxe, tfcProperty, material, outputMaterial) - // processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, tfcProperty, material, outputMaterial) - // processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, tfcProperty, material, outputMaterial) - // processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, tfcProperty, material, outputMaterial) - // processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, tfcProperty, material, outputMaterial) - // processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, tfcProperty, material, outputMaterial) - // processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, tfcProperty, material, outputMaterial) // because sense dont make sense - // processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, tfcProperty, material, outputMaterial) - // processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, tfcProperty, material, outputMaterial) - // processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, tfcProperty, material, outputMaterial) - // processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, tfcProperty, material, outputMaterial) - // processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, tfcProperty, material, outputMaterial) + processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, tfcProperty, material, outputMaterial) + processToolPickaxe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, tfcProperty, material, outputMaterial) + processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, tfcProperty, material, outputMaterial) + processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, tfcProperty, material, outputMaterial) + processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, tfcProperty, material, outputMaterial) + processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, tfcProperty, material, outputMaterial) + processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, tfcProperty, material, outputMaterial) + processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, tfcProperty, material, outputMaterial) // because sense dont make sense + processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, tfcProperty, material, outputMaterial) + processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, tfcProperty, material, outputMaterial) + processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, tfcProperty, material, outputMaterial) + processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, tfcProperty, material, outputMaterial) + processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, tfcProperty, material, outputMaterial) - // processToolPropick(TFGTagPrefix.toolHeadPropick, tfcProperty, material, outputMaterial) - // processToolJavelin(TFGTagPrefix.toolHeadJavelin, tfcProperty, material, outputMaterial) - // processToolChisel(TFGTagPrefix.toolHeadChisel, tfcProperty, material, outputMaterial) - // processToolMace(TFGTagPrefix.toolHeadMace, tfcProperty, material, outputMaterial) + processToolPropick(TFGTagPrefix.toolHeadPropick, tfcProperty, material, outputMaterial) + processToolJavelin(TFGTagPrefix.toolHeadJavelin, tfcProperty, material, outputMaterial) + processToolChisel(TFGTagPrefix.toolHeadChisel, tfcProperty, material, outputMaterial) + processToolMace(TFGTagPrefix.toolHeadMace, tfcProperty, material, outputMaterial) - // processToolShield(tfcProperty, material, outputMaterial) - // processToolFishingRod(tfcProperty, material, outputMaterial) - // processTuyere(tfcProperty, material, outputMaterial) - // processToolTongs(tfcProperty, material, outputMaterial) + processToolShield(tfcProperty, material, outputMaterial) + processToolFishingRod(tfcProperty, material, outputMaterial) + processTuyere(tfcProperty, material, outputMaterial) + processToolTongs(tfcProperty, material, outputMaterial) } if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) { - // processTFCArmor(tfcProperty, material, outputMaterial) + processTFCArmor(tfcProperty, material, outputMaterial) } - // processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) - // processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) - // processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) + processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) + processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) + processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) - // processAnvils(TFGTagPrefix.anvil, tfcProperty, material, outputMaterial) - // processUnfinishedLamp(TFGTagPrefix.lampUnfinished, tfcProperty, material, outputMaterial) - // processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) - // processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) - // processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) - // processBars(TFGTagPrefix.bars, tfcProperty, material, outputMaterial) - // processBell(TFGTagPrefix.bell, tfcProperty, material, outputMaterial) + processAnvils(TFGTagPrefix.anvil, tfcProperty, material, outputMaterial) + processUnfinishedLamp(TFGTagPrefix.lampUnfinished, tfcProperty, material, outputMaterial) + processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) + processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) + processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) + processBars(TFGTagPrefix.bars, tfcProperty, material, outputMaterial) + processBell(TFGTagPrefix.bell, tfcProperty, material, outputMaterial) - // processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) - // processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) + processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) + processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) } }) //#endregion diff --git a/kubejs/startup_scripts/gregtech/blocks.js b/kubejs/startup_scripts/gregtech/blocks.js new file mode 100644 index 000000000..1560d5128 --- /dev/null +++ b/kubejs/startup_scripts/gregtech/blocks.js @@ -0,0 +1,16 @@ +// priority: 0 + +const registerGregTechBlocks = (event) => { + + //todo: + event.create('tfg:copper_coil_block', 'gtceu:coil') + .temperature(500) + .level(0) + .energyDiscount(1) + .tier(0) + .coilMaterial(() => GTMaterials.get('copper')) + .texture('kubejs:block/example_block') + .hardness(2) + .requiresTool(true) + .material('metal') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/gregtech/machines.js b/kubejs/startup_scripts/gregtech/machines.js index a631a5555..3ccd4fa1f 100644 --- a/kubejs/startup_scripts/gregtech/machines.js +++ b/kubejs/startup_scripts/gregtech/machines.js @@ -38,7 +38,7 @@ const registerGregTechMachines = (event) => { .aisle("CWI", "CWA", "#W#") .where('A', Predicates.controller(Predicates.blocks(definition.get()))) .where('I', Predicates.abilities(PartAbility.IMPORT_ITEMS).setExactLimit(1)) - .where('W', Predicates.blocks(GTBlocks.COIL_CUPRONICKEL.get())) + .where('W', Predicates.blocks('tfg:copper_coil_block')) .where("C", Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get())) .where('#', Predicates.any()) .where('K', Predicates.abilities(PartAbility.INPUT_KINETIC).setExactLimit(1)) diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 6a5bf6fda..a52cbe931 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -10,7 +10,9 @@ StartupEvents.registry('item', event => { /** * Событие регистрации блоков. */ -StartupEvents.registry('block', event => {}) +StartupEvents.registry('block', event => { + registerGregTechBlocks(event) +}) /** * Событие изменения блоков. From ce75d49e301dce73b58550cc19d4b97e0ad0bef5 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 8 Sep 2024 00:34:20 +0700 Subject: [PATCH 044/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index 8ed275bd6..fa7ed02bb 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 8ed275bd64b0ebeeefc5e6bcc0f50e06a5b32776 +Subproject commit fa7ed02bb5ddb1c513a3e052b7e74a6a90496f53 From 1e2ad0858a77e5236dddfb0d2244228de2a09968 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:11:39 +0700 Subject: [PATCH 045/266] finish porting tfg-core recipes to kjs --- kubejs/server_scripts/gregtech/recipes.js | 522 ++++++++++-------- kubejs/startup_scripts/gregtech/constants.js | 27 + .../startup_scripts/gregtech/material_info.js | 35 +- 3 files changed, 344 insertions(+), 240 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 6a3b86995..34abd7538 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -3,7 +3,7 @@ const registerGregTechRecipes = (event) => { //#region Крафты и раскрафты металлических предметов - const makeToolRecipe = (toolType, headTagPrefix, material) => { + const makeToolRecipe = (toolType, headTagPrefix, extruderMold, cirucitMeta, material) => { const toolItem = ToolHelper.get(toolType, material) if (toolItem.isEmpty()) return @@ -20,58 +20,38 @@ const registerGregTechRecipes = (event) => { event.recipes.tfc.advanced_shapeless_crafting(TFC.itemStackProvider.of(toolHeadItem).copyForgingBonus(), ['#forge:rods/wooden', toolHeadItem]) .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) } + + processToolHead(toolType, headTagPrefix, extruderMold, cirucitMeta, material) } - const processToolSword = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } + const processToolHead = (headTagPrefix, extruderMold, cirucitMeta, material) => { + const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (toolHeadItem.isEmpty()) return - const processToolPickaxe = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } + if (material.hasProperty(PropertyKey.INGOT)) { - const processToolAxe = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return - const processToolShovel = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } + event.recipes.gtceu.extruder(`tfg:extrude_${material.getName()}_ingot_to_${headTagPrefix.name.toLowerCase()}_head`) + .inputItems(ingotItem.copyWithCount(Math.floor(toolHeadItem.materialAmount() / GTValues.M))) + .notConsumable(extruderMold) + .outputItems(toolHeadItem) + .duration(12).EUt(32) + + } else if (material.hasProperty(PropertyKey.GEM)) { - const processToolHoe = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) + if (gemItem.isEmpty()) return - const processToolKnife = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolFile = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolSaw = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolSpade = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolMiningHammer = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolScythe = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolHammer = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolButcheryKnife = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) + event.recipes.gtceu.extruder(`tfg:engrave_${material.getName()}_gem_to_${headTagPrefix.name.toLowerCase()}_head`) + .inputItems(gemItem.copyWithCount(Math.floor(toolHeadItem.materialAmount() / GTValues.M))) + .notConsumable(ChemicalHelper.get(TagPrefix.lens, GTMaterials.Glass, 1)) + .circuit(cirucitMeta) + .outputItems(toolHeadItem) + .duration(12).EUt(32) + } + // else: ignore :3 } const processToolMortar = (toolType, material) => { @@ -329,20 +309,26 @@ const registerGregTechRecipes = (event) => { const oreProperty = material.getProperty(PropertyKey.ORE) if (toolProperty != null) { - processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, material) - processToolPickaxe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, material) - processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, material) - processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, material) - processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, material) - processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, material) - processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, material) - processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, material) - processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, material) - processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, material) - processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, material) - processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, material) - processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, material) + 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) } if (ingotProperty != null) { @@ -490,184 +476,258 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) //#endregion - //#region Молды крафты, дубляжи + //#region Молды для экструдера + + // Меч + event.shaped('tfg:shape_extruder_sword_head', [ + 'ABC', + ' ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_sword_head') - // private static void registerExtruderMoldRecipes(Consumer provider) { - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_mining_hammer_head"), - // SHAPE_EXTRUDER_MINING_HAMMER_HEAD.asStack(), - // "Sfh", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_sword_head"), - // SHAPE_EXTRUDER_SWORD_HEAD.asStack(), - // "Shf", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_pickaxe_head"), - // SHAPE_EXTRUDER_PICKAXE_HEAD.asStack(), - // "S ", "hf ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_axe_head"), - // SHAPE_EXTRUDER_AXE_HEAD.asStack(), - // "S ", " fh", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_hoe_head"), - // SHAPE_EXTRUDER_HOE_HEAD.asStack(), - // "S ", " hf", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_scythe_head"), - // SHAPE_EXTRUDER_SCYTHE_HEAD.asStack(), - // "S ", " ", "fh ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_file_head"), - // SHAPE_EXTRUDER_FILE_HEAD.asStack(), - // "S ", " ", "hf ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_hammer_head"), - // SHAPE_EXTRUDER_HAMMER_HEAD.asStack(), - // "Sf ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_saw_head"), - // SHAPE_EXTRUDER_SAW_HEAD.asStack(), - // "Sh ", " f ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_knife_head"), - // SHAPE_EXTRUDER_KNIFE_HEAD.asStack(), - // "S f", " ", " h", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_butchery_head_head"), - // SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD.asStack(), - // "S h", " ", " f", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_shovel_head"), - // SHAPE_EXTRUDER_SHOVEL_HEAD.asStack(), - // "S ", "f ", "h ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_spade_head"), - // SHAPE_EXTRUDER_SPADE_HEAD.asStack(), - // "S ", "f ", " h", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_propick_head"), - // SHAPE_EXTRUDER_PROPICK_HEAD.asStack(), - // "Sxf", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_javelin_head"), - // SHAPE_EXTRUDER_JAVELIN_HEAD.asStack(), - // "S x", "f ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_chisel_head"), - // SHAPE_EXTRUDER_CHISEL_HEAD.asStack(), - // "S ", "xf ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_mace_head"), - // SHAPE_EXTRUDER_MACE_HEAD.asStack(), - // "S ", " xf", " ", 'S', SHAPE_EMPTY.asStack()); - // } - - // private static void registerCastingMoldRecipes(Consumer provider) { - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_unfinished_lamp"), - // SHAPE_MOLD_UNFINISHED_LAMP.asStack(), - // "Sh ", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_trapdoor"), - // SHAPE_MOLD_TRAPDOOR.asStack(), - // "S h", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_chain"), - // SHAPE_MOLD_CHAIN.asStack(), - // "S ", "h ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_bell"), - // SHAPE_MOLD_BELL.asStack(), - // "S ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); - // } + // Кирка + event.shaped('tfg:shape_extruder_pickaxe_head', [ + 'A ', + 'BC ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_pickaxe_head') + + // Топор + event.shaped('tfg:shape_extruder_axe_head', [ + 'A ', + ' BC', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_axe_head') + + + // Лопата + event.shaped('tfg:shape_extruder_shovel_head', [ + 'A ', + 'B ', + 'C ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_shovel_head') + + // Мотыга + event.shaped('tfg:shape_extruder_hoe_head', [ + 'A ', + 'CB ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_hoe_head') + + + // Молот + event.shaped('tfg:shape_extruder_hammer_head', [ + 'AB ', + ' C ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_hammer_head') + + // Пила + event.shaped('tfg:shape_extruder_saw_head', [ + 'AC ', + ' B ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_saw_head') + + // Нож + event.shaped('tfg:shape_extruder_knife_head', [ + 'A B', + ' ', + ' C' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_knife_head') + + // Напильник + event.shaped('tfg:shape_extruder_file_head', [ + 'A ', + ' ', + 'CB ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_file_head') + + // Коса + event.shaped('tfg:shape_extruder_scythe_head', [ + 'A ', + ' ', + 'BC ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_scythe_head') + + // Нож мясника + event.shaped('tfg:shape_extruder_butchery_knife_head', [ + 'A C', + ' ', + ' B' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_butchery_knife_head') + + // Молот шахтера + event.shaped('tfg:shape_extruder_mining_hammer_head', [ + 'ABC', + ' ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_mining_hammer_head') + + // Большая лопата + event.shaped('tfg:shape_extruder_spade_head', [ + 'A ', + 'B ', + ' C' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_spade_head') + + // Проспектор + event.shaped('tfg:shape_extruder_propick_head', [ + 'ACB', + ' ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/shape_extruder_propick_head') + + // Копье + event.shaped('tfg:shape_extruder_javelin_head', [ + 'A C', + 'B ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/shape_extruder_javelin_head') + + // Стамеска + event.shaped('tfg:shape_extruder_chisel_head', [ + 'A ', + 'CB ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/shape_extruder_chisel_head') + + // Бита + event.shaped('tfg:shape_extruder_mace_head', [ + 'A ', + ' BC', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/shape_extruder_mace_head') + + global.TFG_EXTRUDER_MOLDS.forEach(mold => { + event.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}`) + .itemInputs('gtceu:shape_empty') + .notConsumable(mold) + .itemOutputs(mold) + .EUt(22).duration(120) + + }) //#endregion - //#region оставшееся под разобрать + //#region Молды для отливки - // private static void registerExtruderMoldCopyingRecipes(Consumer provider) { - // for (var shapeMold : TFGItems.SHAPE_EXTRUDERS) { - // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get())) - // .duration(120).EUt(22) - // .notConsumable(shapeMold) - // .inputItems(SHAPE_EMPTY) - // .outputItems(shapeMold) - // .save(provider); - // } - // } - - // private static void registerCastingMoldCopyingRecipes(Consumer provider) { - // for (var shapeMold : TFGItems.SHAPE_MOLDS) { - // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get() + "_casting_mold")) - // .duration(120).EUt(22) - // .notConsumable(shapeMold) - // .inputItems(SHAPE_EMPTY) - // .outputItems(shapeMold) - // .save(provider); - // } - // } - - - // private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var ingotStack = ChemicalHelper.get(ingot, material); - // var doubleIngotStack = ChemicalHelper.get(prefix, material); - // - // EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) - // .EUt(VA[ULV]).duration((int) material.getMass()) - // .inputItems(doubleIngotStack) - // .outputFluids(material.getFluid(288)) - // .save(provider); - // - // MACERATOR_RECIPES.recipeBuilder(TFGCore.id("macerate_" + material.getName() + "_double_ingot")) - // .EUt(VA[ULV]).duration((int) material.getMass()) - // .inputItems(doubleIngotStack) - // .outputItems(dust, material, 2) - // .save(provider); - // } - - - // private static void processToolHead(TagPrefix prefix, Material material, ItemEntry extruderShape, int circuitValue, Consumer consumer) { - // var output = ChemicalHelper.get(prefix, material); - // if (output.isEmpty()) return; - // - // if (material.hasProperty(PropertyKey.INGOT)) { - // EXTRUDER_RECIPES.recipeBuilder(TFGCore.id("extrude_" + material.getName() + "_ingot_to_" + prefix.name().toLowerCase() + "_head")) - // .duration(12).EUt(32) - // .notConsumable(extruderShape) - // .inputItems(ingot, material, (int) (prefix.materialAmount() / GTValues.M)) - // .outputItems(output) - // .save(consumer); - // } else if (material.hasProperty(PropertyKey.GEM)) { - // LASER_ENGRAVER_RECIPES.recipeBuilder(TFGCore.id("engrave_" + material.getName() + "_gem_to_" + prefix.name().toLowerCase() + "_head")) - // .duration(12).EUt(32) - // .circuitMeta(circuitValue) - // .notConsumable(ChemicalHelper.get(TagPrefix.lens, Glass)) - // .inputItems(gem, material, (int) (prefix.materialAmount() / GTValues.M)) - // .outputItems(output) - // .save(consumer); - // } - // } + // Лампа + event.shaped('tfg:shape_mold_unfisnished_lamp', [ + 'AB ', + ' ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/hammers', + }).id('tfg:shaped/shape_mold_unfisnished_lamp') + // Люк + event.shaped('tfg:shape_mold_trapdoor', [ + 'A ', + ' ', + ' B' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/hammers', + }).id('tfg:shaped/shape_mold_trapdoor') + + // Цепь + event.shaped('tfg:shape_mold_chain', [ + 'A ', + 'B ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/hammers', + }).id('tfg:shaped/shape_mold_chain') + + // Колокол + event.shaped('tfg:shape_mold_bell', [ + 'A ', + ' B ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/hammers', + }).id('tfg:shaped/shape_mold_bell') + + global.TFG_CASTING_MOLDS.forEach(mold => { + event.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}_casting_mold`) + .itemInputs('gtceu:shape_empty') + .notConsumable(mold) + .itemOutputs(mold) + .EUt(22).duration(120) + + }) //#endregion diff --git a/kubejs/startup_scripts/gregtech/constants.js b/kubejs/startup_scripts/gregtech/constants.js index 95da95dae..b9c417ac7 100644 --- a/kubejs/startup_scripts/gregtech/constants.js +++ b/kubejs/startup_scripts/gregtech/constants.js @@ -52,4 +52,31 @@ global.GTCEU_HIDED_ITEMS = [ 'gtceu:netherrack_dust', 'gtceu:small_netherrack_dust', 'gtceu:tiny_netherrack_dust' +]; + +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' +]; + +global.TFG_CASTING_MOLDS = [ + 'tfg:lamp_casting_mold', + 'tfg:trapdoor_casting_mold', + 'tfg:chain_casting_mold', + 'tfg:bell_casting_mold' ]; \ No newline at end of file diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index f58f2c3b6..2c864c2d0 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -4,14 +4,14 @@ const registerGregTechMaterialInfo = (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`) + // 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`) }) // Сундуки @@ -34,4 +34,21 @@ const registerGregTechMaterialInfo = (event) => { // event.remove("minecraft:acacia_planks"); // event.add("minecraft:acacia_planks", b); -}; +} + +// private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { +// var ingotStack = ChemicalHelper.get(ingot, material); +// var doubleIngotStack = ChemicalHelper.get(prefix, material); +// +// EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) +// .EUt(VA[ULV]).duration((int) material.getMass()) +// .inputItems(doubleIngotStack) +// .outputFluids(material.getFluid(288)) +// .save(provider); +// +// MACERATOR_RECIPES.recipeBuilder(TFGCore.id("macerate_" + material.getName() + "_double_ingot")) +// .EUt(VA[ULV]).duration((int) material.getMass()) +// .inputItems(doubleIngotStack) +// .outputItems(dust, material, 2) +// .save(provider); +// } From fcd680fc7f9b1c8e9d9135adfe14a5f3c650958a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:31:54 +0700 Subject: [PATCH 046/266] -5iq. sorryy --- kubejs/server_scripts/gregtech/recipes.js | 144 +++++++++++----------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 34abd7538..a691386d2 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -21,7 +21,7 @@ const registerGregTechRecipes = (event) => { .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) } - processToolHead(toolType, headTagPrefix, extruderMold, cirucitMeta, material) + processToolHead(headTagPrefix, extruderMold, cirucitMeta, material) } const processToolHead = (headTagPrefix, extruderMold, cirucitMeta, material) => { @@ -33,10 +33,10 @@ const registerGregTechRecipes = (event) => { const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) if (ingotItem.isEmpty()) return - event.recipes.gtceu.extruder(`tfg:extrude_${material.getName()}_ingot_to_${headTagPrefix.name.toLowerCase()}_head`) - .inputItems(ingotItem.copyWithCount(Math.floor(toolHeadItem.materialAmount() / GTValues.M))) + 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) - .outputItems(toolHeadItem) + .itemOutputs(toolHeadItem) .duration(12).EUt(32) } else if (material.hasProperty(PropertyKey.GEM)) { @@ -44,11 +44,11 @@ const registerGregTechRecipes = (event) => { const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) if (gemItem.isEmpty()) return - event.recipes.gtceu.extruder(`tfg:engrave_${material.getName()}_gem_to_${headTagPrefix.name.toLowerCase()}_head`) - .inputItems(gemItem.copyWithCount(Math.floor(toolHeadItem.materialAmount() / GTValues.M))) + event.recipes.gtceu.extruder(`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) - .outputItems(toolHeadItem) + .itemOutputs(toolHeadItem) .duration(12).EUt(32) } // else: ignore :3 @@ -479,197 +479,197 @@ const registerGregTechRecipes = (event) => { //#region Молды для экструдера // Меч - event.shaped('tfg:shape_extruder_sword_head', [ + event.shaped('tfg:sword_head_extruder_mold', [ 'ABC', ' ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_sword_head') + }).id('tfg:shaped/sword_head_extruder_mold') // Кирка - event.shaped('tfg:shape_extruder_pickaxe_head', [ + event.shaped('tfg:pickaxe_head_extruder_mold', [ 'A ', 'BC ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_pickaxe_head') + }).id('tfg:shaped/pickaxe_head_extruder_mold') // Топор - event.shaped('tfg:shape_extruder_axe_head', [ + event.shaped('tfg:axe_head_extruder_mold', [ 'A ', ' BC', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_axe_head') + }).id('tfg:shaped/axe_head_extruder_mold') // Лопата - event.shaped('tfg:shape_extruder_shovel_head', [ + event.shaped('tfg:shovel_head_extruder_mold', [ 'A ', 'B ', 'C ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_shovel_head') + }).id('tfg:shaped/shovel_head_extruder_mold') // Мотыга - event.shaped('tfg:shape_extruder_hoe_head', [ + event.shaped('tfg:hoe_head_extruder_mold', [ 'A ', 'CB ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_hoe_head') + }).id('tfg:shaped/hoe_head_extruder_mold') // Молот - event.shaped('tfg:shape_extruder_hammer_head', [ + event.shaped('tfg:hammer_head_extruder_mold', [ 'AB ', ' C ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_hammer_head') + }).id('tfg:shaped/hammer_head_extruder_mold') // Пила - event.shaped('tfg:shape_extruder_saw_head', [ + event.shaped('tfg:saw_head_extruder_mold', [ 'AC ', ' B ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_saw_head') + }).id('tfg:shaped/saw_head_extruder_mold') // Нож - event.shaped('tfg:shape_extruder_knife_head', [ + event.shaped('tfg:knife_head_extruder_mold', [ 'A B', ' ', ' C' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_knife_head') + }).id('tfg:shaped/knife_head_extruder_mold') // Напильник - event.shaped('tfg:shape_extruder_file_head', [ + event.shaped('tfg:file_head_extruder_mold', [ 'A ', ' ', 'CB ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_file_head') + }).id('tfg:shaped/file_head_extruder_mold') // Коса - event.shaped('tfg:shape_extruder_scythe_head', [ + event.shaped('tfg:scythe_head_extruder_mold', [ 'A ', ' ', 'BC ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_scythe_head') + }).id('tfg:shaped/scythe_head_extruder_mold') // Нож мясника - event.shaped('tfg:shape_extruder_butchery_knife_head', [ + event.shaped('tfg:butchery_knife_head_extruder_mold', [ 'A C', ' ', ' B' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_butchery_knife_head') + }).id('tfg:shaped/butchery_knife_head_extruder_mold') // Молот шахтера - event.shaped('tfg:shape_extruder_mining_hammer_head', [ + event.shaped('tfg:mining_hammer_head_extruder_mold', [ 'ABC', ' ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_mining_hammer_head') + }).id('tfg:shaped/mining_hammer_head_extruder_mold') // Большая лопата - event.shaped('tfg:shape_extruder_spade_head', [ + event.shaped('tfg:spade_head_extruder_mold', [ 'A ', 'B ', ' C' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_spade_head') + }).id('tfg:shaped/spade_head_extruder_mold') // Проспектор - event.shaped('tfg:shape_extruder_propick_head', [ + event.shaped('tfg:propick_head_extruder_mold', [ 'ACB', ' ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/wire_cutters' - }).id('tfg:shaped/shape_extruder_propick_head') + }).id('tfg:shaped/propick_head_extruder_mold') // Копье - event.shaped('tfg:shape_extruder_javelin_head', [ + event.shaped('tfg:javelin_head_extruder_mold', [ 'A C', 'B ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/wire_cutters' - }).id('tfg:shaped/shape_extruder_javelin_head') + }).id('tfg:shaped/javelin_head_extruder_mold') // Стамеска - event.shaped('tfg:shape_extruder_chisel_head', [ + event.shaped('tfg:chisel_head_extruder_mold', [ 'A ', 'CB ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/wire_cutters' - }).id('tfg:shaped/shape_extruder_chisel_head') + }).id('tfg:shaped/chisel_head_extruder_mold') // Бита - event.shaped('tfg:shape_extruder_mace_head', [ + event.shaped('tfg:mace_head_extruder_mold', [ 'A ', ' BC', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/wire_cutters' - }).id('tfg:shaped/shape_extruder_mace_head') + }).id('tfg:shaped/mace_head_extruder_mold') global.TFG_EXTRUDER_MOLDS.forEach(mold => { event.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}`) - .itemInputs('gtceu:shape_empty') + .itemInputs('gtceu:empty_mold') .notConsumable(mold) .itemOutputs(mold) .EUt(22).duration(120) @@ -681,48 +681,48 @@ const registerGregTechRecipes = (event) => { //#region Молды для отливки // Лампа - event.shaped('tfg:shape_mold_unfisnished_lamp', [ + event.shaped('tfg:lamp_casting_mold', [ 'AB ', ' ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/hammers', - }).id('tfg:shaped/shape_mold_unfisnished_lamp') + }).id('tfg:shaped/lamp_casting_mold') // Люк - event.shaped('tfg:shape_mold_trapdoor', [ + event.shaped('tfg:trapdoor_casting_mold', [ 'A ', ' ', ' B' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/hammers', - }).id('tfg:shaped/shape_mold_trapdoor') + }).id('tfg:shaped/trapdoor_casting_mold') // Цепь - event.shaped('tfg:shape_mold_chain', [ + event.shaped('tfg:chain_casting_mold', [ 'A ', 'B ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/hammers', - }).id('tfg:shaped/shape_mold_chain') + }).id('tfg:shaped/chain_casting_mold') // Колокол - event.shaped('tfg:shape_mold_bell', [ + event.shaped('tfg:bell_casting_mold', [ 'A ', ' B ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/hammers', - }).id('tfg:shaped/shape_mold_bell') + }).id('tfg:shaped/bell_casting_mold') global.TFG_CASTING_MOLDS.forEach(mold => { event.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}_casting_mold`) - .itemInputs('gtceu:shape_empty') + .itemInputs('gtceu:empty_mold') .notConsumable(mold) .itemOutputs(mold) .EUt(22).duration(120) From 621fa7fc199762c3ad23adc7f6a3514ee277fd18 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:40:15 +0700 Subject: [PATCH 047/266] refactor some greenhouse recipes --- kubejs/server_scripts/gregtech/recipes.js | 99 +++++++++++++++-------- kubejs/server_scripts/tfc/recipes.js | 20 +---- 2 files changed, 66 insertions(+), 53 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index a691386d2..70d021ef1 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -2,7 +2,7 @@ const registerGregTechRecipes = (event) => { - //#region Крафты и раскрафты металлических предметов + //#region Обработчики рецептов основанных на материалах const makeToolRecipe = (toolType, headTagPrefix, extruderMold, cirucitMeta, material) => { const toolItem = ToolHelper.get(toolType, material) if (toolItem.isEmpty()) return @@ -301,7 +301,7 @@ const registerGregTechRecipes = (event) => { .processingTime(200) .id(`tfg:milling/${material.getName()}_dust`) } - } + } GTMaterialRegistry.getRegisteredMaterials().forEach(material => { const toolProperty = material.getProperty(PropertyKey.TOOL) @@ -355,7 +355,7 @@ const registerGregTechRecipes = (event) => { }) //#endregion - //#region Раскрафт камня стоунтайпов + //#region Рецепты декрафта пыли каменных пород // Gabbro event.recipes.gtceu.centrifuge(`tfg:gabbro_dust_separation`) .itemInputs('tfg:gabbro_dust') @@ -476,7 +476,7 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) //#endregion - //#region Молды для экструдера + //#region Рецепты форм для экструдера // Меч event.shaped('tfg:sword_head_extruder_mold', [ @@ -678,7 +678,7 @@ const registerGregTechRecipes = (event) => { //#endregion - //#region Молды для отливки + //#region Рецепты форм для формовки // Лампа event.shaped('tfg:lamp_casting_mold', [ @@ -732,35 +732,87 @@ const registerGregTechRecipes = (event) => { //#endregion //#region Рецепты электрического генератора - - //todo: nerf + + //#region Контроллер + + //todo: облегчить + 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') + //#endregion + event.recipes.gtceu.alternator('32_rpm_to_32_eu') .inputStress(256) .circuit(0) .rpm(32) .duration(2) - .EUt(-32) + .EUt(-8) event.recipes.gtceu.alternator('64_rpm_to_48_eu') .inputStress(256) .circuit(1) .rpm(64) .duration(2) - .EUt(-48) + .EUt(-16) event.recipes.gtceu.alternator('128_rpm_to_64_eu') .inputStress(256) .circuit(2) .rpm(128) .duration(2) - .EUt(-64) + .EUt(-24) event.recipes.gtceu.alternator('256_rpm_to_96_eu') .inputStress(256) .circuit(3) .rpm(256) .duration(2) - .EUt(-96) + .EUt(-32) + //#endregion + + //#region Рецепты теплицы + + //#region Контроллер + 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') + //#endregion + + // Дерево + 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) + }) + //#endregion } @@ -1849,30 +1901,9 @@ const registerGregTechRecipes1 = (event) => { 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', [ diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 40d0402b3..364de5d69 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -3329,25 +3329,7 @@ const registerTFCRecipes1 = (event) => { //#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) - }) + //#endregion From f48103e40828159d0195ef6c2285beaa2fc7a515 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:44:26 +0700 Subject: [PATCH 048/266] upd create + add petrolparts --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index fa7ed02bb..d238aa8b0 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit fa7ed02bb5ddb1c513a3e052b7e74a6a90496f53 +Subproject commit d238aa8b0d0eeb018fcf3bee032b0f2818a91934 From 45955fcf12423697aa6c7a67f22e9fda9736dd82 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:49:34 +0700 Subject: [PATCH 049/266] kila pls update yours shimmer --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index d238aa8b0..a8b2935b5 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit d238aa8b0d0eeb018fcf3bee032b0f2818a91934 +Subproject commit a8b2935b575dbcba21faeb3eda3257a3ef82e021 From 70b04b955e6345289b956ae7e1af43d515679e2b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:49:41 +0700 Subject: [PATCH 050/266] Update create-client.toml --- config/create-client.toml | 3 +++ 1 file changed, 3 insertions(+) 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 From 4f566f308adff07a9c17eb357f439dd9de1e3b62 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:49:45 +0700 Subject: [PATCH 051/266] Update recipe-category-sort-order.ini --- config/jei/recipe-category-sort-order.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/jei/recipe-category-sort-order.ini b/config/jei/recipe-category-sort-order.ini index 21e393e53..0e648fb3b 100644 --- a/config/jei/recipe-category-sort-order.ini +++ b/config/jei/recipe-category-sort-order.ini @@ -84,3 +84,5 @@ ftbquests:quest firmalife:bowl_pot firmalife:stinky_soup tfc:sewing +petrolpark:item_decay +petrolpark:manual_crafting From b17f61d895b4b27dc03f8e295655710ab394fceb Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:49:50 +0700 Subject: [PATCH 052/266] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 030c24011..2a969efbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ - Alternator multiblock now works as intended. - Alternator recipes was sligthly nerfed. - Fixed bug when some items wont display inside EMI. +- Simplified alternator multiblock reques and it controller block recipe. - ... ### Updated mods - ?? From 2ce209131e75aaa1785ba9c772dfa1218aff7578 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 11 Sep 2024 22:53:57 +0700 Subject: [PATCH 053/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index a8b2935b5..c23c63847 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit a8b2935b575dbcba21faeb3eda3257a3ef82e021 +Subproject commit c23c638478927b9c48ccb1883096f4a0daccfb36 From 4cf65e056618e8c0f5e7bad9f11469a84ae751b8 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 11 Sep 2024 22:54:04 +0700 Subject: [PATCH 054/266] Update emi.css --- config/emi.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/emi.css b/config/emi.css index b7d9c1cfb..abe55aab9 100644 --- a/config/emi.css +++ b/config/emi.css @@ -298,7 +298,7 @@ toggle-visibility: "key.keyboard.unknown"; /** - * Focuse the search bar. + * Focuses the search bar. */ focus-search: "ctrl key.keyboard.f"; From 22bb9233b7f0059297769d91a4b90dff8089b250 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 11 Sep 2024 22:54:18 +0700 Subject: [PATCH 055/266] Update gtceu.yaml --- config/gtceu.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/gtceu.yaml b/config/gtceu.yaml index 693db866b..ebdb9dcf8 100644 --- a/config/gtceu.yaml +++ b/config/gtceu.yaml @@ -267,7 +267,7 @@ machines: # Default: false orderedAssemblyLineFluids: true - # Let Dual Hatch has more ability. + # Let Dual Hatch has more ability. (DEPRECATED: does nothing now) # When enabled it, Dual Hatch will can used to assemble line and so on. # Need restart Minecraft to apply. enableMoreDualHatchAbility: true From d910d03b315ad7cad6e4e4079f3820ddff0f56dc Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 11 Sep 2024 22:54:31 +0700 Subject: [PATCH 056/266] Update embeddium-options.json --- config/embeddium-options.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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": { From 3a47396fb6e308f32ab13736dafd4d6401dc9178 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 11:57:39 +0700 Subject: [PATCH 057/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index c23c63847..74144ef59 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit c23c638478927b9c48ccb1883096f4a0daccfb36 +Subproject commit 74144ef595df55763b2239337bf6a220db60ef72 From 01ecdded6f6a57be65918ced86b74244685313a9 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 11:57:48 +0700 Subject: [PATCH 058/266] Update categories.json --- .../assets/emi/recipe/filters/categories.json | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 9e54ab81b..6d0154068 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -1,5 +1,25 @@ { "filters": [ - + { + "category": "emi:world_interaction" + }, + { + "category": "minecraft:blasting" + }, + { + "category": "minecraft:smoking" + }, + { + "category": "minecraft:campfire_cooking" + }, + { + "category": "jumbofurnace:jumbo_furnace_upgrade" + }, + { + "category": "jumbofurnace:jumbo_smelting" + }, + { + "category": "emi:composting" + } ] } \ No newline at end of file From e5b724e095308a8271be06e530c4b2733bb4ea5f Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 11:58:02 +0700 Subject: [PATCH 059/266] global cfgs --- defaultconfigs/create-server.toml | 2 +- .../additionalplacements-server.toml | 10 + global-server-configs/alekiships-server.toml | 3 + .../barrels_2012-server.toml | 13 + .../computercraft-server.toml | 205 ++ global-server-configs/corpse-server.toml | 33 + global-server-configs/create-server.toml | 521 ++++ .../create_connected-server.toml | 54 + global-server-configs/curios-server.toml | 19 + global-server-configs/firmaciv-server.toml | 11 + global-server-configs/firmalife-server.toml | 107 + global-server-configs/forge-server.toml | 20 + .../framedblocks-server.toml | 16 + .../ftbessentials-server.snbt | 241 ++ global-server-configs/ftbessentials.snbt | 232 ++ .../ftblibrary/ftblibrary-client.snbt | 4 + .../ftbquests/client-config.snbt | 4 + global-server-configs/ftbranks/README.txt | 2103 +++++++++++++++++ global-server-configs/ftbranks/players.snbt | 1 + global-server-configs/ftbranks/ranks.snbt | 26 + .../ftbxmodcompat/ftbxmodcompat.snbt | 4 + global-server-configs/jei-server.toml | 9 + .../jumbofurnace-server.toml | 10 + global-server-configs/morered-server.toml | 6 + .../openpartiesandclaims-server.toml | 274 +++ global-server-configs/railways-server.toml | 75 + .../sophisticatedbackpacks-server.toml | 439 ++++ global-server-configs/tfc-server.toml | 1314 ++++++++++ .../tfcchannelcasting-server.toml | 6 + global-server-configs/tfcea-server.toml | 6 + global-server-configs/toolbelt-server.toml | 7 + 31 files changed, 5774 insertions(+), 1 deletion(-) create mode 100644 global-server-configs/additionalplacements-server.toml create mode 100644 global-server-configs/alekiships-server.toml create mode 100644 global-server-configs/barrels_2012-server.toml create mode 100644 global-server-configs/computercraft-server.toml create mode 100644 global-server-configs/corpse-server.toml create mode 100644 global-server-configs/create-server.toml create mode 100644 global-server-configs/create_connected-server.toml create mode 100644 global-server-configs/curios-server.toml create mode 100644 global-server-configs/firmaciv-server.toml create mode 100644 global-server-configs/firmalife-server.toml create mode 100644 global-server-configs/forge-server.toml create mode 100644 global-server-configs/framedblocks-server.toml create mode 100644 global-server-configs/ftbessentials-server.snbt create mode 100644 global-server-configs/ftbessentials.snbt create mode 100644 global-server-configs/ftblibrary/ftblibrary-client.snbt create mode 100644 global-server-configs/ftbquests/client-config.snbt create mode 100644 global-server-configs/ftbranks/README.txt create mode 100644 global-server-configs/ftbranks/players.snbt create mode 100644 global-server-configs/ftbranks/ranks.snbt create mode 100644 global-server-configs/ftbxmodcompat/ftbxmodcompat.snbt create mode 100644 global-server-configs/jei-server.toml create mode 100644 global-server-configs/jumbofurnace-server.toml create mode 100644 global-server-configs/morered-server.toml create mode 100644 global-server-configs/openpartiesandclaims-server.toml create mode 100644 global-server-configs/railways-server.toml create mode 100644 global-server-configs/sophisticatedbackpacks-server.toml create mode 100644 global-server-configs/tfc-server.toml create mode 100644 global-server-configs/tfcchannelcasting-server.toml create mode 100644 global-server-configs/tfcea-server.toml create mode 100644 global-server-configs/toolbelt-server.toml diff --git a/defaultconfigs/create-server.toml b/defaultconfigs/create-server.toml index d60c2b37c..b36e6d303 100644 --- a/defaultconfigs/create-server.toml +++ b/defaultconfigs/create-server.toml @@ -46,7 +46,7 @@ allowCastingBySpout = true #. #Display vanilla Log-stripping interactions in JEI. - displayLogStrippingRecipes = true + displayLogStrippingRecipes = false #. #The amount of Light sources destroyed before Chromatic Compound turns into Refined Radiance. #Range: > 1 diff --git a/global-server-configs/additionalplacements-server.toml b/global-server-configs/additionalplacements-server.toml new file mode 100644 index 000000000..51c7db835 --- /dev/null +++ b/global-server-configs/additionalplacements-server.toml @@ -0,0 +1,10 @@ + +#World settings +[server] + #Check for and notify of mismatching tags. Only works when the same option in the common config is true. + check_tags = true + #Automatically rebuild and reload the generated tags datapack when a tagging mismatch is detected. Only works when the same option in the server/world config is true. + auto_rebuild_tags = true + #Whether fake players (such as block placers) can utilize Additional Placement's placement logic. + fake_player_placement = true + diff --git a/global-server-configs/alekiships-server.toml b/global-server-configs/alekiships-server.toml new file mode 100644 index 000000000..dd750aeff --- /dev/null +++ b/global-server-configs/alekiships-server.toml @@ -0,0 +1,3 @@ +#When true, boats with no anchor will drift in the wind +windAffectsBoatsWithNoAnchor = false + diff --git a/global-server-configs/barrels_2012-server.toml b/global-server-configs/barrels_2012-server.toml new file mode 100644 index 000000000..758a86ec5 --- /dev/null +++ b/global-server-configs/barrels_2012-server.toml @@ -0,0 +1,13 @@ + +[general] + #Enables worn powderkegs exploding when you catch on fire. + enablePowderkegExplosions = true + #Enables lamps burning fuel when worn. Disabling this makes them last forever. + enableLampBurningFuel = true + #The light value emitted by the worn lamp. + #Range: 0 ~ 15 + lampBrightness = 15 + #The ticks between times the lamp tries to update its light position while worn. 20 ticks are in a second. + #Range: > 1 + lampUpdateInterval = 15 + diff --git a/global-server-configs/computercraft-server.toml b/global-server-configs/computercraft-server.toml new file mode 100644 index 000000000..5c053ac51 --- /dev/null +++ b/global-server-configs/computercraft-server.toml @@ -0,0 +1,205 @@ +#The disk space limit for computers and turtles, in bytes. +computer_space_limit = 1000000 +#The disk space limit for floppy disks, in bytes. +floppy_space_limit = 125000 +#The file upload size limit, in bytes. Must be in range of 1 KiB and 16 MiB. +#Keep in mind that uploads are processed in a single tick - large files or +#poor network performance can stall the networking thread. And mind the disk space! +#Range: 1024 ~ 16777216 +upload_max_size = 524288 +#Set how many files a computer can have open at the same time. Set to 0 for unlimited. +#Range: > 0 +maximum_open_files = 128 +#A comma separated list of default system settings to set on new computers. +#Example: "shell.autocomplete=false,lua.autocomplete=false,edit.autocomplete=false" +#will disable all autocompletion. +default_computer_settings = "" +#Log exceptions thrown by peripherals and other Lua objects. This makes it easier +#for mod authors to debug problems, but may result in log spam should people use +#buggy methods. +log_computer_errors = true +#Require players to be in creative mode and be opped in order to interact with +#command computers. This is the default behaviour for vanilla's Command blocks. +command_require_creative = true +#A list of generic methods or method sources to disable. Generic methods are +#methods added to a block/block entity when there is no explicit peripheral +#provider. This includes inventory methods (i.e. inventory.getItemDetail, +#inventory.pushItems), and (if on Forge), the fluid_storage and energy_storage +#methods. +#Methods in this list can either be a whole group of methods (computercraft:inventory) +#or a single method (computercraft:inventory#pushItems). +# +disabled_generic_methods = [] + +#Controls execution behaviour of computers. This is largely intended for +#fine-tuning servers, and generally shouldn't need to be touched. +[execution] + #Set the number of threads computers can run on. A higher number means more + #computers can run at once, but may induce lag. Please note that some mods may + #not work with a thread count higher than 1. Use with caution. + #Range: > 1 + computer_threads = 1 + #The maximum time that can be spent executing tasks in a single tick, in + #milliseconds. + #Note, we will quite possibly go over this limit, as there's no way to tell how + #long a will take - this aims to be the upper bound of the average time. + #Range: > 1 + max_main_global_time = 10 + #The ideal maximum time a computer can execute for in a tick, in milliseconds. + #Note, we will quite possibly go over this limit, as there's no way to tell how + #long a will take - this aims to be the upper bound of the average time. + #Range: > 1 + max_main_computer_time = 5 + +#Controls the HTTP API +[http] + #Enable the "http" API on Computers. Disabling this also disables the "pastebin" and + #"wget" programs, that many users rely on. It's recommended to leave this on and use + #the "rules" config option to impose more fine-grained control. + enabled = true + #Enable use of http websockets. This requires the "http_enable" option to also be true. + websocket_enabled = true + #The number of http requests a computer can make at one time. Additional requests + #will be queued, and sent when the running requests have finished. Set to 0 for + #unlimited. + #Range: > 0 + max_requests = 16 + #The number of websockets a computer can have open at one time. + #Range: > 1 + max_websockets = 4 + + #Limits bandwidth used by computers. + [http.bandwidth] + #The number of bytes which can be downloaded in a second. This is shared across all computers. (bytes/s). + #Range: > 1 + global_download = 33554432 + #The number of bytes which can be uploaded in a second. This is shared across all computers. (bytes/s). + #Range: > 1 + global_upload = 33554432 + + #Tunnels HTTP and websocket requests through a proxy server. Only affects HTTP + #rules with "use_proxy" set to true (off by default). + #If authentication is required for the proxy, create a "computercraft-proxy.pw" + #file in the same directory as "computercraft-server.toml", containing the + #username and password separated by a colon, e.g. "myuser:mypassword". For + #SOCKS4 proxies only the username is required. + [http.proxy] + #The type of proxy to use. + #Allowed Values: HTTP, HTTPS, SOCKS4, SOCKS5 + type = "HTTP" + #The hostname or IP address of the proxy server. + host = "" + #The port of the proxy server. + #Range: 1 ~ 65536 + port = 8080 + + #A list of rules which control behaviour of the "http" API for specific domains or + #IPs. Each rule matches against a hostname and an optional port, and then sets several + #properties for the request. Rules are evaluated in order, meaning earlier rules override + #later ones. + # + #Valid properties: + # - "host" (required): The domain or IP address this rule matches. This may be a domain name + # ("pastebin.com"), wildcard ("*.pastebin.com") or CIDR notation ("127.0.0.0/8"). + # - "port" (optional): Only match requests for a specific port, such as 80 or 443. + # + # - "action" (optional): Whether to allow or deny this request. + # - "max_download" (optional): The maximum size (in bytes) that a computer can download in this + # request. + # - "max_upload" (optional): The maximum size (in bytes) that a computer can upload in a this request. + # - "max_websocket_message" (optional): The maximum size (in bytes) that a computer can send or + # receive in one websocket packet. + # - "use_proxy" (optional): Enable use of the HTTP/SOCKS proxy if it is configured. + [[http.rules]] + #The magic "$private" host matches all private address ranges, such as localhost and 192.168.0.0/16. + #This rule prevents computers accessing internal services, and is strongly recommended. + host = "$private" + #Deny all requests to private IP addresses. + action = "deny" + + [[http.rules]] + #The wildcard "*" rule matches all remaining hosts. + host = "*" + #Allow all non-denied hosts. + action = "allow" + #The maximum size (in bytes) that a computer can download in a single request. + #Note that responses may receive more data than allowed, but this data will not + #be returned to the client. + max_download = 16777216 + #The maximum size (in bytes) that a computer can upload in a single request. This + #includes headers and POST text. + max_upload = 4194304 + #The maximum size (in bytes) that a computer can send or receive in one websocket packet. + max_websocket_message = 131072 + #Enable use of the HTTP/SOCKS proxy if it is configured. + use_proxy = false + +#Various options relating to peripherals. +[peripheral] + #Enable Command Block peripheral support + command_block_enabled = false + #The range of Wireless Modems at low altitude in clear weather, in meters. + #Range: 0 ~ 100000 + modem_range = 64 + #The range of Wireless Modems at maximum altitude in clear weather, in meters. + #Range: 0 ~ 100000 + modem_high_altitude_range = 384 + #The range of Wireless Modems at low altitude in stormy weather, in meters. + #Range: 0 ~ 100000 + modem_range_during_storm = 64 + #The range of Wireless Modems at maximum altitude in stormy weather, in meters. + #Range: 0 ~ 100000 + modem_high_altitude_range_during_storm = 384 + #Maximum amount of notes a speaker can play at once. + #Range: > 1 + max_notes_per_tick = 8 + #The limit to how much monitor data can be sent *per tick*. Note: + # - Bandwidth is measured before compression, so the data sent to the client is + # smaller. + # - This ignores the number of players a packet is sent to. Updating a monitor for + # one player consumes the same bandwidth limit as sending to 20. + # - A full sized monitor sends ~25kb of data. So the default (1MB) allows for ~40 + # monitors to be updated in a single tick. + #Set to 0 to disable. + #Range: > 0 + monitor_bandwidth = 1000000 + +#Various options relating to turtles. +[turtle] + #Set whether Turtles require fuel to move. + need_fuel = true + #The fuel limit for Turtles. + #Range: > 0 + normal_fuel_limit = 20000 + #The fuel limit for Advanced Turtles. + #Range: > 0 + advanced_fuel_limit = 100000 + #If set to true, Turtles will push entities out of the way instead of stopping if + #there is space to do so. + can_push = true + +#Configure the size of various computer's terminals. +#Larger terminals require more bandwidth, so use with care. +[term_sizes] + + #Terminal size of computers. + [term_sizes.computer] + #Range: 1 ~ 255 + width = 51 + #Range: 1 ~ 255 + height = 19 + + #Terminal size of pocket computers. + [term_sizes.pocket_computer] + #Range: 1 ~ 255 + width = 26 + #Range: 1 ~ 255 + height = 20 + + #Maximum size of monitors (in blocks). + [term_sizes.monitor] + #Range: 1 ~ 32 + width = 8 + #Range: 1 ~ 32 + height = 6 + diff --git a/global-server-configs/corpse-server.toml b/global-server-configs/corpse-server.toml new file mode 100644 index 000000000..ff4eb11ee --- /dev/null +++ b/global-server-configs/corpse-server.toml @@ -0,0 +1,33 @@ +#The time (in real life days) deaths get stored +#-1 for infinite storage +#0 for not storing deaths at all +#Range: > -1 +death_storage_duration = -1 + +[corpse] + #The time passed (in ticks) after a corpse turns into a skeleton + #Range: > 0 + skeleton_time = 72000 + #If the corpse should lie on its face + lie_on_face = false + #If the corpse should wear the players equipment + show_equipment = true + #If the corpse should fall into the void + fall_into_void = false + #If the corpse should get removed when in lava + lava_damage = false + + [corpse.access] + #If only the owner of the corpse can access the inventory + only_owner = true + #If everybody can access the corpse in the skeleton stage (Only if only_owner_access is set to true) + skeleton = true + + [corpse.despawn] + #The time passed (in ticks) after a corpse despawns (only if empty) + #Range: > 20 + time = 600 + #The time passed (in ticks) after a corpse despawns even if its not empty (-1 = never) + #Range: > -1 + force_time = -1 + diff --git a/global-server-configs/create-server.toml b/global-server-configs/create-server.toml new file mode 100644 index 000000000..2d74570ba --- /dev/null +++ b/global-server-configs/create-server.toml @@ -0,0 +1,521 @@ + +#. +#The Backbone of Create +[infrastructure] + #. + #[in Ticks] + #The amount of time a server waits before sending out tickrate synchronization packets. + #These packets help animations to be more accurate when tps is below 20. + #Range: > 5 + tickrateSyncTimer = 20 + +#. +#Packmakers' control panel for internal recipe compat +[recipes] + #. + #. + #Allow the Mechanical Press to process entire stacks at a time. + bulkPressing = false + #. + #Allow the Mechanical Saw to process entire stacks at a time. + bulkCutting = false + #. + #Allow supported potions to be brewed by a Mechanical Mixer + Basin. + allowBrewingInMixer = true + #. + #Allow any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin. + allowShapelessInMixer = true + #. + #Allow any single-ingredient 2x2 or 3x3 crafting recipes to be processed by a Mechanical Press + Basin. + allowShapedSquareInPress = true + #. + #Allow any standard crafting recipes to be processed by Mechanical Crafters. + allowRegularCraftingInCrafter = true + #. + #The Maximum amount of ingredients that can be used to craft Firework Rockets using Mechanical Crafters. + #Range: > 1 + maxFireworkIngredientsInCrafter = 9 + #. + #Allow any stonecutting recipes to be processed by a Mechanical Saw. + allowStonecuttingOnSaw = true + #. + #Allow any Druidcraft woodcutter recipes to be processed by a Mechanical Saw. + allowWoodcuttingOnSaw = true + #. + #Allow Spouts to interact with Casting Tables and Basins from Tinkers' Construct. + allowCastingBySpout = true + #. + #Display vanilla Log-stripping interactions in JEI. + displayLogStrippingRecipes = false + #. + #The amount of Light sources destroyed before Chromatic Compound turns into Refined Radiance. + #Range: > 1 + lightSourceCountForRefinedRadiance = 10 + #. + #Allow the standard in-world Refined Radiance recipes. + enableRefinedRadianceRecipe = true + #. + #Allow the standard in-world Shadow Steel recipe. + enableShadowSteelRecipe = true + +#. +#Parameters and abilities of Create's kinetic mechanisms +[kinetics] + #. + #. + #Disable the Stress mechanic altogether. + disableStress = false + #. + #Maximum length in blocks of mechanical belts. + #Range: > 5 + maxBeltLength = 20 + #. + #Damage dealt by active Crushing Wheels. + #Range: > 0 + crushingDamage = 4 + #. + #[in Revolutions per Minute] + #Maximum allowed rotation speed for any Kinetic Block. + #Range: > 64 + maxRotationSpeed = 256 + #. + #Select what mobs should ignore Deployers when attacked by them. + #Allowed Values: ALL, CREEPERS, NONE + ignoreDeployerAttacks = "CREEPERS" + #. + #Game ticks between Kinetic Blocks checking whether their source is still valid. + #Range: > 5 + kineticValidationFrequency = 60 + #. + #multiplier used for calculating exhaustion from speed when a crank is turned. + #Range: 0.0 ~ 1.0 + crankHungerMultiplier = 0.009999999776482582 + #. + #Amount of sail-type blocks required for a windmill to assemble successfully. + #Range: > 0 + minimumWindmillSails = 8 + #. + #Number of sail-type blocks required to increase windmill speed by 1RPM. + #Range: > 1 + windmillSailsPerRPM = 8 + #. + #Max Distance in blocks a Weighted Ejector can throw + #Range: > 0 + maxEjectorDistance = 32 + #. + #Time in ticks until the next item launched by an ejector scans blocks for potential collisions + #Range: > 10 + ejectorScanInterval = 120 + + #. + #Encased Fan + [kinetics.encasedFan] + #. + #Maximum distance in blocks Fans can push entities. + #Range: > 5 + fanPushDistance = 20 + #. + #Maximum distance in blocks from where Fans can pull entities. + #Range: > 5 + fanPullDistance = 20 + #. + #Game ticks between Fans checking for anything blocking their air flow. + #Range: > 10 + fanBlockCheckRate = 30 + #. + #[in Revolutions per Minute] + #Rotation speed at which the maximum stats of fans are reached. + #Range: > 64 + fanRotationArgmax = 256 + #. + #Game ticks required for a Fan-based processing recipe to take effect. + #Range: > 0 + fanProcessingTime = 150 + + #. + #Moving Contraptions + [kinetics.contraptions] + #. + #Maximum amount of blocks in a structure movable by Pistons, Bearings or other means. + #Range: > 1 + maxBlocksMoved = 2048 + #. + #[in Bytes] + #[0 to disable this limit] + #Maximum amount of data a contraption can have before it can't be synced with players. + #Un-synced contraptions will not be visible and will not have collision. + #Range: > 0 + maxDataSize = 2000000 + #. + #Maximum value of a chassis attachment range. + #Range: > 1 + maxChassisRange = 16 + #. + #Maximum amount of extension poles behind a Mechanical Piston. + #Range: > 1 + maxPistonPoles = 64 + #. + #Max length of rope available off a Rope Pulley. + #Range: > 1 + maxRopeLength = 256 + #. + #Maximum allowed distance of two coupled minecarts. + #Range: > 1 + maxCartCouplingLength = 32 + #. + #Maximum depth of blocks filled in using a Mechanical Roller. + #Range: > 1 + rollerFillDepth = 12 + #. + #Whether minecart contraptions can be picked up in survival mode. + survivalContraptionPickup = true + #. + #Configure how Spawner blocks can be moved by contraptions. + #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE + movableSpawners = "NO_PICKUP" + #. + #Configure how Budding Amethyst can be moved by contraptions. + #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE + amethystMovement = "NO_PICKUP" + #. + #Configure how Obsidian blocks can be moved by contraptions. + #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE + movableObsidian = "UNMOVABLE" + #. + #Configure how Reinforced Deepslate blocks can be moved by contraptions. + #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE + movableReinforcedDeepslate = "UNMOVABLE" + #. + #Whether items mined or harvested by contraptions should be placed in their mounted storage. + moveItemsToStorage = true + #. + #Whether harvesters should break crops that aren't fully grown. + harvestPartiallyGrown = false + #. + #Whether harvesters should replant crops after harvesting. + harvesterReplants = true + #. + #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. + [kinetics.stats] + #. + #[in Revolutions per Minute] + #Minimum speed of rotation to be considered 'medium' + #Range: 0.0 ~ 4096.0 + mediumSpeed = 30.0 + #. + #[in Revolutions per Minute] + #Minimum speed of rotation to be considered 'fast' + #Range: 0.0 ~ 65535.0 + fastSpeed = 100.0 + #. + #[in Stress Units] + #Minimum stress impact to be considered 'medium' + #Range: 0.0 ~ 4096.0 + mediumStressImpact = 4.0 + #. + #[in Stress Units] + #Minimum stress impact to be considered 'high' + #Range: 0.0 ~ 65535.0 + highStressImpact = 8.0 + #. + #[in Stress Units] + #Minimum added Capacity by sources to be considered 'medium' + #Range: 0.0 ~ 4096.0 + mediumCapacity = 256.0 + #. + #[in Stress Units] + #Minimum added Capacity by sources to be considered 'high' + #Range: 0.0 ~ 65535.0 + highCapacity = 1024.0 + + [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] + 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 + speedometer = 0.0 + copper_backtank = 4.0 + mechanical_saw = 4.0 + flywheel = 0.0 + encased_chain_drive = 0.0 + clutch = 0.0 + encased_fan = 2.0 + adjustable_chain_gearshift = 0.0 + mechanical_pump = 4.0 + crushing_wheel = 8.0 + mechanical_mixer = 4.0 + gantry_shaft = 0.0 + rope_pulley = 4.0 + 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 + stressometer = 0.0 + shaft = 0.0 + brass_encased_shaft = 0.0 + gearshift = 0.0 + turntable = 4.0 + sticky_mechanical_piston = 4.0 + sequenced_gearshift = 0.0 + weighted_ejector = 2.0 + cogwheel = 0.0 + andesite_encased_cogwheel = 0.0 + belt = 0.0 + brass_encased_cogwheel = 0.0 + gearbox = 0.0 + hose_pulley = 4.0 + elevator_pulley = 4.0 + mechanical_crafter = 2.0 + + #. + #[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 + creative_motor = 16384.0 + large_water_wheel = 128.0 + water_wheel = 32.0 + windmill_bearing = 512.0 + +#. +#Create's liquid manipulation tools +[fluids] + #. + #. + #[in Buckets] + #The amount of liquid a tank can hold per block. + #Range: > 1 + fluidTankCapacity = 8 + #. + #[in Blocks] + #The maximum height a fluid tank can reach. + #Range: > 1 + fluidTankMaxHeight = 32 + #. + #[in Blocks] + #The maximum distance a mechanical pump can push or pull liquids on either side. + #Range: > 1 + mechanicalPumpRange = 16 + #. + #[in Blocks] + #The maximum distance a hose pulley can draw fluid blocks from. + #Range: > 1 + hosePulleyRange = 128 + #. + #[in Blocks] + #[-1 to disable this behaviour] + #The minimum amount of fluid blocks the hose pulley needs to find before deeming it an infinite source. + #Range: > -1 + hosePulleyBlockThreshold = 0 + #. + #Whether hose pulleys should continue filling up above-threshold sources. + fillInfinite = false + #. + #Configure which fluids can be drained infinitely. + #Allowed Values: ALLOW_ALL, DENY_ALL, ALLOW_BY_TAG, DENY_BY_TAG + bottomlessFluidMode = "ALLOW_BY_TAG" + #. + #Whether hose pulleys should be allowed to place fluid sources. + fluidFillPlaceFluidSourceBlocks = false + #. + #Whether open-ended pipes should be allowed to place fluid sources. + pipesPlaceFluidSourceBlocks = false + +#. +#Tweaks for logistical components +[logistics] + #. + #. + #The amount of ticks a funnel waits between item transferrals, when it is not re-activated by redstone. + #Range: > 1 + defaultExtractionTimer = 8 + #. + #The amount of ticks a portable storage interface waits for transfers until letting contraptions move along. + #Range: > 1 + psiTimeout = 60 + #. + #Maximum distance in blocks a Mechanical Arm can reach across. + #Range: > 1 + mechanicalArmRange = 5 + #. + #Maximum possible range in blocks of redstone link connections. + #Range: > 1 + linkRange = 256 + #. + #Maximum possible distance in blocks between data gatherers and their target. + #Range: > 1 + displayLinkRange = 64 + #. + #The total amount of stacks a vault can hold per block in size. + #Range: > 1 + vaultCapacity = 20 + #. + #The amount of ticks a brass tunnel waits between distributions. + #Range: 1 ~ 10 + brassTunnelTimer = 10 + #. + #Whether hostile mobs walking near a seat will start riding it. + seatHostileMobs = true + +#. +#Everything related to Schematic tools +[schematics] + #. + #. + #Whether placing a Schematic directly in Creative Mode should replace world blocks with Air + creativePrintIncludesAir = false + #. + #The amount of Schematics a player can upload until previous ones are overwritten. + #Range: > 1 + maxSchematics = 256 + #. + #[in Bytes] + #The maximum packet size uploaded Schematics are split into. + #Range: 256 ~ 32767 + maxSchematicPacketSize = 1024 + #. + #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 + [schematics.schematicannon] + #. + #Amount of game ticks between shots of the cannon. Higher => Slower + #Range: > 1 + schematicannonDelay = 10 + #. + #Amount of blocks a Schematicannon can print per Gunpowder item provided. + #Range: > 1 + schematicannonShotsPerGunpowder = 400 + +#. +#Equipment and gadgets added by Create +[equipment] + #. + #. + #The Maximum Distance to an active mirror for the symmetry wand to trigger. + #Range: > 10 + maxSymmetryWandRange = 50 + #. + #The Maximum Distance a Block placed by Create's placement assist will have to its interaction point. + #Range: > 3 + placementAssistRange = 12 + #. + #The Maximum Distance at which a Toolbox can interact with Players' Inventories. + #Range: > 1 + toolboxRange = 10 + #. + #The Maximum volume of Air that can be stored in a backtank = Seconds of underwater breathing + #Range: > 1 + airInBacktank = 900 + #. + #The volume of Air added by each level of the backtanks Capacity Enchantment + #Range: > 1 + enchantedBacktankCapacity = 300 + #. + #Amount of free Extendo Grip actions provided by one filled Copper Backtank. Set to 0 makes Extendo Grips unbreakable + #Range: > 0 + maxExtendoGripActions = 1000 + #. + #Amount of free Potato Cannon shots provided by one filled Copper Backtank. Set to 0 makes Potato Cannons unbreakable + #Range: > 0 + maxPotatoCannonShots = 200 + +#. +#Create's builtin Railway systems +[trains] + #. + #. + #Whether moving Trains can hurt colliding mobs and players. + trainsCauseDamage = true + #. + #Maximum length of track that can be placed as one batch or turn. + #Range: 16 ~ 128 + maxTrackPlacementLength = 32 + #. + #Maximum length of a Train Stations' assembly track. + #Range: > 5 + maxAssemblyLength = 128 + #. + #Maximum amount of bogeys assembled as a single Train. + #Range: > 1 + maxBogeyCount = 20 + #. + #Relative speed of a manually controlled Train compared to a Scheduled one. + #Range: 0.0 ~ 3.4028234663852886E38 + manualTrainSpeedModifier = 0.75 + + #. + #Standard Trains + [trains.trainStats] + #. + #[in Blocks/Second] + #The top speed of any assembled Train. + #Range: 0.0 ~ 3.4028234663852886E38 + trainTopSpeed = 28.0 + #. + #[in Blocks/Second] + #The top speed of Trains during a turn. + #Range: 0.0 ~ 3.4028234663852886E38 + trainTurningTopSpeed = 14.0 + #. + #[in Blocks/Second²] + #The acceleration of any assembled Train. + #Range: 0.0 ~ 3.4028234663852886E38 + trainAcceleration = 3.0 + + #. + #Powered Trains + [trains.poweredTrainStats] + #. + #[in Blocks/Second] + #The top speed of powered Trains. + #Range: 0.0 ~ 3.4028234663852886E38 + poweredTrainTopSpeed = 40.0 + #. + #[in Blocks/Second] + #The top speed of powered Trains during a turn. + #Range: 0.0 ~ 3.4028234663852886E38 + poweredTrainTurningTopSpeed = 20.0 + #. + #[in Blocks/Second²] + #The acceleration of powered Trains. + #Range: 0.0 ~ 3.4028234663852886E38 + poweredTrainAcceleration = 3.0 + diff --git a/global-server-configs/create_connected-server.toml b/global-server-configs/create_connected-server.toml new file mode 100644 index 000000000..ed130c2ae --- /dev/null +++ b/global-server-configs/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 = 8.0 + large_crank_wheel = 8.0 + diff --git a/global-server-configs/curios-server.toml b/global-server-configs/curios-server.toml new file mode 100644 index 000000000..b9df94c76 --- /dev/null +++ b/global-server-configs/curios-server.toml @@ -0,0 +1,19 @@ +#Sets behavior for keeping Curios items on death. +#ON - Curios items are kept on death +#DEFAULT - Curios items follow the keepInventory gamerule +#OFF - Curios items are dropped on death +#Allowed Values: ON, DEFAULT, OFF +keepCurios = "DEFAULT" + +[menu] + #Enables the old legacy Curios menu for better backwards compatibility. + enableLegacyMenu = false + + [menu.experimental] + #The minimum number of columns for the Curios menu. + #Range: 1 ~ 8 + minimumColumns = 1 + #The maximum number of slots per page of the Curios menu. + #Range: 1 ~ 48 + maxSlotsPerPage = 48 + diff --git a/global-server-configs/firmaciv-server.toml b/global-server-configs/firmaciv-server.toml new file mode 100644 index 000000000..d146966fb --- /dev/null +++ b/global-server-configs/firmaciv-server.toml @@ -0,0 +1,11 @@ + +[general] + #Force creation of canoes from specified wood types. Turning this to false will make canoes craftable from any wood type. + canoeWoodRestriction = true + #Force creation of ships and rowboats from specified wood types. Turning this to false will make ships and rowboats craftable from any wood type. + shipWoodRestriction = true + #Force reduceDebugInfo gamerule. Turn this to FALSE if you want coordinates back. + forceReducedDebugInfo = false + #Disables vanilla boats and base TFC boats from working. + disableVanillaBoatFunctionality = true + diff --git a/global-server-configs/firmalife-server.toml b/global-server-configs/firmalife-server.toml new file mode 100644 index 000000000..451914b77 --- /dev/null +++ b/global-server-configs/firmalife-server.toml @@ -0,0 +1,107 @@ + +[general] + #Days in a cellar to make cheese Aged. + #Range: > 1 + cheeseAgedDays = 28 + #Days in a cellar to make cheese Vintage. + #Range: > 1 + cheeseVintageDays = 112 + #Ticks to dry something on a drying mat (24000 ticks = 1 day) + #Range: > 1 + dryingTicks = 12000 + #Ticks to dry something on a solar drier (24000 ticks = 1 day) + #Range: > 1 + solarDryingTicks = 1000 + #Ticks to smoke something on a string (24000 ticks = 1 day) + #Range: > 1 + smokingTicks = 8000 + #Number of blocks below the firepit that wool string will search for valid smoking firepits. + #Range: > 1 + smokingFirepitRange = 6 + #Ticks for a composter tumbler to finish (24000 ticks = 1 day) + #Range: > 1 + compostTumblerTicks = 96000 + #Ticks for an oven to cure (24000 ticks = 1 day) + #Range: > 1 + ovenCureTicks = 2000 + #Minimum temperature for an oven to start the curing process (24000 ticks = 1 day) + #Range: > 1 + ovenCureTemperature = 600 + #If true, ovens will hurt the player if they touch it without a peel in hand. + ovenRequirePeel = true + #The chance for fuel burning in an oven to drop an ash block into an ashtray. + #Range: 0.0 ~ 1.0 + ovenAshChance = 0.5 + #If true, players can throw seed balls. + enableSeedBalls = true + #If true, bees can swarm and hurt the player if provoked. + enableBeeSwarm = true + #The capacity in mB of the hollow shell. Default 100 + #Range: > 1 + hollowShellCapacity = 100 + #The average temperature below which stronger decay modifiers apply to cellar blocks. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + cellarLevel2Temperature = 0.0 + #The average temperature below which even stronger decay modifiers apply to cellar blocks. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + cellarLevel3Temperature = -12.0 + #The average amount of days for a crop in a greenhouse to grow. For normal crops, this is 24 days. + #Range: 4.9E-324 ~ 1.7976931348623157E308 + greenhouseGrowthDays = 20.0 + #The average amount of days for a crop in a greenhouse to consume all its water. + #Range: 0.0 ~ 1.7976931348623157E308 + greenhouseWaterDays = 12.0 + #The average amount of days for a crop to consume all of a nutrient. You should probably not configure this value unless you know what it does in the code. For regular crops this value is 12. + #Range: 0.0 ~ 1.7976931348623157E308 + greenhouseNutrientDays = 8.0 + #The max bounded distance from the climate station a greenhouse wall can be. Higher numbers = more lag. + #Range: 1 ~ 128 + greenhouseRadius = 15 + #The max bounded distance from the climate station a cellar wall can be. Higher numbers = more lag. + #Range: 1 ~ 128 + cellarRadius = 15 + +[foodTraits] + #The modifier for the 'Dried' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitDriedModifier = 0.5 + #The modifier for the 'Fresh' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitFreshModifier = 1.100000023841858 + #The modifier for the 'Aged' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitAgedModifier = 0.8999999761581421 + #The modifier for the 'Vintage' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitVintageModifier = 0.6000000238418579 + #The modifier for the 'Oven_baked' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitOven_bakedModifier = 0.8999999761581421 + #The modifier for the 'Smoked' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitSmokedModifier = 0.699999988079071 + #The modifier for the 'Rancid_smoked' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitRancid_smokedModifier = 2.0 + #The modifier for the 'Raw' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitRawModifier = 1.0 + #The modifier for the 'Shelved' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitShelvedModifier = 0.4000000059604645 + #The modifier for the 'Shelved_2' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitShelved_2Modifier = 0.3499999940395355 + #The modifier for the 'Shelved_3' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitShelved_3Modifier = 0.25 + #The modifier for the 'Hung' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitHungModifier = 0.3499999940395355 + #The modifier for the 'Hung_2' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitHung_2Modifier = 0.30000001192092896 + #The modifier for the 'Hung_3' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitHung_3Modifier = 0.25 + diff --git a/global-server-configs/forge-server.toml b/global-server-configs/forge-server.toml new file mode 100644 index 000000000..13772cf52 --- /dev/null +++ b/global-server-configs/forge-server.toml @@ -0,0 +1,20 @@ + +#Server configuration settings +[server] + #Set this to true to remove any BlockEntity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES. + removeErroringBlockEntities = false + #Set this to true to remove any Entity (Note: Does not include BlockEntities) that throws an error in its tick method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES. + removeErroringEntities = false + #Set this to true to check the entire entity's collision bounding box for ladders instead of just the block they are in. Causes noticeable differences in mechanics so default is vanilla behavior. Default: false. + fullBoundingBoxLadders = false + #Base zombie summoning spawn chance. Allows changing the bonus zombie summoning mechanic. + #Range: 0.0 ~ 1.0 + zombieBaseSummonChance = 0.1 + #Chance that a zombie (or subclass) is a baby. Allows changing the zombie spawning mechanic. + #Range: 0.0 ~ 1.0 + zombieBabyChance = 0.05 + #The permission handler used by the server. Defaults to forge:default_handler if no such handler with that name is registered. + permissionHandler = "forge:default_handler" + #Set this to true to enable advertising the dedicated server to local LAN clients so that it shows up in the Multiplayer screen automatically. + advertiseDedicatedServerToLan = true + diff --git a/global-server-configs/framedblocks-server.toml b/global-server-configs/framedblocks-server.toml new file mode 100644 index 000000000..6e5137517 --- /dev/null +++ b/global-server-configs/framedblocks-server.toml @@ -0,0 +1,16 @@ + +[general] + #Whether blocks with block entities can be placed in framed blocks + allowBlockEntities = false + #Enables the intangbility feature. Disabling this also prevents moving through blocks that are already marked as intangible + enableIntangibleFeature = false + #The item to use for making Framed Blocks intangible. The value must be a valid item registry name + intangibleMarkerItem = "minecraft:phantom_membrane" + #If true, only the player who placed the Framed One-Way Window can modify the window direction + oneWayWindowOwnable = true + #If true, applying a camo will consume the item and removing the camo will drop it again + consumeCamoItem = true + #The light level to emit when glowstone dust is applied to a framed block + #Range: 0 ~ 15 + glowstoneLightLevel = 15 + diff --git a/global-server-configs/ftbessentials-server.snbt b/global-server-configs/ftbessentials-server.snbt new file mode 100644 index 000000000..c3f5803c5 --- /dev/null +++ b/global-server-configs/ftbessentials-server.snbt @@ -0,0 +1,241 @@ +# Default config file that will be copied to world's serverconfig/ftbessentials.snbt location +# Copy values you wish to override in here +# Example: +# +# { +# misc: { +# enderchest: { +# enabled: false +# } +# } +# } + +{ + # Admin commands for cheating and moderation + admin: { + # Allows admins to toggle flying status using a command, without having to use Creative Mode + fly: { + # Default: true + enabled: true + } + + # Allows admins to toggle invincibility using a command, without having to use Creative Mode + god: { + # Default: true + enabled: true + } + + # Allows admins to heal themselves using a command + heal: { + # Default: true + enabled: true + } + + # Allows admins to view other users' inventories using a command + invsee: { + # Default: true + enabled: true + } + + # Allows admins to restrict players from chatting by using a command to mute (or unmute) them + mute: { + # Default: true + enabled: true + } + } + + # Miscellaneous features and utilities + misc: { + # Allows users to access their ender chest, as well as admins to manage other players' ender chests. + enderchest: { + # Default: true + enabled: true + } + + # Allows users to set a custom hat as their head item by using a command + hat: { + # Default: true + enabled: true + } + + # Allows users to kick themselves from the server, for example if they are stuck or desynced + kickme: { + # Default: true + enabled: false + } + + # Allows users to view player leaderboard stats. + leaderboard: { + # Default: true + enabled: true + } + + # Allows users to change their display name, as well as admins to change nicknames for other users + nick: { + # Default: true + enabled: false + } + + # Allows users to announce their recording or streaming status to the server by using commands + rec: { + # Default: true + enabled: false + } + + # Enables usage of a trash can inventory, which can be used to void unneeded items + trashcan: { + # Default: true + enabled: true + } + } + + # Teleportation-related settings + teleportation: { + # Allows users to return to their previous location after teleporting (or dying) + back: { + # Cooldown between /back commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.back.cooldown + # Default: 30 + # Range: 0 ~ 604800 + cooldown: 30 + + # Default: true + enabled: false + + # Max size of the teleport history. This limits how many times you can use /back + # You can override this with FTB Ranks using ftbessentials.back.max + # Default: 10 + # Range: 0 ~ 2147483647 + max: 10 + + # Warm-up time before /back command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.back.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows users to set 'homes', which they can then freely teleport to by using /home afterwards + home: { + # Cooldown between /home commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.home.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Max amount of homes a user can have. + # You can override this with FTB Ranks using ftbessentials.home.max + # Default: 1 + # Range: 0 ~ 2147483647 + max: 1 + + # Warm-up time before /home command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.home.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows players to teleport to a random point in the Wilderness + # Note: This currently does not respect Claimed Chunks yet! + rtp: { + # Cooldown between /rtp commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.rtp.cooldown + # Default: 600 + # Range: 0 ~ 604800 + cooldown: 600 + + # Default: true + enabled: false + + # /rtp max distance from spawn point + # Default: 100000 + # Range: 0 ~ 30000000 + max_distance: 100000 + + # Number of tries before /rtp gives up + # Default: 100 + # Range: 1 ~ 1000 + max_tries: 100 + + # /rtp min distance from spawn point + # Default: 1000 + # Range: 0 ~ 30000000 + min_distance: 1000 + + # Warm-up time before /rtp command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.rtp.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + spawn: { + # Cooldown between /spawn commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.spawn.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /spawn command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.spawn.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows players to create requests to teleport to other users on the server, + # as well as requesting other players to teleport to them + tpa: { + # Cooldown between /tpa commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.tpa.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /tpa command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.tpa.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows admins to teleport to the location a user was last seen at + tpl: { + # Default: true + enabled: false + } + + # Allows admins to teleport to dimension + tpx: { + # Default: true + enabled: true + } + + # Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp + warp: { + # Cooldown between /warp commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.warp.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /warp command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.warp.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + } +} diff --git a/global-server-configs/ftbessentials.snbt b/global-server-configs/ftbessentials.snbt new file mode 100644 index 000000000..888367213 --- /dev/null +++ b/global-server-configs/ftbessentials.snbt @@ -0,0 +1,232 @@ +# FTB Essentials config file +# If you're a modpack maker, edit defaultconfigs/ftbessentials-server.snbt instead + +{ + # Admin commands for cheating and moderation + admin: { + # Allows admins to toggle flying status using a command, without having to use Creative Mode + fly: { + # Default: true + enabled: true + } + + # Allows admins to toggle invincibility using a command, without having to use Creative Mode + god: { + # Default: true + enabled: true + } + + # Allows admins to heal themselves using a command + heal: { + # Default: true + enabled: true + } + + # Allows admins to view other users' inventories using a command + invsee: { + # Default: true + enabled: true + } + + # Allows admins to restrict players from chatting by using a command to mute (or unmute) them + mute: { + # Default: true + enabled: true + } + } + + # Miscellaneous features and utilities + misc: { + # Allows users to access their ender chest, as well as admins to manage other players' ender chests. + enderchest: { + # Default: true + enabled: true + } + + # Allows users to set a custom hat as their head item by using a command + hat: { + # Default: true + enabled: false + } + + # Allows users to kick themselves from the server, for example if they are stuck or desynced + kickme: { + # Default: true + enabled: false + } + + # Allows users to view player leaderboard stats. + leaderboard: { + # Default: true + enabled: true + } + + # Allows users to change their display name, as well as admins to change nicknames for other users + nick: { + # Default: true + enabled: false + } + + # Allows users to announce their recording or streaming status to the server by using commands + rec: { + # Default: true + enabled: false + } + + # Enables usage of a trash can inventory, which can be used to void unneeded items + trashcan: { + # Default: true + enabled: true + } + } + + # Teleportation-related settings + teleportation: { + # Allows users to return to their previous location after teleporting (or dying) + back: { + # Cooldown between /back commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.back.cooldown + # Default: 30 + # Range: 0 ~ 604800 + cooldown: 30 + + # Default: true + enabled: false + + # Max size of the teleport history. This limits how many times you can use /back + # You can override this with FTB Ranks using ftbessentials.back.max + # Default: 10 + # Range: 0 ~ 2147483647 + max: 10 + + # Warm-up time before /back command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.back.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows users to set 'homes', which they can then freely teleport to by using /home afterwards + home: { + # Cooldown between /home commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.home.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Max amount of homes a user can have. + # You can override this with FTB Ranks using ftbessentials.home.max + # Default: 1 + # Range: 0 ~ 2147483647 + max: 1 + + # Warm-up time before /home command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.home.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows players to teleport to a random point in the Wilderness + # Note: This currently does not respect Claimed Chunks yet! + rtp: { + # Cooldown between /rtp commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.rtp.cooldown + # Default: 600 + # Range: 0 ~ 604800 + cooldown: 600 + + # Default: true + enabled: false + + # /rtp max distance from spawn point + # Default: 100000 + # Range: 0 ~ 30000000 + max_distance: 100000 + + # Number of tries before /rtp gives up + # Default: 100 + # Range: 1 ~ 1000 + max_tries: 100 + + # /rtp min distance from spawn point + # Default: 1000 + # Range: 0 ~ 30000000 + min_distance: 1000 + + # Warm-up time before /rtp command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.rtp.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + spawn: { + # Cooldown between /spawn commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.spawn.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /spawn command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.spawn.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows players to create requests to teleport to other users on the server, + # as well as requesting other players to teleport to them + tpa: { + # Cooldown between /tpa commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.tpa.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /tpa command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.tpa.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows admins to teleport to the location a user was last seen at + tpl: { + # Default: true + enabled: false + } + + # Allows admins to teleport to dimension + tpx: { + # Default: true + enabled: false + } + + # Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp + warp: { + # Cooldown between /warp commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.warp.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /warp command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.warp.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + } +} diff --git a/global-server-configs/ftblibrary/ftblibrary-client.snbt b/global-server-configs/ftblibrary/ftblibrary-client.snbt new file mode 100644 index 000000000..ee8fa4b3d --- /dev/null +++ b/global-server-configs/ftblibrary/ftblibrary-client.snbt @@ -0,0 +1,4 @@ +# Default config file that will be copied to local\ftblibrary-client.snbt if it doesn't exist! +# Just copy any values you wish to override in here! + +{ } diff --git a/global-server-configs/ftbquests/client-config.snbt b/global-server-configs/ftbquests/client-config.snbt new file mode 100644 index 000000000..406c7da71 --- /dev/null +++ b/global-server-configs/ftbquests/client-config.snbt @@ -0,0 +1,4 @@ +# Default config file that will be copied to local\ftbquests\client-config.snbt if it doesn't exist! +# Just copy any values you wish to override in here! + +{ } diff --git a/global-server-configs/ftbranks/README.txt b/global-server-configs/ftbranks/README.txt new file mode 100644 index 000000000..74c94df2c --- /dev/null +++ b/global-server-configs/ftbranks/README.txt @@ -0,0 +1,2103 @@ +=== FTB Ranks === + +Last README file update: Thu Jul 20 09:32:31 YEKT 2023 +Wiki: https://www.notion.so/feedthebeast/FTB-Mod-Documentation-da2e359bad2449459d58d787edda3168 +To refresh this file, run /ftbranks refresh_readme + += All available command nodes = +command +command.advancement +command.advancement.grant +command.advancement.grant.targets +command.advancement.grant.targets.everything +command.advancement.grant.targets.from +command.advancement.grant.targets.from.advancement +command.advancement.grant.targets.only +command.advancement.grant.targets.only.advancement +command.advancement.grant.targets.only.advancement.criterion +command.advancement.grant.targets.through +command.advancement.grant.targets.through.advancement +command.advancement.grant.targets.until +command.advancement.grant.targets.until.advancement +command.advancement.revoke +command.advancement.revoke.targets +command.advancement.revoke.targets.everything +command.advancement.revoke.targets.from +command.advancement.revoke.targets.from.advancement +command.advancement.revoke.targets.only +command.advancement.revoke.targets.only.advancement +command.advancement.revoke.targets.only.advancement.criterion +command.advancement.revoke.targets.through +command.advancement.revoke.targets.through.advancement +command.advancement.revoke.targets.until +command.advancement.revoke.targets.until.advancement +command.attribute +command.attribute.target +command.attribute.target.attribute +command.attribute.target.attribute.base +command.attribute.target.attribute.base.get +command.attribute.target.attribute.base.get.scale +command.attribute.target.attribute.base.set +command.attribute.target.attribute.base.set.value +command.attribute.target.attribute.get +command.attribute.target.attribute.get.scale +command.attribute.target.attribute.modifier +command.attribute.target.attribute.modifier.add +command.attribute.target.attribute.modifier.add.uuid +command.attribute.target.attribute.modifier.add.uuid.name +command.attribute.target.attribute.modifier.add.uuid.name.value +command.attribute.target.attribute.modifier.add.uuid.name.value.add +command.attribute.target.attribute.modifier.add.uuid.name.value.multiply +command.attribute.target.attribute.modifier.add.uuid.name.value.multiply_base +command.attribute.target.attribute.modifier.remove +command.attribute.target.attribute.modifier.remove.uuid +command.attribute.target.attribute.modifier.value +command.attribute.target.attribute.modifier.value.get +command.attribute.target.attribute.modifier.value.get.uuid +command.attribute.target.attribute.modifier.value.get.uuid.scale +command.back +command.betterbiomeblend +command.betterbiomeblend.toggleBenchmark +command.bossbar +command.bossbar.add +command.bossbar.add.id +command.bossbar.add.id.name +command.bossbar.get +command.bossbar.get.id +command.bossbar.get.id.max +command.bossbar.get.id.players +command.bossbar.get.id.value +command.bossbar.get.id.visible +command.bossbar.list +command.bossbar.remove +command.bossbar.remove.id +command.bossbar.set +command.bossbar.set.id +command.bossbar.set.id.color +command.bossbar.set.id.color.blue +command.bossbar.set.id.color.green +command.bossbar.set.id.color.pink +command.bossbar.set.id.color.purple +command.bossbar.set.id.color.red +command.bossbar.set.id.color.white +command.bossbar.set.id.color.yellow +command.bossbar.set.id.max +command.bossbar.set.id.max.max +command.bossbar.set.id.name +command.bossbar.set.id.name.name +command.bossbar.set.id.players +command.bossbar.set.id.players.targets +command.bossbar.set.id.style +command.bossbar.set.id.style.notched_10 +command.bossbar.set.id.style.notched_12 +command.bossbar.set.id.style.notched_20 +command.bossbar.set.id.style.notched_6 +command.bossbar.set.id.style.progress +command.bossbar.set.id.value +command.bossbar.set.id.value.value +command.bossbar.set.id.visible +command.bossbar.set.id.visible.visible +command.c +command.c.clone +command.c.clone.begin +command.c.clone.begin.end +command.c.clone.begin.end.destination +command.c.clone.begin.end.destination.skipBlocks +command.c.config +command.c.config.path +command.c.config.path.set +command.c.config.path.set.value +command.c.coupling +command.c.coupling.add +command.c.coupling.add.cart1 +command.c.coupling.add.cart1.cart2 +command.c.coupling.add.carts +command.c.coupling.remove +command.c.coupling.remove.cart1 +command.c.coupling.remove.cart1.cart2 +command.c.coupling.removeAll +command.c.coupling.removeAll.cart +command.c.dismissFabulousWarning +command.c.fixLighting +command.c.glue +command.c.glue.from +command.c.glue.from.to +command.c.highlight +command.c.highlight.pos +command.c.highlight.pos.players +command.c.killTrain +command.c.killTrain.train +command.c.overlay +command.c.overlay.reset +command.c.passenger +command.c.passenger.rider +command.c.passenger.rider.vehicle +command.c.passenger.rider.vehicle.seatIndex +command.c.ponder +command.c.ponder.scene +command.c.ponder.scene.targets +command.c.rainbowDebug +command.c.rainbowDebug.off +command.c.rainbowDebug.on +command.c.trains +command.c.u +command.c.u.angle +command.c.u.angle.players +command.c.u.angle.players.mode +command.c.u.angle.players.mode.exponential +command.c.u.angle.players.mode.exponential.speed +command.c.u.angle.players.mode.linear +command.c.u.angle.players.mode.linear.speed +command.c.u.angle.players.pitch +command.c.u.angle.players.pitch.degrees +command.c.u.angle.players.yaw +command.c.u.angle.players.yaw.degrees +command.c.u.camera +command.c.u.camera.multiplier +command.c.u.camera.reset +command.c.u.clearRenderBuffers +command.c.u.flySpeed +command.c.u.flySpeed.reset +command.c.u.flySpeed.reset.target +command.c.u.flySpeed.speed +command.c.u.flySpeed.speed.target +command.c.u.replaceInCommandBlocks +command.c.u.replaceInCommandBlocks.begin +command.c.u.replaceInCommandBlocks.begin.end +command.c.u.replaceInCommandBlocks.begin.end.toReplace +command.c.u.replaceInCommandBlocks.begin.end.toReplace.replaceWith +command.c.util +command.c.util.angle +command.c.util.angle.players +command.c.util.angle.players.mode +command.c.util.angle.players.mode.exponential +command.c.util.angle.players.mode.exponential.speed +command.c.util.angle.players.mode.linear +command.c.util.angle.players.mode.linear.speed +command.c.util.angle.players.pitch +command.c.util.angle.players.pitch.degrees +command.c.util.angle.players.yaw +command.c.util.angle.players.yaw.degrees +command.c.util.camera +command.c.util.camera.multiplier +command.c.util.camera.reset +command.c.util.clearRenderBuffers +command.c.util.flySpeed +command.c.util.flySpeed.reset +command.c.util.flySpeed.reset.target +command.c.util.flySpeed.speed +command.c.util.flySpeed.speed.target +command.c.util.replaceInCommandBlocks +command.c.util.replaceInCommandBlocks.begin +command.c.util.replaceInCommandBlocks.begin.end +command.c.util.replaceInCommandBlocks.begin.end.toReplace +command.c.util.replaceInCommandBlocks.begin.end.toReplace.replaceWith +command.candb +command.candb.clear +command.candb.clear.start +command.candb.clear.start.end +command.candb.fill +command.candb.fill.start +command.candb.fill.start.end +command.candb.fill.start.end.random +command.candb.fill.start.end.state +command.candb.give +command.candb.give.target +command.candb.give.target.state +command.candb.give.target.state.count +command.candb.load +command.candb.load.name +command.candb.profiling +command.candb.profiling.start +command.candb.profiling.stop +command.candb.redo +command.candb.redo.target +command.candb.save +command.candb.save.target +command.candb.save.target.name +command.candb.stats +command.candb.stats.start +command.candb.stats.start.end +command.candb.undo +command.candb.undo.target +command.carryon +command.carryon.clear +command.carryon.clear.target +command.carryon.debug +command.cca_api +command.clear +command.clear.targets +command.clear.targets.item +command.clear.targets.item.maxCount +command.clone +command.clone.begin +command.clone.begin.end +command.clone.begin.end.destination +command.clone.begin.end.destination.filtered +command.clone.begin.end.destination.filtered.filter +command.clone.begin.end.destination.filtered.filter.force +command.clone.begin.end.destination.filtered.filter.move +command.clone.begin.end.destination.filtered.filter.normal +command.clone.begin.end.destination.masked +command.clone.begin.end.destination.masked.force +command.clone.begin.end.destination.masked.move +command.clone.begin.end.destination.masked.normal +command.clone.begin.end.destination.replace +command.clone.begin.end.destination.replace.force +command.clone.begin.end.destination.replace.move +command.clone.begin.end.destination.replace.normal +command.config +command.config.showfile +command.config.showfile.mod +command.config.showfile.mod.type +command.create +command.create.clone +command.create.clone.begin +command.create.clone.begin.end +command.create.clone.begin.end.destination +command.create.clone.begin.end.destination.skipBlocks +command.create.config +command.create.config.path +command.create.config.path.set +command.create.config.path.set.value +command.create.coupling +command.create.coupling.add +command.create.coupling.add.cart1 +command.create.coupling.add.cart1.cart2 +command.create.coupling.add.carts +command.create.coupling.remove +command.create.coupling.remove.cart1 +command.create.coupling.remove.cart1.cart2 +command.create.coupling.removeAll +command.create.coupling.removeAll.cart +command.create.dismissFabulousWarning +command.create.fixLighting +command.create.glue +command.create.glue.from +command.create.glue.from.to +command.create.highlight +command.create.highlight.pos +command.create.highlight.pos.players +command.create.killTrain +command.create.killTrain.train +command.create.overlay +command.create.overlay.reset +command.create.passenger +command.create.passenger.rider +command.create.passenger.rider.vehicle +command.create.passenger.rider.vehicle.seatIndex +command.create.ponder +command.create.ponder.scene +command.create.ponder.scene.targets +command.create.rainbowDebug +command.create.rainbowDebug.off +command.create.rainbowDebug.on +command.create.trains +command.create.u +command.create.u.angle +command.create.u.angle.players +command.create.u.angle.players.mode +command.create.u.angle.players.mode.exponential +command.create.u.angle.players.mode.exponential.speed +command.create.u.angle.players.mode.linear +command.create.u.angle.players.mode.linear.speed +command.create.u.angle.players.pitch +command.create.u.angle.players.pitch.degrees +command.create.u.angle.players.yaw +command.create.u.angle.players.yaw.degrees +command.create.u.camera +command.create.u.camera.multiplier +command.create.u.camera.reset +command.create.u.clearRenderBuffers +command.create.u.flySpeed +command.create.u.flySpeed.reset +command.create.u.flySpeed.reset.target +command.create.u.flySpeed.speed +command.create.u.flySpeed.speed.target +command.create.u.replaceInCommandBlocks +command.create.u.replaceInCommandBlocks.begin +command.create.u.replaceInCommandBlocks.begin.end +command.create.u.replaceInCommandBlocks.begin.end.toReplace +command.create.u.replaceInCommandBlocks.begin.end.toReplace.replaceWith +command.create.util +command.create.util.angle +command.create.util.angle.players +command.create.util.angle.players.mode +command.create.util.angle.players.mode.exponential +command.create.util.angle.players.mode.exponential.speed +command.create.util.angle.players.mode.linear +command.create.util.angle.players.mode.linear.speed +command.create.util.angle.players.pitch +command.create.util.angle.players.pitch.degrees +command.create.util.angle.players.yaw +command.create.util.angle.players.yaw.degrees +command.create.util.camera +command.create.util.camera.multiplier +command.create.util.camera.reset +command.create.util.clearRenderBuffers +command.create.util.flySpeed +command.create.util.flySpeed.reset +command.create.util.flySpeed.reset.target +command.create.util.flySpeed.speed +command.create.util.flySpeed.speed.target +command.create.util.replaceInCommandBlocks +command.create.util.replaceInCommandBlocks.begin +command.create.util.replaceInCommandBlocks.begin.end +command.create.util.replaceInCommandBlocks.begin.end.toReplace +command.create.util.replaceInCommandBlocks.begin.end.toReplace.replaceWith +command.ctm +command.ctm.reload +command.curios +command.curios.add +command.curios.add.slot +command.curios.add.slot.player +command.curios.add.slot.player.amount +command.curios.clear +command.curios.clear.player +command.curios.clear.player.slot +command.curios.drop +command.curios.drop.player +command.curios.drop.player.slot +command.curios.list +command.curios.remove +command.curios.remove.slot +command.curios.remove.slot.player +command.curios.remove.slot.player.amount +command.curios.replace +command.curios.replace.slot +command.curios.replace.slot.index +command.curios.replace.slot.index.player +command.curios.replace.slot.index.player.with +command.curios.replace.slot.index.player.with.item +command.curios.replace.slot.index.player.with.item.count +command.curios.reset +command.curios.reset.player +command.curios.set +command.curios.set.slot +command.curios.set.slot.player +command.curios.set.slot.player.amount +command.data +command.data.get +command.data.get.block +command.data.get.block.targetPos +command.data.get.block.targetPos.path +command.data.get.block.targetPos.path.scale +command.data.get.entity +command.data.get.entity.target +command.data.get.entity.target.path +command.data.get.entity.target.path.scale +command.data.get.storage +command.data.get.storage.target +command.data.get.storage.target.path +command.data.get.storage.target.path.scale +command.data.merge +command.data.merge.block +command.data.merge.block.targetPos +command.data.merge.block.targetPos.nbt +command.data.merge.entity +command.data.merge.entity.target +command.data.merge.entity.target.nbt +command.data.merge.storage +command.data.merge.storage.target +command.data.merge.storage.target.nbt +command.data.modify +command.data.modify.block +command.data.modify.block.targetPos +command.data.modify.block.targetPos.targetPath +command.data.modify.block.targetPos.targetPath.append +command.data.modify.block.targetPos.targetPath.append.from +command.data.modify.block.targetPos.targetPath.append.from.block +command.data.modify.block.targetPos.targetPath.append.from.block.sourcePos +command.data.modify.block.targetPos.targetPath.append.from.block.sourcePos.sourcePath +command.data.modify.block.targetPos.targetPath.append.from.entity +command.data.modify.block.targetPos.targetPath.append.from.entity.source +command.data.modify.block.targetPos.targetPath.append.from.entity.source.sourcePath +command.data.modify.block.targetPos.targetPath.append.from.storage +command.data.modify.block.targetPos.targetPath.append.from.storage.source +command.data.modify.block.targetPos.targetPath.append.from.storage.source.sourcePath +command.data.modify.block.targetPos.targetPath.append.value +command.data.modify.block.targetPos.targetPath.append.value.value +command.data.modify.block.targetPos.targetPath.insert +command.data.modify.block.targetPos.targetPath.insert.index +command.data.modify.block.targetPos.targetPath.insert.index.from +command.data.modify.block.targetPos.targetPath.insert.index.from.block +command.data.modify.block.targetPos.targetPath.insert.index.from.block.sourcePos +command.data.modify.block.targetPos.targetPath.insert.index.from.block.sourcePos.sourcePath +command.data.modify.block.targetPos.targetPath.insert.index.from.entity +command.data.modify.block.targetPos.targetPath.insert.index.from.entity.source +command.data.modify.block.targetPos.targetPath.insert.index.from.entity.source.sourcePath +command.data.modify.block.targetPos.targetPath.insert.index.from.storage +command.data.modify.block.targetPos.targetPath.insert.index.from.storage.source +command.data.modify.block.targetPos.targetPath.insert.index.from.storage.source.sourcePath +command.data.modify.block.targetPos.targetPath.insert.index.value +command.data.modify.block.targetPos.targetPath.insert.index.value.value +command.data.modify.block.targetPos.targetPath.merge +command.data.modify.block.targetPos.targetPath.merge.from +command.data.modify.block.targetPos.targetPath.merge.from.block +command.data.modify.block.targetPos.targetPath.merge.from.block.sourcePos +command.data.modify.block.targetPos.targetPath.merge.from.block.sourcePos.sourcePath +command.data.modify.block.targetPos.targetPath.merge.from.entity +command.data.modify.block.targetPos.targetPath.merge.from.entity.source +command.data.modify.block.targetPos.targetPath.merge.from.entity.source.sourcePath +command.data.modify.block.targetPos.targetPath.merge.from.storage +command.data.modify.block.targetPos.targetPath.merge.from.storage.source +command.data.modify.block.targetPos.targetPath.merge.from.storage.source.sourcePath +command.data.modify.block.targetPos.targetPath.merge.value +command.data.modify.block.targetPos.targetPath.merge.value.value +command.data.modify.block.targetPos.targetPath.prepend +command.data.modify.block.targetPos.targetPath.prepend.from +command.data.modify.block.targetPos.targetPath.prepend.from.block +command.data.modify.block.targetPos.targetPath.prepend.from.block.sourcePos +command.data.modify.block.targetPos.targetPath.prepend.from.block.sourcePos.sourcePath +command.data.modify.block.targetPos.targetPath.prepend.from.entity +command.data.modify.block.targetPos.targetPath.prepend.from.entity.source +command.data.modify.block.targetPos.targetPath.prepend.from.entity.source.sourcePath +command.data.modify.block.targetPos.targetPath.prepend.from.storage +command.data.modify.block.targetPos.targetPath.prepend.from.storage.source +command.data.modify.block.targetPos.targetPath.prepend.from.storage.source.sourcePath +command.data.modify.block.targetPos.targetPath.prepend.value +command.data.modify.block.targetPos.targetPath.prepend.value.value +command.data.modify.block.targetPos.targetPath.set +command.data.modify.block.targetPos.targetPath.set.from +command.data.modify.block.targetPos.targetPath.set.from.block +command.data.modify.block.targetPos.targetPath.set.from.block.sourcePos +command.data.modify.block.targetPos.targetPath.set.from.block.sourcePos.sourcePath +command.data.modify.block.targetPos.targetPath.set.from.entity +command.data.modify.block.targetPos.targetPath.set.from.entity.source +command.data.modify.block.targetPos.targetPath.set.from.entity.source.sourcePath +command.data.modify.block.targetPos.targetPath.set.from.storage +command.data.modify.block.targetPos.targetPath.set.from.storage.source +command.data.modify.block.targetPos.targetPath.set.from.storage.source.sourcePath +command.data.modify.block.targetPos.targetPath.set.value +command.data.modify.block.targetPos.targetPath.set.value.value +command.data.modify.entity +command.data.modify.entity.target +command.data.modify.entity.target.targetPath +command.data.modify.entity.target.targetPath.append +command.data.modify.entity.target.targetPath.append.from +command.data.modify.entity.target.targetPath.append.from.block +command.data.modify.entity.target.targetPath.append.from.block.sourcePos +command.data.modify.entity.target.targetPath.append.from.block.sourcePos.sourcePath +command.data.modify.entity.target.targetPath.append.from.entity +command.data.modify.entity.target.targetPath.append.from.entity.source +command.data.modify.entity.target.targetPath.append.from.entity.source.sourcePath +command.data.modify.entity.target.targetPath.append.from.storage +command.data.modify.entity.target.targetPath.append.from.storage.source +command.data.modify.entity.target.targetPath.append.from.storage.source.sourcePath +command.data.modify.entity.target.targetPath.append.value +command.data.modify.entity.target.targetPath.append.value.value +command.data.modify.entity.target.targetPath.insert +command.data.modify.entity.target.targetPath.insert.index +command.data.modify.entity.target.targetPath.insert.index.from +command.data.modify.entity.target.targetPath.insert.index.from.block +command.data.modify.entity.target.targetPath.insert.index.from.block.sourcePos +command.data.modify.entity.target.targetPath.insert.index.from.block.sourcePos.sourcePath +command.data.modify.entity.target.targetPath.insert.index.from.entity +command.data.modify.entity.target.targetPath.insert.index.from.entity.source +command.data.modify.entity.target.targetPath.insert.index.from.entity.source.sourcePath +command.data.modify.entity.target.targetPath.insert.index.from.storage +command.data.modify.entity.target.targetPath.insert.index.from.storage.source +command.data.modify.entity.target.targetPath.insert.index.from.storage.source.sourcePath +command.data.modify.entity.target.targetPath.insert.index.value +command.data.modify.entity.target.targetPath.insert.index.value.value +command.data.modify.entity.target.targetPath.merge +command.data.modify.entity.target.targetPath.merge.from +command.data.modify.entity.target.targetPath.merge.from.block +command.data.modify.entity.target.targetPath.merge.from.block.sourcePos +command.data.modify.entity.target.targetPath.merge.from.block.sourcePos.sourcePath +command.data.modify.entity.target.targetPath.merge.from.entity +command.data.modify.entity.target.targetPath.merge.from.entity.source +command.data.modify.entity.target.targetPath.merge.from.entity.source.sourcePath +command.data.modify.entity.target.targetPath.merge.from.storage +command.data.modify.entity.target.targetPath.merge.from.storage.source +command.data.modify.entity.target.targetPath.merge.from.storage.source.sourcePath +command.data.modify.entity.target.targetPath.merge.value +command.data.modify.entity.target.targetPath.merge.value.value +command.data.modify.entity.target.targetPath.prepend +command.data.modify.entity.target.targetPath.prepend.from +command.data.modify.entity.target.targetPath.prepend.from.block +command.data.modify.entity.target.targetPath.prepend.from.block.sourcePos +command.data.modify.entity.target.targetPath.prepend.from.block.sourcePos.sourcePath +command.data.modify.entity.target.targetPath.prepend.from.entity +command.data.modify.entity.target.targetPath.prepend.from.entity.source +command.data.modify.entity.target.targetPath.prepend.from.entity.source.sourcePath +command.data.modify.entity.target.targetPath.prepend.from.storage +command.data.modify.entity.target.targetPath.prepend.from.storage.source +command.data.modify.entity.target.targetPath.prepend.from.storage.source.sourcePath +command.data.modify.entity.target.targetPath.prepend.value +command.data.modify.entity.target.targetPath.prepend.value.value +command.data.modify.entity.target.targetPath.set +command.data.modify.entity.target.targetPath.set.from +command.data.modify.entity.target.targetPath.set.from.block +command.data.modify.entity.target.targetPath.set.from.block.sourcePos +command.data.modify.entity.target.targetPath.set.from.block.sourcePos.sourcePath +command.data.modify.entity.target.targetPath.set.from.entity +command.data.modify.entity.target.targetPath.set.from.entity.source +command.data.modify.entity.target.targetPath.set.from.entity.source.sourcePath +command.data.modify.entity.target.targetPath.set.from.storage +command.data.modify.entity.target.targetPath.set.from.storage.source +command.data.modify.entity.target.targetPath.set.from.storage.source.sourcePath +command.data.modify.entity.target.targetPath.set.value +command.data.modify.entity.target.targetPath.set.value.value +command.data.modify.storage +command.data.modify.storage.target +command.data.modify.storage.target.targetPath +command.data.modify.storage.target.targetPath.append +command.data.modify.storage.target.targetPath.append.from +command.data.modify.storage.target.targetPath.append.from.block +command.data.modify.storage.target.targetPath.append.from.block.sourcePos +command.data.modify.storage.target.targetPath.append.from.block.sourcePos.sourcePath +command.data.modify.storage.target.targetPath.append.from.entity +command.data.modify.storage.target.targetPath.append.from.entity.source +command.data.modify.storage.target.targetPath.append.from.entity.source.sourcePath +command.data.modify.storage.target.targetPath.append.from.storage +command.data.modify.storage.target.targetPath.append.from.storage.source +command.data.modify.storage.target.targetPath.append.from.storage.source.sourcePath +command.data.modify.storage.target.targetPath.append.value +command.data.modify.storage.target.targetPath.append.value.value +command.data.modify.storage.target.targetPath.insert +command.data.modify.storage.target.targetPath.insert.index +command.data.modify.storage.target.targetPath.insert.index.from +command.data.modify.storage.target.targetPath.insert.index.from.block +command.data.modify.storage.target.targetPath.insert.index.from.block.sourcePos +command.data.modify.storage.target.targetPath.insert.index.from.block.sourcePos.sourcePath +command.data.modify.storage.target.targetPath.insert.index.from.entity +command.data.modify.storage.target.targetPath.insert.index.from.entity.source +command.data.modify.storage.target.targetPath.insert.index.from.entity.source.sourcePath +command.data.modify.storage.target.targetPath.insert.index.from.storage +command.data.modify.storage.target.targetPath.insert.index.from.storage.source +command.data.modify.storage.target.targetPath.insert.index.from.storage.source.sourcePath +command.data.modify.storage.target.targetPath.insert.index.value +command.data.modify.storage.target.targetPath.insert.index.value.value +command.data.modify.storage.target.targetPath.merge +command.data.modify.storage.target.targetPath.merge.from +command.data.modify.storage.target.targetPath.merge.from.block +command.data.modify.storage.target.targetPath.merge.from.block.sourcePos +command.data.modify.storage.target.targetPath.merge.from.block.sourcePos.sourcePath +command.data.modify.storage.target.targetPath.merge.from.entity +command.data.modify.storage.target.targetPath.merge.from.entity.source +command.data.modify.storage.target.targetPath.merge.from.entity.source.sourcePath +command.data.modify.storage.target.targetPath.merge.from.storage +command.data.modify.storage.target.targetPath.merge.from.storage.source +command.data.modify.storage.target.targetPath.merge.from.storage.source.sourcePath +command.data.modify.storage.target.targetPath.merge.value +command.data.modify.storage.target.targetPath.merge.value.value +command.data.modify.storage.target.targetPath.prepend +command.data.modify.storage.target.targetPath.prepend.from +command.data.modify.storage.target.targetPath.prepend.from.block +command.data.modify.storage.target.targetPath.prepend.from.block.sourcePos +command.data.modify.storage.target.targetPath.prepend.from.block.sourcePos.sourcePath +command.data.modify.storage.target.targetPath.prepend.from.entity +command.data.modify.storage.target.targetPath.prepend.from.entity.source +command.data.modify.storage.target.targetPath.prepend.from.entity.source.sourcePath +command.data.modify.storage.target.targetPath.prepend.from.storage +command.data.modify.storage.target.targetPath.prepend.from.storage.source +command.data.modify.storage.target.targetPath.prepend.from.storage.source.sourcePath +command.data.modify.storage.target.targetPath.prepend.value +command.data.modify.storage.target.targetPath.prepend.value.value +command.data.modify.storage.target.targetPath.set +command.data.modify.storage.target.targetPath.set.from +command.data.modify.storage.target.targetPath.set.from.block +command.data.modify.storage.target.targetPath.set.from.block.sourcePos +command.data.modify.storage.target.targetPath.set.from.block.sourcePos.sourcePath +command.data.modify.storage.target.targetPath.set.from.entity +command.data.modify.storage.target.targetPath.set.from.entity.source +command.data.modify.storage.target.targetPath.set.from.entity.source.sourcePath +command.data.modify.storage.target.targetPath.set.from.storage +command.data.modify.storage.target.targetPath.set.from.storage.source +command.data.modify.storage.target.targetPath.set.from.storage.source.sourcePath +command.data.modify.storage.target.targetPath.set.value +command.data.modify.storage.target.targetPath.set.value.value +command.data.remove +command.data.remove.block +command.data.remove.block.targetPos +command.data.remove.block.targetPos.path +command.data.remove.entity +command.data.remove.entity.target +command.data.remove.entity.target.path +command.data.remove.storage +command.data.remove.storage.target +command.data.remove.storage.target.path +command.datapack +command.datapack.disable +command.datapack.disable.name +command.datapack.enable +command.datapack.enable.name +command.datapack.enable.name.after +command.datapack.enable.name.after.existing +command.datapack.enable.name.before +command.datapack.enable.name.before.existing +command.datapack.enable.name.first +command.datapack.enable.name.last +command.datapack.list +command.datapack.list.available +command.datapack.list.enabled +command.deathhistory +command.deathhistory.player +command.deathhistory.player_uuid +command.debug +command.debug.function +command.debug.function.name +command.debug.start +command.debug.stop +command.defaultgamemode +command.defaultgamemode.adventure +command.defaultgamemode.creative +command.defaultgamemode.spectator +command.defaultgamemode.survival +command.delhome +command.delhome.name +command.delwarp +command.delwarp.name +command.difficulty +command.difficulty.easy +command.difficulty.hard +command.difficulty.normal +command.difficulty.peaceful +command.dt +command.dt.clearorphaned +command.dt.clearorphaned.location +command.dt.clearorphaned.location.radius +command.dt.createstaff +command.dt.createstaff.location +command.dt.createstaff.location.species +command.dt.createstaff.location.species.jo_code +command.dt.createstaff.location.species.jo_code.color +command.dt.createstaff.location.species.jo_code.color.readOnly +command.dt.createstaff.location.species.jo_code.color.readOnly.maxUses +command.dt.createtransformpotion +command.dt.createtransformpotion.location +command.dt.createtransformpotion.location.species +command.dt.fertility +command.dt.fertility.location +command.dt.fertility.location.fertility +command.dt.fertility.location.raw +command.dt.gettree +command.dt.gettree.location +command.dt.gettree.location.code_raw +command.dt.growpulse +command.dt.growpulse.location +command.dt.growpulse.location.number +command.dt.killtree +command.dt.killtree.location +command.dt.purgetrees +command.dt.purgetrees.location +command.dt.purgetrees.location.radius +command.dt.registry +command.dt.registry.cellkit +command.dt.registry.cellkit.list +command.dt.registry.cellkit.list.raw +command.dt.registry.family +command.dt.registry.family.list +command.dt.registry.family.list.raw +command.dt.registry.fruit +command.dt.registry.fruit.list +command.dt.registry.fruit.list.raw +command.dt.registry.genfeature +command.dt.registry.genfeature.list +command.dt.registry.genfeature.list.raw +command.dt.registry.growthlogickit +command.dt.registry.growthlogickit.list +command.dt.registry.growthlogickit.list.raw +command.dt.registry.leavesproperties +command.dt.registry.leavesproperties.list +command.dt.registry.leavesproperties.list.raw +command.dt.registry.pod +command.dt.registry.pod.list +command.dt.registry.pod.list.raw +command.dt.registry.registryhandler +command.dt.registry.registryhandler.list +command.dt.registry.registryhandler.list.raw +command.dt.registry.soilproperties +command.dt.registry.soilproperties.list +command.dt.registry.soilproperties.list.raw +command.dt.registry.species +command.dt.registry.species.list +command.dt.registry.species.list.raw +command.dt.rotatejocode +command.dt.rotatejocode.jo_code +command.dt.rotatejocode.jo_code.turns +command.dt.setcoordxor +command.dt.setcoordxor.xor +command.dt.settree +command.dt.settree.location +command.dt.settree.location.species +command.dt.settree.location.species.jo_code +command.dt.settree.location.species.jo_code.turns +command.dt.settree.location.species.jo_code.turns.fertility +command.dt.transform +command.dt.transform.location +command.dt.transform.location.species +command.dumpHandlers +command.effect +command.effect.clear +command.effect.clear.targets +command.effect.clear.targets.effect +command.effect.give +command.effect.give.targets +command.effect.give.targets.effect +command.effect.give.targets.effect.seconds +command.effect.give.targets.effect.seconds.amplifier +command.effect.give.targets.effect.seconds.amplifier.hideParticles +command.enchant +command.enchant.targets +command.enchant.targets.enchantment +command.enchant.targets.enchantment.level +command.enderchest +command.enderchest.player +command.execute +command.execute.align +command.execute.anchored +command.execute.as +command.execute.at +command.execute.facing +command.execute.facing.entity +command.execute.facing.entity.targets +command.execute.if +command.execute.if.block +command.execute.if.block.pos +command.execute.if.blocks +command.execute.if.blocks.start +command.execute.if.blocks.start.end +command.execute.if.blocks.start.end.destination +command.execute.if.data +command.execute.if.data.block +command.execute.if.data.block.sourcePos +command.execute.if.data.entity +command.execute.if.data.entity.source +command.execute.if.data.storage +command.execute.if.data.storage.source +command.execute.if.entity +command.execute.if.predicate +command.execute.if.score +command.execute.if.score.target +command.execute.if.score.target.targetObjective +command.execute.if.score.target.targetObjective.< +command.execute.if.score.target.targetObjective.<.source +command.execute.if.score.target.targetObjective.<= +command.execute.if.score.target.targetObjective.<=.source +command.execute.if.score.target.targetObjective.= +command.execute.if.score.target.targetObjective.=.source +command.execute.if.score.target.targetObjective.> +command.execute.if.score.target.targetObjective.>.source +command.execute.if.score.target.targetObjective.>= +command.execute.if.score.target.targetObjective.>=.source +command.execute.if.score.target.targetObjective.matches +command.execute.in +command.execute.positioned +command.execute.positioned.as +command.execute.rotated +command.execute.rotated.as +command.execute.run +command.execute.store +command.execute.store.result +command.execute.store.result.block +command.execute.store.result.block.targetPos +command.execute.store.result.block.targetPos.path +command.execute.store.result.block.targetPos.path.byte +command.execute.store.result.block.targetPos.path.double +command.execute.store.result.block.targetPos.path.float +command.execute.store.result.block.targetPos.path.int +command.execute.store.result.block.targetPos.path.long +command.execute.store.result.block.targetPos.path.short +command.execute.store.result.bossbar +command.execute.store.result.bossbar.id +command.execute.store.result.entity +command.execute.store.result.entity.target +command.execute.store.result.entity.target.path +command.execute.store.result.entity.target.path.byte +command.execute.store.result.entity.target.path.double +command.execute.store.result.entity.target.path.float +command.execute.store.result.entity.target.path.int +command.execute.store.result.entity.target.path.long +command.execute.store.result.entity.target.path.short +command.execute.store.result.score +command.execute.store.result.score.targets +command.execute.store.result.storage +command.execute.store.result.storage.target +command.execute.store.result.storage.target.path +command.execute.store.result.storage.target.path.byte +command.execute.store.result.storage.target.path.double +command.execute.store.result.storage.target.path.float +command.execute.store.result.storage.target.path.int +command.execute.store.result.storage.target.path.long +command.execute.store.result.storage.target.path.short +command.execute.store.success +command.execute.store.success.block +command.execute.store.success.block.targetPos +command.execute.store.success.block.targetPos.path +command.execute.store.success.block.targetPos.path.byte +command.execute.store.success.block.targetPos.path.double +command.execute.store.success.block.targetPos.path.float +command.execute.store.success.block.targetPos.path.int +command.execute.store.success.block.targetPos.path.long +command.execute.store.success.block.targetPos.path.short +command.execute.store.success.bossbar +command.execute.store.success.bossbar.id +command.execute.store.success.entity +command.execute.store.success.entity.target +command.execute.store.success.entity.target.path +command.execute.store.success.entity.target.path.byte +command.execute.store.success.entity.target.path.double +command.execute.store.success.entity.target.path.float +command.execute.store.success.entity.target.path.int +command.execute.store.success.entity.target.path.long +command.execute.store.success.entity.target.path.short +command.execute.store.success.score +command.execute.store.success.score.targets +command.execute.store.success.storage +command.execute.store.success.storage.target +command.execute.store.success.storage.target.path +command.execute.store.success.storage.target.path.byte +command.execute.store.success.storage.target.path.double +command.execute.store.success.storage.target.path.float +command.execute.store.success.storage.target.path.int +command.execute.store.success.storage.target.path.long +command.execute.store.success.storage.target.path.short +command.execute.unless +command.execute.unless.block +command.execute.unless.block.pos +command.execute.unless.blocks +command.execute.unless.blocks.start +command.execute.unless.blocks.start.end +command.execute.unless.blocks.start.end.destination +command.execute.unless.data +command.execute.unless.data.block +command.execute.unless.data.block.sourcePos +command.execute.unless.data.entity +command.execute.unless.data.entity.source +command.execute.unless.data.storage +command.execute.unless.data.storage.source +command.execute.unless.entity +command.execute.unless.predicate +command.execute.unless.score +command.execute.unless.score.target +command.execute.unless.score.target.targetObjective +command.execute.unless.score.target.targetObjective.< +command.execute.unless.score.target.targetObjective.<.source +command.execute.unless.score.target.targetObjective.<= +command.execute.unless.score.target.targetObjective.<=.source +command.execute.unless.score.target.targetObjective.= +command.execute.unless.score.target.targetObjective.=.source +command.execute.unless.score.target.targetObjective.> +command.execute.unless.score.target.targetObjective.>.source +command.execute.unless.score.target.targetObjective.>= +command.execute.unless.score.target.targetObjective.>=.source +command.execute.unless.score.target.targetObjective.matches +command.experience +command.experience.add +command.experience.add.targets +command.experience.add.targets.amount +command.experience.add.targets.amount.levels +command.experience.add.targets.amount.points +command.experience.query +command.experience.query.targets +command.experience.query.targets.levels +command.experience.query.targets.points +command.experience.set +command.experience.set.targets +command.experience.set.targets.amount +command.experience.set.targets.amount.levels +command.experience.set.targets.amount.points +command.fill +command.fill.from +command.fill.from.to +command.fill.from.to.block +command.fill.from.to.block.destroy +command.fill.from.to.block.hollow +command.fill.from.to.block.keep +command.fill.from.to.block.outline +command.fill.from.to.block.replace +command.fill.from.to.block.replace.filter +command.fly +command.fly.player +command.forceload +command.forceload.add +command.forceload.add.from +command.forceload.add.from.to +command.forceload.query +command.forceload.query.pos +command.forceload.remove +command.forceload.remove.all +command.forceload.remove.from +command.forceload.remove.from.to +command.forge +command.forge.dimensions +command.forge.entity +command.forge.entity.list +command.forge.entity.list.filter +command.forge.entity.list.filter.dim +command.forge.generate +command.forge.generate.pos +command.forge.generate.pos.count +command.forge.generate.pos.count.dim +command.forge.generate.pos.count.dim.interval +command.forge.mods +command.forge.tags +command.forge.tags.registry +command.forge.tags.registry.get +command.forge.tags.registry.get.tag +command.forge.tags.registry.get.tag.page +command.forge.tags.registry.list +command.forge.tags.registry.list.page +command.forge.tags.registry.query +command.forge.tags.registry.query.element +command.forge.tags.registry.query.element.page +command.forge.tps +command.forge.tps.dim +command.forge.track +command.forge.track.entity +command.forge.track.reset +command.forge.track.reset.entity +command.forge.track.reset.te +command.forge.track.start +command.forge.track.start.entity +command.forge.track.start.entity.duration +command.forge.track.start.te +command.forge.track.start.te.duration +command.forge.track.te +command.ftblibrary +command.ftblibrary.day +command.ftblibrary.gamemode +command.ftblibrary.generate_loot_tables +command.ftblibrary.nbtedit +command.ftblibrary.nbtedit.block +command.ftblibrary.nbtedit.block.pos +command.ftblibrary.nbtedit.entity +command.ftblibrary.nbtedit.entity.entity +command.ftblibrary.nbtedit.item +command.ftblibrary.nbtedit.player +command.ftblibrary.nbtedit.player.player +command.ftblibrary.night +command.ftblibrary.rain +command.ftbquests +command.ftbquests.block_rewards +command.ftbquests.block_rewards.enabled +command.ftbquests.block_rewards.enabled.player +command.ftbquests.change_progress +command.ftbquests.change_progress.players +command.ftbquests.change_progress.players.complete +command.ftbquests.change_progress.players.complete.quest_object +command.ftbquests.change_progress.players.reset +command.ftbquests.change_progress.players.reset.quest_object +command.ftbquests.delete_empty_reward_tables +command.ftbquests.editing_mode +command.ftbquests.editing_mode.enabled +command.ftbquests.editing_mode.enabled.player +command.ftbquests.export_reward_table_to_chest +command.ftbquests.export_reward_table_to_chest.reward_table +command.ftbquests.export_reward_table_to_chest.reward_table.pos +command.ftbquests.generate_chapter_with_all_items_in_game +command.ftbquests.import_reward_table_from_chest +command.ftbquests.import_reward_table_from_chest.name +command.ftbquests.import_reward_table_from_chest.name.pos +command.ftbquests.locked +command.ftbquests.locked.enabled +command.ftbquests.locked.enabled.player +command.ftbquests.reload +command.ftbranks +command.ftbranks.add +command.ftbranks.add.players +command.ftbranks.add.players.rank +command.ftbranks.condition +command.ftbranks.condition.rank +command.ftbranks.condition.rank.value +command.ftbranks.create +command.ftbranks.create.name +command.ftbranks.delete +command.ftbranks.delete.rank +command.ftbranks.list_all_ranks +command.ftbranks.list_players_with +command.ftbranks.list_players_with.rank +command.ftbranks.list_ranks_of +command.ftbranks.list_ranks_of.player +command.ftbranks.node +command.ftbranks.node.add +command.ftbranks.node.add.rank +command.ftbranks.node.add.rank.node +command.ftbranks.node.add.rank.node.value +command.ftbranks.node.remove +command.ftbranks.node.remove.rank +command.ftbranks.node.remove.rank.node +command.ftbranks.refresh_readme +command.ftbranks.reload +command.ftbranks.remove +command.ftbranks.remove.players +command.ftbranks.remove.players.rank +command.ftbranks.show_rank +command.ftbranks.show_rank.rank +command.ftbteams +command.ftbteams.info +command.ftbteams.info.server_id +command.ftbteams.info.team +command.ftbteams.list +command.ftbteams.list.parties +command.ftbteams.list.players +command.ftbteams.list.server_teams +command.ftbteams.msg +command.ftbteams.msg.text +command.ftbteams.party +command.ftbteams.party.allies +command.ftbteams.party.allies.add +command.ftbteams.party.allies.add.player +command.ftbteams.party.allies.list +command.ftbteams.party.allies.remove +command.ftbteams.party.allies.remove.player +command.ftbteams.party.create +command.ftbteams.party.create.name +command.ftbteams.party.deny_invite +command.ftbteams.party.deny_invite.team +command.ftbteams.party.invite +command.ftbteams.party.invite.players +command.ftbteams.party.join +command.ftbteams.party.join.team +command.ftbteams.party.kick +command.ftbteams.party.kick.players +command.ftbteams.party.leave +command.ftbteams.party.settings +command.ftbteams.party.settings.key +command.ftbteams.party.settings.key.value +command.ftbteams.party.settings_for +command.ftbteams.party.settings_for.team +command.ftbteams.party.settings_for.team.key +command.ftbteams.party.settings_for.team.key.value +command.ftbteams.party.transfer_ownership +command.ftbteams.party.transfer_ownership.player +command.ftbteams.server +command.ftbteams.server.create +command.ftbteams.server.create.name +command.ftbteams.server.delete +command.ftbteams.server.delete.team +command.ftbteams.server.settings +command.ftbteams.server.settings.team +command.ftbteams.server.settings.team.key +command.ftbteams.server.settings.team.key.value +command.function +command.function.name +command.gamemode +command.gamemode.adventure +command.gamemode.adventure.target +command.gamemode.creative +command.gamemode.creative.target +command.gamemode.spectator +command.gamemode.spectator.target +command.gamemode.survival +command.gamemode.survival.target +command.gamerule +command.gamerule.announceAdvancements +command.gamerule.announceAdvancements.value +command.gamerule.commandBlockOutput +command.gamerule.commandBlockOutput.value +command.gamerule.disableElytraMovementCheck +command.gamerule.disableElytraMovementCheck.value +command.gamerule.disableRaids +command.gamerule.disableRaids.value +command.gamerule.doDaylightCycle +command.gamerule.doDaylightCycle.value +command.gamerule.doEntityDrops +command.gamerule.doEntityDrops.value +command.gamerule.doFireTick +command.gamerule.doFireTick.value +command.gamerule.doImmediateRespawn +command.gamerule.doImmediateRespawn.value +command.gamerule.doInsomnia +command.gamerule.doInsomnia.value +command.gamerule.doLimitedCrafting +command.gamerule.doLimitedCrafting.value +command.gamerule.doMobLoot +command.gamerule.doMobLoot.value +command.gamerule.doMobSpawning +command.gamerule.doMobSpawning.value +command.gamerule.doPatrolSpawning +command.gamerule.doPatrolSpawning.value +command.gamerule.doTileDrops +command.gamerule.doTileDrops.value +command.gamerule.doTraderSpawning +command.gamerule.doTraderSpawning.value +command.gamerule.doWeatherCycle +command.gamerule.doWeatherCycle.value +command.gamerule.drowningDamage +command.gamerule.drowningDamage.value +command.gamerule.fallDamage +command.gamerule.fallDamage.value +command.gamerule.fireDamage +command.gamerule.fireDamage.value +command.gamerule.forgiveDeadPlayers +command.gamerule.forgiveDeadPlayers.value +command.gamerule.freezeDamage +command.gamerule.freezeDamage.value +command.gamerule.keepInventory +command.gamerule.keepInventory.value +command.gamerule.logAdminCommands +command.gamerule.logAdminCommands.value +command.gamerule.maxCommandChainLength +command.gamerule.maxCommandChainLength.value +command.gamerule.maxEntityCramming +command.gamerule.maxEntityCramming.value +command.gamerule.mobGriefing +command.gamerule.mobGriefing.value +command.gamerule.naturalRegeneration +command.gamerule.naturalRegeneration.value +command.gamerule.playersSleepingPercentage +command.gamerule.playersSleepingPercentage.value +command.gamerule.randomTickSpeed +command.gamerule.randomTickSpeed.value +command.gamerule.reducedDebugInfo +command.gamerule.reducedDebugInfo.value +command.gamerule.sendCommandFeedback +command.gamerule.sendCommandFeedback.value +command.gamerule.showDeathMessages +command.gamerule.showDeathMessages.value +command.gamerule.spawnRadius +command.gamerule.spawnRadius.value +command.gamerule.spectatorsGenerateChunks +command.gamerule.spectatorsGenerateChunks.value +command.gamerule.universalAnger +command.gamerule.universalAnger.value +command.give +command.give.targets +command.give.targets.item +command.give.targets.item.count +command.god +command.god.player +command.hat +command.heal +command.heal.player +command.help +command.help.command +command.home +command.home.name +command.ie +command.ie.clearshaders +command.ie.clearshaders.player +command.ie.mineral +command.ie.mineral.get +command.ie.mineral.get.location +command.ie.mineral.list +command.ie.mineral.put +command.ie.mineral.put.mineral +command.ie.mineral.put.mineral.radius +command.ie.mineral.put.mineral.radius.pos +command.ie.mineral.setDepletion +command.ie.mineral.setDepletion.depletion +command.ie.mineral.setDepletion.depletion.pos +command.invsee +command.invsee.player +command.ip +command.ip.reservoir +command.ip.reservoir.get +command.ip.reservoir.get.location +command.ip.reservoir.locate +command.ip.reservoir.set +command.ip.reservoir.set.amount +command.ip.reservoir.set.amount.amount +command.ip.reservoir.set.amount.amount.location +command.ip.reservoir.set.capacity +command.ip.reservoir.set.capacity.capacity +command.ip.reservoir.set.capacity.capacity.location +command.ip.reservoir.set.type +command.ip.reservoir.set.type.name +command.ip.reservoir.set.type.name.location +command.item +command.item.modify +command.item.modify.block +command.item.modify.block.pos +command.item.modify.block.pos.slot +command.item.modify.block.pos.slot.modifier +command.item.modify.entity +command.item.modify.entity.targets +command.item.modify.entity.targets.slot +command.item.modify.entity.targets.slot.modifier +command.item.replace +command.item.replace.block +command.item.replace.block.pos +command.item.replace.block.pos.slot +command.item.replace.block.pos.slot.from +command.item.replace.block.pos.slot.from.block +command.item.replace.block.pos.slot.from.block.source +command.item.replace.block.pos.slot.from.block.source.sourceSlot +command.item.replace.block.pos.slot.from.block.source.sourceSlot.modifier +command.item.replace.block.pos.slot.from.entity +command.item.replace.block.pos.slot.from.entity.source +command.item.replace.block.pos.slot.from.entity.source.sourceSlot +command.item.replace.block.pos.slot.from.entity.source.sourceSlot.modifier +command.item.replace.block.pos.slot.with +command.item.replace.block.pos.slot.with.item +command.item.replace.block.pos.slot.with.item.count +command.item.replace.entity +command.item.replace.entity.targets +command.item.replace.entity.targets.slot +command.item.replace.entity.targets.slot.from +command.item.replace.entity.targets.slot.from.block +command.item.replace.entity.targets.slot.from.block.source +command.item.replace.entity.targets.slot.from.block.source.sourceSlot +command.item.replace.entity.targets.slot.from.block.source.sourceSlot.modifier +command.item.replace.entity.targets.slot.from.entity +command.item.replace.entity.targets.slot.from.entity.source +command.item.replace.entity.targets.slot.from.entity.source.sourceSlot +command.item.replace.entity.targets.slot.from.entity.source.sourceSlot.modifier +command.item.replace.entity.targets.slot.with +command.item.replace.entity.targets.slot.with.item +command.item.replace.entity.targets.slot.with.item.count +command.jfr +command.jfr.start +command.jfr.stop +command.kick +command.kick.targets +command.kick.targets.reason +command.kickme +command.kill +command.kill.targets +command.kjs_hand +command.kubejs +command.kubejs.custom_command +command.kubejs.custom_command.id +command.kubejs.dump_registry +command.kubejs.dump_registry.registry +command.kubejs.errors +command.kubejs.export +command.kubejs.export_virtual_data +command.kubejs.hand +command.kubejs.hotbar +command.kubejs.inventory +command.kubejs.list_tag +command.kubejs.list_tag.registry +command.kubejs.list_tag.registry.tag +command.kubejs.offhand +command.kubejs.painter +command.kubejs.painter.player +command.kubejs.painter.player.object +command.kubejs.reload +command.kubejs.reload.client_scripts +command.kubejs.reload.lang +command.kubejs.reload.server_scripts +command.kubejs.reload.startup_scripts +command.kubejs.reload.textures +command.kubejs.stages +command.kubejs.stages.add +command.kubejs.stages.add.player +command.kubejs.stages.add.player.stage +command.kubejs.stages.clear +command.kubejs.stages.clear.player +command.kubejs.stages.list +command.kubejs.stages.list.player +command.kubejs.stages.remove +command.kubejs.stages.remove.player +command.kubejs.stages.remove.player.stage +command.kubejs.warnings +command.kubejs.wiki +command.leaderboard +command.leaderboard.damage_dealt +command.leaderboard.deaths +command.leaderboard.deaths_per_hour +command.leaderboard.distance_walked +command.leaderboard.jumps +command.leaderboard.mob_kills +command.leaderboard.player_kills +command.leaderboard.time_played +command.leaderboard.time_since_death +command.list +command.list.uuids +command.listhomes +command.listhomes.player +command.listwarps +command.locate +command.locate.structure +command.locatebiome +command.locatebiome.biome +command.loot +command.loot.give +command.loot.give.players +command.loot.give.players.fish +command.loot.give.players.fish.loot_table +command.loot.give.players.fish.loot_table.pos +command.loot.give.players.fish.loot_table.pos.mainhand +command.loot.give.players.fish.loot_table.pos.offhand +command.loot.give.players.fish.loot_table.pos.tool +command.loot.give.players.kill +command.loot.give.players.kill.target +command.loot.give.players.loot +command.loot.give.players.loot.loot_table +command.loot.give.players.mine +command.loot.give.players.mine.pos +command.loot.give.players.mine.pos.mainhand +command.loot.give.players.mine.pos.offhand +command.loot.give.players.mine.pos.tool +command.loot.insert +command.loot.insert.targetPos +command.loot.insert.targetPos.fish +command.loot.insert.targetPos.fish.loot_table +command.loot.insert.targetPos.fish.loot_table.pos +command.loot.insert.targetPos.fish.loot_table.pos.mainhand +command.loot.insert.targetPos.fish.loot_table.pos.offhand +command.loot.insert.targetPos.fish.loot_table.pos.tool +command.loot.insert.targetPos.kill +command.loot.insert.targetPos.kill.target +command.loot.insert.targetPos.loot +command.loot.insert.targetPos.loot.loot_table +command.loot.insert.targetPos.mine +command.loot.insert.targetPos.mine.pos +command.loot.insert.targetPos.mine.pos.mainhand +command.loot.insert.targetPos.mine.pos.offhand +command.loot.insert.targetPos.mine.pos.tool +command.loot.replace +command.loot.replace.block +command.loot.replace.block.targetPos +command.loot.replace.block.targetPos.slot +command.loot.replace.block.targetPos.slot.count +command.loot.replace.block.targetPos.slot.count.fish +command.loot.replace.block.targetPos.slot.count.fish.loot_table +command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos +command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.mainhand +command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.offhand +command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.tool +command.loot.replace.block.targetPos.slot.count.kill +command.loot.replace.block.targetPos.slot.count.kill.target +command.loot.replace.block.targetPos.slot.count.loot +command.loot.replace.block.targetPos.slot.count.loot.loot_table +command.loot.replace.block.targetPos.slot.count.mine +command.loot.replace.block.targetPos.slot.count.mine.pos +command.loot.replace.block.targetPos.slot.count.mine.pos.mainhand +command.loot.replace.block.targetPos.slot.count.mine.pos.offhand +command.loot.replace.block.targetPos.slot.count.mine.pos.tool +command.loot.replace.block.targetPos.slot.fish +command.loot.replace.block.targetPos.slot.fish.loot_table +command.loot.replace.block.targetPos.slot.fish.loot_table.pos +command.loot.replace.block.targetPos.slot.fish.loot_table.pos.mainhand +command.loot.replace.block.targetPos.slot.fish.loot_table.pos.offhand +command.loot.replace.block.targetPos.slot.fish.loot_table.pos.tool +command.loot.replace.block.targetPos.slot.kill +command.loot.replace.block.targetPos.slot.kill.target +command.loot.replace.block.targetPos.slot.loot +command.loot.replace.block.targetPos.slot.loot.loot_table +command.loot.replace.block.targetPos.slot.mine +command.loot.replace.block.targetPos.slot.mine.pos +command.loot.replace.block.targetPos.slot.mine.pos.mainhand +command.loot.replace.block.targetPos.slot.mine.pos.offhand +command.loot.replace.block.targetPos.slot.mine.pos.tool +command.loot.replace.entity +command.loot.replace.entity.entities +command.loot.replace.entity.entities.slot +command.loot.replace.entity.entities.slot.count +command.loot.replace.entity.entities.slot.count.fish +command.loot.replace.entity.entities.slot.count.fish.loot_table +command.loot.replace.entity.entities.slot.count.fish.loot_table.pos +command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.mainhand +command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.offhand +command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.tool +command.loot.replace.entity.entities.slot.count.kill +command.loot.replace.entity.entities.slot.count.kill.target +command.loot.replace.entity.entities.slot.count.loot +command.loot.replace.entity.entities.slot.count.loot.loot_table +command.loot.replace.entity.entities.slot.count.mine +command.loot.replace.entity.entities.slot.count.mine.pos +command.loot.replace.entity.entities.slot.count.mine.pos.mainhand +command.loot.replace.entity.entities.slot.count.mine.pos.offhand +command.loot.replace.entity.entities.slot.count.mine.pos.tool +command.loot.replace.entity.entities.slot.fish +command.loot.replace.entity.entities.slot.fish.loot_table +command.loot.replace.entity.entities.slot.fish.loot_table.pos +command.loot.replace.entity.entities.slot.fish.loot_table.pos.mainhand +command.loot.replace.entity.entities.slot.fish.loot_table.pos.offhand +command.loot.replace.entity.entities.slot.fish.loot_table.pos.tool +command.loot.replace.entity.entities.slot.kill +command.loot.replace.entity.entities.slot.kill.target +command.loot.replace.entity.entities.slot.loot +command.loot.replace.entity.entities.slot.loot.loot_table +command.loot.replace.entity.entities.slot.mine +command.loot.replace.entity.entities.slot.mine.pos +command.loot.replace.entity.entities.slot.mine.pos.mainhand +command.loot.replace.entity.entities.slot.mine.pos.offhand +command.loot.replace.entity.entities.slot.mine.pos.tool +command.loot.spawn +command.loot.spawn.targetPos +command.loot.spawn.targetPos.fish +command.loot.spawn.targetPos.fish.loot_table +command.loot.spawn.targetPos.fish.loot_table.pos +command.loot.spawn.targetPos.fish.loot_table.pos.mainhand +command.loot.spawn.targetPos.fish.loot_table.pos.offhand +command.loot.spawn.targetPos.fish.loot_table.pos.tool +command.loot.spawn.targetPos.kill +command.loot.spawn.targetPos.kill.target +command.loot.spawn.targetPos.loot +command.loot.spawn.targetPos.loot.loot_table +command.loot.spawn.targetPos.mine +command.loot.spawn.targetPos.mine.pos +command.loot.spawn.targetPos.mine.pos.mainhand +command.loot.spawn.targetPos.mine.pos.offhand +command.loot.spawn.targetPos.mine.pos.tool +command.me +command.me.action +command.modernfix +command.modernfix.upgradeStructures +command.msg +command.msg.targets +command.msg.targets.message +command.mute +command.mute.player +command.nickname +command.nickname.nickname +command.nicknamefor +command.nicknamefor.player +command.nicknamefor.player.nickname +command.open-patchouli-book +command.open-patchouli-book.targets +command.open-patchouli-book.targets.book +command.open-patchouli-book.targets.book.entry +command.open-patchouli-book.targets.book.entry.page +command.openpac +command.openpac-claims +command.openpac-claims.about +command.openpac-claims.about.profile +command.openpac-claims.admin-mode +command.openpac-claims.claim +command.openpac-claims.claim.anyway +command.openpac-claims.claim.anyway.block pos +command.openpac-claims.claim.block pos +command.openpac-claims.forceload +command.openpac-claims.forceload.anyway +command.openpac-claims.forceload.anyway.block pos +command.openpac-claims.forceload.block pos +command.openpac-claims.non-ally-mode +command.openpac-claims.server +command.openpac-claims.server-claim-mode +command.openpac-claims.server.claim +command.openpac-claims.server.claim.anyway +command.openpac-claims.server.claim.anyway.block pos +command.openpac-claims.server.claim.block pos +command.openpac-claims.server.forceload +command.openpac-claims.server.forceload.anyway +command.openpac-claims.server.forceload.anyway.block pos +command.openpac-claims.server.forceload.block pos +command.openpac-claims.server.sub-claim +command.openpac-claims.server.sub-claim.current +command.openpac-claims.server.sub-claim.for +command.openpac-claims.server.sub-claim.for.player +command.openpac-claims.server.sub-claim.for.player.current +command.openpac-claims.server.sub-claim.for.player.use +command.openpac-claims.server.sub-claim.for.player.use.sub-id +command.openpac-claims.server.sub-claim.use +command.openpac-claims.server.sub-claim.use.sub-id +command.openpac-claims.server.unclaim +command.openpac-claims.server.unclaim.anyway +command.openpac-claims.server.unclaim.anyway.block pos +command.openpac-claims.server.unclaim.block pos +command.openpac-claims.server.unforceload +command.openpac-claims.server.unforceload.anyway +command.openpac-claims.server.unforceload.anyway.block pos +command.openpac-claims.server.unforceload.block pos +command.openpac-claims.sub-claim +command.openpac-claims.sub-claim.current +command.openpac-claims.sub-claim.for +command.openpac-claims.sub-claim.for.player +command.openpac-claims.sub-claim.for.player.current +command.openpac-claims.sub-claim.for.player.use +command.openpac-claims.sub-claim.for.player.use.sub-id +command.openpac-claims.sub-claim.use +command.openpac-claims.sub-claim.use.sub-id +command.openpac-claims.unclaim +command.openpac-claims.unclaim.anyway +command.openpac-claims.unclaim.anyway.block pos +command.openpac-claims.unclaim.block pos +command.openpac-claims.unforceload +command.openpac-claims.unforceload.anyway +command.openpac-claims.unforceload.anyway.block pos +command.openpac-claims.unforceload.block pos +command.openpac-parties +command.openpac-parties.about +command.openpac-parties.about.player +command.openpac-parties.about.profile +command.openpac-parties.ally +command.openpac-parties.ally.add +command.openpac-parties.ally.add.player +command.openpac-parties.ally.remove +command.openpac-parties.ally.remove.owner +command.openpac-parties.chat +command.openpac-parties.chat.message +command.openpac-parties.create +command.openpac-parties.destroy +command.openpac-parties.destroy.confirm +command.openpac-parties.join +command.openpac-parties.join.id +command.openpac-parties.leave +command.openpac-parties.member +command.openpac-parties.member.invite +command.openpac-parties.member.invite.player +command.openpac-parties.member.kick +command.openpac-parties.member.kick.name +command.openpac-parties.member.rank +command.openpac-parties.member.rank.rank +command.openpac-parties.member.rank.rank.name +command.openpac-parties.transfer +command.openpac-parties.transfer.new-owner +command.openpac-parties.transfer.new-owner.confirm +command.openpac.expired-claims-config +command.openpac.expired-claims-config.get +command.openpac.expired-claims-config.get.key +command.openpac.expired-claims-config.help +command.openpac.expired-claims-config.help.key +command.openpac.expired-claims-config.reset +command.openpac.expired-claims-config.reset.key +command.openpac.expired-claims-config.set +command.openpac.expired-claims-config.set.key +command.openpac.expired-claims-config.set.key.value +command.openpac.player-config +command.openpac.player-config.default +command.openpac.player-config.default.get +command.openpac.player-config.default.get.key +command.openpac.player-config.default.help +command.openpac.player-config.default.help.key +command.openpac.player-config.default.reset +command.openpac.player-config.default.reset.key +command.openpac.player-config.default.set +command.openpac.player-config.default.set.key +command.openpac.player-config.default.set.key.value +command.openpac.player-config.for +command.openpac.player-config.for.player +command.openpac.player-config.for.player.get +command.openpac.player-config.for.player.get.key +command.openpac.player-config.for.player.help +command.openpac.player-config.for.player.help.key +command.openpac.player-config.for.player.reset +command.openpac.player-config.for.player.reset.key +command.openpac.player-config.for.player.set +command.openpac.player-config.for.player.set.key +command.openpac.player-config.for.player.set.key.value +command.openpac.player-config.for.player.sub +command.openpac.player-config.for.player.sub.create +command.openpac.player-config.for.player.sub.create.sub-id +command.openpac.player-config.for.player.sub.delete +command.openpac.player-config.for.player.sub.delete.sub-id +command.openpac.player-config.for.player.sub.get +command.openpac.player-config.for.player.sub.get.sub-id +command.openpac.player-config.for.player.sub.get.sub-id.key +command.openpac.player-config.for.player.sub.help +command.openpac.player-config.for.player.sub.help.sub-id +command.openpac.player-config.for.player.sub.help.sub-id.key +command.openpac.player-config.for.player.sub.list +command.openpac.player-config.for.player.sub.list.start-at +command.openpac.player-config.for.player.sub.reset +command.openpac.player-config.for.player.sub.reset.sub-id +command.openpac.player-config.for.player.sub.reset.sub-id.key +command.openpac.player-config.for.player.sub.set +command.openpac.player-config.for.player.sub.set.sub-id +command.openpac.player-config.for.player.sub.set.sub-id.key +command.openpac.player-config.for.player.sub.set.sub-id.key.value +command.openpac.player-config.get +command.openpac.player-config.get.key +command.openpac.player-config.help +command.openpac.player-config.help.key +command.openpac.player-config.reset +command.openpac.player-config.reset.key +command.openpac.player-config.set +command.openpac.player-config.set.key +command.openpac.player-config.set.key.value +command.openpac.player-config.sub +command.openpac.player-config.sub.create +command.openpac.player-config.sub.create.sub-id +command.openpac.player-config.sub.delete +command.openpac.player-config.sub.delete.sub-id +command.openpac.player-config.sub.get +command.openpac.player-config.sub.get.sub-id +command.openpac.player-config.sub.get.sub-id.key +command.openpac.player-config.sub.help +command.openpac.player-config.sub.help.sub-id +command.openpac.player-config.sub.help.sub-id.key +command.openpac.player-config.sub.list +command.openpac.player-config.sub.list.start-at +command.openpac.player-config.sub.reset +command.openpac.player-config.sub.reset.sub-id +command.openpac.player-config.sub.reset.sub-id.key +command.openpac.player-config.sub.set +command.openpac.player-config.sub.set.sub-id +command.openpac.player-config.sub.set.sub-id.key +command.openpac.player-config.sub.set.sub-id.key.value +command.openpac.server-claims-config +command.openpac.server-claims-config.get +command.openpac.server-claims-config.get.key +command.openpac.server-claims-config.help +command.openpac.server-claims-config.help.key +command.openpac.server-claims-config.reset +command.openpac.server-claims-config.reset.key +command.openpac.server-claims-config.set +command.openpac.server-claims-config.set.key +command.openpac.server-claims-config.set.key.value +command.openpac.server-claims-config.sub +command.openpac.server-claims-config.sub.create +command.openpac.server-claims-config.sub.create.sub-id +command.openpac.server-claims-config.sub.delete +command.openpac.server-claims-config.sub.delete.sub-id +command.openpac.server-claims-config.sub.get +command.openpac.server-claims-config.sub.get.sub-id +command.openpac.server-claims-config.sub.get.sub-id.key +command.openpac.server-claims-config.sub.help +command.openpac.server-claims-config.sub.help.sub-id +command.openpac.server-claims-config.sub.help.sub-id.key +command.openpac.server-claims-config.sub.list +command.openpac.server-claims-config.sub.list.start-at +command.openpac.server-claims-config.sub.reset +command.openpac.server-claims-config.sub.reset.sub-id +command.openpac.server-claims-config.sub.reset.sub-id.key +command.openpac.server-claims-config.sub.set +command.openpac.server-claims-config.sub.set.sub-id +command.openpac.server-claims-config.sub.set.sub-id.key +command.openpac.server-claims-config.sub.set.sub-id.key.value +command.openpac.wilderness-config +command.openpac.wilderness-config.get +command.openpac.wilderness-config.get.key +command.openpac.wilderness-config.help +command.openpac.wilderness-config.help.key +command.openpac.wilderness-config.reset +command.openpac.wilderness-config.reset.key +command.openpac.wilderness-config.set +command.openpac.wilderness-config.set.key +command.openpac.wilderness-config.set.key.value +command.opm +command.opm.message +command.particle +command.particle.name +command.particle.name.pos +command.particle.name.pos.delta +command.particle.name.pos.delta.speed +command.particle.name.pos.delta.speed.count +command.particle.name.pos.delta.speed.count.force +command.particle.name.pos.delta.speed.count.force.viewers +command.particle.name.pos.delta.speed.count.normal +command.particle.name.pos.delta.speed.count.normal.viewers +command.placefeature +command.placefeature.feature +command.placefeature.feature.pos +command.playsound +command.playsound.sound +command.playsound.sound.ambient +command.playsound.sound.ambient.targets +command.playsound.sound.ambient.targets.pos +command.playsound.sound.ambient.targets.pos.volume +command.playsound.sound.ambient.targets.pos.volume.pitch +command.playsound.sound.ambient.targets.pos.volume.pitch.minVolume +command.playsound.sound.block +command.playsound.sound.block.targets +command.playsound.sound.block.targets.pos +command.playsound.sound.block.targets.pos.volume +command.playsound.sound.block.targets.pos.volume.pitch +command.playsound.sound.block.targets.pos.volume.pitch.minVolume +command.playsound.sound.hostile +command.playsound.sound.hostile.targets +command.playsound.sound.hostile.targets.pos +command.playsound.sound.hostile.targets.pos.volume +command.playsound.sound.hostile.targets.pos.volume.pitch +command.playsound.sound.hostile.targets.pos.volume.pitch.minVolume +command.playsound.sound.master +command.playsound.sound.master.targets +command.playsound.sound.master.targets.pos +command.playsound.sound.master.targets.pos.volume +command.playsound.sound.master.targets.pos.volume.pitch +command.playsound.sound.master.targets.pos.volume.pitch.minVolume +command.playsound.sound.music +command.playsound.sound.music.targets +command.playsound.sound.music.targets.pos +command.playsound.sound.music.targets.pos.volume +command.playsound.sound.music.targets.pos.volume.pitch +command.playsound.sound.music.targets.pos.volume.pitch.minVolume +command.playsound.sound.neutral +command.playsound.sound.neutral.targets +command.playsound.sound.neutral.targets.pos +command.playsound.sound.neutral.targets.pos.volume +command.playsound.sound.neutral.targets.pos.volume.pitch +command.playsound.sound.neutral.targets.pos.volume.pitch.minVolume +command.playsound.sound.player +command.playsound.sound.player.targets +command.playsound.sound.player.targets.pos +command.playsound.sound.player.targets.pos.volume +command.playsound.sound.player.targets.pos.volume.pitch +command.playsound.sound.player.targets.pos.volume.pitch.minVolume +command.playsound.sound.record +command.playsound.sound.record.targets +command.playsound.sound.record.targets.pos +command.playsound.sound.record.targets.pos.volume +command.playsound.sound.record.targets.pos.volume.pitch +command.playsound.sound.record.targets.pos.volume.pitch.minVolume +command.playsound.sound.voice +command.playsound.sound.voice.targets +command.playsound.sound.voice.targets.pos +command.playsound.sound.voice.targets.pos.volume +command.playsound.sound.voice.targets.pos.volume.pitch +command.playsound.sound.voice.targets.pos.volume.pitch.minVolume +command.playsound.sound.weather +command.playsound.sound.weather.targets +command.playsound.sound.weather.targets.pos +command.playsound.sound.weather.targets.pos.volume +command.playsound.sound.weather.targets.pos.volume.pitch +command.playsound.sound.weather.targets.pos.volume.pitch.minVolume +command.publish +command.publish.port +command.railways +command.railways.split_train +command.railways.split_train.train_id +command.railways.split_train.train_id.number +command.railways.split_train.train_name +command.railways.split_train.train_name.number +command.railways.train_uuid +command.railways.train_uuid.name +command.recipe +command.recipe.give +command.recipe.give.targets +command.recipe.give.targets.all +command.recipe.give.targets.recipe +command.recipe.take +command.recipe.take.targets +command.recipe.take.targets.all +command.recipe.take.targets.recipe +command.recording +command.reload +command.rtp +command.say +command.say.message +command.schedule +command.schedule.clear +command.schedule.clear.function +command.schedule.function +command.schedule.function.function +command.schedule.function.function.time +command.schedule.function.function.time.append +command.schedule.function.function.time.replace +command.scoreboard +command.scoreboard.objectives +command.scoreboard.objectives.add +command.scoreboard.objectives.add.objective +command.scoreboard.objectives.add.objective.criteria +command.scoreboard.objectives.add.objective.criteria.displayName +command.scoreboard.objectives.list +command.scoreboard.objectives.modify +command.scoreboard.objectives.modify.objective +command.scoreboard.objectives.modify.objective.displayname +command.scoreboard.objectives.modify.objective.displayname.displayName +command.scoreboard.objectives.modify.objective.rendertype +command.scoreboard.objectives.modify.objective.rendertype.hearts +command.scoreboard.objectives.modify.objective.rendertype.integer +command.scoreboard.objectives.remove +command.scoreboard.objectives.remove.objective +command.scoreboard.objectives.setdisplay +command.scoreboard.objectives.setdisplay.slot +command.scoreboard.objectives.setdisplay.slot.objective +command.scoreboard.players +command.scoreboard.players.add +command.scoreboard.players.add.targets +command.scoreboard.players.add.targets.objective +command.scoreboard.players.add.targets.objective.score +command.scoreboard.players.enable +command.scoreboard.players.enable.targets +command.scoreboard.players.enable.targets.objective +command.scoreboard.players.get +command.scoreboard.players.get.target +command.scoreboard.players.get.target.objective +command.scoreboard.players.list +command.scoreboard.players.list.target +command.scoreboard.players.operation +command.scoreboard.players.operation.targets +command.scoreboard.players.operation.targets.targetObjective +command.scoreboard.players.operation.targets.targetObjective.operation +command.scoreboard.players.operation.targets.targetObjective.operation.source +command.scoreboard.players.operation.targets.targetObjective.operation.source.sourceObjective +command.scoreboard.players.remove +command.scoreboard.players.remove.targets +command.scoreboard.players.remove.targets.objective +command.scoreboard.players.remove.targets.objective.score +command.scoreboard.players.reset +command.scoreboard.players.reset.targets +command.scoreboard.players.reset.targets.objective +command.scoreboard.players.set +command.scoreboard.players.set.targets +command.scoreboard.players.set.targets.objective +command.scoreboard.players.set.targets.objective.score +command.seed +command.setblock +command.setblock.pos +command.setblock.pos.block +command.setblock.pos.block.destroy +command.setblock.pos.block.keep +command.setblock.pos.block.replace +command.sethome +command.sethome.name +command.setwarp +command.setwarp.name +command.setworldspawn +command.setworldspawn.pos +command.setworldspawn.pos.angle +command.snr +command.snr.split_train +command.snr.split_train.train_id +command.snr.split_train.train_id.number +command.snr.split_train.train_name +command.snr.split_train.train_name.number +command.snr.train_uuid +command.snr.train_uuid.name +command.spawn +command.spawnpoint +command.spawnpoint.targets +command.spawnpoint.targets.pos +command.spawnpoint.targets.pos.angle +command.spectate +command.spectate.target +command.spectate.target.player +command.spreadplayers +command.spreadplayers.center +command.spreadplayers.center.spreadDistance +command.spreadplayers.center.spreadDistance.maxRange +command.spreadplayers.center.spreadDistance.maxRange.respectTeams +command.spreadplayers.center.spreadDistance.maxRange.respectTeams.targets +command.spreadplayers.center.spreadDistance.maxRange.under +command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight +command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams +command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams.targets +command.stopsound +command.stopsound.targets +command.stopsound.targets.all +command.stopsound.targets.all.sound +command.stopsound.targets.ambient +command.stopsound.targets.ambient.sound +command.stopsound.targets.block +command.stopsound.targets.block.sound +command.stopsound.targets.hostile +command.stopsound.targets.hostile.sound +command.stopsound.targets.master +command.stopsound.targets.master.sound +command.stopsound.targets.music +command.stopsound.targets.music.sound +command.stopsound.targets.neutral +command.stopsound.targets.neutral.sound +command.stopsound.targets.player +command.stopsound.targets.player.sound +command.stopsound.targets.record +command.stopsound.targets.record.sound +command.stopsound.targets.voice +command.stopsound.targets.voice.sound +command.stopsound.targets.weather +command.stopsound.targets.weather.sound +command.streaming +command.summon +command.summon.entity +command.summon.entity.pos +command.summon.entity.pos.nbt +command.tag +command.tag.targets +command.tag.targets.add +command.tag.targets.add.name +command.tag.targets.list +command.tag.targets.remove +command.tag.targets.remove.name +command.tb +command.tb.access +command.tb.access.pos +command.tb.access.target +command.tb.clear +command.tb.clear.player +command.tb.remove +command.tb.remove.player +command.tb.restore +command.tb.restore.target +command.tb.restore.target.backpack_id +command.tb.unpack +command.tb.unpack.pos +command.tb.unpack.target +command.team +command.team.add +command.team.add.team +command.team.add.team.displayName +command.team.empty +command.team.empty.team +command.team.join +command.team.join.team +command.team.join.team.members +command.team.leave +command.team.leave.members +command.team.list +command.team.list.team +command.team.modify +command.team.modify.team +command.team.modify.team.collisionRule +command.team.modify.team.collisionRule.always +command.team.modify.team.collisionRule.never +command.team.modify.team.collisionRule.pushOtherTeams +command.team.modify.team.collisionRule.pushOwnTeam +command.team.modify.team.color +command.team.modify.team.color.value +command.team.modify.team.deathMessageVisibility +command.team.modify.team.deathMessageVisibility.always +command.team.modify.team.deathMessageVisibility.hideForOtherTeams +command.team.modify.team.deathMessageVisibility.hideForOwnTeam +command.team.modify.team.deathMessageVisibility.never +command.team.modify.team.displayName +command.team.modify.team.displayName.displayName +command.team.modify.team.friendlyFire +command.team.modify.team.friendlyFire.allowed +command.team.modify.team.nametagVisibility +command.team.modify.team.nametagVisibility.always +command.team.modify.team.nametagVisibility.hideForOtherTeams +command.team.modify.team.nametagVisibility.hideForOwnTeam +command.team.modify.team.nametagVisibility.never +command.team.modify.team.prefix +command.team.modify.team.prefix.prefix +command.team.modify.team.seeFriendlyInvisibles +command.team.modify.team.seeFriendlyInvisibles.allowed +command.team.modify.team.suffix +command.team.modify.team.suffix.suffix +command.team.remove +command.team.remove.team +command.teammsg +command.teammsg.message +command.teleport +command.teleport.destination +command.teleport.location +command.teleport.targets +command.teleport.targets.destination +command.teleport.targets.location +command.teleport.targets.location.facing +command.teleport.targets.location.facing.entity +command.teleport.targets.location.facing.entity.facingEntity +command.teleport.targets.location.facing.entity.facingEntity.facingAnchor +command.teleport.targets.location.facing.facingLocation +command.teleport.targets.location.rotation +command.teleport_last +command.teleport_last.player +command.tellraw +command.tellraw.targets +command.tellraw.targets.message +command.tfc +command.tfc.clearworld +command.tfc.clearworld.radius +command.tfc.clearworld.radius.preset +command.tfc.climateChunkUpdate +command.tfc.count +command.tfc.count.radius +command.tfc.count.radius.block +command.tfc.forge +command.tfc.forge.bonus +command.tfc.heat +command.tfc.heat.value +command.tfc.locate +command.tfc.locate.biome +command.tfc.locate.biome.biome +command.tfc.locate.vein +command.tfc.locate.vein.vein +command.tfc.locate.vein.vein.max_y +command.tfc.locate.volcano +command.tfc.player +command.tfc.player.target +command.tfc.player.target.add +command.tfc.player.target.add.hunger +command.tfc.player.target.add.hunger.value +command.tfc.player.target.add.saturation +command.tfc.player.target.add.saturation.value +command.tfc.player.target.add.water +command.tfc.player.target.add.water.value +command.tfc.player.target.query +command.tfc.player.target.query.hunger +command.tfc.player.target.query.nutrition +command.tfc.player.target.query.saturation +command.tfc.player.target.query.water +command.tfc.player.target.reset +command.tfc.player.target.reset.hunger +command.tfc.player.target.reset.saturation +command.tfc.player.target.reset.water +command.tfc.player.target.set +command.tfc.player.target.set.hunger +command.tfc.player.target.set.hunger.value +command.tfc.player.target.set.saturation +command.tfc.player.target.set.saturation.value +command.tfc.player.target.set.water +command.tfc.player.target.set.water.value +command.tfc.propick +command.tfc.propick.clearworld +command.tfc.propick.scan +command.tfc.tree +command.tfc.tree.pos +command.tfc.tree.pos.wood +command.tfc.tree.pos.wood.variant +command.time +command.time.add +command.time.add.days +command.time.add.days.value +command.time.add.months +command.time.add.months.value +command.time.add.ticks +command.time.add.ticks.value +command.time.add.years +command.time.add.years.value +command.time.query +command.time.query.calendarticks +command.time.query.day +command.time.query.daytime +command.time.query.gametime +command.time.query.ticks +command.time.set +command.time.set.day +command.time.set.midnight +command.time.set.monthlength +command.time.set.monthlength.value +command.time.set.night +command.time.set.noon +command.title +command.title.targets +command.title.targets.actionbar +command.title.targets.actionbar.title +command.title.targets.clear +command.title.targets.reset +command.title.targets.subtitle +command.title.targets.subtitle.title +command.title.targets.times +command.title.targets.times.fadeIn +command.title.targets.times.fadeIn.stay +command.title.targets.times.fadeIn.stay.fadeOut +command.title.targets.title +command.title.targets.title.title +command.tpa +command.tpa.target +command.tpaccept +command.tpaccept.id +command.tpahere +command.tpahere.target +command.tpdeny +command.tpdeny.id +command.tpx +command.tpx.dimension +command.trashcan +command.trigger +command.trigger.objective +command.trigger.objective.add +command.trigger.objective.add.value +command.trigger.objective.set +command.trigger.objective.set.value +command.unmute +command.unmute.player +command.warp +command.warp.name +command.weather +command.weather.clear +command.weather.clear.duration +command.weather.rain +command.weather.rain.duration +command.weather.rain.duration.intensity +command.weather.thunder +command.weather.thunder.duration +command.weather.thunder.duration.intensity +command.worldborder +command.worldborder.add +command.worldborder.add.distance +command.worldborder.add.distance.time +command.worldborder.center +command.worldborder.center.pos +command.worldborder.damage +command.worldborder.damage.amount +command.worldborder.damage.amount.damagePerBlock +command.worldborder.damage.buffer +command.worldborder.damage.buffer.distance +command.worldborder.get +command.worldborder.set +command.worldborder.set.distance +command.worldborder.set.distance.time +command.worldborder.warning +command.worldborder.warning.distance +command.worldborder.warning.distance.distance +command.worldborder.warning.time +command.worldborder.warning.time.time diff --git a/global-server-configs/ftbranks/players.snbt b/global-server-configs/ftbranks/players.snbt new file mode 100644 index 000000000..ffcd4415b --- /dev/null +++ b/global-server-configs/ftbranks/players.snbt @@ -0,0 +1 @@ +{ } diff --git a/global-server-configs/ftbranks/ranks.snbt b/global-server-configs/ftbranks/ranks.snbt new file mode 100644 index 000000000..16cfe32af --- /dev/null +++ b/global-server-configs/ftbranks/ranks.snbt @@ -0,0 +1,26 @@ +{ + member: { + name: "Player" + power: 1 + condition: "always_active" + ftbranks.name_format: "{name}" + ftbchunks.max_claimed: 50 + ftbchunks.max_force_loaded: 3 + command.trashcan: true + } + vip: { + name: "VIP" + power: 50 + ftbranks.name_format: "&b{name}&r" + ftbchunks.max_claimed: 150 + ftbchunks.max_force_loaded: 5 + } + admin: { + name: "Admin" + power: 1000 + condition: "op" + ftbranks.name_format: "&c{name}&r" + ftbchunks.max_claimed: 1000 + ftbchunks.max_force_loaded: 10 + } +} diff --git a/global-server-configs/ftbxmodcompat/ftbxmodcompat.snbt b/global-server-configs/ftbxmodcompat/ftbxmodcompat.snbt new file mode 100644 index 000000000..313ca3bf4 --- /dev/null +++ b/global-server-configs/ftbxmodcompat/ftbxmodcompat.snbt @@ -0,0 +1,4 @@ +# Default config file that will be copied to config\ftbxmodcompat.snbt if it doesn't exist! +# Just copy any values you wish to override in here! + +{ } diff --git a/global-server-configs/jei-server.toml b/global-server-configs/jei-server.toml new file mode 100644 index 000000000..752781a59 --- /dev/null +++ b/global-server-configs/jei-server.toml @@ -0,0 +1,9 @@ + +["cheat mode"] + #Enable Cheat Mode for Operators (/op) + enableCheatModeForOp = true + #Enable Cheat Mode for users in Creative Mode + enableCheatModeForCreative = true + #Enable Cheat Mode for users who can use /give + enableCheatModeForGive = false + diff --git a/global-server-configs/jumbofurnace-server.toml b/global-server-configs/jumbofurnace-server.toml new file mode 100644 index 000000000..299c60cd4 --- /dev/null +++ b/global-server-configs/jumbofurnace-server.toml @@ -0,0 +1,10 @@ + +["Cooking Settings"] + #Cook Time: Time in ticks needed for one cooking cycle + #Range: > 1 + cooktime = 200 + +["Construction Settings"] + #Shearable: Allow jumbo furnaces to be cleanly dismantled with shears + shearable = true + diff --git a/global-server-configs/morered-server.toml b/global-server-configs/morered-server.toml new file mode 100644 index 000000000..9fa3fdbfb --- /dev/null +++ b/global-server-configs/morered-server.toml @@ -0,0 +1,6 @@ + +["General Settings"] + #Maximum Plinth Connection Range + #Range: 0.0 ~ 1.7976931348623157E308 + max_wire_plinth_connection_range = 32.0 + diff --git a/global-server-configs/openpartiesandclaims-server.toml b/global-server-configs/openpartiesandclaims-server.toml new file mode 100644 index 000000000..0b3d1366c --- /dev/null +++ b/global-server-configs/openpartiesandclaims-server.toml @@ -0,0 +1,274 @@ + +[serverConfig] + #The default language used for server-side localization for players that don't have the mod installed. + defaultLanguage = "en_us" + #How often to auto-save modified data, e.g. parties, claims, player configs (in minutes). + #Range: > 1 + autosaveInterval = 10 + #How many sub-configs (sub-claims) can each player create. + #Range: 0 ~ 1024 + playerSubConfigLimit = 64 + #The permission system to use for everything that requires permission checks (e.g. permission_api, ftb_ranks, luck_perms, prometheus). Non-built-in permission systems can be registered through the API with an addon. + permissionSystem = "ftb_ranks" + #The player party system to prefer and use for anything that can't support multiple systems (e.g. default, ftb_teams, argonauts, argonauts_guilds). Non-built-in party systems can be registered through the API with an addon. + primaryPartySystem = "ftb_teams" + #A list of options in the player config that individual players can reconfigure. If an option is in neither of the configurable option lists, + #then the value in the default player config is used across the server. Check the default player config .toml file for the option names. + playerConfigurablePlayerConfigOptions = ["claims.protectClaimedChunks", "claims.forceload.enabled", "claims.name", "claims.color", "claims.protection.fromParty", "claims.protection.fromAllyParties", "claims.protection.buttonsFromProjectiles", "claims.protection.targetsFromProjectiles", "claims.protection.platesFromPlayers", "claims.protection.platesFromMobs", "claims.protection.platesFromOther", "claims.protection.tripwireFromPlayers", "claims.protection.tripwireFromMobs", "claims.protection.tripwireFromOther", "claims.protection.cropTrample", "claims.protection.playerLightning", "claims.protection.fromFrostWalking", "claims.protection.entitiesFromPlayers", "claims.protection.entitiesFromMobs", "claims.protection.entitiesFromOther", "claims.protection.entitiesRedirect", "claims.protection.entitiesFromExplosions", "claims.protection.entitiesFromFire", "claims.protection.netherPortalsPlayers", "claims.protection.netherPortalsMobs", "claims.protection.netherPortalsOther", "claims.protection.fluidBarrier", "claims.protection.dispenserBarrier", "claims.protection.pistonBarrier", "claims.protection.itemTossPlayers", "claims.protection.itemTossMobs", "claims.protection.itemTossOther", "claims.protection.itemTossRedirect", "claims.protection.mobLoot", "claims.protection.playerDeathLoot", "claims.protection.itemPickupPlayers", "claims.protection.itemPickupMobs", "claims.protection.itemPickupRedirect", "claims.protection.xpPickup", "claims.protection.raids", "claims.protection.naturalSpawnHostile", "claims.protection.naturalSpawnFriendly", "claims.protection.spawnersHostile", "claims.protection.spawnersFriendly", "claims.protection.projectileHitHostileSpawn", "claims.protection.projectileHitFriendlySpawn", "parties.name", "parties.shareLocationWithParty", "parties.shareLocationWithMutualAllyParties", "parties.receiveLocationsFromParty", "parties.receiveLocationsFromMutualAllyParties", "claims.protection.exceptionGroups.block.interact.Controls", "claims.protection.exceptionGroups.block.interact.Doors", "claims.protection.exceptionGroups.block.interact.Chests", "claims.protection.exceptionGroups.block.interact.Barrels", "claims.protection.exceptionGroups.block.interact.Ender_Chests", "claims.protection.exceptionGroups.block.interact.Shulker_Boxes", "claims.protection.exceptionGroups.block.interact.Furnaces", "claims.protection.exceptionGroups.block.interact.Hoppers", "claims.protection.exceptionGroups.block.interact.Dispenser-like", "claims.protection.exceptionGroups.block.interact.Anvils", "claims.protection.exceptionGroups.block.interact.Beds", "claims.protection.exceptionGroups.block.interact.Beacons", "claims.protection.exceptionGroups.block.interact.Enchanting_Tables", "claims.protection.exceptionGroups.block.break.Crops", "claims.protection.exceptionGroups.entity.interact.Traders", "claims.protection.exceptionGroups.entity.handInteract.Item_Frames", "claims.protection.exceptionGroups.entity.interact.Armor_Stands", "claims.protection.exceptionGroups.entity.break.Livestock", "claims.protection.exceptionGroups.entity.blockAccess.Villagers", "claims.protection.exceptionGroups.entity.entityAccess.Zombies", "claims.protection.exceptionGroups.entity.droppedItemAccess.Villagers", "claims.protection.exceptionGroups.entity.droppedItemAccess.Piglins", "claims.protection.exceptionGroups.entity.droppedItemAccess.Foxes", "claims.protection.exceptionGroups.item.interact.Books", "claims.protection.exceptionGroups.entity.barrier.Ender_Pearls", "/*remove comment to enable*/claims.protection.exceptionGroups.entity.barrier.Players"] + #A list of additional options in the player config that OPs can reconfigure for players. + #This is meant for options that should be configured per player but not by the players. + #If an option is in neither of the configurable option lists, then the value in the default player config is used across the server. + #Check the default player config .toml file for the option names. + opConfigurablePlayerConfigOptions = ["claims.bonusChunkClaims", "claims.bonusChunkForceloads"] + + [serverConfig.parties] + #Whether the parties part of this mod is enabled. + enabled = false + #The maximum number of members in a party. Existing members are not removed if the limit is reduced. + #Range: > 1 + maxPartyMembers = 64 + #The maximum number of allies for a party. Existing allies are not removed if the limit is reduced. + #Range: > 0 + maxPartyAllies = 64 + #The maximum number of invites to a party. Existing invites are not removed if the limit is reduced. + #Range: > 1 + maxPartyInvites = 16 + #For how long a party (members) can stay completely inactive on the server until it is deleted (in hours). This improves performance for servers running for years. + #Range: > 1 + partyExpirationTime = 168 + #How often to check for expired parties in order to remove them (in minutes). The interval is effectively rounded up to a multiple of 10 minutes. + #Range: > 10 + partyExpirationCheckInterval = 360 + + [serverConfig.claims] + #Whether the claims part of this mod is enabled. + enabled = true + #For how long a player can stay completely inactive on the server until their claims are expired (in hours). This improves performance for servers running for years. + #Range: > 1 + playerClaimsExpirationTime = 4380 + #How often to check for expired player chunk claims in order to remove them (in minutes). The interval is effectively rounded up to a multiple of 10 minutes. + #Range: > 10 + playerClaimsExpirationCheckInterval = 360 + #Whether to convert expired player chunk claims to "expired claims" instead of completely freeing them. This shouldn't be too bad for performance because it still reduces the number of unique claims. + playerClaimsConvertExpiredClaims = true + #The maximum number of chunks that a player can claim. Additional claims can be configured in the player config. + #This value can be overridden with a player permission. + #Range: > 0 + maxPlayerClaims = 50 + #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 + #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. + #The permission override only takes effect after the player logs in at least once after a server (re)launch, so it is recommended to keep all permission-based forceload limits equal to or greater than "maxPlayerClaimForceloads". + #The used permission system can be configured with "permissionSystem". + maxPlayerClaimForceloadsPermission = "ftbchunks.max_force_loaded" + #The permission that gives non-OP players the ability to make server claims and enable server claim mode. The used permission system can be configured with "permissionSystem". + serverClaimPermission = "xaero.pac_server_claims" + #The permission that gives non-OP players the ability to enable claim admin mode. The used permission system can be configured with "permissionSystem". + adminModePermission = "xaero.pac_admin_mode" + #The maximum distance on the X or Z axis (forming a square) that a chunk can be claimed at by a player. + #Range: > 0 + maxClaimDistance = 5 + #The type of the list defined in "claimableDimensionsList". ONLY - include only the listed dimensions. ALL_BUT - include all but the listed dimensions. + #Allowed Values: ONLY, ALL_BUT + claimableDimensionsListType = "ALL_BUT" + #Dimensions to include/exclude from being claimable, depending on the list type in "claimableDimensionsListType". + #For example ["minecraft:overworld", "minecraft:the_nether"]. + #By default the list is empty and of type ALL_BUT, meaning that all dimensions are claimable. + claimableDimensionsList = [] + #Whether to allow existing player claims to stay active in unclaimable dimensions which were previously claimable. + allowExistingClaimsInUnclaimableDimensions = true + #Whether to allow existing player forceloads to stay active in unclaimable dimensions which were previously claimable. Only relevant if existing claims are allowed. + allowExistingForceloadsInUnclaimableDimensions = false + #Whether to synchronize world chunk claims to the game clients. Enables client-side mods to access the claims data, e.g. to display it on a map. + #ALL - all claims are synced. OWNED_ONLY - only the claims that the client player owns and server claims are synced. NOT_SYNCED - claims are not synced. + #Allowed Values: NOT_SYNCED, OWNED_ONLY, ALL + claimsSynchronization = "ALL" + + [serverConfig.claims.protection] + #The type of the list defined in "friendlyChunkProtectedEntityList". ONLY - include only the listed entities. ALL_BUT - include all but the listed entities. + #Allowed Values: ONLY, ALL_BUT + friendlyChunkProtectedEntityListType = "ALL_BUT" + #Friendly entities to fully include/exclude in chunk protection, depending on the list type in "friendlyChunkProtectedEntityListType". Supports entity type tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["*:villager", "minecraft:m(ule|ooshroom)", "#minecraft:axolotl_hunt_targets"]. + #By default the list is empty with the type set to ALL_BUT, which means that all friendly entities are included. + friendlyChunkProtectedEntityList = ["minecraft:boat"] + #The type of the list defined in "hostileChunkProtectedEntityList". ONLY - include only the listed entities. ALL_BUT - include all but the listed entities. + #Allowed Values: ONLY, ALL_BUT + hostileChunkProtectedEntityListType = "ONLY" + #Hostile entities to fully include/exclude in chunk protection, depending on the list type in "hostileChunkProtectedEntityListType". Supports entity type tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(|wither_)skeleton", "minecraft:zombie(_villager|)", "#minecraft:raiders"] + hostileChunkProtectedEntityList = [] + #No longer a working option. Please transfer anything you still have here to "forcedBlockProtectionExceptionList" or "blockProtectionOptionalExceptionGroups", + #but keep in mind that those options work differently and please read their comments. + #This option will be completely removed on the full release of the mod. + blockProtectionExceptionList = [] + #No longer a working option. Please transfer anything you still have here to "forcedEntityProtectionExceptionList" or "entityProtectionOptionalExceptionGroups", + #but keep in mind that those options work differently and please read their comments. + #This option will be completely removed on the full release of the mod. + entityProtectionExceptionList = [] + #No longer a working option. Please transfer anything you still have here to "forcedEntityClaimBarrierList" or "entityClaimBarrierOptionalGroups", + #but keep in mind that those options work differently and please read their comments. + #This option will be completely removed on the full release of the mod. + entityClaimBarrierList = [] + #Blocks to partially exclude from chunk protection. Supports block tags. + #Just a block/tag ID in the list, e.g. "minecraft:lever" allows block interaction across the server if the item in the used hand isn't blocking it. + #Prefix "hand$" is the same as no prefix but enforces an empty hand requirement in protected chunks. Prefix "break$" allows breaking the block(s). + #Prefix "anything$" is the same as no prefix but allows interaction with any item held in the hand. Please make sure that no item does anything bad when used at a block with such an exception. + #Add the same block/tag multiple times to use multiple prefixes. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:lever", "minecraft:*_button", "break$minecraft:*_button", "break$minecraft:(*_|)sand"] + forcedBlockProtectionExceptionList = ["minecraft:crafting_table"] + #Custom groups of blocks that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple blocks and block tags. + #A group without a prefix creates a player config option for the right-click interaction with the group blocks. The format for a block group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-DIRT35{minecraft:dirt, minecraft:grass_block, minecraft:(oak|spruce)_*}". + #A group can be prefixed with "hand$" to create an option for the right-click interaction with an enforced empty hand requirement or "break$" for breaking the group blocks. + #Moreover, prefix "anything$" creates an option for the right-click interaction with any item held in the hand, not just allowed items. Please make sure that no item does anything + #bad when used at a block with such an exception. + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + blockProtectionOptionalExceptionGroups = ["Controls{minecraft:lever, #minecraft:buttons}", "Doors{#minecraft:doors, #minecraft:fence_gates, #forge:fence_gates, #minecraft:trapdoors}", "Chests{minecraft:chest, minecraft:trapped_chest, #forge:chests/wooden}", "Barrels{minecraft:barrel, #forge:barrels}", "Ender_Chests{minecraft:ender_chest, #forge:chests/ender}", "Shulker_Boxes{#minecraft:shulker_boxes}", "Furnaces{minecraft:furnace, minecraft:blast_furnace, minecraft:smoker}", "Hoppers{minecraft:hopper}", "Dispenser-like{minecraft:dispenser, minecraft:dropper}", "Anvils{#minecraft:anvil}", "Beds{#minecraft:beds}", "Beacons{minecraft:beacon}", "Enchanting_Tables{minecraft:enchanting_table}", "break$Crops{#minecraft:crops}"] + #Entities to partially exclude from chunk protection. Supports entity type tags. + #Just an entity/tag ID in the list, e.g. "minecraft:horse" allows entity interaction across the server if the item in the used hand isn't blocking it. + #Prefix "hand$" is the same as no prefix but enforces an empty hand requirement in protected chunks. Prefix "break$" allows killing the entities across the server. + #Prefix "anything$" is the same as no prefix but allows interaction with any item held in the hand. Please make sure that no item does anything bad when used at an entity with such an exception. + #Add the same entity/tag multiple times to use multiple prefixes. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:villager", "break$minecraft:villager", "break$minecraft:(trader_|)llama"] + forcedEntityProtectionExceptionList = ["minecraft:minecart"] + #Custom groups of entities that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple entities and entity tags. + #A group without a prefix creates a player config option for the right-click interaction with the group entities. The format for an entity group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". + #A group can be prefixed with "hand$" to create an option for the right-click interaction with an enforced empty hand requirement or "break$" for destroying the group entities. + #Moreover, prefix "anything$" creates an option for the right-click interaction with any item held in the hand, not just allowed items. Please make sure that no item does anything + #bad when used at an entity with such an exception. + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + entityProtectionOptionalExceptionGroups = ["Traders{minecraft:villager, minecraft:wandering_trader}", "hand$Item_Frames{minecraft:item_frame}", "break$Livestock{minecraft:cow, minecraft:mooshroom, minecraft:sheep, minecraft:chicken, minecraft:pig, minecraft:rabbit, minecraft:goat}", "Armor_Stands{minecraft:armor_stand}"] + #Entities that are prevented from entering the claim. Supports entity type tags. An entity/tag ID in the list, e.g. "minecraft:falling_block" prevents the entities from entering. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. For example: "minecraft:zombie(_villager|)". + forcedEntityClaimBarrierList = ["minecraft:falling_block", "supplementaries:slingshot_projectile"] + #Custom groups of entities that a player/claim config should be able to enable a barrier for. Each group can consist of multiple entities and entity tags. + #Each group creates a player config option for controlling the entity barrier. The format for a entity group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{#minecraft:raiders, minecraft:zombie(_villager|)}". + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + entityClaimBarrierOptionalGroups = ["Players{minecraft:player}", "Ender_Pearls{minecraft:ender_pearl}"] + #Entities that can bypass all block protection. Supports entity type tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] + entitiesAllowedToGrief = ["minecraft:sheep"] + #Entities that can bypass all protection of other entities. Supports entity type tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] + entitiesAllowedToGriefEntities = [] + #Entities that can bypass all dropped item protection. Supports entity type tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] + entitiesAllowedToGriefDroppedItems = [] + #(Forge-only option) Mobs that can grief entities/items but not blocks. This list is used when overriding the vanilla "mob griefing" game rule value. + #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection. + #This means that the "Protect Blocks From Mobs" option might cause entity or item protection, if that's what the mob is trying to affect. + #By adding a mob to this list, you're removing the block protection check for it during the "mob griefing" game rule check. + #Supports entity type tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:*illager", "minecraft:(v|p)illager", "#minecraft:raiders"] + nonBlockGriefingMobs = [] + #(Forge-only option) Mobs that can grief entities in ways other than attacking them, e.g. how evokers can change the color of sheep. This list is used when overriding the vanilla "mob griefing" game rule value. + #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection only. Add a mob to this list if you want the entity protection option to be checked as well when the rule is checked. + #Check out the "nonBlockGriefingMobs" option if you want to also remove the default block protection check for the mob. + #Supports entity type tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] + entityGriefingMobs = [] + #(Forge-only option) Mobs that can grief dropped items. This list is used when overriding the vanilla "mob griefing" game rule value. + #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection only. Add a mob to this list if you want the item pickup protection option to be checked as well when the rule is checked. + #This mod should detect most mobs picking up items by default, but if it doesn't already detect a specific mob, this option might help. + #Check out the "nonBlockGriefingMobs" option if you want to also remove the default block protection check for the mob. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] + droppedItemGriefingMobs = [] + #Custom groups of entities that a player/claim config should be able to make block access exceptions for (e.g. letting sheep eat grass or endermen take blocks). Each group can consist of multiple entities and entity tags. + #The format for an entity group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + blockAccessEntityGroups = ["Villagers{minecraft:villager}"] + #Custom groups of entities that a player/claim config should be able to make entity access exceptions for (e.g. letting zombies kill things). + #The groups should consist of entities that are the ones accessing other entities. The groups should not contain entities that are being accessed. Check out the "entityProtectionOptionalExceptionGroups" option for that. + #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + entityAccessEntityGroups = ["Zombies{minecraft:zombie, minecraft:zombie_villager, minecraft:husk, minecraft:drowned}"] + #Custom groups of entities that a player/claim config should be able to make dropped item access exceptions for (e.g. letting piglins pick up gold). + #The groups should consist of entities that are the ones trying to pick up items, not consist of specific items. + #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + droppedItemAccessEntityGroups = ["Villagers{minecraft:villager}", "Piglins{minecraft:piglin}", "Foxes{minecraft:fox}"] + #A list of fake players (UUIDs or names) that shouldn't be affected by any chunk claim protection if they try to access a chunk with building protection compatible with + #the chunk that the fake player's origin block is positioned in, e.g. claims with the same owner and block protection option values. + #This works great for fake players that are bound to the position of a specific placed block (origin block). Moreover, the mod supports fake players placed at a block + #next to the origin block, even if that means entering another chunk, e.g. in the case of the Integrated Tunnels mod, or if the origin block is touching the target block. + #The mod will try all positions next to the target block and the fake player as the possible position of the fake player origin block. + #This will always protect the target block if it or the fake player touch a claim with incompatible build protection. Avoid building on such claim edges. + #However, some fake players' origin blocks can be nowhere near the fake player or the target block, e.g. in the case of the Create mod, or there might be no origin block at all, + #e.g. NPCs that can move around. In this case, the mods that use such fake players require explicit support to be implemented. Although they might also sometimes + #be supported by default, if the fake players use UUIDs of actual players. + #Explicit support exists for the Create mod (requires an extension on Fabric) and you are not required to add anything to this list. + #Make sure to always test that claim edges are protected from outside interaction by fake players that you add to this list. + #Wondering where to get the UUIDs or usernames of specific fake players? You can check the source code of the mods that use them or politely ask the mod authors. + #For example ["41C82C87-7AfB-4024-BB57-13D2C99CAE77", "FakePlayerName"] + staticFakePlayers = ["[IntegratedTunnels]"] + #A list of Java classes of fake players that should be excluded from claim protection exceptions given to fake players with the "staticFakePlayers" option + #or built-in fake player support, like in the case of Create mod deployers. + #This option is meant for fake players similar to ComputerCraft's turtles, which take the UUID of the player that places them. It becomes a problem when a turtle takes + #the UUID of a fake player from "staticFakePlayers" or a deployer because the turtle then gets the same privileges without actually being stationary itself nor a deployer. + #Adding classes here should not break support of fake players that take the UUID of their owner. It simply takes away privileges which aren't meant for them. + #For example ["dan200.computercraft.shared.turtle.core.TurtlePlayer"] + staticFakePlayerClassExceptions = ["dan200.computercraft.shared.turtle.core.TurtlePlayer"] + #By default, right-click use of some items is allowed in protected chunks, e.g. swords, pickaxes, bows, shield, tridents, splash potions, to let the players protect themselves or interact with some blocks/entities. + #To remove such exceptions for specific items, add them to this list. This list applies to both using an item at air and using it at a block/entity. Supports item tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:trident", "minecraft:shield", "minecraft:(oak|spruce)_boat", "#minecraft:boats"] + additionalBannedItemsList = ["supplementaries:slingshot"] + #By default, most item right-click uses are disabled in protected chunks. To make an exception for a specific item, add it to this list. This option has a higher priority than "additionalBannedItemsList". + #This list applies to both using an item at air and using it at a block/entity. Supports item tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:fishing_rod", "minecraft:ender_pearl", "minecraft:(red|green)_bed", "#minecraft:beds"] + itemUseProtectionExceptionList = ["minecraft:firework_rocket"] + #Custom groups of items that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple items and item tags. + #Each group creates a player config option for the right-click use of the group items. The format for an item group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-stuff98{minecraft:(writable|written)_book, minecraft:*_book, #minecraft:compasses}". + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + itemUseProtectionOptionalExceptionGroups = ["Books{minecraft:written_book, minecraft:writable_book}"] + #Items that are completely banned from right-click usage on the server, claimed or not. This list applies to both using an item at air and using it at a block/entity. Supports item tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:trident", "minecraft:shield", "minecraft:(oak|spruce)_boat", "#minecraft:boats"] + completelyDisabledItemInteractions = [] + #Blocks that are completely banned from being interacted with on the server, claimed or not. Does not affect block breaking. Supports block tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:dirt", "minecraft:*_table", "minecraft:(cartography|fletching)_table", "#minecraft:buttons"] + completelyDisabledBlockInteractions = [] + #Entities that are completely banned from being interacted with on the server, claimed or not. Does not affect killing the entities. Supports entity tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] + completelyDisabledEntityInteractions = [] + #Whether to completely disable frost walking on the server. Use this if the regular frost walking protection doesn't work, since there is no game rule for it. + completelyDisableFrostWalking = false + #Whether to ignore most detected entity collisions for boats. + #By default, boats detect entity collisions and handle them every tick for every entity that touches them, which is a lot. + #This can become very slow on a server if we also add the necessary claim protection checks in the mix. + #This option makes it so most collisions with boats are randomly ignored, which helps the performance without affecting gameplay all that much. + reducedBoatEntityCollisions = true + diff --git a/global-server-configs/railways-server.toml b/global-server-configs/railways-server.toml new file mode 100644 index 000000000..78e74925a --- /dev/null +++ b/global-server-configs/railways-server.toml @@ -0,0 +1,75 @@ + +#. +#Miscellaneous settings +[misc] + #. + #Coupler will require points to be on the same or adjacent track edge, this will prevent the coupler from working if there is any form of junction in between the two points. + strictCoupler = false + #. + #Allow controlling Brass Switches remotely when approaching them on a train + flipDistantSwitches = true + #. + #Max distance between targeted track and placed switch stand + #Range: 16 ~ 128 + switchPlacementRange = 64 + #. + #Allow creepers and ghast fireballs to damage tracks + creeperTrackDamage = false + #. + #Multiplier used for calculating exhaustion from speed when a handcar is used. + #Range: 0.0 ~ 1.0 + handcarHungerMultiplier = 0.009999999776482582 + +#. +#Semaphore settings +[semaphores] + #. + #. + #Simplified semaphore placement (no upside-down placement) + simplifiedPlacement = true + #. + #Whether semaphore color order is reversed when the semaphores are oriented upside-down + flipYellowOrder = false + +#. +#Conductor settings +[conductors] + #. + #. + #Conductor whistle is limited to the owner of a train + mustOwnBoundTrain = false + #. + #Maximum length of conductor vents + #Range: > 1 + maxConductorVentLength = 64 + #. + #How often a conductor whistle updates the train of the bound conductor + #Range: 1 ~ 600 + whistleRebindRate = 10 + +#. +#Journeymap compat settings +[journeymap] + #. + #. + #[in Ticks] + #Outside-of-render-distance train sync time + #Range: 10 ~ 600 + farTrainSyncTicks = 200 + #. + #[in Ticks] + #In-render-distance train sync time + #Range: 1 ~ 600 + nearTrainSyncTicks = 5 + +#. +#Realism Settings +[realism] + #. + #. + #Make trains require fuel to run (either from fuel tanks or solid fuels in chests/barrels) + realisticTrains = false + #. + #Make fuel tanks only accept proper liquid fuels (so water etc can't go into them) + realisticFuelTanks = true + diff --git a/global-server-configs/sophisticatedbackpacks-server.toml b/global-server-configs/sophisticatedbackpacks-server.toml new file mode 100644 index 000000000..facc03a10 --- /dev/null +++ b/global-server-configs/sophisticatedbackpacks-server.toml @@ -0,0 +1,439 @@ + +#Server Settings +[server] + #List of items that are not allowed to be put in backpacks - e.g. "minecraft:shulker_box" + disallowedItems = [] + #Determines if container items (those that override canFitInsideContainerItems to false) are able to fit in backpacks + containerItemsDisallowed = false + #List of blocks that inventory interaction upgrades can't interact with - e.g. "minecraft:shulker_box" + noInteractionBlocks = [] + #List of blocks that are not allowed to connect to backpacks - e.g. "refinedstorage:external_storage" + noConnectionBlocks = [] + #Turns on/off item fluid handler of backpack in its item form. There are some dupe bugs caused by default fluid handling implementation that manifest when backpack is drained / filled in its item form in another mod's tank and the only way to prevent them is disallowing drain/fill in item form altogether + itemFluidHandlerEnabled = true + #Determines whether player can right click on backpack that another player is wearing to open it. If off will turn off that capability for everyone and remove related settings from backpack. + allowOpeningOtherPlayerBackpacks = true + #Allows disabling item display settings. Primarily in cases where custom backpack model doesn't support showing the item. (Requires game restart to take effect) + itemDisplayDisabled = false + #Allows disabling logic that dedupes backpacks with the same UUID in players' inventory. This is here to allow turning off the logic just in case it would be causing performance issues. + tickDedupeLogicDisabled = false + #Determines if backpacks can be placed in container items (those that check for return value of canFitInsideContainerItems) + canBePlacedInContainerItems = false + #Maximum number of upgrades of type per backpack in format of "UpgradeRegistryName[or UpgradeGroup]|MaxNumber" + maxUpgradesPerStorage = ["jukebox_upgrade|1", "stack_upgrades|3", "furnace_upgrades|1"] + + #Leather Backpack Settings + [server.leatherBackpack] + #Number of inventory slots in the backpack + #Range: 1 ~ 144 + inventorySlotCount = 27 + #Number of upgrade slots in the backpack + #Range: 0 ~ 10 + upgradeSlotCount = 1 + + #Iron Backpack Settings + [server.ironBackpack] + #Number of inventory slots in the backpack + #Range: 1 ~ 144 + inventorySlotCount = 54 + #Number of upgrade slots in the backpack + #Range: 0 ~ 10 + upgradeSlotCount = 2 + + #Gold Backpack Settings + [server.goldBackpack] + #Number of inventory slots in the backpack + #Range: 1 ~ 144 + inventorySlotCount = 81 + #Number of upgrade slots in the backpack + #Range: 0 ~ 10 + upgradeSlotCount = 3 + + #Diamond Backpack Settings + [server.diamondBackpack] + #Number of inventory slots in the backpack + #Range: 1 ~ 144 + inventorySlotCount = 108 + #Number of upgrade slots in the backpack + #Range: 0 ~ 10 + upgradeSlotCount = 5 + + #Netherite Backpack Settings + [server.netheriteBackpack] + #Number of inventory slots in the backpack + #Range: 1 ~ 144 + inventorySlotCount = 120 + #Number of upgrade slots in the backpack + #Range: 0 ~ 10 + upgradeSlotCount = 7 + + #Compacting Upgrade Settings + [server.compactingUpgrade] + #Number of Compacting Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Compacting Upgrade Settings + [server.advancedCompactingUpgrade] + #Number of Advanced Compacting Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Deposit Upgrade Settings + [server.depositUpgrade] + #Number of Deposit Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Deposit Upgrade Settings + [server.advancedDepositUpgrade] + #Number of Advanced Deposit Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Feeding Upgrade Settings + [server.feedingUpgrade] + #Number of Feeding Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Feeding Upgrade Settings + [server.advancedFeedingUpgrade] + #Number of Advanced Feeding Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Filter Upgrade Settings + [server.filterUpgrade] + #Number of Filter Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Filter Upgrade Settings + [server.advancedFilterUpgrade] + #Number of Advanced Filter Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Magnet Upgrade Settings + [server.magnetUpgrade] + #Number of Magnet Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + #Range around storage in blocks at which magnet will pickup items + #Range: 1 ~ 20 + magnetRange = 3 + + #Advanced Magnet Upgrade Settings + [server.advancedMagnetUpgrade] + #Number of Advanced Magnet Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + #Range around storage in blocks at which magnet will pickup items + #Range: 1 ~ 20 + magnetRange = 5 + + #Pickup Upgrade Settings + [server.pickupUpgrade] + #Number of Pickup Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Pickup Upgrade Settings + [server.advancedPickupUpgrade] + #Number of Advanced Pickup Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Refill Upgrade Settings + [server.refillUpgrade] + #Number of Refill Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 6 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Refill Upgrade Settings + [server.advancedRefillUpgrade] + #Number of Advanced Refill Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 12 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Restock Upgrade Settings + [server.restockUpgrade] + #Number of Restock Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Restock Upgrade Settings + [server.advancedRestockUpgrade] + #Number of Advanced Restock Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Void Upgrade Settings + [server.voidUpgrade] + #Number of Void Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + #Determines whether void upgrade allows voiding anything or it only has overflow option + voidAnythingEnabled = true + + #Advanced Void Upgrade Settings + [server.advancedVoidUpgrade] + #Number of Advanced Void Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + #Determines whether void upgrade allows voiding anything or it only has overflow option + voidAnythingEnabled = true + + #Stack Upgrade Settings + [server.stackUpgrade] + #List of items that are not supposed to stack in storage even when stack upgrade is inserted. Item registry names are expected here. + nonStackableItems = ["minecraft:bundle", "minecraft:shulker_box", "minecraft:white_shulker_box", "minecraft:orange_shulker_box", "minecraft:magenta_shulker_box", "minecraft:light_blue_shulker_box", "minecraft:yellow_shulker_box", "minecraft:lime_shulker_box", "minecraft:pink_shulker_box", "minecraft:gray_shulker_box", "minecraft:light_gray_shulker_box", "minecraft:cyan_shulker_box", "minecraft:purple_shulker_box", "minecraft:blue_shulker_box", "minecraft:brown_shulker_box", "minecraft:green_shulker_box", "minecraft:red_shulker_box", "minecraft:black_shulker_box"] + + #Smelting Upgrade Settings + [server.smeltingUpgrade] + #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) + #Range: 0.25 ~ 4.0 + smeltingSpeedMultiplier = 1.0 + #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) + #Range: 0.25 ~ 4.0 + fuelEfficiencyMultiplier = 1.0 + + #Smoking Upgrade Settings + [server.smokingUpgrade] + #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) + #Range: 0.25 ~ 4.0 + smeltingSpeedMultiplier = 1.0 + #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) + #Range: 0.25 ~ 4.0 + fuelEfficiencyMultiplier = 1.0 + + #Blasting Upgrade Settings + [server.blastingUpgrade] + #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) + #Range: 0.25 ~ 4.0 + smeltingSpeedMultiplier = 1.0 + #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) + #Range: 0.25 ~ 4.0 + fuelEfficiencyMultiplier = 1.0 + + #Auto-Smelting Upgrade Settings + [server.autoSmeltingUpgrade] + #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) + #Range: 0.25 ~ 4.0 + smeltingSpeedMultiplier = 1.0 + #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) + #Range: 0.25 ~ 4.0 + fuelEfficiencyMultiplier = 1.0 + #Number of input filter slots + #Range: 1 ~ 20 + inputFilterSlots = 8 + #Number of input filter slots displayed in a row + #Range: 1 ~ 6 + inputFilterSlotsInRow = 4 + #Number of fuel filter slots + #Range: 1 ~ 20 + fuelFilterSlots = 4 + #Number of fuel filter slots displayed in a row + #Range: 1 ~ 6 + fuelFilterSlotsInRow = 4 + + #Auto-Smoking Upgrade Settings + [server.autoSmokingUpgrade] + #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) + #Range: 0.25 ~ 4.0 + smeltingSpeedMultiplier = 1.0 + #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) + #Range: 0.25 ~ 4.0 + fuelEfficiencyMultiplier = 1.0 + #Number of input filter slots + #Range: 1 ~ 20 + inputFilterSlots = 8 + #Number of input filter slots displayed in a row + #Range: 1 ~ 6 + inputFilterSlotsInRow = 4 + #Number of fuel filter slots + #Range: 1 ~ 20 + fuelFilterSlots = 4 + #Number of fuel filter slots displayed in a row + #Range: 1 ~ 6 + fuelFilterSlotsInRow = 4 + + #Auto-Blasting Upgrade Settings + [server.autoBlastingUpgrade] + #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) + #Range: 0.25 ~ 4.0 + smeltingSpeedMultiplier = 1.0 + #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) + #Range: 0.25 ~ 4.0 + fuelEfficiencyMultiplier = 1.0 + #Number of input filter slots + #Range: 1 ~ 20 + inputFilterSlots = 8 + #Number of input filter slots displayed in a row + #Range: 1 ~ 6 + inputFilterSlotsInRow = 4 + #Number of fuel filter slots + #Range: 1 ~ 20 + fuelFilterSlots = 4 + #Number of fuel filter slots displayed in a row + #Range: 1 ~ 6 + fuelFilterSlotsInRow = 4 + + #Inception Upgrade Settings + [server.inceptionUpgrade] + #Allows / Disallows backpack upgrades to work with inventories of Backpacks in the Backpack with Inception Upgrade + upgradesUseInventoriesOfBackpacksInBackpack = true + #Allows / Disallows upgrades to be functional even when they are in Backpacks in the inventory of Backpack with Inception Upgrade + upgradesInContainedBackpacksAreFunctional = true + + #Tool Swapper Upgrade Settings + [server.toolSwapperUpgrade] + #Number of Tool Swapper Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 8 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Tank Upgrade Settings + [server.tankUpgrade] + #Capacity in mB the tank upgrade will have per row of storage slots + #Range: 500 ~ 20000 + capacityPerSlotRow = 4000 + #Ratio that gets applied (multiplies) to inventory stack multiplier before this is applied to max energy of the battery and max in/out. Value lower than 1 makes stack multiplier affect the max energy less, higher makes it affect the max energy more. 0 turns off stack multiplier affecting battery upgrade + #Range: 0.0 ~ 5.0 + stackMultiplierRatio = 1.0 + #Cooldown between fill/drain actions done on fluid containers in tank slots. Only fills/drains one bucket worth to/from container after this cooldown and then waits again. + #Range: 1 ~ 100 + autoFillDrainContainerCooldown = 20 + #How much FE can be transfered in / out per operation. This is a base transfer rate and same as max capacity gets multiplied by number of rows in storage and stack multiplier. + #Range: 1 ~ 1000 + maxInputOutput = 20 + #Energy in FE the battery upgrade will have per row of storage slots + #Range: 500 ~ 50000 + energyPerSlotRow = 10000 + + #Pump Upgrade Settings + [server.pumpUpgrade] + #Number of fluid filter slots + #Range: 1 ~ 20 + filterSlots = 4 + #How much mB can be transfered in / out per operation. This is a base transfer rate that gets multiplied by number of rows in storage and stack multiplier. + #Range: 1 ~ 1000 + maxInputOutput = 20 + #Ratio that gets applied (multiplies) to inventory stack multiplier before this is applied to max input/output value. Value lower than 1 makes stack multiplier affect the capacity less, higher makes it affect the capacity more. 0 turns off stack multiplier affecting input/output + #Range: 0.0 ~ 5.0 + stackMultiplierRatio = 1.0 + + #Xp Pump Upgrade Settings + [server.xpPumpUpgrade] + #Whether xp pump can mend items with mending. Set false here to turn off the feature altogether. + mendingOn = true + #How many experience points at a maximum would be used to mend an item per operation (every 5 ticks and 1 xp point usually translates to 2 damage repaired). + #Range: 1 ~ 20 + maxXpPointsPerMending = 5 + + #Settings for Spawning Entities with Backpack + [server.entityBackpackAdditions] + #Chance of an entity spawning with Backpack + #Range: 0.0 ~ 1.0 + chance = 0.0 + #Turns on/off addition of loot into backpacks + addLoot = false + #Turns on/off buffing the entity that wears backpack with potion effects. These are scaled based on how much loot is added. + buffWithPotionEffects = true + #Turns on/off buffing the entity that wears backpack with additional health. Health is scaled based on backpack tier the mob wears. + buffHealth = true + #Turns on/off equiping the entity that wears backpack with armor. What armor material and how enchanted is scaled based on backpack tier the mob wears. + equipWithArmor = true + #Map of entities that can spawn with backpack and related loot tables (if adding a loot is enabled) in format of "EntityRegistryName|LootTableName" + entityLootTableList = [] + #List of music discs that are not supposed to be played by entities + discBlockList = [] + #Turns on/off a chance that the entity that wears backpack gets jukebox upgrade and plays a music disc. + playJukebox = true + #Determines whether backpack drops to fake players if killed by them in addition to real ones that it always drops to + dropToFakePlayers = false + #Chance of mob dropping backpack when killed by player + #Range: 0.0 ~ 1.0 + backpackDropChance = 0.5 + #Chance increase per looting level of mob dropping backpack + #Range: 0.0 ~ 0.3 + lootingChanceIncreasePerLevel = 0.15 + + [server.nerfs] + #Determines if too many backpacks in player's inventory cause slowness to the player + tooManyBackpacksSlowness = true + #Maximum number of backpacks in player's inventory that will not cause slowness + #Range: 1 ~ 27 + maxNumberOfBackpacks = 1 + #Ratio of slowness levels per every backpack above the maximum number allowed. (number of backpacks above the max gets multiplied by this number and ceiled) + #Range: 0.1 ~ 5.0 + slownessLevelsPerAdditionalBackpack = 1.0 + #Determines if active upgrades will only work in the backpack that's worn by the player. Active upgrades are for example magnet, pickup, cooking, feeding upgrades. + onlyWornBackpackTriggersUpgrades = true + + #Copper Backpack Settings + [server.copperBackpack] + #Number of inventory slots in the backpack + #Range: 1 ~ 144 + inventorySlotCount = 45 + #Number of upgrade slots in the backpack + #Range: 0 ~ 10 + upgradeSlotCount = 1 + diff --git a/global-server-configs/tfc-server.toml b/global-server-configs/tfc-server.toml new file mode 100644 index 000000000..a78d29a13 --- /dev/null +++ b/global-server-configs/tfc-server.toml @@ -0,0 +1,1314 @@ +# +# Familiarity value above which familiarity no longer will decay. Default is 0.3, or 30%. Setting it to 0 will cause familiarity to never decay. +#Range: 0.0 ~ 1.0 +familiarityDecayLimit = 0.3 + +[general] + # + # Enable nether portal creation + enableNetherPortals = false + # + # Forces a number of game rules to specific values. + # naturalRegeneration = false (Health regen is much slower and not tied to extra saturation) + # doInsomnia = false (No phantoms) + # doTraderSpawning = false (No wandering traders) + # doPatrolSpawning = false (No pillager patrols) + enableForcedTFCGameRules = true + # + # If true, TFC will stop time when no players are online on a running server. + # This prevents food from decaying, the calendar from advancing, and the sun from moving, etc. + # !!Disable at your own risk!! + enableTimeStopWhenServerEmpty = true + # + # Enable fire arrows and fireballs to spread fire and light blocks. + enableFireArrowSpreading = true + # + # Base probability for a firestarter to start a fire. May change based on circumstances + #Range: 0.0 ~ 1.0 + fireStarterChance = 0.5 + # + # Enable rat infestations for improperly stored food. + enableInfestations = true + # + # Enables TFC setting the moon phase based on the progress of the month. The etymology of the English word 'month' is in fact related to the word 'moon'. + enableCalendarSensitiveMoonPhases = true + # + # If false, vanilla lightning will not strike. + enableLightning = true + # + # If true, lightning has a chance of stripping bark off of trees. + enableLightningStrippingLogs = true + # + # Every time the z coordinate reaches a multiple of this point, the wind over oceans will switch directions. + #Range: > 128 + oceanWindScale = 5000 + +[blocks] + + [blocks.farmland] + # + # If TFC soil blocks are able to be created into farmland using a hoe. + enableFarmlandCreation = true + + [blocks.grassPath] + # + # If TFC soil blocks are able to be created into (grass) path blocks using a hoe. + enableGrassPathCreation = true + + [blocks.grass] + # + # The chance that when grass that freezes and thaws it will have a loose rock rise to the surface, provided some conditions are met. Set to 0 to disable. + #Range: 0.0 ~ 1.0 + grassSpawningRocksChance = 0.001 + + [blocks.rootedDirt] + # + # If TFC rooted dirt blocks are able to be created into dirt blocks using a hoe. + enableRootedDirtToDirtCreation = true + + [blocks.snow] + # + # [Requires MC Restart] If snow will slow players that move on top of it similar to soul sand or honey. + enableSnowSlowEntities = true + # + # The chance that snow will accumulate during a storm. Lower values = faster snow accumulation, but also more block updates (aka lag). + #Range: > 1 + snowAccumulateChance = 20 + # + # The chance that snow will melt during a storm. Lower values = faster snow melting, but also more block updates (aka lag). + #Range: > 1 + snowMeltChance = 36 + + [blocks.plants] + # + # Chance for a plant to grow each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant growth. + #Range: 0.0 ~ 1.0 + plantGrowthChance = 0.04 + # + # Chance for a twisting/weeping/kelp plant to grow each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant growth. + #Range: 0.0 ~ 1.0 + plantLongGrowthChance = 0.03 + # + # Chance for a plant to spread each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant spreading. + #Range: 0.0 ~ 1.0 + plantSpreadChance = 0.001 + # + # A movement multiplier for players moving through plants. Individual plants will use a ratio of this value, and lower = slower. + #Range: 0.0 ~ 1.0 + plantsMovementModifier = 0.2 + + [blocks.leaves] + # + # A movement multiplier for players moving through leaves. Lower = slower. + #Range: 0.0 ~ 1.0 + leavesMovementModifier = 0.4 + # + # If true, then leaves will decay slowly over time when disconnected from logs (vanilla behavior), as opposed to instantly (TFC behavior). + enableLeavesDecaySlowly = false + + [blocks.cobblestone] + # + # If mossy rock blocks will spread their moss to nearby rock blocks (bricks and cobble; stairs, slabs and walls thereof). + enableMossyRockSpreading = true + # + # The rate at which rock blocks will accumulate moss. Higher value = slower. + #Range: > 1 + mossyRockSpreadRate = 20 + + [blocks.chest] + # + # The largest (inclusive) size of an item that is allowed in a chest. + #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE + chestMaximumItemSize = "LARGE" + + [blocks.largeVessel] + # + # If true, large vessels will interact with in-world automation such as hoppers on a side-specific basis. + largeVesselEnableAutomation = true + # + # If true, large vessels will seal and unseal on redstone signal. + largeVesselEnableRedstoneSeal = true + + [blocks.torch] + # + # Number of ticks required for a torch to burn out (1000 = 1 in game hour = 50 seconds), default is 72 hours. Set to -1 to disable torch burnout. + #Range: > -1 + torchTicks = 72000 + + [blocks.candle] + # + # Number of ticks required for a candle to burn out (1000 = 1 in game hour = 50 seconds), default is 264 hours. Set to -1 to disable candle burnout. + #Range: > -1 + candleTicks = 264000 + + [blocks.dryingBricks] + # + # Number of ticks required for mud bricks to dry (1000 = 1 in game hour = 50 seconds), default is 24 hours. Set to -1 to disable drying. + #Range: > -1 + mudBricksTicks = 24000 + + [blocks.charcoal] + # + # Number of ticks required for charcoal pit to complete. (1000 = 1 in game hour = 50 seconds), default is 18 hours. + #Range: > -1 + charcoalTicks = 18000 + + [blocks.pitKiln] + # + # Number of ticks required for a pit kiln to burn out. (1000 = 1 in game hour = 50 seconds), default is 8 hours. + #Range: > 20 + pitKilnTicks = 8000 + # + # The maximum temperature which a pit kiln reaches. + #Range: > 0 + pitKilnTemperature1 = 1400 + + [blocks.crucible] + # + # Tank capacity of a crucible (in mB). + #Range: 0 ~ 2147483645 + crucibleCapacity = 4000 + # + # A modifier for how fast fluid containers empty into crucibles. Containers will empty 1 mB every (this) number of ticks. + #Range: > 1 + cruciblePouringRate = 4 + # + # A modifier for how fast fluid containers empty into crucibles when shift is held. Containers will empty 1 mB every (this) number of ticks. + #Range: > 1 + crucibleFastPouringRate = 1 + # + # If true, barrels will interact with in-world automation such as hoppers on a side-specific basis. + crucibleEnableAutomation = true + + [blocks.anvil] + # + # The number of pixels that the anvil's result may be off by, but still count as recipe completion. By default this requires pixel perfect accuracy. + #Range: 0 ~ 150 + anvilAcceptableWorkRange = 0 + # + # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Modestly Forged'. + #Range: 1.0 ~ 1.7976931348623157E308 + anvilModestlyForgedThreshold = 10.0 + # + # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Well Forged'. + #Range: 1.0 ~ 1.7976931348623157E308 + anvilWellForgedThreshold = 5.0 + # + # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Expertly Forged'. + #Range: 1.0 ~ 1.7976931348623157E308 + anvilExpertForgedThreshold = 2.0 + # + # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Perfectly Forged'. + #Range: 1.0 ~ 1.7976931348623157E308 + anvilPerfectlyForgedThreshold = 1.5 + # + # The multiplier to efficiency (mining speed) that is applied to a 'Perfectly Forged' tool. + #Range: 1.0 ~ 1000.0 + anvilMaxEfficiencyMultiplier = 1.8 + # + # The bonus to durability (probability to ignore a point of damage) that is applied to a 'Perfectly Forged' tool. Note that 1 ~ infinite durability, and 0 ~ no bonus. + #Range: 0.0 ~ 1.0 + anvilMaxDurabilityMultiplier = 0.5 + # + # The boost to attack damage that is applied to a 'Perfectly Forged' tool. + #Range: 1.0 ~ 1000.0 + anvilMaxDamageMultiplier = 1.5 + + [blocks.barrel] + # + # Tank capacity of a barrel (in mB). + #Range: > 0 + barrelCapacity = 10000 + # + # If true, barrels will interact with in-world automation such as hoppers on a side-specific basis. + barrelEnableAutomation = true + # + # If true, barrels will seal and unseal on redstone signal. + barrelEnableRedstoneSeal = true + + [blocks.composter] + # + # Number of ticks required for a composter in normal conditions to complete. (24000 = 1 game day), default is 12 days. + #Range: > 20 + composterTicks = 288000 + # + # If true, the composter will interact with in-world automation such as hoppers on a side-specific basis. + composterEnableAutomation = true + + [blocks.sluice] + # + # Number of ticks required for a sluice to process an item. (20 = 1 second), default is 5 seconds. + #Range: > 1 + sluiceTicks = 100 + + [blocks.lamp] + # + # Tank capacity of a lamp (in mB). + #Range: 0 ~ 2147483645 + lampCapacity = 250 + + [blocks.pumpkin] + # + # Enables the knifing of pumpkins to carve them. + enablePumpkinCarving = false + # + # Number of ticks required for a jack 'o lantern to burn out (1000 = 1 in game hour = 50 seconds), default is 108 hours. Set to -1 to disable burnout. + #Range: > -1 + jackOLanternTicks = 108000 + + [blocks.bloomery] + # + # The maximum number of levels that can be built in a bloomery multiblock, for added capacity. + #Range: > 1 + bloomeryMaxChimneyHeight = 3 + # + # Inventory capacity (in number of items per level of chimney) of the bloomery. + #Range: > 1 + bloomeryCapacity1 = 16 + + [blocks.blastFurnace] + # + # Inventory capacity (in number of items per level of chimney) of the blast furnace. + #Range: > 1 + blastFurnaceCapacity = 4 + # + # Fluid capacity (in mB) of the output tank of the blast furnace. + #Range: > 1 + blastFurnaceFluidCapacity = 10000 + # + # A multiplier for how fast the blast furnace consumes fuel. Higher values = faster fuel consumption. + #Range: > 1 + blastFurnaceFuelConsumptionMultiplier = 4 + # + # The maximum number of levels that can be built in a blast furnace multiblock, for added capacity. + #Range: > 1 + blastFurnaceMaxChimneyHeight = 5 + # + # If true, blast furnaces will interact with in-world automation such as hoppers on a side-specific basis. + blastFurnaceEnableAutomation = true + + [blocks.loom] + # + # If true, looms will interact with in-world automation such as hoppers on a side-specific basis. + loomEnableAutomation = true + + [blocks.thatch] + # + # A movement multiplier for players moving through thatch. Lower = slower. + #Range: 0.0 ~ 1.0 + thatchMovementMultiplier = 0.6 + + [blocks.thatchBed] + # + # If true, thatch beds can set the player's spawn. + enableThatchBedSpawnSetting = true + # + # If true, the player can sleep the night in a thatch bed + enableThatchBedSleeping = false + # + # If true, the player cannot sleep in thatch beds during thunderstorms. + thatchBedNoSleepInThunderstorms = true + + [blocks.placedItems] + # + # The maximum size of items that can be placed as 4 items on the ground with V. If an item is larger than this, it could still be placed with the 'maxPlacedLargeItemSize' option. + #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE + maxPlacedItemSize = "LARGE" + # + # The maximum size of items that can be placed as a single item on the ground with V. Items are checked to see if they're the right size to be placed in a group of 4 items first. + #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE + maxPlacedLargeItemSize = "HUGE" + # + # If true, players can place items on the ground with V. + enablePlacingItems = true + # + # If true, the tag 'tfc:placed_item_whitelist' will be checked to allow items to be in placed items and will exclude everything else. + usePlacedItemWhitelist = false + + [blocks.charcoalForge] + # + # If true, charcoal forges will interact with in-world automation such as hoppers on a side-specific basis. + charcoalForgeEnableAutomation = true + + [blocks.firePitEnableAutomation] + # + # If true, fire pits will interact with in-world automation such as hoppers on a side-specific basis. + firePitEnableAutomation = true + + [blocks.nestBox] + # + # If true, nest boxes will interact with in-world automation such as hoppers on a side-specific basis. + nestBoxEnableAutomation = true + + [blocks.powderKeg] + # + # If true, powder kegs can be lit and exploded. + powderKegEnabled = true + # + # If true, powder kegs will interact with in-world automation such as hoppers on a side-specific basis. + powderKegEnableAutomation = true + # + # A modifier to the strength of powderkegs when exploding. A max powderkeg explosion is 64, and all explosions are capped to this size no matter the value of the modifier. + #Range: 0.0 ~ 64.0 + powderKegStrengthModifier = 1.0 + # + # If true, powder kegs will only break stone, ores, gravel, and dirt. + powderKegOnlyBreaksNaturalBlocks = false + # + # The time in ticks for a powderkeg to defuse. Default is 80 ticks, or 4 seconds. + #Range: > 1 + powderKegFuseTime = 80 + + [blocks.hotWater] + # + # An amount that sitting in hot water will restore health, approximately twice per second. + #Range: 0.0 ~ 20.0 + hotWaterHealAmount = 0.08 + + [blocks.saplings] + # + # Modifier applied to the growth time of every (non-fruit) sapling. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. + #Range: 0.0 ~ 1.7976931348623157E308 + globalSaplingGrowthModifier = 1.0 + # + # Modifier applied to the growth time of every fruit tree sapling. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. + #Range: 0.0 ~ 1.7976931348623157E308 + globalFruitSaplingGrowthModifier = 1.0 + # + # Days for a acacia tree sapling to be ready to grow into a full tree. + #Range: > 0 + acaciaSaplingGrowthDays = 11 + # + # Days for a ash tree sapling to be ready to grow into a full tree. + #Range: > 0 + ashSaplingGrowthDays = 7 + # + # Days for a aspen tree sapling to be ready to grow into a full tree. + #Range: > 0 + aspenSaplingGrowthDays = 8 + # + # Days for a birch tree sapling to be ready to grow into a full tree. + #Range: > 0 + birchSaplingGrowthDays = 7 + # + # Days for a blackwood tree sapling to be ready to grow into a full tree. + #Range: > 0 + blackwoodSaplingGrowthDays = 8 + # + # Days for a chestnut tree sapling to be ready to grow into a full tree. + #Range: > 0 + chestnutSaplingGrowthDays = 7 + # + # Days for a douglas_fir tree sapling to be ready to grow into a full tree. + #Range: > 0 + douglas_firSaplingGrowthDays = 7 + # + # Days for a hickory tree sapling to be ready to grow into a full tree. + #Range: > 0 + hickorySaplingGrowthDays = 10 + # + # Days for a kapok tree sapling to be ready to grow into a full tree. + #Range: > 0 + kapokSaplingGrowthDays = 7 + # + # Days for a mangrove tree sapling to be ready to grow into a full tree. + #Range: > 0 + mangroveSaplingGrowthDays = 8 + # + # Days for a maple tree sapling to be ready to grow into a full tree. + #Range: > 0 + mapleSaplingGrowthDays = 7 + # + # Days for a oak tree sapling to be ready to grow into a full tree. + #Range: > 0 + oakSaplingGrowthDays = 10 + # + # Days for a palm tree sapling to be ready to grow into a full tree. + #Range: > 0 + palmSaplingGrowthDays = 7 + # + # Days for a pine tree sapling to be ready to grow into a full tree. + #Range: > 0 + pineSaplingGrowthDays = 7 + # + # Days for a rosewood tree sapling to be ready to grow into a full tree. + #Range: > 0 + rosewoodSaplingGrowthDays = 8 + # + # Days for a sequoia tree sapling to be ready to grow into a full tree. + #Range: > 0 + sequoiaSaplingGrowthDays = 18 + # + # Days for a spruce tree sapling to be ready to grow into a full tree. + #Range: > 0 + spruceSaplingGrowthDays = 7 + # + # Days for a sycamore tree sapling to be ready to grow into a full tree. + #Range: > 0 + sycamoreSaplingGrowthDays = 8 + # + # Days for a white_cedar tree sapling to be ready to grow into a full tree. + #Range: > 0 + white_cedarSaplingGrowthDays = 7 + # + # Days for a willow tree sapling to be ready to grow into a full tree. + #Range: > 0 + willowSaplingGrowthDays = 11 + # + # Days for a cherry tree sapling to be eligible to grow + #Range: > 0 + cherrySaplingGrowthDays1 = 8 + # + # Days for a green_apple tree sapling to be eligible to grow + #Range: > 0 + green_appleSaplingGrowthDays1 = 10 + # + # Days for a lemon tree sapling to be eligible to grow + #Range: > 0 + lemonSaplingGrowthDays1 = 8 + # + # Days for a olive tree sapling to be eligible to grow + #Range: > 0 + oliveSaplingGrowthDays1 = 12 + # + # Days for a orange tree sapling to be eligible to grow + #Range: > 0 + orangeSaplingGrowthDays1 = 7 + # + # Days for a peach tree sapling to be eligible to grow + #Range: > 0 + peachSaplingGrowthDays1 = 11 + # + # Days for a plum tree sapling to be eligible to grow + #Range: > 0 + plumSaplingGrowthDays1 = 8 + # + # Days for a red_apple tree sapling to be eligible to grow + #Range: > 0 + red_appleSaplingGrowthDays1 = 10 + # + # Days for a banana tree sapling to be eligible to grow + #Range: > 0 + bananaSaplingGrowthDays = 6 + + [blocks.crops] + # + # Modifier applied to the growth time of every crop. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. + #Range: 0.001 ~ 1000.0 + cropGrowthModifier = 1.0 + # + # Modifier applied to the expiry time of every crop. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. + #Range: 0.001 ~ 1000.0 + cropExpiryModifier = 1.0 + + [blocks.dispenser] + # + # If true, dispensers can light TFC devices. + dispenserEnableLighting = true + + [blocks.powderBowl] + # + # If true, powder bowls will interact with in-world automation such as hoppers on a side-specific basis. + powderBowlEnableAutomation = true + + [blocks.mud] + # + # If TFC dirt blocks are able to be created into mud blocks using a water-filled fluid container. + enableDirtToMudCreation = true + + [blocks.quern] + # + # If true, querns will interact with in-world automation such as hoppers on a side-specific basis. + quernEnableAutomation = true + +[items] + + [items.smallVessel] + # + # Tank capacity of a small vessel (in mB). + #Range: 0 ~ 2147483645 + smallVesselCapacity = 3000 + # + # The largest (inclusive) size of an item that is allowed in a small vessel. + #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE + smallVesselMaximumItemSize = "SMALL" + # + # If true, the vessel can be inserted and extracted from by clicking on it in the inventory. You may want to disable this if you have a inventory-tweaking mod + enableSmallVesselInventoryInteraction = true + + [items.molds] + # + # Tank capacity of a Fire Ingot mold (in mB). + #Range: 0 ~ 2147483645 + moldIngotCapacity = 144 + # + # Tank capacity of a Pickaxe Head mold (in mB). + #Range: 0 ~ 2147483645 + moldPickaxeHeadCapacity = 144 + # + # Tank capacity of a Propick Head mold (in mB). + #Range: 0 ~ 2147483645 + moldPropickHeadCapacity = 144 + # + # Tank capacity of a Axe Head mold (in mB). + #Range: 0 ~ 2147483645 + moldAxeHeadCapacity = 144 + # + # Tank capacity of a Shovel Head mold (in mB). + #Range: 0 ~ 2147483645 + moldShovelHeadCapacity = 144 + # + # Tank capacity of a Hoe Head mold (in mB). + #Range: 0 ~ 2147483645 + moldHoeHeadCapacity = 144 + # + # Tank capacity of a Chisel Head mold (in mB). + #Range: 0 ~ 2147483645 + moldChiselHeadCapacity = 144 + # + # Tank capacity of a Hammer Head mold (in mB). + #Range: 0 ~ 2147483645 + moldHammerHeadCapacity = 144 + # + # Tank capacity of a Saw Blade mold (in mB). + #Range: 0 ~ 2147483645 + moldSawBladeCapacity = 144 + # + # Tank capacity of a Javelin Head mold (in mB). + #Range: 0 ~ 2147483645 + moldJavelinHeadCapacity = 144 + # + # Tank capacity of a Sword Blade mold (in mB). + #Range: 0 ~ 2147483645 + moldSwordBladeCapacity = 288 + # + # Tank capacity of a Mace Head mold (in mB). + #Range: 0 ~ 2147483645 + moldMaceHeadCapacity = 288 + # + # Tank capacity of a Knife Blade mold (in mB). + #Range: 0 ~ 2147483645 + moldKnifeBladeCapacity = 144 + # + # Tank capacity of a Bell mold (in mB). + #Range: 0 ~ 2147483645 + moldScytheBladeCapacity = 144 + + [items.jug] + # + # Tank capacity of a ceramic jug (in mB). + #Range: 0 ~ 2147483645 + jugCapacity = 100 + # + # The chance a jug will break after drinking. + #Range: 0.0 ~ 1.0 + jugBreakChance = 0.02 + + [items.glassBottle] + # + # Tank capacity of a silica glass bottle (in mB). + #Range: 0 ~ 2147483645 + silicaGlassBottleCapacity = 500 + # + # The chance a silica glass bottle will break after drinking. + #Range: 0.0 ~ 1.0 + silicaGlassBottleBreakChance = 0.005 + # + # Tank capacity of a hematitic glass bottle (in mB). + #Range: 0 ~ 2147483645 + hematiticGlassBottleCapacity = 400 + # + # The chance a hematitic glass bottle will break after drinking. + #Range: 0.0 ~ 1.0 + hematiticGlassBottleBreakChance = 0.02 + # + # Tank capacity of a volcanic glass bottle (in mB). + #Range: 0 ~ 2147483645 + volcanicGlassBottleCapacity = 400 + # + # The chance a volcanic glass bottle will break after drinking. + #Range: 0.0 ~ 1.0 + volcanicGlassBottleBreakChance = 0.04 + # + # Tank capacity of a olivine glass bottle (in mB). + #Range: 0 ~ 2147483645 + olivineGlassBottleCapacity = 400 + # + # The chance a olivine glass bottle will break after drinking. + #Range: 0.0 ~ 1.0 + olivineGlassBottleBreakChance = 0.01 + + [items.woodenBucket] + # + # Tank capacity of a wooden bucket (in mB). + #Range: 0 ~ 2147483645 + woodenBucketCapacity = 1000 + +[mechanics] + + [mechanics.heat] + # + # A multiplier for how fast devices themselves heat up. Higher = faster. + #Range: 0.0 ~ 1.7976931348623157E308 + deviceHeatingModifier = 1.0 + # + # A multiplier for how fast items heat in devices. Higher = faster. + #Range: 0.0 ~ 1.7976931348623157E308 + itemHeatingModifier = 1.0 + # + # A multiplier for how fast items cool. Higher = faster. + #Range: 0.0 ~ 1.7976931348623157E308 + itemCoolingModifier = 0.8 + # + # Should hot item entities cool off when in contact with blocks like water or snow? + coolHotItemEntities = true + # + # Ticks between each time an item loses temperature when sitting on a cold block. 20 ticks = 1 second. + #Range: > 1 + ticksBeforeItemCool = 10 + + [mechanics.collapses] + # + # Enable rock collapsing when mining raw stone blocks + enableBlockCollapsing = true + # + # Enable explosions causing immediate collapses. + enableExplosionCollapsing = true + # + # Enable land slides (gravity affected blocks) when placing blocks or on block updates. + enableBlockLandslides = true + # + # Enable chisels starting collapses + enableChiselsStartCollapses = true + # + # Chance for a collapse to be triggered by mining a block. + #Range: 0.0 ~ 1.0 + collapseTriggerChance = 0.1 + # + # Chance for a collapse to be fake triggered by mining a block. + #Range: 0.0 ~ 1.0 + collapseFakeTriggerChance = 0.35 + # + # Chance for a block fo fall from mining collapse. Higher = more likely. + #Range: 0.0 ~ 1.0 + collapsePropagateChance = 0.55 + # + # Chance for a block to fall from an explosion triggered collapse. Higher = mor likely. + #Range: 0.0 ~ 1.0 + collapseExplosionPropagateChance = 0.3 + # + # Minimum radius for a collapse + #Range: 1 ~ 32 + collapseMinRadius = 3 + # + # Variance of the radius of a collapse. Total size is in [minRadius, minRadius + radiusVariance] + #Range: 1 ~ 32 + collapseRadiusVariance = 16 + + [mechanics.player] + # + # If peaceful difficulty should still have vanilla-esque passive regeneration of health, food, and hunger + enablePeacefulDifficultyPassiveRegeneration = false + # + # A multiplier for passive exhaustion accumulation. + # Exhaustion is the hidden stat which controls when you get hungry. In vanilla it is incremented by running and jumping for example. In TFC, exhaustion is added just by existing. + # 1.0 = A full hunger bar's worth of exhaustion every 2.5 days. Set to zero to disable completely. + #Range: 0.0 ~ 100.0 + passiveExhaustionMultiplier = 1.0 + # + # A multiplier for how quickly the player gets thirsty. + # The player loses thirst in sync with when they lose hunger. This represents how much thirst they lose. 0 = None, 100 = the entire thirst bar. + #Range: 0.0 ~ 100.0 + thirstModifier1 = 5.0 + # + # Enables the player losing more thirst in hotter environments. + enableThirstOverheating = true + # + # How much thirst the player gains from drinking in the rain (standing outside in the rain and looking up) per tick. + #Range: 0.0 ~ 100.0 + thirstGainedFromDrinkingInTheRain = 0.20833333333333334 + # + # A multiplier for how quickly the player regenerates health, under TFC's passive regeneration. + # By default, the player regenerates 0.2 HP/second, or 0.6 HP/second when above 80% hunger and thirst, where 1 HP = 1/50 of a heart. + #Range: 0.0 ~ 100.0 + naturalRegenerationModifier = 1.0 + # + # How much total hunger consumed is required to completely refresh the player's nutrition. + # Player nutrition in TFC is calculated based on nutrition of the last few foods eaten - this is how many foods are used to calculate nutrition. By default, all TFC foods restore 4 hunger. + #Range: > 1 + nutritionRotationHungerWindow = 80 + # + # If player's nutrition should be kept even after death. Hunger and thirst are not affected and will be reset. + keepNutritionAfterDeath = true + # + # How many hours should different foods ignore when trying to stack together automatically? + # Food made with different creation dates doesn't stack by default, unless it's within a specific window. This is the number of hours that different foods will try and stack together at the loss of a little extra expiry time. + #Range: 1 ~ 100 + foodDecayStackWindow = 6 + # + # A multiplier for food decay, or expiration times. Larger values will result in naturally shorter expiration times. + # Setting this to zero will cause decay not to apply. + # Note that if you set this to zero **food items will lose their creation dates!!**. This is not reversible! + #Range: 0.0 ~ 1000.0 + foodDecayModifier = 1.0 + # + # Enables negative effects from carrying too many very heavy items, including potion effects. + enableOverburdening = true + # + # A multiplier for the minimum health that the player will obtain, based on their nutrition + #Range: 0.001 ~ 1000.0 + nutritionMinimumHealthModifier = 0.2 + # + # A multiplier for the default health that the player will have (this is at a average nutrition of 40%, aka the starting nutrition. + # Nutrition above this value will linearly scale to the maximum multiplier. + # Nutrition below this value will linearly scale to the minimum multiplier. + #Range: 0.001 ~ 1000.0 + nutritionDefaultHealthModifier = 0.85 + # + # A multiplier for the maximum health that the player will obtain, based on their nutrition + #Range: 0.001 ~ 1000.0 + nutritionMaximumHealthModifier = 3.0 + + [mechanics.foodTraits] + # + # The modifier for the 'Salted' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitSaltedModifier = 0.5 + # + # The modifier for the 'Brined' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitBrinedModifier = 1.0 + # + # The modifier for the 'Pickled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitPickledModifier = 0.5 + # + # The modifier for the 'Preserved' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitPreservedModifier = 0.5 + # + # The modifier for the 'Vinegar' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitVinegarModifier = 0.1 + # + # The modifier for the 'Charcoal Grilled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitCharcoalGrilledModifier = 1.25 + # + # The modifier for the 'Wood Grilled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitWoodGrilledModifier = 0.8 + # + # The modifier for the 'Burnt To A Crisp' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitBurntToACrispModifier = 2.5 + # + # The modifier for the 'Wild' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitWildModifier = 0.5 + + [mechanics.fluids] + # + # If true, TFC buckets that naturally place sources (colored steel) will place sources. If false, this behavior is disabled. + enableBucketsPlacingSources = true + + [mechanics.vanillaChanges] + # + # If vanilla bonemeal's instant-growth effect should be enabled. + enableVanillaBonemeal = false + # + # If true, vanilla's snow and ice formation mechanics will be used, and none of the TFC mechanics (improved snow and ice placement, snow stacking, icicle formation, passive snow or ice melting) will exist. + enableVanillaWeatherEffects = false + # + # If true, vanilla will attempt to spawn skeleton 'trap' horses during thunderstorms. + enableVanillaSkeletonHorseSpawning = false + # + # If true, enables the default vanilla behavior of mobs spawning with enchanted weapons sometimes. + enableVanillaMobsSpawningWithEnchantments = false + # + # If true, enables the default behavior of mobs spawning with vanilla armor and weapons + enableVanillaMobsSpawningWithVanillaEquipment = false + # + # If true, golems can be built + enableVanillaGolems = false + # + # If true, vanilla monsters are able to spawn. If false, the 'enableVanillaMonstersOnSurface' config option is not used, and all spawns are denied. + enableVanillaMonsters = true + # + # If true, vanilla monsters will spawn on the surface instead of just underground. If false, vanilla monsters will not spawn on the surface. + enableVanillaMonstersOnSurface = false + # + # If true, chicken jockies can spawn + enableChickenJockies = false + # + # If true, eggs can be thrown. + enableVanillaEggThrowing = false + # + # If true, drinking milk will clear potion effects and restore no nutrition, as in vanilla. + enableVanillaDrinkingMilkClearsPotionEffects = false + + [mechanics.animals] + + [mechanics.animals.pig] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + pigFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + pigAdulthoodDays = 80 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + pigUses = 60 + # + # Does the animal eat rotten food? + pigEatsRottenFood = true + # + # Length of pregnancy in days + #Range: > 0 + pigGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + pigChildCount = 10 + + [mechanics.animals.donkey] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + donkeyFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + donkeyAdulthoodDays = 80 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + donkeyUses = 60 + # + # Does the animal eat rotten food? + donkeyEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + donkeyGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + donkeyChildCount = 1 + + [mechanics.animals.mule] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + muleFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + muleAdulthoodDays = 80 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + muleUses = 60 + # + # Does the animal eat rotten food? + muleEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + muleGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + muleChildCount = 1 + + [mechanics.animals.horse] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + horseFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + horseAdulthoodDays = 80 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + horseUses = 60 + # + # Does the animal eat rotten food? + horseEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + horseGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + horseChildCount = 1 + + [mechanics.animals.cat] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + catFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + catAdulthoodDays = 50 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + catUses = 60 + # + # Does the animal eat rotten food? + catEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + catGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + catChildCount = 6 + + [mechanics.animals.dog] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + dogFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + dogAdulthoodDays = 50 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + dogUses = 60 + # + # Does the animal eat rotten food? + dogEatsRottenFood = true + # + # Length of pregnancy in days + #Range: > 0 + dogGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + dogChildCount = 2 + + [mechanics.animals.cow] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + cowFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + cowAdulthoodDays = 192 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + cowUses = 128 + # + # Does the animal eat rotten food? + cowEatsRottenFood = true + # + # Length of pregnancy in days + #Range: > 0 + cowGestationDays = 58 + # + # Max number of children born + #Range: 0 ~ 100 + cowChildCount = 2 + # + # Ticks until produce is ready + #Range: > 0 + cowProduceTicks = 24000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + cowMinProduceFamiliarity = 0.15 + + [mechanics.animals.goat] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + goatFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + goatAdulthoodDays = 96 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + goatUses = 60 + # + # Does the animal eat rotten food? + goatEatsRottenFood = true + # + # Length of pregnancy in days + #Range: > 0 + goatGestationDays = 32 + # + # Max number of children born + #Range: 0 ~ 100 + goatChildCount = 2 + # + # Ticks until produce is ready + #Range: > 0 + goatProduceTicks = 72000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + goatMinProduceFamiliarity = 0.15 + + [mechanics.animals.yak] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + yakFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + yakAdulthoodDays = 180 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + yakUses = 230 + # + # Does the animal eat rotten food? + yakEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + yakGestationDays = 64 + # + # Max number of children born + #Range: 0 ~ 100 + yakChildCount = 1 + # + # Ticks until produce is ready + #Range: > 0 + yakProduceTicks = 23500 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + yakMinProduceFamiliarity = 0.15 + + [mechanics.animals.alpaca] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + alpacaFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + alpacaAdulthoodDays = 98 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + alpacaUses = 128 + # + # Does the animal eat rotten food? + alpacaEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + alpacaGestationDays = 36 + # + # Max number of children born + #Range: 0 ~ 100 + alpacaChildCount = 2 + # + # Ticks until produce is ready + #Range: > 0 + alpacaProduceTicks = 120000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + alpacaMinProduceFamiliarity = 0.15 + + [mechanics.animals.sheep] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + sheepFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + sheepAdulthoodDays = 56 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + sheepUses = 60 + # + # Does the animal eat rotten food? + sheepEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + sheepGestationDays = 32 + # + # Max number of children born + #Range: 0 ~ 100 + sheepChildCount = 2 + # + # Ticks until produce is ready + #Range: > 0 + sheepProduceTicks = 168000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + sheepMinProduceFamiliarity = 0.15 + + [mechanics.animals.muskOx] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + muskOxFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + muskOxAdulthoodDays = 168 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + muskOxUses = 160 + # + # Does the animal eat rotten food? + muskOxEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + muskOxGestationDays = 64 + # + # Max number of children born + #Range: 0 ~ 100 + muskOxChildCount = 1 + # + # Ticks until produce is ready + #Range: > 0 + muskOxProduceTicks = 96000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + muskOxMinProduceFamiliarity = 0.15 + + [mechanics.animals.chicken] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + chickenFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + chickenAdulthoodDays = 24 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + chickenUses = 100 + # + # Does the animal eat rotten food? + chickenEatsRottenFood = true + # + # Ticks until produce is ready + #Range: > 0 + chickenProduceTicks = 30000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + chickenMinProduceFamiliarity = 0.15 + # + # Ticks until egg is ready to hatch + #Range: > 0 + chickenHatchDays = 8 + + [mechanics.animals.duck] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + duckFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + duckAdulthoodDays = 32 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + duckUses = 72 + # + # Does the animal eat rotten food? + duckEatsRottenFood = false + # + # Ticks until produce is ready + #Range: > 0 + duckProduceTicks = 32000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + duckMinProduceFamiliarity = 0.15 + # + # Ticks until egg is ready to hatch + #Range: > 0 + duckHatchDays = 8 + + [mechanics.animals.quail] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + quailFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + quailAdulthoodDays = 22 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + quailUses = 48 + # + # Does the animal eat rotten food? + quailEatsRottenFood = true + # + # Ticks until produce is ready + #Range: > 0 + quailProduceTicks = 28000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + quailMinProduceFamiliarity = 0.15 + # + # Ticks until egg is ready to hatch + #Range: > 0 + quailHatchDays = 8 + + [mechanics.animals.rabbit] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + rabbitFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + rabbitAdulthoodDays = 80 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + rabbitUses = 40 + # + # Does the animal eat rotten food? + rabbitEatsRottenFood = true + # + # Length of pregnancy in days + #Range: > 0 + rabbitGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + rabbitChildCount = 6 + +[weird] + farmlandMakesTheBestRaceTracks = false + diff --git a/global-server-configs/tfcchannelcasting-server.toml b/global-server-configs/tfcchannelcasting-server.toml new file mode 100644 index 000000000..bed592b2b --- /dev/null +++ b/global-server-configs/tfcchannelcasting-server.toml @@ -0,0 +1,6 @@ + +[molds] + #Tank capacity of a Pickaxe Head mold (in mB). + #Range: 0 ~ 2147483645 + moldHeartCapacity = 100 + diff --git a/global-server-configs/tfcea-server.toml b/global-server-configs/tfcea-server.toml new file mode 100644 index 000000000..087adc875 --- /dev/null +++ b/global-server-configs/tfcea-server.toml @@ -0,0 +1,6 @@ + +[general] + #The modifier for the 'Refrigerating' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitRefrigeratingModifier = 0.125 + diff --git a/global-server-configs/toolbelt-server.toml b/global-server-configs/toolbelt-server.toml new file mode 100644 index 000000000..39afc4a41 --- /dev/null +++ b/global-server-configs/toolbelt-server.toml @@ -0,0 +1,7 @@ + +[general] + #List of items to force-allow placing in the belt. Takes precedence over blacklist. + whitelist = [] + #List of items to disallow from placing in the belt. (whitelist takes precedence) + blacklist = [] + From d89499d160d125314419d5fce8774ea8165dd985 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 11:58:26 +0700 Subject: [PATCH 060/266] drop old cfgs --- defaultconfigs/corpse-server.toml | 33 - defaultconfigs/create-server.toml | 517 ---- defaultconfigs/firmaciv-server.toml | 11 - defaultconfigs/ftbessentials-server.snbt | 241 -- defaultconfigs/ftbessentials.snbt | 232 -- .../ftblibrary/ftblibrary-client.snbt | 4 - defaultconfigs/ftbquests/client-config.snbt | 4 - defaultconfigs/ftbranks/README.txt | 2103 ----------------- defaultconfigs/ftbranks/players.snbt | 1 - defaultconfigs/ftbranks/ranks.snbt | 26 - .../ftbxmodcompat/ftbxmodcompat.snbt | 4 - .../openpartiesandclaims-server.toml | 274 --- .../sophisticatedbackpacks-server.toml | 428 ---- defaultconfigs/tfc-server.toml | 1264 ---------- 14 files changed, 5142 deletions(-) delete mode 100644 defaultconfigs/corpse-server.toml delete mode 100644 defaultconfigs/create-server.toml delete mode 100644 defaultconfigs/firmaciv-server.toml delete mode 100644 defaultconfigs/ftbessentials-server.snbt delete mode 100644 defaultconfigs/ftbessentials.snbt delete mode 100644 defaultconfigs/ftblibrary/ftblibrary-client.snbt delete mode 100644 defaultconfigs/ftbquests/client-config.snbt delete mode 100644 defaultconfigs/ftbranks/README.txt delete mode 100644 defaultconfigs/ftbranks/players.snbt delete mode 100644 defaultconfigs/ftbranks/ranks.snbt delete mode 100644 defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt delete mode 100644 defaultconfigs/openpartiesandclaims-server.toml delete mode 100644 defaultconfigs/sophisticatedbackpacks-server.toml delete mode 100644 defaultconfigs/tfc-server.toml diff --git a/defaultconfigs/corpse-server.toml b/defaultconfigs/corpse-server.toml deleted file mode 100644 index ff4eb11ee..000000000 --- a/defaultconfigs/corpse-server.toml +++ /dev/null @@ -1,33 +0,0 @@ -#The time (in real life days) deaths get stored -#-1 for infinite storage -#0 for not storing deaths at all -#Range: > -1 -death_storage_duration = -1 - -[corpse] - #The time passed (in ticks) after a corpse turns into a skeleton - #Range: > 0 - skeleton_time = 72000 - #If the corpse should lie on its face - lie_on_face = false - #If the corpse should wear the players equipment - show_equipment = true - #If the corpse should fall into the void - fall_into_void = false - #If the corpse should get removed when in lava - lava_damage = false - - [corpse.access] - #If only the owner of the corpse can access the inventory - only_owner = true - #If everybody can access the corpse in the skeleton stage (Only if only_owner_access is set to true) - skeleton = true - - [corpse.despawn] - #The time passed (in ticks) after a corpse despawns (only if empty) - #Range: > 20 - time = 600 - #The time passed (in ticks) after a corpse despawns even if its not empty (-1 = never) - #Range: > -1 - force_time = -1 - diff --git a/defaultconfigs/create-server.toml b/defaultconfigs/create-server.toml deleted file mode 100644 index b36e6d303..000000000 --- a/defaultconfigs/create-server.toml +++ /dev/null @@ -1,517 +0,0 @@ - -#. -#The Backbone of Create -[infrastructure] - #. - #[in Ticks] - #The amount of time a server waits before sending out tickrate synchronization packets. - #These packets help animations to be more accurate when tps is below 20. - #Range: > 5 - tickrateSyncTimer = 20 - -#. -#Packmakers' control panel for internal recipe compat -[recipes] - #. - #. - #Allow the Mechanical Press to process entire stacks at a time. - bulkPressing = false - #. - #Allow the Mechanical Saw to process entire stacks at a time. - bulkCutting = false - #. - #Allow supported potions to be brewed by a Mechanical Mixer + Basin. - allowBrewingInMixer = true - #. - #Allow any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin. - allowShapelessInMixer = true - #. - #Allow any single-ingredient 2x2 or 3x3 crafting recipes to be processed by a Mechanical Press + Basin. - allowShapedSquareInPress = true - #. - #Allow any standard crafting recipes to be processed by Mechanical Crafters. - allowRegularCraftingInCrafter = true - #. - #The Maximum amount of ingredients that can be used to craft Firework Rockets using Mechanical Crafters. - #Range: > 1 - maxFireworkIngredientsInCrafter = 9 - #. - #Allow any stonecutting recipes to be processed by a Mechanical Saw. - allowStonecuttingOnSaw = true - #. - #Allow any Druidcraft woodcutter recipes to be processed by a Mechanical Saw. - allowWoodcuttingOnSaw = true - #. - #Allow Spouts to interact with Casting Tables and Basins from Tinkers' Construct. - allowCastingBySpout = true - #. - #Display vanilla Log-stripping interactions in JEI. - displayLogStrippingRecipes = false - #. - #The amount of Light sources destroyed before Chromatic Compound turns into Refined Radiance. - #Range: > 1 - lightSourceCountForRefinedRadiance = 10 - #. - #Allow the standard in-world Refined Radiance recipes. - enableRefinedRadianceRecipe = true - #. - #Allow the standard in-world Shadow Steel recipe. - enableShadowSteelRecipe = true - -#. -#Parameters and abilities of Create's kinetic mechanisms -[kinetics] - #. - #. - #Disable the Stress mechanic altogether. - disableStress = false - #. - #Maximum length in blocks of mechanical belts. - #Range: > 5 - maxBeltLength = 20 - #. - #Damage dealt by active Crushing Wheels. - #Range: > 0 - crushingDamage = 4 - #. - #[in Revolutions per Minute] - #Maximum allowed rotation speed for any Kinetic Block. - #Range: > 64 - maxRotationSpeed = 256 - #. - #Select what mobs should ignore Deployers when attacked by them. - #Allowed Values: ALL, CREEPERS, NONE - ignoreDeployerAttacks = "CREEPERS" - #. - #Game ticks between Kinetic Blocks checking whether their source is still valid. - #Range: > 5 - kineticValidationFrequency = 60 - #. - #multiplier used for calculating exhaustion from speed when a crank is turned. - #Range: 0.0 ~ 1.0 - crankHungerMultiplier = 0.009999999776482582 - #. - #Amount of sail-type blocks required for a windmill to assemble successfully. - #Range: > 0 - minimumWindmillSails = 8 - #. - #Number of sail-type blocks required to increase windmill speed by 1RPM. - #Range: > 1 - windmillSailsPerRPM = 8 - #. - #Max Distance in blocks a Weighted Ejector can throw - #Range: > 0 - maxEjectorDistance = 32 - #. - #Time in ticks until the next item launched by an ejector scans blocks for potential collisions - #Range: > 10 - ejectorScanInterval = 120 - - #. - #Encased Fan - [kinetics.encasedFan] - #. - #Maximum distance in blocks Fans can push entities. - #Range: > 5 - fanPushDistance = 20 - #. - #Maximum distance in blocks from where Fans can pull entities. - #Range: > 5 - fanPullDistance = 20 - #. - #Game ticks between Fans checking for anything blocking their air flow. - #Range: > 10 - fanBlockCheckRate = 30 - #. - #[in Revolutions per Minute] - #Rotation speed at which the maximum stats of fans are reached. - #Range: > 64 - fanRotationArgmax = 256 - #. - #Game ticks required for a Fan-based processing recipe to take effect. - #Range: > 0 - fanProcessingTime = 150 - - #. - #Moving Contraptions - [kinetics.contraptions] - #. - #Maximum amount of blocks in a structure movable by Pistons, Bearings or other means. - #Range: > 1 - maxBlocksMoved = 2048 - #. - #[in Bytes] - #[0 to disable this limit] - #Maximum amount of data a contraption can have before it can't be synced with players. - #Un-synced contraptions will not be visible and will not have collision. - #Range: > 0 - maxDataSize = 2000000 - #. - #Maximum value of a chassis attachment range. - #Range: > 1 - maxChassisRange = 16 - #. - #Maximum amount of extension poles behind a Mechanical Piston. - #Range: > 1 - maxPistonPoles = 64 - #. - #Max length of rope available off a Rope Pulley. - #Range: > 1 - maxRopeLength = 256 - #. - #Maximum allowed distance of two coupled minecarts. - #Range: > 1 - maxCartCouplingLength = 32 - #. - #Maximum depth of blocks filled in using a Mechanical Roller. - #Range: > 1 - rollerFillDepth = 12 - #. - #Whether minecart contraptions can be picked up in survival mode. - survivalContraptionPickup = true - #. - #Configure how Spawner blocks can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - movableSpawners = "NO_PICKUP" - #. - #Configure how Budding Amethyst can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - amethystMovement = "NO_PICKUP" - #. - #Configure how Obsidian blocks can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - movableObsidian = "UNMOVABLE" - #. - #Configure how Reinforced Deepslate blocks can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - movableReinforcedDeepslate = "UNMOVABLE" - #. - #Whether items mined or harvested by contraptions should be placed in their mounted storage. - moveItemsToStorage = true - #. - #Whether harvesters should break crops that aren't fully grown. - harvestPartiallyGrown = false - #. - #Whether harvesters should replant crops after harvesting. - harvesterReplants = true - #. - #Whether minecart contraptions can be placed into container items. - minecartContraptionInContainers = false - - #. - #Configure speed/capacity levels for requirements and indicators. - [kinetics.stats] - #. - #[in Revolutions per Minute] - #Minimum speed of rotation to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumSpeed = 30.0 - #. - #[in Revolutions per Minute] - #Minimum speed of rotation to be considered 'fast' - #Range: 0.0 ~ 65535.0 - fastSpeed = 100.0 - #. - #[in Stress Units] - #Minimum stress impact to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumStressImpact = 4.0 - #. - #[in Stress Units] - #Minimum stress impact to be considered 'high' - #Range: 0.0 ~ 65535.0 - highStressImpact = 8.0 - #. - #[in Stress Units] - #Minimum added Capacity by sources to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumCapacity = 256.0 - #. - #[in Stress Units] - #Minimum added Capacity by sources to be considered 'high' - #Range: 0.0 ~ 65535.0 - highCapacity = 1024.0 - - [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] - 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 - speedometer = 0.0 - copper_backtank = 4.0 - mechanical_saw = 4.0 - flywheel = 0.0 - encased_chain_drive = 0.0 - clutch = 0.0 - encased_fan = 2.0 - adjustable_chain_gearshift = 0.0 - mechanical_pump = 4.0 - crushing_wheel = 8.0 - mechanical_mixer = 4.0 - gantry_shaft = 0.0 - rope_pulley = 4.0 - 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 - stressometer = 0.0 - shaft = 0.0 - brass_encased_shaft = 0.0 - gearshift = 0.0 - turntable = 4.0 - sticky_mechanical_piston = 4.0 - sequenced_gearshift = 0.0 - weighted_ejector = 2.0 - cogwheel = 0.0 - andesite_encased_cogwheel = 0.0 - belt = 0.0 - brass_encased_cogwheel = 0.0 - gearbox = 0.0 - hose_pulley = 4.0 - elevator_pulley = 4.0 - mechanical_crafter = 2.0 - - #. - #[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 - creative_motor = 16384.0 - large_water_wheel = 128.0 - water_wheel = 32.0 - windmill_bearing = 512.0 - -#. -#Create's liquid manipulation tools -[fluids] - #. - #. - #[in Buckets] - #The amount of liquid a tank can hold per block. - #Range: > 1 - fluidTankCapacity = 8 - #. - #[in Blocks] - #The maximum height a fluid tank can reach. - #Range: > 1 - fluidTankMaxHeight = 32 - #. - #[in Blocks] - #The maximum distance a mechanical pump can push or pull liquids on either side. - #Range: > 1 - mechanicalPumpRange = 16 - #. - #[in Blocks] - #The maximum distance a hose pulley can draw fluid blocks from. - #Range: > 1 - hosePulleyRange = 128 - #. - #[in Blocks] - #[-1 to disable this behaviour] - #The minimum amount of fluid blocks the hose pulley needs to find before deeming it an infinite source. - #Range: > -1 - hosePulleyBlockThreshold = 0 - #. - #Whether hose pulleys should continue filling up above-threshold sources. - fillInfinite = false - #. - #Configure which fluids can be drained infinitely. - #Allowed Values: ALLOW_ALL, DENY_ALL, ALLOW_BY_TAG, DENY_BY_TAG - bottomlessFluidMode = "ALLOW_BY_TAG" - #. - #Whether hose pulleys should be allowed to place fluid sources. - fluidFillPlaceFluidSourceBlocks = false - #. - #Whether open-ended pipes should be allowed to place fluid sources. - pipesPlaceFluidSourceBlocks = false - -#. -#Tweaks for logistical components -[logistics] - #. - #. - #The amount of ticks a funnel waits between item transferrals, when it is not re-activated by redstone. - #Range: > 1 - defaultExtractionTimer = 8 - #. - #The amount of ticks a portable storage interface waits for transfers until letting contraptions move along. - #Range: > 1 - psiTimeout = 60 - #. - #Maximum distance in blocks a Mechanical Arm can reach across. - #Range: > 1 - mechanicalArmRange = 5 - #. - #Maximum possible range in blocks of redstone link connections. - #Range: > 1 - linkRange = 256 - #. - #Maximum possible distance in blocks between data gatherers and their target. - #Range: > 1 - displayLinkRange = 64 - #. - #The total amount of stacks a vault can hold per block in size. - #Range: > 1 - vaultCapacity = 20 - #. - #The amount of ticks a brass tunnel waits between distributions. - #Range: 1 ~ 10 - brassTunnelTimer = 10 - #. - #Whether hostile mobs walking near a seat will start riding it. - seatHostileMobs = true - -#. -#Everything related to Schematic tools -[schematics] - #. - #. - #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 - maxSchematics = 256 - #. - #[in Bytes] - #The maximum packet size uploaded Schematics are split into. - #Range: 256 ~ 32767 - maxSchematicPacketSize = 1024 - #. - #Amount of game ticks without new packets arriving until an active schematic upload process is discarded. - #Range: > 100 - schematicIdleTimeout = 600 - - #. - #Schematicannon - [schematics.schematicannon] - #. - #Amount of game ticks between shots of the cannon. Higher => Slower - #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 - -#. -#Equipment and gadgets added by Create -[equipment] - #. - #. - #The Maximum Distance to an active mirror for the symmetry wand to trigger. - #Range: > 10 - maxSymmetryWandRange = 50 - #. - #The Maximum Distance a Block placed by Create's placement assist will have to its interaction point. - #Range: > 3 - placementAssistRange = 12 - #. - #The Maximum Distance at which a Toolbox can interact with Players' Inventories. - #Range: > 1 - toolboxRange = 10 - #. - #The Maximum volume of Air that can be stored in a backtank = Seconds of underwater breathing - #Range: > 1 - airInBacktank = 900 - #. - #The volume of Air added by each level of the backtanks Capacity Enchantment - #Range: > 1 - enchantedBacktankCapacity = 300 - #. - #Amount of free Extendo Grip actions provided by one filled Copper Backtank. Set to 0 makes Extendo Grips unbreakable - #Range: > 0 - maxExtendoGripActions = 1000 - #. - #Amount of free Potato Cannon shots provided by one filled Copper Backtank. Set to 0 makes Potato Cannons unbreakable - #Range: > 0 - maxPotatoCannonShots = 200 - -#. -#Create's builtin Railway systems -[trains] - #. - #. - #Whether moving Trains can hurt colliding mobs and players. - trainsCauseDamage = true - #. - #Maximum length of track that can be placed as one batch or turn. - #Range: 16 ~ 128 - maxTrackPlacementLength = 32 - #. - #Maximum length of a Train Stations' assembly track. - #Range: > 5 - maxAssemblyLength = 128 - #. - #Maximum amount of bogeys assembled as a single Train. - #Range: > 1 - maxBogeyCount = 20 - #. - #Relative speed of a manually controlled Train compared to a Scheduled one. - #Range: 0.0 ~ 3.4028234663852886E38 - manualTrainSpeedModifier = 0.75 - - #. - #Standard Trains - [trains.trainStats] - #. - #[in Blocks/Second] - #The top speed of any assembled Train. - #Range: 0.0 ~ 3.4028234663852886E38 - trainTopSpeed = 28.0 - #. - #[in Blocks/Second] - #The top speed of Trains during a turn. - #Range: 0.0 ~ 3.4028234663852886E38 - trainTurningTopSpeed = 14.0 - #. - #[in Blocks/Second²] - #The acceleration of any assembled Train. - #Range: 0.0 ~ 3.4028234663852886E38 - trainAcceleration = 3.0 - - #. - #Powered Trains - [trains.poweredTrainStats] - #. - #[in Blocks/Second] - #The top speed of powered Trains. - #Range: 0.0 ~ 3.4028234663852886E38 - poweredTrainTopSpeed = 40.0 - #. - #[in Blocks/Second] - #The top speed of powered Trains during a turn. - #Range: 0.0 ~ 3.4028234663852886E38 - poweredTrainTurningTopSpeed = 20.0 - #. - #[in Blocks/Second²] - #The acceleration of powered Trains. - #Range: 0.0 ~ 3.4028234663852886E38 - poweredTrainAcceleration = 3.0 - diff --git a/defaultconfigs/firmaciv-server.toml b/defaultconfigs/firmaciv-server.toml deleted file mode 100644 index 198809b0b..000000000 --- a/defaultconfigs/firmaciv-server.toml +++ /dev/null @@ -1,11 +0,0 @@ - -[general] - #Force creation of canoes from specified wood types. Turning this to false will make canoes craftable from any wood type. - canoeWoodRestriction = true - #Force creation of ships and rowboats from specified wood types. Turning this to false will make ships and rowboats craftable from any wood type. - shipWoodRestriction = true - #Force reduceDebugInfo gamerule. Turn this to FALSE if you want coordinates bad. - forceReducedDebugInfo = false - #Disables vanilla boats and base TFC boats from working. - disableVanillaBoatFunctionality = true - diff --git a/defaultconfigs/ftbessentials-server.snbt b/defaultconfigs/ftbessentials-server.snbt deleted file mode 100644 index c3f5803c5..000000000 --- a/defaultconfigs/ftbessentials-server.snbt +++ /dev/null @@ -1,241 +0,0 @@ -# Default config file that will be copied to world's serverconfig/ftbessentials.snbt location -# Copy values you wish to override in here -# Example: -# -# { -# misc: { -# enderchest: { -# enabled: false -# } -# } -# } - -{ - # Admin commands for cheating and moderation - admin: { - # Allows admins to toggle flying status using a command, without having to use Creative Mode - fly: { - # Default: true - enabled: true - } - - # Allows admins to toggle invincibility using a command, without having to use Creative Mode - god: { - # Default: true - enabled: true - } - - # Allows admins to heal themselves using a command - heal: { - # Default: true - enabled: true - } - - # Allows admins to view other users' inventories using a command - invsee: { - # Default: true - enabled: true - } - - # Allows admins to restrict players from chatting by using a command to mute (or unmute) them - mute: { - # Default: true - enabled: true - } - } - - # Miscellaneous features and utilities - misc: { - # Allows users to access their ender chest, as well as admins to manage other players' ender chests. - enderchest: { - # Default: true - enabled: true - } - - # Allows users to set a custom hat as their head item by using a command - hat: { - # Default: true - enabled: true - } - - # Allows users to kick themselves from the server, for example if they are stuck or desynced - kickme: { - # Default: true - enabled: false - } - - # Allows users to view player leaderboard stats. - leaderboard: { - # Default: true - enabled: true - } - - # Allows users to change their display name, as well as admins to change nicknames for other users - nick: { - # Default: true - enabled: false - } - - # Allows users to announce their recording or streaming status to the server by using commands - rec: { - # Default: true - enabled: false - } - - # Enables usage of a trash can inventory, which can be used to void unneeded items - trashcan: { - # Default: true - enabled: true - } - } - - # Teleportation-related settings - teleportation: { - # Allows users to return to their previous location after teleporting (or dying) - back: { - # Cooldown between /back commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.cooldown - # Default: 30 - # Range: 0 ~ 604800 - cooldown: 30 - - # Default: true - enabled: false - - # Max size of the teleport history. This limits how many times you can use /back - # You can override this with FTB Ranks using ftbessentials.back.max - # Default: 10 - # Range: 0 ~ 2147483647 - max: 10 - - # Warm-up time before /back command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows users to set 'homes', which they can then freely teleport to by using /home afterwards - home: { - # Cooldown between /home commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Max amount of homes a user can have. - # You can override this with FTB Ranks using ftbessentials.home.max - # Default: 1 - # Range: 0 ~ 2147483647 - max: 1 - - # Warm-up time before /home command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to teleport to a random point in the Wilderness - # Note: This currently does not respect Claimed Chunks yet! - rtp: { - # Cooldown between /rtp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.cooldown - # Default: 600 - # Range: 0 ~ 604800 - cooldown: 600 - - # Default: true - enabled: false - - # /rtp max distance from spawn point - # Default: 100000 - # Range: 0 ~ 30000000 - max_distance: 100000 - - # Number of tries before /rtp gives up - # Default: 100 - # Range: 1 ~ 1000 - max_tries: 100 - - # /rtp min distance from spawn point - # Default: 1000 - # Range: 0 ~ 30000000 - min_distance: 1000 - - # Warm-up time before /rtp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - spawn: { - # Cooldown between /spawn commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /spawn command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to create requests to teleport to other users on the server, - # as well as requesting other players to teleport to them - tpa: { - # Cooldown between /tpa commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /tpa command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows admins to teleport to the location a user was last seen at - tpl: { - # Default: true - enabled: false - } - - # Allows admins to teleport to dimension - tpx: { - # Default: true - enabled: true - } - - # Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp - warp: { - # Cooldown between /warp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /warp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - } -} diff --git a/defaultconfigs/ftbessentials.snbt b/defaultconfigs/ftbessentials.snbt deleted file mode 100644 index 888367213..000000000 --- a/defaultconfigs/ftbessentials.snbt +++ /dev/null @@ -1,232 +0,0 @@ -# FTB Essentials config file -# If you're a modpack maker, edit defaultconfigs/ftbessentials-server.snbt instead - -{ - # Admin commands for cheating and moderation - admin: { - # Allows admins to toggle flying status using a command, without having to use Creative Mode - fly: { - # Default: true - enabled: true - } - - # Allows admins to toggle invincibility using a command, without having to use Creative Mode - god: { - # Default: true - enabled: true - } - - # Allows admins to heal themselves using a command - heal: { - # Default: true - enabled: true - } - - # Allows admins to view other users' inventories using a command - invsee: { - # Default: true - enabled: true - } - - # Allows admins to restrict players from chatting by using a command to mute (or unmute) them - mute: { - # Default: true - enabled: true - } - } - - # Miscellaneous features and utilities - misc: { - # Allows users to access their ender chest, as well as admins to manage other players' ender chests. - enderchest: { - # Default: true - enabled: true - } - - # Allows users to set a custom hat as their head item by using a command - hat: { - # Default: true - enabled: false - } - - # Allows users to kick themselves from the server, for example if they are stuck or desynced - kickme: { - # Default: true - enabled: false - } - - # Allows users to view player leaderboard stats. - leaderboard: { - # Default: true - enabled: true - } - - # Allows users to change their display name, as well as admins to change nicknames for other users - nick: { - # Default: true - enabled: false - } - - # Allows users to announce their recording or streaming status to the server by using commands - rec: { - # Default: true - enabled: false - } - - # Enables usage of a trash can inventory, which can be used to void unneeded items - trashcan: { - # Default: true - enabled: true - } - } - - # Teleportation-related settings - teleportation: { - # Allows users to return to their previous location after teleporting (or dying) - back: { - # Cooldown between /back commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.cooldown - # Default: 30 - # Range: 0 ~ 604800 - cooldown: 30 - - # Default: true - enabled: false - - # Max size of the teleport history. This limits how many times you can use /back - # You can override this with FTB Ranks using ftbessentials.back.max - # Default: 10 - # Range: 0 ~ 2147483647 - max: 10 - - # Warm-up time before /back command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows users to set 'homes', which they can then freely teleport to by using /home afterwards - home: { - # Cooldown between /home commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Max amount of homes a user can have. - # You can override this with FTB Ranks using ftbessentials.home.max - # Default: 1 - # Range: 0 ~ 2147483647 - max: 1 - - # Warm-up time before /home command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to teleport to a random point in the Wilderness - # Note: This currently does not respect Claimed Chunks yet! - rtp: { - # Cooldown between /rtp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.cooldown - # Default: 600 - # Range: 0 ~ 604800 - cooldown: 600 - - # Default: true - enabled: false - - # /rtp max distance from spawn point - # Default: 100000 - # Range: 0 ~ 30000000 - max_distance: 100000 - - # Number of tries before /rtp gives up - # Default: 100 - # Range: 1 ~ 1000 - max_tries: 100 - - # /rtp min distance from spawn point - # Default: 1000 - # Range: 0 ~ 30000000 - min_distance: 1000 - - # Warm-up time before /rtp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - spawn: { - # Cooldown between /spawn commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /spawn command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to create requests to teleport to other users on the server, - # as well as requesting other players to teleport to them - tpa: { - # Cooldown between /tpa commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /tpa command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows admins to teleport to the location a user was last seen at - tpl: { - # Default: true - enabled: false - } - - # Allows admins to teleport to dimension - tpx: { - # Default: true - enabled: false - } - - # Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp - warp: { - # Cooldown between /warp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /warp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - } -} diff --git a/defaultconfigs/ftblibrary/ftblibrary-client.snbt b/defaultconfigs/ftblibrary/ftblibrary-client.snbt deleted file mode 100644 index ee8fa4b3d..000000000 --- a/defaultconfigs/ftblibrary/ftblibrary-client.snbt +++ /dev/null @@ -1,4 +0,0 @@ -# Default config file that will be copied to local\ftblibrary-client.snbt if it doesn't exist! -# Just copy any values you wish to override in here! - -{ } diff --git a/defaultconfigs/ftbquests/client-config.snbt b/defaultconfigs/ftbquests/client-config.snbt deleted file mode 100644 index 406c7da71..000000000 --- a/defaultconfigs/ftbquests/client-config.snbt +++ /dev/null @@ -1,4 +0,0 @@ -# Default config file that will be copied to local\ftbquests\client-config.snbt if it doesn't exist! -# Just copy any values you wish to override in here! - -{ } diff --git a/defaultconfigs/ftbranks/README.txt b/defaultconfigs/ftbranks/README.txt deleted file mode 100644 index 74c94df2c..000000000 --- a/defaultconfigs/ftbranks/README.txt +++ /dev/null @@ -1,2103 +0,0 @@ -=== FTB Ranks === - -Last README file update: Thu Jul 20 09:32:31 YEKT 2023 -Wiki: https://www.notion.so/feedthebeast/FTB-Mod-Documentation-da2e359bad2449459d58d787edda3168 -To refresh this file, run /ftbranks refresh_readme - -= All available command nodes = -command -command.advancement -command.advancement.grant -command.advancement.grant.targets -command.advancement.grant.targets.everything -command.advancement.grant.targets.from -command.advancement.grant.targets.from.advancement -command.advancement.grant.targets.only -command.advancement.grant.targets.only.advancement -command.advancement.grant.targets.only.advancement.criterion -command.advancement.grant.targets.through -command.advancement.grant.targets.through.advancement -command.advancement.grant.targets.until -command.advancement.grant.targets.until.advancement -command.advancement.revoke -command.advancement.revoke.targets -command.advancement.revoke.targets.everything -command.advancement.revoke.targets.from -command.advancement.revoke.targets.from.advancement -command.advancement.revoke.targets.only -command.advancement.revoke.targets.only.advancement -command.advancement.revoke.targets.only.advancement.criterion -command.advancement.revoke.targets.through -command.advancement.revoke.targets.through.advancement -command.advancement.revoke.targets.until -command.advancement.revoke.targets.until.advancement -command.attribute -command.attribute.target -command.attribute.target.attribute -command.attribute.target.attribute.base -command.attribute.target.attribute.base.get -command.attribute.target.attribute.base.get.scale -command.attribute.target.attribute.base.set -command.attribute.target.attribute.base.set.value -command.attribute.target.attribute.get -command.attribute.target.attribute.get.scale -command.attribute.target.attribute.modifier -command.attribute.target.attribute.modifier.add -command.attribute.target.attribute.modifier.add.uuid -command.attribute.target.attribute.modifier.add.uuid.name -command.attribute.target.attribute.modifier.add.uuid.name.value -command.attribute.target.attribute.modifier.add.uuid.name.value.add -command.attribute.target.attribute.modifier.add.uuid.name.value.multiply -command.attribute.target.attribute.modifier.add.uuid.name.value.multiply_base -command.attribute.target.attribute.modifier.remove -command.attribute.target.attribute.modifier.remove.uuid -command.attribute.target.attribute.modifier.value -command.attribute.target.attribute.modifier.value.get -command.attribute.target.attribute.modifier.value.get.uuid -command.attribute.target.attribute.modifier.value.get.uuid.scale -command.back -command.betterbiomeblend -command.betterbiomeblend.toggleBenchmark -command.bossbar -command.bossbar.add -command.bossbar.add.id -command.bossbar.add.id.name -command.bossbar.get -command.bossbar.get.id -command.bossbar.get.id.max -command.bossbar.get.id.players -command.bossbar.get.id.value -command.bossbar.get.id.visible -command.bossbar.list -command.bossbar.remove -command.bossbar.remove.id -command.bossbar.set -command.bossbar.set.id -command.bossbar.set.id.color -command.bossbar.set.id.color.blue -command.bossbar.set.id.color.green -command.bossbar.set.id.color.pink -command.bossbar.set.id.color.purple -command.bossbar.set.id.color.red -command.bossbar.set.id.color.white -command.bossbar.set.id.color.yellow -command.bossbar.set.id.max -command.bossbar.set.id.max.max -command.bossbar.set.id.name -command.bossbar.set.id.name.name -command.bossbar.set.id.players -command.bossbar.set.id.players.targets -command.bossbar.set.id.style -command.bossbar.set.id.style.notched_10 -command.bossbar.set.id.style.notched_12 -command.bossbar.set.id.style.notched_20 -command.bossbar.set.id.style.notched_6 -command.bossbar.set.id.style.progress -command.bossbar.set.id.value -command.bossbar.set.id.value.value -command.bossbar.set.id.visible -command.bossbar.set.id.visible.visible -command.c -command.c.clone -command.c.clone.begin -command.c.clone.begin.end -command.c.clone.begin.end.destination -command.c.clone.begin.end.destination.skipBlocks -command.c.config -command.c.config.path -command.c.config.path.set -command.c.config.path.set.value -command.c.coupling -command.c.coupling.add -command.c.coupling.add.cart1 -command.c.coupling.add.cart1.cart2 -command.c.coupling.add.carts -command.c.coupling.remove -command.c.coupling.remove.cart1 -command.c.coupling.remove.cart1.cart2 -command.c.coupling.removeAll -command.c.coupling.removeAll.cart -command.c.dismissFabulousWarning -command.c.fixLighting -command.c.glue -command.c.glue.from -command.c.glue.from.to -command.c.highlight -command.c.highlight.pos -command.c.highlight.pos.players -command.c.killTrain -command.c.killTrain.train -command.c.overlay -command.c.overlay.reset -command.c.passenger -command.c.passenger.rider -command.c.passenger.rider.vehicle -command.c.passenger.rider.vehicle.seatIndex -command.c.ponder -command.c.ponder.scene -command.c.ponder.scene.targets -command.c.rainbowDebug -command.c.rainbowDebug.off -command.c.rainbowDebug.on -command.c.trains -command.c.u -command.c.u.angle -command.c.u.angle.players -command.c.u.angle.players.mode -command.c.u.angle.players.mode.exponential -command.c.u.angle.players.mode.exponential.speed -command.c.u.angle.players.mode.linear -command.c.u.angle.players.mode.linear.speed -command.c.u.angle.players.pitch -command.c.u.angle.players.pitch.degrees -command.c.u.angle.players.yaw -command.c.u.angle.players.yaw.degrees -command.c.u.camera -command.c.u.camera.multiplier -command.c.u.camera.reset -command.c.u.clearRenderBuffers -command.c.u.flySpeed -command.c.u.flySpeed.reset -command.c.u.flySpeed.reset.target -command.c.u.flySpeed.speed -command.c.u.flySpeed.speed.target -command.c.u.replaceInCommandBlocks -command.c.u.replaceInCommandBlocks.begin -command.c.u.replaceInCommandBlocks.begin.end -command.c.u.replaceInCommandBlocks.begin.end.toReplace -command.c.u.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.c.util -command.c.util.angle -command.c.util.angle.players -command.c.util.angle.players.mode -command.c.util.angle.players.mode.exponential -command.c.util.angle.players.mode.exponential.speed -command.c.util.angle.players.mode.linear -command.c.util.angle.players.mode.linear.speed -command.c.util.angle.players.pitch -command.c.util.angle.players.pitch.degrees -command.c.util.angle.players.yaw -command.c.util.angle.players.yaw.degrees -command.c.util.camera -command.c.util.camera.multiplier -command.c.util.camera.reset -command.c.util.clearRenderBuffers -command.c.util.flySpeed -command.c.util.flySpeed.reset -command.c.util.flySpeed.reset.target -command.c.util.flySpeed.speed -command.c.util.flySpeed.speed.target -command.c.util.replaceInCommandBlocks -command.c.util.replaceInCommandBlocks.begin -command.c.util.replaceInCommandBlocks.begin.end -command.c.util.replaceInCommandBlocks.begin.end.toReplace -command.c.util.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.candb -command.candb.clear -command.candb.clear.start -command.candb.clear.start.end -command.candb.fill -command.candb.fill.start -command.candb.fill.start.end -command.candb.fill.start.end.random -command.candb.fill.start.end.state -command.candb.give -command.candb.give.target -command.candb.give.target.state -command.candb.give.target.state.count -command.candb.load -command.candb.load.name -command.candb.profiling -command.candb.profiling.start -command.candb.profiling.stop -command.candb.redo -command.candb.redo.target -command.candb.save -command.candb.save.target -command.candb.save.target.name -command.candb.stats -command.candb.stats.start -command.candb.stats.start.end -command.candb.undo -command.candb.undo.target -command.carryon -command.carryon.clear -command.carryon.clear.target -command.carryon.debug -command.cca_api -command.clear -command.clear.targets -command.clear.targets.item -command.clear.targets.item.maxCount -command.clone -command.clone.begin -command.clone.begin.end -command.clone.begin.end.destination -command.clone.begin.end.destination.filtered -command.clone.begin.end.destination.filtered.filter -command.clone.begin.end.destination.filtered.filter.force -command.clone.begin.end.destination.filtered.filter.move -command.clone.begin.end.destination.filtered.filter.normal -command.clone.begin.end.destination.masked -command.clone.begin.end.destination.masked.force -command.clone.begin.end.destination.masked.move -command.clone.begin.end.destination.masked.normal -command.clone.begin.end.destination.replace -command.clone.begin.end.destination.replace.force -command.clone.begin.end.destination.replace.move -command.clone.begin.end.destination.replace.normal -command.config -command.config.showfile -command.config.showfile.mod -command.config.showfile.mod.type -command.create -command.create.clone -command.create.clone.begin -command.create.clone.begin.end -command.create.clone.begin.end.destination -command.create.clone.begin.end.destination.skipBlocks -command.create.config -command.create.config.path -command.create.config.path.set -command.create.config.path.set.value -command.create.coupling -command.create.coupling.add -command.create.coupling.add.cart1 -command.create.coupling.add.cart1.cart2 -command.create.coupling.add.carts -command.create.coupling.remove -command.create.coupling.remove.cart1 -command.create.coupling.remove.cart1.cart2 -command.create.coupling.removeAll -command.create.coupling.removeAll.cart -command.create.dismissFabulousWarning -command.create.fixLighting -command.create.glue -command.create.glue.from -command.create.glue.from.to -command.create.highlight -command.create.highlight.pos -command.create.highlight.pos.players -command.create.killTrain -command.create.killTrain.train -command.create.overlay -command.create.overlay.reset -command.create.passenger -command.create.passenger.rider -command.create.passenger.rider.vehicle -command.create.passenger.rider.vehicle.seatIndex -command.create.ponder -command.create.ponder.scene -command.create.ponder.scene.targets -command.create.rainbowDebug -command.create.rainbowDebug.off -command.create.rainbowDebug.on -command.create.trains -command.create.u -command.create.u.angle -command.create.u.angle.players -command.create.u.angle.players.mode -command.create.u.angle.players.mode.exponential -command.create.u.angle.players.mode.exponential.speed -command.create.u.angle.players.mode.linear -command.create.u.angle.players.mode.linear.speed -command.create.u.angle.players.pitch -command.create.u.angle.players.pitch.degrees -command.create.u.angle.players.yaw -command.create.u.angle.players.yaw.degrees -command.create.u.camera -command.create.u.camera.multiplier -command.create.u.camera.reset -command.create.u.clearRenderBuffers -command.create.u.flySpeed -command.create.u.flySpeed.reset -command.create.u.flySpeed.reset.target -command.create.u.flySpeed.speed -command.create.u.flySpeed.speed.target -command.create.u.replaceInCommandBlocks -command.create.u.replaceInCommandBlocks.begin -command.create.u.replaceInCommandBlocks.begin.end -command.create.u.replaceInCommandBlocks.begin.end.toReplace -command.create.u.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.create.util -command.create.util.angle -command.create.util.angle.players -command.create.util.angle.players.mode -command.create.util.angle.players.mode.exponential -command.create.util.angle.players.mode.exponential.speed -command.create.util.angle.players.mode.linear -command.create.util.angle.players.mode.linear.speed -command.create.util.angle.players.pitch -command.create.util.angle.players.pitch.degrees -command.create.util.angle.players.yaw -command.create.util.angle.players.yaw.degrees -command.create.util.camera -command.create.util.camera.multiplier -command.create.util.camera.reset -command.create.util.clearRenderBuffers -command.create.util.flySpeed -command.create.util.flySpeed.reset -command.create.util.flySpeed.reset.target -command.create.util.flySpeed.speed -command.create.util.flySpeed.speed.target -command.create.util.replaceInCommandBlocks -command.create.util.replaceInCommandBlocks.begin -command.create.util.replaceInCommandBlocks.begin.end -command.create.util.replaceInCommandBlocks.begin.end.toReplace -command.create.util.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.ctm -command.ctm.reload -command.curios -command.curios.add -command.curios.add.slot -command.curios.add.slot.player -command.curios.add.slot.player.amount -command.curios.clear -command.curios.clear.player -command.curios.clear.player.slot -command.curios.drop -command.curios.drop.player -command.curios.drop.player.slot -command.curios.list -command.curios.remove -command.curios.remove.slot -command.curios.remove.slot.player -command.curios.remove.slot.player.amount -command.curios.replace -command.curios.replace.slot -command.curios.replace.slot.index -command.curios.replace.slot.index.player -command.curios.replace.slot.index.player.with -command.curios.replace.slot.index.player.with.item -command.curios.replace.slot.index.player.with.item.count -command.curios.reset -command.curios.reset.player -command.curios.set -command.curios.set.slot -command.curios.set.slot.player -command.curios.set.slot.player.amount -command.data -command.data.get -command.data.get.block -command.data.get.block.targetPos -command.data.get.block.targetPos.path -command.data.get.block.targetPos.path.scale -command.data.get.entity -command.data.get.entity.target -command.data.get.entity.target.path -command.data.get.entity.target.path.scale -command.data.get.storage -command.data.get.storage.target -command.data.get.storage.target.path -command.data.get.storage.target.path.scale -command.data.merge -command.data.merge.block -command.data.merge.block.targetPos -command.data.merge.block.targetPos.nbt -command.data.merge.entity -command.data.merge.entity.target -command.data.merge.entity.target.nbt -command.data.merge.storage -command.data.merge.storage.target -command.data.merge.storage.target.nbt -command.data.modify -command.data.modify.block -command.data.modify.block.targetPos -command.data.modify.block.targetPos.targetPath -command.data.modify.block.targetPos.targetPath.append -command.data.modify.block.targetPos.targetPath.append.from -command.data.modify.block.targetPos.targetPath.append.from.block -command.data.modify.block.targetPos.targetPath.append.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.append.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.append.from.entity -command.data.modify.block.targetPos.targetPath.append.from.entity.source -command.data.modify.block.targetPos.targetPath.append.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.append.from.storage -command.data.modify.block.targetPos.targetPath.append.from.storage.source -command.data.modify.block.targetPos.targetPath.append.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.append.value -command.data.modify.block.targetPos.targetPath.append.value.value -command.data.modify.block.targetPos.targetPath.insert -command.data.modify.block.targetPos.targetPath.insert.index -command.data.modify.block.targetPos.targetPath.insert.index.from -command.data.modify.block.targetPos.targetPath.insert.index.from.block -command.data.modify.block.targetPos.targetPath.insert.index.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.insert.index.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.insert.index.from.entity -command.data.modify.block.targetPos.targetPath.insert.index.from.entity.source -command.data.modify.block.targetPos.targetPath.insert.index.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.insert.index.from.storage -command.data.modify.block.targetPos.targetPath.insert.index.from.storage.source -command.data.modify.block.targetPos.targetPath.insert.index.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.insert.index.value -command.data.modify.block.targetPos.targetPath.insert.index.value.value -command.data.modify.block.targetPos.targetPath.merge -command.data.modify.block.targetPos.targetPath.merge.from -command.data.modify.block.targetPos.targetPath.merge.from.block -command.data.modify.block.targetPos.targetPath.merge.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.merge.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.merge.from.entity -command.data.modify.block.targetPos.targetPath.merge.from.entity.source -command.data.modify.block.targetPos.targetPath.merge.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.merge.from.storage -command.data.modify.block.targetPos.targetPath.merge.from.storage.source -command.data.modify.block.targetPos.targetPath.merge.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.merge.value -command.data.modify.block.targetPos.targetPath.merge.value.value -command.data.modify.block.targetPos.targetPath.prepend -command.data.modify.block.targetPos.targetPath.prepend.from -command.data.modify.block.targetPos.targetPath.prepend.from.block -command.data.modify.block.targetPos.targetPath.prepend.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.prepend.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.prepend.from.entity -command.data.modify.block.targetPos.targetPath.prepend.from.entity.source -command.data.modify.block.targetPos.targetPath.prepend.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.prepend.from.storage -command.data.modify.block.targetPos.targetPath.prepend.from.storage.source -command.data.modify.block.targetPos.targetPath.prepend.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.prepend.value -command.data.modify.block.targetPos.targetPath.prepend.value.value -command.data.modify.block.targetPos.targetPath.set -command.data.modify.block.targetPos.targetPath.set.from -command.data.modify.block.targetPos.targetPath.set.from.block -command.data.modify.block.targetPos.targetPath.set.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.set.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.set.from.entity -command.data.modify.block.targetPos.targetPath.set.from.entity.source -command.data.modify.block.targetPos.targetPath.set.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.set.from.storage -command.data.modify.block.targetPos.targetPath.set.from.storage.source -command.data.modify.block.targetPos.targetPath.set.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.set.value -command.data.modify.block.targetPos.targetPath.set.value.value -command.data.modify.entity -command.data.modify.entity.target -command.data.modify.entity.target.targetPath -command.data.modify.entity.target.targetPath.append -command.data.modify.entity.target.targetPath.append.from -command.data.modify.entity.target.targetPath.append.from.block -command.data.modify.entity.target.targetPath.append.from.block.sourcePos -command.data.modify.entity.target.targetPath.append.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.append.from.entity -command.data.modify.entity.target.targetPath.append.from.entity.source -command.data.modify.entity.target.targetPath.append.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.append.from.storage -command.data.modify.entity.target.targetPath.append.from.storage.source -command.data.modify.entity.target.targetPath.append.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.append.value -command.data.modify.entity.target.targetPath.append.value.value -command.data.modify.entity.target.targetPath.insert -command.data.modify.entity.target.targetPath.insert.index -command.data.modify.entity.target.targetPath.insert.index.from -command.data.modify.entity.target.targetPath.insert.index.from.block -command.data.modify.entity.target.targetPath.insert.index.from.block.sourcePos -command.data.modify.entity.target.targetPath.insert.index.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.insert.index.from.entity -command.data.modify.entity.target.targetPath.insert.index.from.entity.source -command.data.modify.entity.target.targetPath.insert.index.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.insert.index.from.storage -command.data.modify.entity.target.targetPath.insert.index.from.storage.source -command.data.modify.entity.target.targetPath.insert.index.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.insert.index.value -command.data.modify.entity.target.targetPath.insert.index.value.value -command.data.modify.entity.target.targetPath.merge -command.data.modify.entity.target.targetPath.merge.from -command.data.modify.entity.target.targetPath.merge.from.block -command.data.modify.entity.target.targetPath.merge.from.block.sourcePos -command.data.modify.entity.target.targetPath.merge.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.merge.from.entity -command.data.modify.entity.target.targetPath.merge.from.entity.source -command.data.modify.entity.target.targetPath.merge.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.merge.from.storage -command.data.modify.entity.target.targetPath.merge.from.storage.source -command.data.modify.entity.target.targetPath.merge.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.merge.value -command.data.modify.entity.target.targetPath.merge.value.value -command.data.modify.entity.target.targetPath.prepend -command.data.modify.entity.target.targetPath.prepend.from -command.data.modify.entity.target.targetPath.prepend.from.block -command.data.modify.entity.target.targetPath.prepend.from.block.sourcePos -command.data.modify.entity.target.targetPath.prepend.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.prepend.from.entity -command.data.modify.entity.target.targetPath.prepend.from.entity.source -command.data.modify.entity.target.targetPath.prepend.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.prepend.from.storage -command.data.modify.entity.target.targetPath.prepend.from.storage.source -command.data.modify.entity.target.targetPath.prepend.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.prepend.value -command.data.modify.entity.target.targetPath.prepend.value.value -command.data.modify.entity.target.targetPath.set -command.data.modify.entity.target.targetPath.set.from -command.data.modify.entity.target.targetPath.set.from.block -command.data.modify.entity.target.targetPath.set.from.block.sourcePos -command.data.modify.entity.target.targetPath.set.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.set.from.entity -command.data.modify.entity.target.targetPath.set.from.entity.source -command.data.modify.entity.target.targetPath.set.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.set.from.storage -command.data.modify.entity.target.targetPath.set.from.storage.source -command.data.modify.entity.target.targetPath.set.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.set.value -command.data.modify.entity.target.targetPath.set.value.value -command.data.modify.storage -command.data.modify.storage.target -command.data.modify.storage.target.targetPath -command.data.modify.storage.target.targetPath.append -command.data.modify.storage.target.targetPath.append.from -command.data.modify.storage.target.targetPath.append.from.block -command.data.modify.storage.target.targetPath.append.from.block.sourcePos -command.data.modify.storage.target.targetPath.append.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.append.from.entity -command.data.modify.storage.target.targetPath.append.from.entity.source -command.data.modify.storage.target.targetPath.append.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.append.from.storage -command.data.modify.storage.target.targetPath.append.from.storage.source -command.data.modify.storage.target.targetPath.append.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.append.value -command.data.modify.storage.target.targetPath.append.value.value -command.data.modify.storage.target.targetPath.insert -command.data.modify.storage.target.targetPath.insert.index -command.data.modify.storage.target.targetPath.insert.index.from -command.data.modify.storage.target.targetPath.insert.index.from.block -command.data.modify.storage.target.targetPath.insert.index.from.block.sourcePos -command.data.modify.storage.target.targetPath.insert.index.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.insert.index.from.entity -command.data.modify.storage.target.targetPath.insert.index.from.entity.source -command.data.modify.storage.target.targetPath.insert.index.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.insert.index.from.storage -command.data.modify.storage.target.targetPath.insert.index.from.storage.source -command.data.modify.storage.target.targetPath.insert.index.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.insert.index.value -command.data.modify.storage.target.targetPath.insert.index.value.value -command.data.modify.storage.target.targetPath.merge -command.data.modify.storage.target.targetPath.merge.from -command.data.modify.storage.target.targetPath.merge.from.block -command.data.modify.storage.target.targetPath.merge.from.block.sourcePos -command.data.modify.storage.target.targetPath.merge.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.merge.from.entity -command.data.modify.storage.target.targetPath.merge.from.entity.source -command.data.modify.storage.target.targetPath.merge.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.merge.from.storage -command.data.modify.storage.target.targetPath.merge.from.storage.source -command.data.modify.storage.target.targetPath.merge.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.merge.value -command.data.modify.storage.target.targetPath.merge.value.value -command.data.modify.storage.target.targetPath.prepend -command.data.modify.storage.target.targetPath.prepend.from -command.data.modify.storage.target.targetPath.prepend.from.block -command.data.modify.storage.target.targetPath.prepend.from.block.sourcePos -command.data.modify.storage.target.targetPath.prepend.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.prepend.from.entity -command.data.modify.storage.target.targetPath.prepend.from.entity.source -command.data.modify.storage.target.targetPath.prepend.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.prepend.from.storage -command.data.modify.storage.target.targetPath.prepend.from.storage.source -command.data.modify.storage.target.targetPath.prepend.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.prepend.value -command.data.modify.storage.target.targetPath.prepend.value.value -command.data.modify.storage.target.targetPath.set -command.data.modify.storage.target.targetPath.set.from -command.data.modify.storage.target.targetPath.set.from.block -command.data.modify.storage.target.targetPath.set.from.block.sourcePos -command.data.modify.storage.target.targetPath.set.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.set.from.entity -command.data.modify.storage.target.targetPath.set.from.entity.source -command.data.modify.storage.target.targetPath.set.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.set.from.storage -command.data.modify.storage.target.targetPath.set.from.storage.source -command.data.modify.storage.target.targetPath.set.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.set.value -command.data.modify.storage.target.targetPath.set.value.value -command.data.remove -command.data.remove.block -command.data.remove.block.targetPos -command.data.remove.block.targetPos.path -command.data.remove.entity -command.data.remove.entity.target -command.data.remove.entity.target.path -command.data.remove.storage -command.data.remove.storage.target -command.data.remove.storage.target.path -command.datapack -command.datapack.disable -command.datapack.disable.name -command.datapack.enable -command.datapack.enable.name -command.datapack.enable.name.after -command.datapack.enable.name.after.existing -command.datapack.enable.name.before -command.datapack.enable.name.before.existing -command.datapack.enable.name.first -command.datapack.enable.name.last -command.datapack.list -command.datapack.list.available -command.datapack.list.enabled -command.deathhistory -command.deathhistory.player -command.deathhistory.player_uuid -command.debug -command.debug.function -command.debug.function.name -command.debug.start -command.debug.stop -command.defaultgamemode -command.defaultgamemode.adventure -command.defaultgamemode.creative -command.defaultgamemode.spectator -command.defaultgamemode.survival -command.delhome -command.delhome.name -command.delwarp -command.delwarp.name -command.difficulty -command.difficulty.easy -command.difficulty.hard -command.difficulty.normal -command.difficulty.peaceful -command.dt -command.dt.clearorphaned -command.dt.clearorphaned.location -command.dt.clearorphaned.location.radius -command.dt.createstaff -command.dt.createstaff.location -command.dt.createstaff.location.species -command.dt.createstaff.location.species.jo_code -command.dt.createstaff.location.species.jo_code.color -command.dt.createstaff.location.species.jo_code.color.readOnly -command.dt.createstaff.location.species.jo_code.color.readOnly.maxUses -command.dt.createtransformpotion -command.dt.createtransformpotion.location -command.dt.createtransformpotion.location.species -command.dt.fertility -command.dt.fertility.location -command.dt.fertility.location.fertility -command.dt.fertility.location.raw -command.dt.gettree -command.dt.gettree.location -command.dt.gettree.location.code_raw -command.dt.growpulse -command.dt.growpulse.location -command.dt.growpulse.location.number -command.dt.killtree -command.dt.killtree.location -command.dt.purgetrees -command.dt.purgetrees.location -command.dt.purgetrees.location.radius -command.dt.registry -command.dt.registry.cellkit -command.dt.registry.cellkit.list -command.dt.registry.cellkit.list.raw -command.dt.registry.family -command.dt.registry.family.list -command.dt.registry.family.list.raw -command.dt.registry.fruit -command.dt.registry.fruit.list -command.dt.registry.fruit.list.raw -command.dt.registry.genfeature -command.dt.registry.genfeature.list -command.dt.registry.genfeature.list.raw -command.dt.registry.growthlogickit -command.dt.registry.growthlogickit.list -command.dt.registry.growthlogickit.list.raw -command.dt.registry.leavesproperties -command.dt.registry.leavesproperties.list -command.dt.registry.leavesproperties.list.raw -command.dt.registry.pod -command.dt.registry.pod.list -command.dt.registry.pod.list.raw -command.dt.registry.registryhandler -command.dt.registry.registryhandler.list -command.dt.registry.registryhandler.list.raw -command.dt.registry.soilproperties -command.dt.registry.soilproperties.list -command.dt.registry.soilproperties.list.raw -command.dt.registry.species -command.dt.registry.species.list -command.dt.registry.species.list.raw -command.dt.rotatejocode -command.dt.rotatejocode.jo_code -command.dt.rotatejocode.jo_code.turns -command.dt.setcoordxor -command.dt.setcoordxor.xor -command.dt.settree -command.dt.settree.location -command.dt.settree.location.species -command.dt.settree.location.species.jo_code -command.dt.settree.location.species.jo_code.turns -command.dt.settree.location.species.jo_code.turns.fertility -command.dt.transform -command.dt.transform.location -command.dt.transform.location.species -command.dumpHandlers -command.effect -command.effect.clear -command.effect.clear.targets -command.effect.clear.targets.effect -command.effect.give -command.effect.give.targets -command.effect.give.targets.effect -command.effect.give.targets.effect.seconds -command.effect.give.targets.effect.seconds.amplifier -command.effect.give.targets.effect.seconds.amplifier.hideParticles -command.enchant -command.enchant.targets -command.enchant.targets.enchantment -command.enchant.targets.enchantment.level -command.enderchest -command.enderchest.player -command.execute -command.execute.align -command.execute.anchored -command.execute.as -command.execute.at -command.execute.facing -command.execute.facing.entity -command.execute.facing.entity.targets -command.execute.if -command.execute.if.block -command.execute.if.block.pos -command.execute.if.blocks -command.execute.if.blocks.start -command.execute.if.blocks.start.end -command.execute.if.blocks.start.end.destination -command.execute.if.data -command.execute.if.data.block -command.execute.if.data.block.sourcePos -command.execute.if.data.entity -command.execute.if.data.entity.source -command.execute.if.data.storage -command.execute.if.data.storage.source -command.execute.if.entity -command.execute.if.predicate -command.execute.if.score -command.execute.if.score.target -command.execute.if.score.target.targetObjective -command.execute.if.score.target.targetObjective.< -command.execute.if.score.target.targetObjective.<.source -command.execute.if.score.target.targetObjective.<= -command.execute.if.score.target.targetObjective.<=.source -command.execute.if.score.target.targetObjective.= -command.execute.if.score.target.targetObjective.=.source -command.execute.if.score.target.targetObjective.> -command.execute.if.score.target.targetObjective.>.source -command.execute.if.score.target.targetObjective.>= -command.execute.if.score.target.targetObjective.>=.source -command.execute.if.score.target.targetObjective.matches -command.execute.in -command.execute.positioned -command.execute.positioned.as -command.execute.rotated -command.execute.rotated.as -command.execute.run -command.execute.store -command.execute.store.result -command.execute.store.result.block -command.execute.store.result.block.targetPos -command.execute.store.result.block.targetPos.path -command.execute.store.result.block.targetPos.path.byte -command.execute.store.result.block.targetPos.path.double -command.execute.store.result.block.targetPos.path.float -command.execute.store.result.block.targetPos.path.int -command.execute.store.result.block.targetPos.path.long -command.execute.store.result.block.targetPos.path.short -command.execute.store.result.bossbar -command.execute.store.result.bossbar.id -command.execute.store.result.entity -command.execute.store.result.entity.target -command.execute.store.result.entity.target.path -command.execute.store.result.entity.target.path.byte -command.execute.store.result.entity.target.path.double -command.execute.store.result.entity.target.path.float -command.execute.store.result.entity.target.path.int -command.execute.store.result.entity.target.path.long -command.execute.store.result.entity.target.path.short -command.execute.store.result.score -command.execute.store.result.score.targets -command.execute.store.result.storage -command.execute.store.result.storage.target -command.execute.store.result.storage.target.path -command.execute.store.result.storage.target.path.byte -command.execute.store.result.storage.target.path.double -command.execute.store.result.storage.target.path.float -command.execute.store.result.storage.target.path.int -command.execute.store.result.storage.target.path.long -command.execute.store.result.storage.target.path.short -command.execute.store.success -command.execute.store.success.block -command.execute.store.success.block.targetPos -command.execute.store.success.block.targetPos.path -command.execute.store.success.block.targetPos.path.byte -command.execute.store.success.block.targetPos.path.double -command.execute.store.success.block.targetPos.path.float -command.execute.store.success.block.targetPos.path.int -command.execute.store.success.block.targetPos.path.long -command.execute.store.success.block.targetPos.path.short -command.execute.store.success.bossbar -command.execute.store.success.bossbar.id -command.execute.store.success.entity -command.execute.store.success.entity.target -command.execute.store.success.entity.target.path -command.execute.store.success.entity.target.path.byte -command.execute.store.success.entity.target.path.double -command.execute.store.success.entity.target.path.float -command.execute.store.success.entity.target.path.int -command.execute.store.success.entity.target.path.long -command.execute.store.success.entity.target.path.short -command.execute.store.success.score -command.execute.store.success.score.targets -command.execute.store.success.storage -command.execute.store.success.storage.target -command.execute.store.success.storage.target.path -command.execute.store.success.storage.target.path.byte -command.execute.store.success.storage.target.path.double -command.execute.store.success.storage.target.path.float -command.execute.store.success.storage.target.path.int -command.execute.store.success.storage.target.path.long -command.execute.store.success.storage.target.path.short -command.execute.unless -command.execute.unless.block -command.execute.unless.block.pos -command.execute.unless.blocks -command.execute.unless.blocks.start -command.execute.unless.blocks.start.end -command.execute.unless.blocks.start.end.destination -command.execute.unless.data -command.execute.unless.data.block -command.execute.unless.data.block.sourcePos -command.execute.unless.data.entity -command.execute.unless.data.entity.source -command.execute.unless.data.storage -command.execute.unless.data.storage.source -command.execute.unless.entity -command.execute.unless.predicate -command.execute.unless.score -command.execute.unless.score.target -command.execute.unless.score.target.targetObjective -command.execute.unless.score.target.targetObjective.< -command.execute.unless.score.target.targetObjective.<.source -command.execute.unless.score.target.targetObjective.<= -command.execute.unless.score.target.targetObjective.<=.source -command.execute.unless.score.target.targetObjective.= -command.execute.unless.score.target.targetObjective.=.source -command.execute.unless.score.target.targetObjective.> -command.execute.unless.score.target.targetObjective.>.source -command.execute.unless.score.target.targetObjective.>= -command.execute.unless.score.target.targetObjective.>=.source -command.execute.unless.score.target.targetObjective.matches -command.experience -command.experience.add -command.experience.add.targets -command.experience.add.targets.amount -command.experience.add.targets.amount.levels -command.experience.add.targets.amount.points -command.experience.query -command.experience.query.targets -command.experience.query.targets.levels -command.experience.query.targets.points -command.experience.set -command.experience.set.targets -command.experience.set.targets.amount -command.experience.set.targets.amount.levels -command.experience.set.targets.amount.points -command.fill -command.fill.from -command.fill.from.to -command.fill.from.to.block -command.fill.from.to.block.destroy -command.fill.from.to.block.hollow -command.fill.from.to.block.keep -command.fill.from.to.block.outline -command.fill.from.to.block.replace -command.fill.from.to.block.replace.filter -command.fly -command.fly.player -command.forceload -command.forceload.add -command.forceload.add.from -command.forceload.add.from.to -command.forceload.query -command.forceload.query.pos -command.forceload.remove -command.forceload.remove.all -command.forceload.remove.from -command.forceload.remove.from.to -command.forge -command.forge.dimensions -command.forge.entity -command.forge.entity.list -command.forge.entity.list.filter -command.forge.entity.list.filter.dim -command.forge.generate -command.forge.generate.pos -command.forge.generate.pos.count -command.forge.generate.pos.count.dim -command.forge.generate.pos.count.dim.interval -command.forge.mods -command.forge.tags -command.forge.tags.registry -command.forge.tags.registry.get -command.forge.tags.registry.get.tag -command.forge.tags.registry.get.tag.page -command.forge.tags.registry.list -command.forge.tags.registry.list.page -command.forge.tags.registry.query -command.forge.tags.registry.query.element -command.forge.tags.registry.query.element.page -command.forge.tps -command.forge.tps.dim -command.forge.track -command.forge.track.entity -command.forge.track.reset -command.forge.track.reset.entity -command.forge.track.reset.te -command.forge.track.start -command.forge.track.start.entity -command.forge.track.start.entity.duration -command.forge.track.start.te -command.forge.track.start.te.duration -command.forge.track.te -command.ftblibrary -command.ftblibrary.day -command.ftblibrary.gamemode -command.ftblibrary.generate_loot_tables -command.ftblibrary.nbtedit -command.ftblibrary.nbtedit.block -command.ftblibrary.nbtedit.block.pos -command.ftblibrary.nbtedit.entity -command.ftblibrary.nbtedit.entity.entity -command.ftblibrary.nbtedit.item -command.ftblibrary.nbtedit.player -command.ftblibrary.nbtedit.player.player -command.ftblibrary.night -command.ftblibrary.rain -command.ftbquests -command.ftbquests.block_rewards -command.ftbquests.block_rewards.enabled -command.ftbquests.block_rewards.enabled.player -command.ftbquests.change_progress -command.ftbquests.change_progress.players -command.ftbquests.change_progress.players.complete -command.ftbquests.change_progress.players.complete.quest_object -command.ftbquests.change_progress.players.reset -command.ftbquests.change_progress.players.reset.quest_object -command.ftbquests.delete_empty_reward_tables -command.ftbquests.editing_mode -command.ftbquests.editing_mode.enabled -command.ftbquests.editing_mode.enabled.player -command.ftbquests.export_reward_table_to_chest -command.ftbquests.export_reward_table_to_chest.reward_table -command.ftbquests.export_reward_table_to_chest.reward_table.pos -command.ftbquests.generate_chapter_with_all_items_in_game -command.ftbquests.import_reward_table_from_chest -command.ftbquests.import_reward_table_from_chest.name -command.ftbquests.import_reward_table_from_chest.name.pos -command.ftbquests.locked -command.ftbquests.locked.enabled -command.ftbquests.locked.enabled.player -command.ftbquests.reload -command.ftbranks -command.ftbranks.add -command.ftbranks.add.players -command.ftbranks.add.players.rank -command.ftbranks.condition -command.ftbranks.condition.rank -command.ftbranks.condition.rank.value -command.ftbranks.create -command.ftbranks.create.name -command.ftbranks.delete -command.ftbranks.delete.rank -command.ftbranks.list_all_ranks -command.ftbranks.list_players_with -command.ftbranks.list_players_with.rank -command.ftbranks.list_ranks_of -command.ftbranks.list_ranks_of.player -command.ftbranks.node -command.ftbranks.node.add -command.ftbranks.node.add.rank -command.ftbranks.node.add.rank.node -command.ftbranks.node.add.rank.node.value -command.ftbranks.node.remove -command.ftbranks.node.remove.rank -command.ftbranks.node.remove.rank.node -command.ftbranks.refresh_readme -command.ftbranks.reload -command.ftbranks.remove -command.ftbranks.remove.players -command.ftbranks.remove.players.rank -command.ftbranks.show_rank -command.ftbranks.show_rank.rank -command.ftbteams -command.ftbteams.info -command.ftbteams.info.server_id -command.ftbteams.info.team -command.ftbteams.list -command.ftbteams.list.parties -command.ftbteams.list.players -command.ftbteams.list.server_teams -command.ftbteams.msg -command.ftbteams.msg.text -command.ftbteams.party -command.ftbteams.party.allies -command.ftbteams.party.allies.add -command.ftbteams.party.allies.add.player -command.ftbteams.party.allies.list -command.ftbteams.party.allies.remove -command.ftbteams.party.allies.remove.player -command.ftbteams.party.create -command.ftbteams.party.create.name -command.ftbteams.party.deny_invite -command.ftbteams.party.deny_invite.team -command.ftbteams.party.invite -command.ftbteams.party.invite.players -command.ftbteams.party.join -command.ftbteams.party.join.team -command.ftbteams.party.kick -command.ftbteams.party.kick.players -command.ftbteams.party.leave -command.ftbteams.party.settings -command.ftbteams.party.settings.key -command.ftbteams.party.settings.key.value -command.ftbteams.party.settings_for -command.ftbteams.party.settings_for.team -command.ftbteams.party.settings_for.team.key -command.ftbteams.party.settings_for.team.key.value -command.ftbteams.party.transfer_ownership -command.ftbteams.party.transfer_ownership.player -command.ftbteams.server -command.ftbteams.server.create -command.ftbteams.server.create.name -command.ftbteams.server.delete -command.ftbteams.server.delete.team -command.ftbteams.server.settings -command.ftbteams.server.settings.team -command.ftbteams.server.settings.team.key -command.ftbteams.server.settings.team.key.value -command.function -command.function.name -command.gamemode -command.gamemode.adventure -command.gamemode.adventure.target -command.gamemode.creative -command.gamemode.creative.target -command.gamemode.spectator -command.gamemode.spectator.target -command.gamemode.survival -command.gamemode.survival.target -command.gamerule -command.gamerule.announceAdvancements -command.gamerule.announceAdvancements.value -command.gamerule.commandBlockOutput -command.gamerule.commandBlockOutput.value -command.gamerule.disableElytraMovementCheck -command.gamerule.disableElytraMovementCheck.value -command.gamerule.disableRaids -command.gamerule.disableRaids.value -command.gamerule.doDaylightCycle -command.gamerule.doDaylightCycle.value -command.gamerule.doEntityDrops -command.gamerule.doEntityDrops.value -command.gamerule.doFireTick -command.gamerule.doFireTick.value -command.gamerule.doImmediateRespawn -command.gamerule.doImmediateRespawn.value -command.gamerule.doInsomnia -command.gamerule.doInsomnia.value -command.gamerule.doLimitedCrafting -command.gamerule.doLimitedCrafting.value -command.gamerule.doMobLoot -command.gamerule.doMobLoot.value -command.gamerule.doMobSpawning -command.gamerule.doMobSpawning.value -command.gamerule.doPatrolSpawning -command.gamerule.doPatrolSpawning.value -command.gamerule.doTileDrops -command.gamerule.doTileDrops.value -command.gamerule.doTraderSpawning -command.gamerule.doTraderSpawning.value -command.gamerule.doWeatherCycle -command.gamerule.doWeatherCycle.value -command.gamerule.drowningDamage -command.gamerule.drowningDamage.value -command.gamerule.fallDamage -command.gamerule.fallDamage.value -command.gamerule.fireDamage -command.gamerule.fireDamage.value -command.gamerule.forgiveDeadPlayers -command.gamerule.forgiveDeadPlayers.value -command.gamerule.freezeDamage -command.gamerule.freezeDamage.value -command.gamerule.keepInventory -command.gamerule.keepInventory.value -command.gamerule.logAdminCommands -command.gamerule.logAdminCommands.value -command.gamerule.maxCommandChainLength -command.gamerule.maxCommandChainLength.value -command.gamerule.maxEntityCramming -command.gamerule.maxEntityCramming.value -command.gamerule.mobGriefing -command.gamerule.mobGriefing.value -command.gamerule.naturalRegeneration -command.gamerule.naturalRegeneration.value -command.gamerule.playersSleepingPercentage -command.gamerule.playersSleepingPercentage.value -command.gamerule.randomTickSpeed -command.gamerule.randomTickSpeed.value -command.gamerule.reducedDebugInfo -command.gamerule.reducedDebugInfo.value -command.gamerule.sendCommandFeedback -command.gamerule.sendCommandFeedback.value -command.gamerule.showDeathMessages -command.gamerule.showDeathMessages.value -command.gamerule.spawnRadius -command.gamerule.spawnRadius.value -command.gamerule.spectatorsGenerateChunks -command.gamerule.spectatorsGenerateChunks.value -command.gamerule.universalAnger -command.gamerule.universalAnger.value -command.give -command.give.targets -command.give.targets.item -command.give.targets.item.count -command.god -command.god.player -command.hat -command.heal -command.heal.player -command.help -command.help.command -command.home -command.home.name -command.ie -command.ie.clearshaders -command.ie.clearshaders.player -command.ie.mineral -command.ie.mineral.get -command.ie.mineral.get.location -command.ie.mineral.list -command.ie.mineral.put -command.ie.mineral.put.mineral -command.ie.mineral.put.mineral.radius -command.ie.mineral.put.mineral.radius.pos -command.ie.mineral.setDepletion -command.ie.mineral.setDepletion.depletion -command.ie.mineral.setDepletion.depletion.pos -command.invsee -command.invsee.player -command.ip -command.ip.reservoir -command.ip.reservoir.get -command.ip.reservoir.get.location -command.ip.reservoir.locate -command.ip.reservoir.set -command.ip.reservoir.set.amount -command.ip.reservoir.set.amount.amount -command.ip.reservoir.set.amount.amount.location -command.ip.reservoir.set.capacity -command.ip.reservoir.set.capacity.capacity -command.ip.reservoir.set.capacity.capacity.location -command.ip.reservoir.set.type -command.ip.reservoir.set.type.name -command.ip.reservoir.set.type.name.location -command.item -command.item.modify -command.item.modify.block -command.item.modify.block.pos -command.item.modify.block.pos.slot -command.item.modify.block.pos.slot.modifier -command.item.modify.entity -command.item.modify.entity.targets -command.item.modify.entity.targets.slot -command.item.modify.entity.targets.slot.modifier -command.item.replace -command.item.replace.block -command.item.replace.block.pos -command.item.replace.block.pos.slot -command.item.replace.block.pos.slot.from -command.item.replace.block.pos.slot.from.block -command.item.replace.block.pos.slot.from.block.source -command.item.replace.block.pos.slot.from.block.source.sourceSlot -command.item.replace.block.pos.slot.from.block.source.sourceSlot.modifier -command.item.replace.block.pos.slot.from.entity -command.item.replace.block.pos.slot.from.entity.source -command.item.replace.block.pos.slot.from.entity.source.sourceSlot -command.item.replace.block.pos.slot.from.entity.source.sourceSlot.modifier -command.item.replace.block.pos.slot.with -command.item.replace.block.pos.slot.with.item -command.item.replace.block.pos.slot.with.item.count -command.item.replace.entity -command.item.replace.entity.targets -command.item.replace.entity.targets.slot -command.item.replace.entity.targets.slot.from -command.item.replace.entity.targets.slot.from.block -command.item.replace.entity.targets.slot.from.block.source -command.item.replace.entity.targets.slot.from.block.source.sourceSlot -command.item.replace.entity.targets.slot.from.block.source.sourceSlot.modifier -command.item.replace.entity.targets.slot.from.entity -command.item.replace.entity.targets.slot.from.entity.source -command.item.replace.entity.targets.slot.from.entity.source.sourceSlot -command.item.replace.entity.targets.slot.from.entity.source.sourceSlot.modifier -command.item.replace.entity.targets.slot.with -command.item.replace.entity.targets.slot.with.item -command.item.replace.entity.targets.slot.with.item.count -command.jfr -command.jfr.start -command.jfr.stop -command.kick -command.kick.targets -command.kick.targets.reason -command.kickme -command.kill -command.kill.targets -command.kjs_hand -command.kubejs -command.kubejs.custom_command -command.kubejs.custom_command.id -command.kubejs.dump_registry -command.kubejs.dump_registry.registry -command.kubejs.errors -command.kubejs.export -command.kubejs.export_virtual_data -command.kubejs.hand -command.kubejs.hotbar -command.kubejs.inventory -command.kubejs.list_tag -command.kubejs.list_tag.registry -command.kubejs.list_tag.registry.tag -command.kubejs.offhand -command.kubejs.painter -command.kubejs.painter.player -command.kubejs.painter.player.object -command.kubejs.reload -command.kubejs.reload.client_scripts -command.kubejs.reload.lang -command.kubejs.reload.server_scripts -command.kubejs.reload.startup_scripts -command.kubejs.reload.textures -command.kubejs.stages -command.kubejs.stages.add -command.kubejs.stages.add.player -command.kubejs.stages.add.player.stage -command.kubejs.stages.clear -command.kubejs.stages.clear.player -command.kubejs.stages.list -command.kubejs.stages.list.player -command.kubejs.stages.remove -command.kubejs.stages.remove.player -command.kubejs.stages.remove.player.stage -command.kubejs.warnings -command.kubejs.wiki -command.leaderboard -command.leaderboard.damage_dealt -command.leaderboard.deaths -command.leaderboard.deaths_per_hour -command.leaderboard.distance_walked -command.leaderboard.jumps -command.leaderboard.mob_kills -command.leaderboard.player_kills -command.leaderboard.time_played -command.leaderboard.time_since_death -command.list -command.list.uuids -command.listhomes -command.listhomes.player -command.listwarps -command.locate -command.locate.structure -command.locatebiome -command.locatebiome.biome -command.loot -command.loot.give -command.loot.give.players -command.loot.give.players.fish -command.loot.give.players.fish.loot_table -command.loot.give.players.fish.loot_table.pos -command.loot.give.players.fish.loot_table.pos.mainhand -command.loot.give.players.fish.loot_table.pos.offhand -command.loot.give.players.fish.loot_table.pos.tool -command.loot.give.players.kill -command.loot.give.players.kill.target -command.loot.give.players.loot -command.loot.give.players.loot.loot_table -command.loot.give.players.mine -command.loot.give.players.mine.pos -command.loot.give.players.mine.pos.mainhand -command.loot.give.players.mine.pos.offhand -command.loot.give.players.mine.pos.tool -command.loot.insert -command.loot.insert.targetPos -command.loot.insert.targetPos.fish -command.loot.insert.targetPos.fish.loot_table -command.loot.insert.targetPos.fish.loot_table.pos -command.loot.insert.targetPos.fish.loot_table.pos.mainhand -command.loot.insert.targetPos.fish.loot_table.pos.offhand -command.loot.insert.targetPos.fish.loot_table.pos.tool -command.loot.insert.targetPos.kill -command.loot.insert.targetPos.kill.target -command.loot.insert.targetPos.loot -command.loot.insert.targetPos.loot.loot_table -command.loot.insert.targetPos.mine -command.loot.insert.targetPos.mine.pos -command.loot.insert.targetPos.mine.pos.mainhand -command.loot.insert.targetPos.mine.pos.offhand -command.loot.insert.targetPos.mine.pos.tool -command.loot.replace -command.loot.replace.block -command.loot.replace.block.targetPos -command.loot.replace.block.targetPos.slot -command.loot.replace.block.targetPos.slot.count -command.loot.replace.block.targetPos.slot.count.fish -command.loot.replace.block.targetPos.slot.count.fish.loot_table -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.mainhand -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.offhand -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.tool -command.loot.replace.block.targetPos.slot.count.kill -command.loot.replace.block.targetPos.slot.count.kill.target -command.loot.replace.block.targetPos.slot.count.loot -command.loot.replace.block.targetPos.slot.count.loot.loot_table -command.loot.replace.block.targetPos.slot.count.mine -command.loot.replace.block.targetPos.slot.count.mine.pos -command.loot.replace.block.targetPos.slot.count.mine.pos.mainhand -command.loot.replace.block.targetPos.slot.count.mine.pos.offhand -command.loot.replace.block.targetPos.slot.count.mine.pos.tool -command.loot.replace.block.targetPos.slot.fish -command.loot.replace.block.targetPos.slot.fish.loot_table -command.loot.replace.block.targetPos.slot.fish.loot_table.pos -command.loot.replace.block.targetPos.slot.fish.loot_table.pos.mainhand -command.loot.replace.block.targetPos.slot.fish.loot_table.pos.offhand -command.loot.replace.block.targetPos.slot.fish.loot_table.pos.tool -command.loot.replace.block.targetPos.slot.kill -command.loot.replace.block.targetPos.slot.kill.target -command.loot.replace.block.targetPos.slot.loot -command.loot.replace.block.targetPos.slot.loot.loot_table -command.loot.replace.block.targetPos.slot.mine -command.loot.replace.block.targetPos.slot.mine.pos -command.loot.replace.block.targetPos.slot.mine.pos.mainhand -command.loot.replace.block.targetPos.slot.mine.pos.offhand -command.loot.replace.block.targetPos.slot.mine.pos.tool -command.loot.replace.entity -command.loot.replace.entity.entities -command.loot.replace.entity.entities.slot -command.loot.replace.entity.entities.slot.count -command.loot.replace.entity.entities.slot.count.fish -command.loot.replace.entity.entities.slot.count.fish.loot_table -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.mainhand -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.offhand -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.tool -command.loot.replace.entity.entities.slot.count.kill -command.loot.replace.entity.entities.slot.count.kill.target -command.loot.replace.entity.entities.slot.count.loot -command.loot.replace.entity.entities.slot.count.loot.loot_table -command.loot.replace.entity.entities.slot.count.mine -command.loot.replace.entity.entities.slot.count.mine.pos -command.loot.replace.entity.entities.slot.count.mine.pos.mainhand -command.loot.replace.entity.entities.slot.count.mine.pos.offhand -command.loot.replace.entity.entities.slot.count.mine.pos.tool -command.loot.replace.entity.entities.slot.fish -command.loot.replace.entity.entities.slot.fish.loot_table -command.loot.replace.entity.entities.slot.fish.loot_table.pos -command.loot.replace.entity.entities.slot.fish.loot_table.pos.mainhand -command.loot.replace.entity.entities.slot.fish.loot_table.pos.offhand -command.loot.replace.entity.entities.slot.fish.loot_table.pos.tool -command.loot.replace.entity.entities.slot.kill -command.loot.replace.entity.entities.slot.kill.target -command.loot.replace.entity.entities.slot.loot -command.loot.replace.entity.entities.slot.loot.loot_table -command.loot.replace.entity.entities.slot.mine -command.loot.replace.entity.entities.slot.mine.pos -command.loot.replace.entity.entities.slot.mine.pos.mainhand -command.loot.replace.entity.entities.slot.mine.pos.offhand -command.loot.replace.entity.entities.slot.mine.pos.tool -command.loot.spawn -command.loot.spawn.targetPos -command.loot.spawn.targetPos.fish -command.loot.spawn.targetPos.fish.loot_table -command.loot.spawn.targetPos.fish.loot_table.pos -command.loot.spawn.targetPos.fish.loot_table.pos.mainhand -command.loot.spawn.targetPos.fish.loot_table.pos.offhand -command.loot.spawn.targetPos.fish.loot_table.pos.tool -command.loot.spawn.targetPos.kill -command.loot.spawn.targetPos.kill.target -command.loot.spawn.targetPos.loot -command.loot.spawn.targetPos.loot.loot_table -command.loot.spawn.targetPos.mine -command.loot.spawn.targetPos.mine.pos -command.loot.spawn.targetPos.mine.pos.mainhand -command.loot.spawn.targetPos.mine.pos.offhand -command.loot.spawn.targetPos.mine.pos.tool -command.me -command.me.action -command.modernfix -command.modernfix.upgradeStructures -command.msg -command.msg.targets -command.msg.targets.message -command.mute -command.mute.player -command.nickname -command.nickname.nickname -command.nicknamefor -command.nicknamefor.player -command.nicknamefor.player.nickname -command.open-patchouli-book -command.open-patchouli-book.targets -command.open-patchouli-book.targets.book -command.open-patchouli-book.targets.book.entry -command.open-patchouli-book.targets.book.entry.page -command.openpac -command.openpac-claims -command.openpac-claims.about -command.openpac-claims.about.profile -command.openpac-claims.admin-mode -command.openpac-claims.claim -command.openpac-claims.claim.anyway -command.openpac-claims.claim.anyway.block pos -command.openpac-claims.claim.block pos -command.openpac-claims.forceload -command.openpac-claims.forceload.anyway -command.openpac-claims.forceload.anyway.block pos -command.openpac-claims.forceload.block pos -command.openpac-claims.non-ally-mode -command.openpac-claims.server -command.openpac-claims.server-claim-mode -command.openpac-claims.server.claim -command.openpac-claims.server.claim.anyway -command.openpac-claims.server.claim.anyway.block pos -command.openpac-claims.server.claim.block pos -command.openpac-claims.server.forceload -command.openpac-claims.server.forceload.anyway -command.openpac-claims.server.forceload.anyway.block pos -command.openpac-claims.server.forceload.block pos -command.openpac-claims.server.sub-claim -command.openpac-claims.server.sub-claim.current -command.openpac-claims.server.sub-claim.for -command.openpac-claims.server.sub-claim.for.player -command.openpac-claims.server.sub-claim.for.player.current -command.openpac-claims.server.sub-claim.for.player.use -command.openpac-claims.server.sub-claim.for.player.use.sub-id -command.openpac-claims.server.sub-claim.use -command.openpac-claims.server.sub-claim.use.sub-id -command.openpac-claims.server.unclaim -command.openpac-claims.server.unclaim.anyway -command.openpac-claims.server.unclaim.anyway.block pos -command.openpac-claims.server.unclaim.block pos -command.openpac-claims.server.unforceload -command.openpac-claims.server.unforceload.anyway -command.openpac-claims.server.unforceload.anyway.block pos -command.openpac-claims.server.unforceload.block pos -command.openpac-claims.sub-claim -command.openpac-claims.sub-claim.current -command.openpac-claims.sub-claim.for -command.openpac-claims.sub-claim.for.player -command.openpac-claims.sub-claim.for.player.current -command.openpac-claims.sub-claim.for.player.use -command.openpac-claims.sub-claim.for.player.use.sub-id -command.openpac-claims.sub-claim.use -command.openpac-claims.sub-claim.use.sub-id -command.openpac-claims.unclaim -command.openpac-claims.unclaim.anyway -command.openpac-claims.unclaim.anyway.block pos -command.openpac-claims.unclaim.block pos -command.openpac-claims.unforceload -command.openpac-claims.unforceload.anyway -command.openpac-claims.unforceload.anyway.block pos -command.openpac-claims.unforceload.block pos -command.openpac-parties -command.openpac-parties.about -command.openpac-parties.about.player -command.openpac-parties.about.profile -command.openpac-parties.ally -command.openpac-parties.ally.add -command.openpac-parties.ally.add.player -command.openpac-parties.ally.remove -command.openpac-parties.ally.remove.owner -command.openpac-parties.chat -command.openpac-parties.chat.message -command.openpac-parties.create -command.openpac-parties.destroy -command.openpac-parties.destroy.confirm -command.openpac-parties.join -command.openpac-parties.join.id -command.openpac-parties.leave -command.openpac-parties.member -command.openpac-parties.member.invite -command.openpac-parties.member.invite.player -command.openpac-parties.member.kick -command.openpac-parties.member.kick.name -command.openpac-parties.member.rank -command.openpac-parties.member.rank.rank -command.openpac-parties.member.rank.rank.name -command.openpac-parties.transfer -command.openpac-parties.transfer.new-owner -command.openpac-parties.transfer.new-owner.confirm -command.openpac.expired-claims-config -command.openpac.expired-claims-config.get -command.openpac.expired-claims-config.get.key -command.openpac.expired-claims-config.help -command.openpac.expired-claims-config.help.key -command.openpac.expired-claims-config.reset -command.openpac.expired-claims-config.reset.key -command.openpac.expired-claims-config.set -command.openpac.expired-claims-config.set.key -command.openpac.expired-claims-config.set.key.value -command.openpac.player-config -command.openpac.player-config.default -command.openpac.player-config.default.get -command.openpac.player-config.default.get.key -command.openpac.player-config.default.help -command.openpac.player-config.default.help.key -command.openpac.player-config.default.reset -command.openpac.player-config.default.reset.key -command.openpac.player-config.default.set -command.openpac.player-config.default.set.key -command.openpac.player-config.default.set.key.value -command.openpac.player-config.for -command.openpac.player-config.for.player -command.openpac.player-config.for.player.get -command.openpac.player-config.for.player.get.key -command.openpac.player-config.for.player.help -command.openpac.player-config.for.player.help.key -command.openpac.player-config.for.player.reset -command.openpac.player-config.for.player.reset.key -command.openpac.player-config.for.player.set -command.openpac.player-config.for.player.set.key -command.openpac.player-config.for.player.set.key.value -command.openpac.player-config.for.player.sub -command.openpac.player-config.for.player.sub.create -command.openpac.player-config.for.player.sub.create.sub-id -command.openpac.player-config.for.player.sub.delete -command.openpac.player-config.for.player.sub.delete.sub-id -command.openpac.player-config.for.player.sub.get -command.openpac.player-config.for.player.sub.get.sub-id -command.openpac.player-config.for.player.sub.get.sub-id.key -command.openpac.player-config.for.player.sub.help -command.openpac.player-config.for.player.sub.help.sub-id -command.openpac.player-config.for.player.sub.help.sub-id.key -command.openpac.player-config.for.player.sub.list -command.openpac.player-config.for.player.sub.list.start-at -command.openpac.player-config.for.player.sub.reset -command.openpac.player-config.for.player.sub.reset.sub-id -command.openpac.player-config.for.player.sub.reset.sub-id.key -command.openpac.player-config.for.player.sub.set -command.openpac.player-config.for.player.sub.set.sub-id -command.openpac.player-config.for.player.sub.set.sub-id.key -command.openpac.player-config.for.player.sub.set.sub-id.key.value -command.openpac.player-config.get -command.openpac.player-config.get.key -command.openpac.player-config.help -command.openpac.player-config.help.key -command.openpac.player-config.reset -command.openpac.player-config.reset.key -command.openpac.player-config.set -command.openpac.player-config.set.key -command.openpac.player-config.set.key.value -command.openpac.player-config.sub -command.openpac.player-config.sub.create -command.openpac.player-config.sub.create.sub-id -command.openpac.player-config.sub.delete -command.openpac.player-config.sub.delete.sub-id -command.openpac.player-config.sub.get -command.openpac.player-config.sub.get.sub-id -command.openpac.player-config.sub.get.sub-id.key -command.openpac.player-config.sub.help -command.openpac.player-config.sub.help.sub-id -command.openpac.player-config.sub.help.sub-id.key -command.openpac.player-config.sub.list -command.openpac.player-config.sub.list.start-at -command.openpac.player-config.sub.reset -command.openpac.player-config.sub.reset.sub-id -command.openpac.player-config.sub.reset.sub-id.key -command.openpac.player-config.sub.set -command.openpac.player-config.sub.set.sub-id -command.openpac.player-config.sub.set.sub-id.key -command.openpac.player-config.sub.set.sub-id.key.value -command.openpac.server-claims-config -command.openpac.server-claims-config.get -command.openpac.server-claims-config.get.key -command.openpac.server-claims-config.help -command.openpac.server-claims-config.help.key -command.openpac.server-claims-config.reset -command.openpac.server-claims-config.reset.key -command.openpac.server-claims-config.set -command.openpac.server-claims-config.set.key -command.openpac.server-claims-config.set.key.value -command.openpac.server-claims-config.sub -command.openpac.server-claims-config.sub.create -command.openpac.server-claims-config.sub.create.sub-id -command.openpac.server-claims-config.sub.delete -command.openpac.server-claims-config.sub.delete.sub-id -command.openpac.server-claims-config.sub.get -command.openpac.server-claims-config.sub.get.sub-id -command.openpac.server-claims-config.sub.get.sub-id.key -command.openpac.server-claims-config.sub.help -command.openpac.server-claims-config.sub.help.sub-id -command.openpac.server-claims-config.sub.help.sub-id.key -command.openpac.server-claims-config.sub.list -command.openpac.server-claims-config.sub.list.start-at -command.openpac.server-claims-config.sub.reset -command.openpac.server-claims-config.sub.reset.sub-id -command.openpac.server-claims-config.sub.reset.sub-id.key -command.openpac.server-claims-config.sub.set -command.openpac.server-claims-config.sub.set.sub-id -command.openpac.server-claims-config.sub.set.sub-id.key -command.openpac.server-claims-config.sub.set.sub-id.key.value -command.openpac.wilderness-config -command.openpac.wilderness-config.get -command.openpac.wilderness-config.get.key -command.openpac.wilderness-config.help -command.openpac.wilderness-config.help.key -command.openpac.wilderness-config.reset -command.openpac.wilderness-config.reset.key -command.openpac.wilderness-config.set -command.openpac.wilderness-config.set.key -command.openpac.wilderness-config.set.key.value -command.opm -command.opm.message -command.particle -command.particle.name -command.particle.name.pos -command.particle.name.pos.delta -command.particle.name.pos.delta.speed -command.particle.name.pos.delta.speed.count -command.particle.name.pos.delta.speed.count.force -command.particle.name.pos.delta.speed.count.force.viewers -command.particle.name.pos.delta.speed.count.normal -command.particle.name.pos.delta.speed.count.normal.viewers -command.placefeature -command.placefeature.feature -command.placefeature.feature.pos -command.playsound -command.playsound.sound -command.playsound.sound.ambient -command.playsound.sound.ambient.targets -command.playsound.sound.ambient.targets.pos -command.playsound.sound.ambient.targets.pos.volume -command.playsound.sound.ambient.targets.pos.volume.pitch -command.playsound.sound.ambient.targets.pos.volume.pitch.minVolume -command.playsound.sound.block -command.playsound.sound.block.targets -command.playsound.sound.block.targets.pos -command.playsound.sound.block.targets.pos.volume -command.playsound.sound.block.targets.pos.volume.pitch -command.playsound.sound.block.targets.pos.volume.pitch.minVolume -command.playsound.sound.hostile -command.playsound.sound.hostile.targets -command.playsound.sound.hostile.targets.pos -command.playsound.sound.hostile.targets.pos.volume -command.playsound.sound.hostile.targets.pos.volume.pitch -command.playsound.sound.hostile.targets.pos.volume.pitch.minVolume -command.playsound.sound.master -command.playsound.sound.master.targets -command.playsound.sound.master.targets.pos -command.playsound.sound.master.targets.pos.volume -command.playsound.sound.master.targets.pos.volume.pitch -command.playsound.sound.master.targets.pos.volume.pitch.minVolume -command.playsound.sound.music -command.playsound.sound.music.targets -command.playsound.sound.music.targets.pos -command.playsound.sound.music.targets.pos.volume -command.playsound.sound.music.targets.pos.volume.pitch -command.playsound.sound.music.targets.pos.volume.pitch.minVolume -command.playsound.sound.neutral -command.playsound.sound.neutral.targets -command.playsound.sound.neutral.targets.pos -command.playsound.sound.neutral.targets.pos.volume -command.playsound.sound.neutral.targets.pos.volume.pitch -command.playsound.sound.neutral.targets.pos.volume.pitch.minVolume -command.playsound.sound.player -command.playsound.sound.player.targets -command.playsound.sound.player.targets.pos -command.playsound.sound.player.targets.pos.volume -command.playsound.sound.player.targets.pos.volume.pitch -command.playsound.sound.player.targets.pos.volume.pitch.minVolume -command.playsound.sound.record -command.playsound.sound.record.targets -command.playsound.sound.record.targets.pos -command.playsound.sound.record.targets.pos.volume -command.playsound.sound.record.targets.pos.volume.pitch -command.playsound.sound.record.targets.pos.volume.pitch.minVolume -command.playsound.sound.voice -command.playsound.sound.voice.targets -command.playsound.sound.voice.targets.pos -command.playsound.sound.voice.targets.pos.volume -command.playsound.sound.voice.targets.pos.volume.pitch -command.playsound.sound.voice.targets.pos.volume.pitch.minVolume -command.playsound.sound.weather -command.playsound.sound.weather.targets -command.playsound.sound.weather.targets.pos -command.playsound.sound.weather.targets.pos.volume -command.playsound.sound.weather.targets.pos.volume.pitch -command.playsound.sound.weather.targets.pos.volume.pitch.minVolume -command.publish -command.publish.port -command.railways -command.railways.split_train -command.railways.split_train.train_id -command.railways.split_train.train_id.number -command.railways.split_train.train_name -command.railways.split_train.train_name.number -command.railways.train_uuid -command.railways.train_uuid.name -command.recipe -command.recipe.give -command.recipe.give.targets -command.recipe.give.targets.all -command.recipe.give.targets.recipe -command.recipe.take -command.recipe.take.targets -command.recipe.take.targets.all -command.recipe.take.targets.recipe -command.recording -command.reload -command.rtp -command.say -command.say.message -command.schedule -command.schedule.clear -command.schedule.clear.function -command.schedule.function -command.schedule.function.function -command.schedule.function.function.time -command.schedule.function.function.time.append -command.schedule.function.function.time.replace -command.scoreboard -command.scoreboard.objectives -command.scoreboard.objectives.add -command.scoreboard.objectives.add.objective -command.scoreboard.objectives.add.objective.criteria -command.scoreboard.objectives.add.objective.criteria.displayName -command.scoreboard.objectives.list -command.scoreboard.objectives.modify -command.scoreboard.objectives.modify.objective -command.scoreboard.objectives.modify.objective.displayname -command.scoreboard.objectives.modify.objective.displayname.displayName -command.scoreboard.objectives.modify.objective.rendertype -command.scoreboard.objectives.modify.objective.rendertype.hearts -command.scoreboard.objectives.modify.objective.rendertype.integer -command.scoreboard.objectives.remove -command.scoreboard.objectives.remove.objective -command.scoreboard.objectives.setdisplay -command.scoreboard.objectives.setdisplay.slot -command.scoreboard.objectives.setdisplay.slot.objective -command.scoreboard.players -command.scoreboard.players.add -command.scoreboard.players.add.targets -command.scoreboard.players.add.targets.objective -command.scoreboard.players.add.targets.objective.score -command.scoreboard.players.enable -command.scoreboard.players.enable.targets -command.scoreboard.players.enable.targets.objective -command.scoreboard.players.get -command.scoreboard.players.get.target -command.scoreboard.players.get.target.objective -command.scoreboard.players.list -command.scoreboard.players.list.target -command.scoreboard.players.operation -command.scoreboard.players.operation.targets -command.scoreboard.players.operation.targets.targetObjective -command.scoreboard.players.operation.targets.targetObjective.operation -command.scoreboard.players.operation.targets.targetObjective.operation.source -command.scoreboard.players.operation.targets.targetObjective.operation.source.sourceObjective -command.scoreboard.players.remove -command.scoreboard.players.remove.targets -command.scoreboard.players.remove.targets.objective -command.scoreboard.players.remove.targets.objective.score -command.scoreboard.players.reset -command.scoreboard.players.reset.targets -command.scoreboard.players.reset.targets.objective -command.scoreboard.players.set -command.scoreboard.players.set.targets -command.scoreboard.players.set.targets.objective -command.scoreboard.players.set.targets.objective.score -command.seed -command.setblock -command.setblock.pos -command.setblock.pos.block -command.setblock.pos.block.destroy -command.setblock.pos.block.keep -command.setblock.pos.block.replace -command.sethome -command.sethome.name -command.setwarp -command.setwarp.name -command.setworldspawn -command.setworldspawn.pos -command.setworldspawn.pos.angle -command.snr -command.snr.split_train -command.snr.split_train.train_id -command.snr.split_train.train_id.number -command.snr.split_train.train_name -command.snr.split_train.train_name.number -command.snr.train_uuid -command.snr.train_uuid.name -command.spawn -command.spawnpoint -command.spawnpoint.targets -command.spawnpoint.targets.pos -command.spawnpoint.targets.pos.angle -command.spectate -command.spectate.target -command.spectate.target.player -command.spreadplayers -command.spreadplayers.center -command.spreadplayers.center.spreadDistance -command.spreadplayers.center.spreadDistance.maxRange -command.spreadplayers.center.spreadDistance.maxRange.respectTeams -command.spreadplayers.center.spreadDistance.maxRange.respectTeams.targets -command.spreadplayers.center.spreadDistance.maxRange.under -command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight -command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams -command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams.targets -command.stopsound -command.stopsound.targets -command.stopsound.targets.all -command.stopsound.targets.all.sound -command.stopsound.targets.ambient -command.stopsound.targets.ambient.sound -command.stopsound.targets.block -command.stopsound.targets.block.sound -command.stopsound.targets.hostile -command.stopsound.targets.hostile.sound -command.stopsound.targets.master -command.stopsound.targets.master.sound -command.stopsound.targets.music -command.stopsound.targets.music.sound -command.stopsound.targets.neutral -command.stopsound.targets.neutral.sound -command.stopsound.targets.player -command.stopsound.targets.player.sound -command.stopsound.targets.record -command.stopsound.targets.record.sound -command.stopsound.targets.voice -command.stopsound.targets.voice.sound -command.stopsound.targets.weather -command.stopsound.targets.weather.sound -command.streaming -command.summon -command.summon.entity -command.summon.entity.pos -command.summon.entity.pos.nbt -command.tag -command.tag.targets -command.tag.targets.add -command.tag.targets.add.name -command.tag.targets.list -command.tag.targets.remove -command.tag.targets.remove.name -command.tb -command.tb.access -command.tb.access.pos -command.tb.access.target -command.tb.clear -command.tb.clear.player -command.tb.remove -command.tb.remove.player -command.tb.restore -command.tb.restore.target -command.tb.restore.target.backpack_id -command.tb.unpack -command.tb.unpack.pos -command.tb.unpack.target -command.team -command.team.add -command.team.add.team -command.team.add.team.displayName -command.team.empty -command.team.empty.team -command.team.join -command.team.join.team -command.team.join.team.members -command.team.leave -command.team.leave.members -command.team.list -command.team.list.team -command.team.modify -command.team.modify.team -command.team.modify.team.collisionRule -command.team.modify.team.collisionRule.always -command.team.modify.team.collisionRule.never -command.team.modify.team.collisionRule.pushOtherTeams -command.team.modify.team.collisionRule.pushOwnTeam -command.team.modify.team.color -command.team.modify.team.color.value -command.team.modify.team.deathMessageVisibility -command.team.modify.team.deathMessageVisibility.always -command.team.modify.team.deathMessageVisibility.hideForOtherTeams -command.team.modify.team.deathMessageVisibility.hideForOwnTeam -command.team.modify.team.deathMessageVisibility.never -command.team.modify.team.displayName -command.team.modify.team.displayName.displayName -command.team.modify.team.friendlyFire -command.team.modify.team.friendlyFire.allowed -command.team.modify.team.nametagVisibility -command.team.modify.team.nametagVisibility.always -command.team.modify.team.nametagVisibility.hideForOtherTeams -command.team.modify.team.nametagVisibility.hideForOwnTeam -command.team.modify.team.nametagVisibility.never -command.team.modify.team.prefix -command.team.modify.team.prefix.prefix -command.team.modify.team.seeFriendlyInvisibles -command.team.modify.team.seeFriendlyInvisibles.allowed -command.team.modify.team.suffix -command.team.modify.team.suffix.suffix -command.team.remove -command.team.remove.team -command.teammsg -command.teammsg.message -command.teleport -command.teleport.destination -command.teleport.location -command.teleport.targets -command.teleport.targets.destination -command.teleport.targets.location -command.teleport.targets.location.facing -command.teleport.targets.location.facing.entity -command.teleport.targets.location.facing.entity.facingEntity -command.teleport.targets.location.facing.entity.facingEntity.facingAnchor -command.teleport.targets.location.facing.facingLocation -command.teleport.targets.location.rotation -command.teleport_last -command.teleport_last.player -command.tellraw -command.tellraw.targets -command.tellraw.targets.message -command.tfc -command.tfc.clearworld -command.tfc.clearworld.radius -command.tfc.clearworld.radius.preset -command.tfc.climateChunkUpdate -command.tfc.count -command.tfc.count.radius -command.tfc.count.radius.block -command.tfc.forge -command.tfc.forge.bonus -command.tfc.heat -command.tfc.heat.value -command.tfc.locate -command.tfc.locate.biome -command.tfc.locate.biome.biome -command.tfc.locate.vein -command.tfc.locate.vein.vein -command.tfc.locate.vein.vein.max_y -command.tfc.locate.volcano -command.tfc.player -command.tfc.player.target -command.tfc.player.target.add -command.tfc.player.target.add.hunger -command.tfc.player.target.add.hunger.value -command.tfc.player.target.add.saturation -command.tfc.player.target.add.saturation.value -command.tfc.player.target.add.water -command.tfc.player.target.add.water.value -command.tfc.player.target.query -command.tfc.player.target.query.hunger -command.tfc.player.target.query.nutrition -command.tfc.player.target.query.saturation -command.tfc.player.target.query.water -command.tfc.player.target.reset -command.tfc.player.target.reset.hunger -command.tfc.player.target.reset.saturation -command.tfc.player.target.reset.water -command.tfc.player.target.set -command.tfc.player.target.set.hunger -command.tfc.player.target.set.hunger.value -command.tfc.player.target.set.saturation -command.tfc.player.target.set.saturation.value -command.tfc.player.target.set.water -command.tfc.player.target.set.water.value -command.tfc.propick -command.tfc.propick.clearworld -command.tfc.propick.scan -command.tfc.tree -command.tfc.tree.pos -command.tfc.tree.pos.wood -command.tfc.tree.pos.wood.variant -command.time -command.time.add -command.time.add.days -command.time.add.days.value -command.time.add.months -command.time.add.months.value -command.time.add.ticks -command.time.add.ticks.value -command.time.add.years -command.time.add.years.value -command.time.query -command.time.query.calendarticks -command.time.query.day -command.time.query.daytime -command.time.query.gametime -command.time.query.ticks -command.time.set -command.time.set.day -command.time.set.midnight -command.time.set.monthlength -command.time.set.monthlength.value -command.time.set.night -command.time.set.noon -command.title -command.title.targets -command.title.targets.actionbar -command.title.targets.actionbar.title -command.title.targets.clear -command.title.targets.reset -command.title.targets.subtitle -command.title.targets.subtitle.title -command.title.targets.times -command.title.targets.times.fadeIn -command.title.targets.times.fadeIn.stay -command.title.targets.times.fadeIn.stay.fadeOut -command.title.targets.title -command.title.targets.title.title -command.tpa -command.tpa.target -command.tpaccept -command.tpaccept.id -command.tpahere -command.tpahere.target -command.tpdeny -command.tpdeny.id -command.tpx -command.tpx.dimension -command.trashcan -command.trigger -command.trigger.objective -command.trigger.objective.add -command.trigger.objective.add.value -command.trigger.objective.set -command.trigger.objective.set.value -command.unmute -command.unmute.player -command.warp -command.warp.name -command.weather -command.weather.clear -command.weather.clear.duration -command.weather.rain -command.weather.rain.duration -command.weather.rain.duration.intensity -command.weather.thunder -command.weather.thunder.duration -command.weather.thunder.duration.intensity -command.worldborder -command.worldborder.add -command.worldborder.add.distance -command.worldborder.add.distance.time -command.worldborder.center -command.worldborder.center.pos -command.worldborder.damage -command.worldborder.damage.amount -command.worldborder.damage.amount.damagePerBlock -command.worldborder.damage.buffer -command.worldborder.damage.buffer.distance -command.worldborder.get -command.worldborder.set -command.worldborder.set.distance -command.worldborder.set.distance.time -command.worldborder.warning -command.worldborder.warning.distance -command.worldborder.warning.distance.distance -command.worldborder.warning.time -command.worldborder.warning.time.time diff --git a/defaultconfigs/ftbranks/players.snbt b/defaultconfigs/ftbranks/players.snbt deleted file mode 100644 index ffcd4415b..000000000 --- a/defaultconfigs/ftbranks/players.snbt +++ /dev/null @@ -1 +0,0 @@ -{ } diff --git a/defaultconfigs/ftbranks/ranks.snbt b/defaultconfigs/ftbranks/ranks.snbt deleted file mode 100644 index 16cfe32af..000000000 --- a/defaultconfigs/ftbranks/ranks.snbt +++ /dev/null @@ -1,26 +0,0 @@ -{ - member: { - name: "Player" - power: 1 - condition: "always_active" - ftbranks.name_format: "{name}" - ftbchunks.max_claimed: 50 - ftbchunks.max_force_loaded: 3 - command.trashcan: true - } - vip: { - name: "VIP" - power: 50 - ftbranks.name_format: "&b{name}&r" - ftbchunks.max_claimed: 150 - ftbchunks.max_force_loaded: 5 - } - admin: { - name: "Admin" - power: 1000 - condition: "op" - ftbranks.name_format: "&c{name}&r" - ftbchunks.max_claimed: 1000 - ftbchunks.max_force_loaded: 10 - } -} diff --git a/defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt b/defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt deleted file mode 100644 index 313ca3bf4..000000000 --- a/defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt +++ /dev/null @@ -1,4 +0,0 @@ -# Default config file that will be copied to config\ftbxmodcompat.snbt if it doesn't exist! -# Just copy any values you wish to override in here! - -{ } diff --git a/defaultconfigs/openpartiesandclaims-server.toml b/defaultconfigs/openpartiesandclaims-server.toml deleted file mode 100644 index 0b3d1366c..000000000 --- a/defaultconfigs/openpartiesandclaims-server.toml +++ /dev/null @@ -1,274 +0,0 @@ - -[serverConfig] - #The default language used for server-side localization for players that don't have the mod installed. - defaultLanguage = "en_us" - #How often to auto-save modified data, e.g. parties, claims, player configs (in minutes). - #Range: > 1 - autosaveInterval = 10 - #How many sub-configs (sub-claims) can each player create. - #Range: 0 ~ 1024 - playerSubConfigLimit = 64 - #The permission system to use for everything that requires permission checks (e.g. permission_api, ftb_ranks, luck_perms, prometheus). Non-built-in permission systems can be registered through the API with an addon. - permissionSystem = "ftb_ranks" - #The player party system to prefer and use for anything that can't support multiple systems (e.g. default, ftb_teams, argonauts, argonauts_guilds). Non-built-in party systems can be registered through the API with an addon. - primaryPartySystem = "ftb_teams" - #A list of options in the player config that individual players can reconfigure. If an option is in neither of the configurable option lists, - #then the value in the default player config is used across the server. Check the default player config .toml file for the option names. - playerConfigurablePlayerConfigOptions = ["claims.protectClaimedChunks", "claims.forceload.enabled", "claims.name", "claims.color", "claims.protection.fromParty", "claims.protection.fromAllyParties", "claims.protection.buttonsFromProjectiles", "claims.protection.targetsFromProjectiles", "claims.protection.platesFromPlayers", "claims.protection.platesFromMobs", "claims.protection.platesFromOther", "claims.protection.tripwireFromPlayers", "claims.protection.tripwireFromMobs", "claims.protection.tripwireFromOther", "claims.protection.cropTrample", "claims.protection.playerLightning", "claims.protection.fromFrostWalking", "claims.protection.entitiesFromPlayers", "claims.protection.entitiesFromMobs", "claims.protection.entitiesFromOther", "claims.protection.entitiesRedirect", "claims.protection.entitiesFromExplosions", "claims.protection.entitiesFromFire", "claims.protection.netherPortalsPlayers", "claims.protection.netherPortalsMobs", "claims.protection.netherPortalsOther", "claims.protection.fluidBarrier", "claims.protection.dispenserBarrier", "claims.protection.pistonBarrier", "claims.protection.itemTossPlayers", "claims.protection.itemTossMobs", "claims.protection.itemTossOther", "claims.protection.itemTossRedirect", "claims.protection.mobLoot", "claims.protection.playerDeathLoot", "claims.protection.itemPickupPlayers", "claims.protection.itemPickupMobs", "claims.protection.itemPickupRedirect", "claims.protection.xpPickup", "claims.protection.raids", "claims.protection.naturalSpawnHostile", "claims.protection.naturalSpawnFriendly", "claims.protection.spawnersHostile", "claims.protection.spawnersFriendly", "claims.protection.projectileHitHostileSpawn", "claims.protection.projectileHitFriendlySpawn", "parties.name", "parties.shareLocationWithParty", "parties.shareLocationWithMutualAllyParties", "parties.receiveLocationsFromParty", "parties.receiveLocationsFromMutualAllyParties", "claims.protection.exceptionGroups.block.interact.Controls", "claims.protection.exceptionGroups.block.interact.Doors", "claims.protection.exceptionGroups.block.interact.Chests", "claims.protection.exceptionGroups.block.interact.Barrels", "claims.protection.exceptionGroups.block.interact.Ender_Chests", "claims.protection.exceptionGroups.block.interact.Shulker_Boxes", "claims.protection.exceptionGroups.block.interact.Furnaces", "claims.protection.exceptionGroups.block.interact.Hoppers", "claims.protection.exceptionGroups.block.interact.Dispenser-like", "claims.protection.exceptionGroups.block.interact.Anvils", "claims.protection.exceptionGroups.block.interact.Beds", "claims.protection.exceptionGroups.block.interact.Beacons", "claims.protection.exceptionGroups.block.interact.Enchanting_Tables", "claims.protection.exceptionGroups.block.break.Crops", "claims.protection.exceptionGroups.entity.interact.Traders", "claims.protection.exceptionGroups.entity.handInteract.Item_Frames", "claims.protection.exceptionGroups.entity.interact.Armor_Stands", "claims.protection.exceptionGroups.entity.break.Livestock", "claims.protection.exceptionGroups.entity.blockAccess.Villagers", "claims.protection.exceptionGroups.entity.entityAccess.Zombies", "claims.protection.exceptionGroups.entity.droppedItemAccess.Villagers", "claims.protection.exceptionGroups.entity.droppedItemAccess.Piglins", "claims.protection.exceptionGroups.entity.droppedItemAccess.Foxes", "claims.protection.exceptionGroups.item.interact.Books", "claims.protection.exceptionGroups.entity.barrier.Ender_Pearls", "/*remove comment to enable*/claims.protection.exceptionGroups.entity.barrier.Players"] - #A list of additional options in the player config that OPs can reconfigure for players. - #This is meant for options that should be configured per player but not by the players. - #If an option is in neither of the configurable option lists, then the value in the default player config is used across the server. - #Check the default player config .toml file for the option names. - opConfigurablePlayerConfigOptions = ["claims.bonusChunkClaims", "claims.bonusChunkForceloads"] - - [serverConfig.parties] - #Whether the parties part of this mod is enabled. - enabled = false - #The maximum number of members in a party. Existing members are not removed if the limit is reduced. - #Range: > 1 - maxPartyMembers = 64 - #The maximum number of allies for a party. Existing allies are not removed if the limit is reduced. - #Range: > 0 - maxPartyAllies = 64 - #The maximum number of invites to a party. Existing invites are not removed if the limit is reduced. - #Range: > 1 - maxPartyInvites = 16 - #For how long a party (members) can stay completely inactive on the server until it is deleted (in hours). This improves performance for servers running for years. - #Range: > 1 - partyExpirationTime = 168 - #How often to check for expired parties in order to remove them (in minutes). The interval is effectively rounded up to a multiple of 10 minutes. - #Range: > 10 - partyExpirationCheckInterval = 360 - - [serverConfig.claims] - #Whether the claims part of this mod is enabled. - enabled = true - #For how long a player can stay completely inactive on the server until their claims are expired (in hours). This improves performance for servers running for years. - #Range: > 1 - playerClaimsExpirationTime = 4380 - #How often to check for expired player chunk claims in order to remove them (in minutes). The interval is effectively rounded up to a multiple of 10 minutes. - #Range: > 10 - playerClaimsExpirationCheckInterval = 360 - #Whether to convert expired player chunk claims to "expired claims" instead of completely freeing them. This shouldn't be too bad for performance because it still reduces the number of unique claims. - playerClaimsConvertExpiredClaims = true - #The maximum number of chunks that a player can claim. Additional claims can be configured in the player config. - #This value can be overridden with a player permission. - #Range: > 0 - maxPlayerClaims = 50 - #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 - #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. - #The permission override only takes effect after the player logs in at least once after a server (re)launch, so it is recommended to keep all permission-based forceload limits equal to or greater than "maxPlayerClaimForceloads". - #The used permission system can be configured with "permissionSystem". - maxPlayerClaimForceloadsPermission = "ftbchunks.max_force_loaded" - #The permission that gives non-OP players the ability to make server claims and enable server claim mode. The used permission system can be configured with "permissionSystem". - serverClaimPermission = "xaero.pac_server_claims" - #The permission that gives non-OP players the ability to enable claim admin mode. The used permission system can be configured with "permissionSystem". - adminModePermission = "xaero.pac_admin_mode" - #The maximum distance on the X or Z axis (forming a square) that a chunk can be claimed at by a player. - #Range: > 0 - maxClaimDistance = 5 - #The type of the list defined in "claimableDimensionsList". ONLY - include only the listed dimensions. ALL_BUT - include all but the listed dimensions. - #Allowed Values: ONLY, ALL_BUT - claimableDimensionsListType = "ALL_BUT" - #Dimensions to include/exclude from being claimable, depending on the list type in "claimableDimensionsListType". - #For example ["minecraft:overworld", "minecraft:the_nether"]. - #By default the list is empty and of type ALL_BUT, meaning that all dimensions are claimable. - claimableDimensionsList = [] - #Whether to allow existing player claims to stay active in unclaimable dimensions which were previously claimable. - allowExistingClaimsInUnclaimableDimensions = true - #Whether to allow existing player forceloads to stay active in unclaimable dimensions which were previously claimable. Only relevant if existing claims are allowed. - allowExistingForceloadsInUnclaimableDimensions = false - #Whether to synchronize world chunk claims to the game clients. Enables client-side mods to access the claims data, e.g. to display it on a map. - #ALL - all claims are synced. OWNED_ONLY - only the claims that the client player owns and server claims are synced. NOT_SYNCED - claims are not synced. - #Allowed Values: NOT_SYNCED, OWNED_ONLY, ALL - claimsSynchronization = "ALL" - - [serverConfig.claims.protection] - #The type of the list defined in "friendlyChunkProtectedEntityList". ONLY - include only the listed entities. ALL_BUT - include all but the listed entities. - #Allowed Values: ONLY, ALL_BUT - friendlyChunkProtectedEntityListType = "ALL_BUT" - #Friendly entities to fully include/exclude in chunk protection, depending on the list type in "friendlyChunkProtectedEntityListType". Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["*:villager", "minecraft:m(ule|ooshroom)", "#minecraft:axolotl_hunt_targets"]. - #By default the list is empty with the type set to ALL_BUT, which means that all friendly entities are included. - friendlyChunkProtectedEntityList = ["minecraft:boat"] - #The type of the list defined in "hostileChunkProtectedEntityList". ONLY - include only the listed entities. ALL_BUT - include all but the listed entities. - #Allowed Values: ONLY, ALL_BUT - hostileChunkProtectedEntityListType = "ONLY" - #Hostile entities to fully include/exclude in chunk protection, depending on the list type in "hostileChunkProtectedEntityListType". Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(|wither_)skeleton", "minecraft:zombie(_villager|)", "#minecraft:raiders"] - hostileChunkProtectedEntityList = [] - #No longer a working option. Please transfer anything you still have here to "forcedBlockProtectionExceptionList" or "blockProtectionOptionalExceptionGroups", - #but keep in mind that those options work differently and please read their comments. - #This option will be completely removed on the full release of the mod. - blockProtectionExceptionList = [] - #No longer a working option. Please transfer anything you still have here to "forcedEntityProtectionExceptionList" or "entityProtectionOptionalExceptionGroups", - #but keep in mind that those options work differently and please read their comments. - #This option will be completely removed on the full release of the mod. - entityProtectionExceptionList = [] - #No longer a working option. Please transfer anything you still have here to "forcedEntityClaimBarrierList" or "entityClaimBarrierOptionalGroups", - #but keep in mind that those options work differently and please read their comments. - #This option will be completely removed on the full release of the mod. - entityClaimBarrierList = [] - #Blocks to partially exclude from chunk protection. Supports block tags. - #Just a block/tag ID in the list, e.g. "minecraft:lever" allows block interaction across the server if the item in the used hand isn't blocking it. - #Prefix "hand$" is the same as no prefix but enforces an empty hand requirement in protected chunks. Prefix "break$" allows breaking the block(s). - #Prefix "anything$" is the same as no prefix but allows interaction with any item held in the hand. Please make sure that no item does anything bad when used at a block with such an exception. - #Add the same block/tag multiple times to use multiple prefixes. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:lever", "minecraft:*_button", "break$minecraft:*_button", "break$minecraft:(*_|)sand"] - forcedBlockProtectionExceptionList = ["minecraft:crafting_table"] - #Custom groups of blocks that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple blocks and block tags. - #A group without a prefix creates a player config option for the right-click interaction with the group blocks. The format for a block group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-DIRT35{minecraft:dirt, minecraft:grass_block, minecraft:(oak|spruce)_*}". - #A group can be prefixed with "hand$" to create an option for the right-click interaction with an enforced empty hand requirement or "break$" for breaking the group blocks. - #Moreover, prefix "anything$" creates an option for the right-click interaction with any item held in the hand, not just allowed items. Please make sure that no item does anything - #bad when used at a block with such an exception. - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - blockProtectionOptionalExceptionGroups = ["Controls{minecraft:lever, #minecraft:buttons}", "Doors{#minecraft:doors, #minecraft:fence_gates, #forge:fence_gates, #minecraft:trapdoors}", "Chests{minecraft:chest, minecraft:trapped_chest, #forge:chests/wooden}", "Barrels{minecraft:barrel, #forge:barrels}", "Ender_Chests{minecraft:ender_chest, #forge:chests/ender}", "Shulker_Boxes{#minecraft:shulker_boxes}", "Furnaces{minecraft:furnace, minecraft:blast_furnace, minecraft:smoker}", "Hoppers{minecraft:hopper}", "Dispenser-like{minecraft:dispenser, minecraft:dropper}", "Anvils{#minecraft:anvil}", "Beds{#minecraft:beds}", "Beacons{minecraft:beacon}", "Enchanting_Tables{minecraft:enchanting_table}", "break$Crops{#minecraft:crops}"] - #Entities to partially exclude from chunk protection. Supports entity type tags. - #Just an entity/tag ID in the list, e.g. "minecraft:horse" allows entity interaction across the server if the item in the used hand isn't blocking it. - #Prefix "hand$" is the same as no prefix but enforces an empty hand requirement in protected chunks. Prefix "break$" allows killing the entities across the server. - #Prefix "anything$" is the same as no prefix but allows interaction with any item held in the hand. Please make sure that no item does anything bad when used at an entity with such an exception. - #Add the same entity/tag multiple times to use multiple prefixes. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:villager", "break$minecraft:villager", "break$minecraft:(trader_|)llama"] - forcedEntityProtectionExceptionList = ["minecraft:minecart"] - #Custom groups of entities that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple entities and entity tags. - #A group without a prefix creates a player config option for the right-click interaction with the group entities. The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #A group can be prefixed with "hand$" to create an option for the right-click interaction with an enforced empty hand requirement or "break$" for destroying the group entities. - #Moreover, prefix "anything$" creates an option for the right-click interaction with any item held in the hand, not just allowed items. Please make sure that no item does anything - #bad when used at an entity with such an exception. - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - entityProtectionOptionalExceptionGroups = ["Traders{minecraft:villager, minecraft:wandering_trader}", "hand$Item_Frames{minecraft:item_frame}", "break$Livestock{minecraft:cow, minecraft:mooshroom, minecraft:sheep, minecraft:chicken, minecraft:pig, minecraft:rabbit, minecraft:goat}", "Armor_Stands{minecraft:armor_stand}"] - #Entities that are prevented from entering the claim. Supports entity type tags. An entity/tag ID in the list, e.g. "minecraft:falling_block" prevents the entities from entering. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. For example: "minecraft:zombie(_villager|)". - forcedEntityClaimBarrierList = ["minecraft:falling_block", "supplementaries:slingshot_projectile"] - #Custom groups of entities that a player/claim config should be able to enable a barrier for. Each group can consist of multiple entities and entity tags. - #Each group creates a player config option for controlling the entity barrier. The format for a entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{#minecraft:raiders, minecraft:zombie(_villager|)}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - entityClaimBarrierOptionalGroups = ["Players{minecraft:player}", "Ender_Pearls{minecraft:ender_pearl}"] - #Entities that can bypass all block protection. Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGrief = ["minecraft:sheep"] - #Entities that can bypass all protection of other entities. Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGriefEntities = [] - #Entities that can bypass all dropped item protection. Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGriefDroppedItems = [] - #(Forge-only option) Mobs that can grief entities/items but not blocks. This list is used when overriding the vanilla "mob griefing" game rule value. - #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection. - #This means that the "Protect Blocks From Mobs" option might cause entity or item protection, if that's what the mob is trying to affect. - #By adding a mob to this list, you're removing the block protection check for it during the "mob griefing" game rule check. - #Supports entity type tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:*illager", "minecraft:(v|p)illager", "#minecraft:raiders"] - nonBlockGriefingMobs = [] - #(Forge-only option) Mobs that can grief entities in ways other than attacking them, e.g. how evokers can change the color of sheep. This list is used when overriding the vanilla "mob griefing" game rule value. - #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection only. Add a mob to this list if you want the entity protection option to be checked as well when the rule is checked. - #Check out the "nonBlockGriefingMobs" option if you want to also remove the default block protection check for the mob. - #Supports entity type tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entityGriefingMobs = [] - #(Forge-only option) Mobs that can grief dropped items. This list is used when overriding the vanilla "mob griefing" game rule value. - #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection only. Add a mob to this list if you want the item pickup protection option to be checked as well when the rule is checked. - #This mod should detect most mobs picking up items by default, but if it doesn't already detect a specific mob, this option might help. - #Check out the "nonBlockGriefingMobs" option if you want to also remove the default block protection check for the mob. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - droppedItemGriefingMobs = [] - #Custom groups of entities that a player/claim config should be able to make block access exceptions for (e.g. letting sheep eat grass or endermen take blocks). Each group can consist of multiple entities and entity tags. - #The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - blockAccessEntityGroups = ["Villagers{minecraft:villager}"] - #Custom groups of entities that a player/claim config should be able to make entity access exceptions for (e.g. letting zombies kill things). - #The groups should consist of entities that are the ones accessing other entities. The groups should not contain entities that are being accessed. Check out the "entityProtectionOptionalExceptionGroups" option for that. - #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - entityAccessEntityGroups = ["Zombies{minecraft:zombie, minecraft:zombie_villager, minecraft:husk, minecraft:drowned}"] - #Custom groups of entities that a player/claim config should be able to make dropped item access exceptions for (e.g. letting piglins pick up gold). - #The groups should consist of entities that are the ones trying to pick up items, not consist of specific items. - #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - droppedItemAccessEntityGroups = ["Villagers{minecraft:villager}", "Piglins{minecraft:piglin}", "Foxes{minecraft:fox}"] - #A list of fake players (UUIDs or names) that shouldn't be affected by any chunk claim protection if they try to access a chunk with building protection compatible with - #the chunk that the fake player's origin block is positioned in, e.g. claims with the same owner and block protection option values. - #This works great for fake players that are bound to the position of a specific placed block (origin block). Moreover, the mod supports fake players placed at a block - #next to the origin block, even if that means entering another chunk, e.g. in the case of the Integrated Tunnels mod, or if the origin block is touching the target block. - #The mod will try all positions next to the target block and the fake player as the possible position of the fake player origin block. - #This will always protect the target block if it or the fake player touch a claim with incompatible build protection. Avoid building on such claim edges. - #However, some fake players' origin blocks can be nowhere near the fake player or the target block, e.g. in the case of the Create mod, or there might be no origin block at all, - #e.g. NPCs that can move around. In this case, the mods that use such fake players require explicit support to be implemented. Although they might also sometimes - #be supported by default, if the fake players use UUIDs of actual players. - #Explicit support exists for the Create mod (requires an extension on Fabric) and you are not required to add anything to this list. - #Make sure to always test that claim edges are protected from outside interaction by fake players that you add to this list. - #Wondering where to get the UUIDs or usernames of specific fake players? You can check the source code of the mods that use them or politely ask the mod authors. - #For example ["41C82C87-7AfB-4024-BB57-13D2C99CAE77", "FakePlayerName"] - staticFakePlayers = ["[IntegratedTunnels]"] - #A list of Java classes of fake players that should be excluded from claim protection exceptions given to fake players with the "staticFakePlayers" option - #or built-in fake player support, like in the case of Create mod deployers. - #This option is meant for fake players similar to ComputerCraft's turtles, which take the UUID of the player that places them. It becomes a problem when a turtle takes - #the UUID of a fake player from "staticFakePlayers" or a deployer because the turtle then gets the same privileges without actually being stationary itself nor a deployer. - #Adding classes here should not break support of fake players that take the UUID of their owner. It simply takes away privileges which aren't meant for them. - #For example ["dan200.computercraft.shared.turtle.core.TurtlePlayer"] - staticFakePlayerClassExceptions = ["dan200.computercraft.shared.turtle.core.TurtlePlayer"] - #By default, right-click use of some items is allowed in protected chunks, e.g. swords, pickaxes, bows, shield, tridents, splash potions, to let the players protect themselves or interact with some blocks/entities. - #To remove such exceptions for specific items, add them to this list. This list applies to both using an item at air and using it at a block/entity. Supports item tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:trident", "minecraft:shield", "minecraft:(oak|spruce)_boat", "#minecraft:boats"] - additionalBannedItemsList = ["supplementaries:slingshot"] - #By default, most item right-click uses are disabled in protected chunks. To make an exception for a specific item, add it to this list. This option has a higher priority than "additionalBannedItemsList". - #This list applies to both using an item at air and using it at a block/entity. Supports item tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:fishing_rod", "minecraft:ender_pearl", "minecraft:(red|green)_bed", "#minecraft:beds"] - itemUseProtectionExceptionList = ["minecraft:firework_rocket"] - #Custom groups of items that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple items and item tags. - #Each group creates a player config option for the right-click use of the group items. The format for an item group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-stuff98{minecraft:(writable|written)_book, minecraft:*_book, #minecraft:compasses}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - itemUseProtectionOptionalExceptionGroups = ["Books{minecraft:written_book, minecraft:writable_book}"] - #Items that are completely banned from right-click usage on the server, claimed or not. This list applies to both using an item at air and using it at a block/entity. Supports item tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:trident", "minecraft:shield", "minecraft:(oak|spruce)_boat", "#minecraft:boats"] - completelyDisabledItemInteractions = [] - #Blocks that are completely banned from being interacted with on the server, claimed or not. Does not affect block breaking. Supports block tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:dirt", "minecraft:*_table", "minecraft:(cartography|fletching)_table", "#minecraft:buttons"] - completelyDisabledBlockInteractions = [] - #Entities that are completely banned from being interacted with on the server, claimed or not. Does not affect killing the entities. Supports entity tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - completelyDisabledEntityInteractions = [] - #Whether to completely disable frost walking on the server. Use this if the regular frost walking protection doesn't work, since there is no game rule for it. - completelyDisableFrostWalking = false - #Whether to ignore most detected entity collisions for boats. - #By default, boats detect entity collisions and handle them every tick for every entity that touches them, which is a lot. - #This can become very slow on a server if we also add the necessary claim protection checks in the mix. - #This option makes it so most collisions with boats are randomly ignored, which helps the performance without affecting gameplay all that much. - reducedBoatEntityCollisions = true - diff --git a/defaultconfigs/sophisticatedbackpacks-server.toml b/defaultconfigs/sophisticatedbackpacks-server.toml deleted file mode 100644 index 26b05d451..000000000 --- a/defaultconfigs/sophisticatedbackpacks-server.toml +++ /dev/null @@ -1,428 +0,0 @@ - -#Server Settings -[server] - #List of items that are not allowed to be put in backpacks - e.g. "minecraft:shulker_box" - disallowedItems = [] - #Determines if container items (those that override canFitInsideContainerItems to false) are able to fit in backpacks - containerItemsDisallowed = false - #List of blocks that inventory interaction upgrades can't interact with - e.g. "minecraft:shulker_box" - noInteractionBlocks = [] - #List of blocks that are not allowed to connect to backpacks - e.g. "refinedstorage:external_storage" - noConnectionBlocks = [] - #Turns on/off item fluid handler of backpack in its item form. There are some dupe bugs caused by default fluid handling implementation that manifest when backpack is drained / filled in its item form in another mod's tank and the only way to prevent them is disallowing drain/fill in item form altogether - itemFluidHandlerEnabled = true - #Determines whether player can right click on backpack that another player is wearing to open it. If off will turn off that capability for everyone and remove related settings from backpack. - allowOpeningOtherPlayerBackpacks = true - #Allows disabling item display settings. Primarily in cases where custom backpack model doesn't support showing the item. (Requires game restart to take effect) - itemDisplayDisabled = false - #Allows disabling logic that dedupes backpacks with the same UUID in players' inventory. This is here to allow turning off the logic just in case it would be causing performance issues. - tickDedupeLogicDisabled = false - #Determines if backpacks can be placed in container items (those that check for return value of canFitInsideContainerItems) - canBePlacedInContainerItems = false - - #Leather Backpack Settings - [server.leatherBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 27 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 1 - - #Iron Backpack Settings - [server.ironBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 54 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 2 - - #Gold Backpack Settings - [server.goldBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 81 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 3 - - #Diamond Backpack Settings - [server.diamondBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 108 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 5 - - #Netherite Backpack Settings - [server.netheriteBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 120 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 7 - - #Compacting Upgrade Settings - [server.compactingUpgrade] - #Number of Compacting Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Compacting Upgrade Settings - [server.advancedCompactingUpgrade] - #Number of Advanced Compacting Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Deposit Upgrade Settings - [server.depositUpgrade] - #Number of Deposit Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Deposit Upgrade Settings - [server.advancedDepositUpgrade] - #Number of Advanced Deposit Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Feeding Upgrade Settings - [server.feedingUpgrade] - #Number of Feeding Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Feeding Upgrade Settings - [server.advancedFeedingUpgrade] - #Number of Advanced Feeding Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Filter Upgrade Settings - [server.filterUpgrade] - #Number of Filter Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Filter Upgrade Settings - [server.advancedFilterUpgrade] - #Number of Advanced Filter Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Magnet Upgrade Settings - [server.magnetUpgrade] - #Number of Magnet Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - #Range around storage in blocks at which magnet will pickup items - #Range: 1 ~ 20 - magnetRange = 3 - - #Advanced Magnet Upgrade Settings - [server.advancedMagnetUpgrade] - #Number of Advanced Magnet Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - #Range around storage in blocks at which magnet will pickup items - #Range: 1 ~ 20 - magnetRange = 5 - - #Pickup Upgrade Settings - [server.pickupUpgrade] - #Number of Pickup Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Pickup Upgrade Settings - [server.advancedPickupUpgrade] - #Number of Advanced Pickup Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Refill Upgrade Settings - [server.refillUpgrade] - #Number of Refill Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 6 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Refill Upgrade Settings - [server.advancedRefillUpgrade] - #Number of Advanced Refill Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 12 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Restock Upgrade Settings - [server.restockUpgrade] - #Number of Restock Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Restock Upgrade Settings - [server.advancedRestockUpgrade] - #Number of Advanced Restock Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Void Upgrade Settings - [server.voidUpgrade] - #Number of Void Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - #Determines whether void upgrade allows voiding anything or it only has overflow option - voidAnythingEnabled = true - - #Advanced Void Upgrade Settings - [server.advancedVoidUpgrade] - #Number of Advanced Void Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - #Determines whether void upgrade allows voiding anything or it only has overflow option - voidAnythingEnabled = true - - #Stack Upgrade Settings - [server.stackUpgrade] - #List of items that are not supposed to stack in storage even when stack upgrade is inserted. Item registry names are expected here. - nonStackableItems = ["minecraft:bundle", "minecraft:shulker_box", "minecraft:white_shulker_box", "minecraft:orange_shulker_box", "minecraft:magenta_shulker_box", "minecraft:light_blue_shulker_box", "minecraft:yellow_shulker_box", "minecraft:lime_shulker_box", "minecraft:pink_shulker_box", "minecraft:gray_shulker_box", "minecraft:light_gray_shulker_box", "minecraft:cyan_shulker_box", "minecraft:purple_shulker_box", "minecraft:blue_shulker_box", "minecraft:brown_shulker_box", "minecraft:green_shulker_box", "minecraft:red_shulker_box", "minecraft:black_shulker_box"] - - #Smelting Upgrade Settings - [server.smeltingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - - #Smoking Upgrade Settings - [server.smokingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - - #Blasting Upgrade Settings - [server.blastingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - - #Auto-Smelting Upgrade Settings - [server.autoSmeltingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - #Number of input filter slots - #Range: 1 ~ 20 - inputFilterSlots = 8 - #Number of input filter slots displayed in a row - #Range: 1 ~ 6 - inputFilterSlotsInRow = 4 - #Number of fuel filter slots - #Range: 1 ~ 20 - fuelFilterSlots = 4 - #Number of fuel filter slots displayed in a row - #Range: 1 ~ 6 - fuelFilterSlotsInRow = 4 - - #Auto-Smoking Upgrade Settings - [server.autoSmokingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - #Number of input filter slots - #Range: 1 ~ 20 - inputFilterSlots = 8 - #Number of input filter slots displayed in a row - #Range: 1 ~ 6 - inputFilterSlotsInRow = 4 - #Number of fuel filter slots - #Range: 1 ~ 20 - fuelFilterSlots = 4 - #Number of fuel filter slots displayed in a row - #Range: 1 ~ 6 - fuelFilterSlotsInRow = 4 - - #Auto-Blasting Upgrade Settings - [server.autoBlastingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - #Number of input filter slots - #Range: 1 ~ 20 - inputFilterSlots = 8 - #Number of input filter slots displayed in a row - #Range: 1 ~ 6 - inputFilterSlotsInRow = 4 - #Number of fuel filter slots - #Range: 1 ~ 20 - fuelFilterSlots = 4 - #Number of fuel filter slots displayed in a row - #Range: 1 ~ 6 - fuelFilterSlotsInRow = 4 - - #Inception Upgrade Settings - [server.inceptionUpgrade] - #Allows / Disallows backpack upgrades to work with inventories of Backpacks in the Backpack with Inception Upgrade - upgradesUseInventoriesOfBackpacksInBackpack = true - #Allows / Disallows upgrades to be functional even when they are in Backpacks in the inventory of Backpack with Inception Upgrade - upgradesInContainedBackpacksAreFunctional = true - - #Tool Swapper Upgrade Settings - [server.toolSwapperUpgrade] - #Number of Tool Swapper Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 8 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Tank Upgrade Settings - [server.tankUpgrade] - #Capacity in mB the tank upgrade will have per row of storage slots - #Range: 500 ~ 20000 - capacityPerSlotRow = 4000 - #Ratio that gets applied (multiplies) to inventory stack multiplier before this is applied to max energy of the battery and max in/out. Value lower than 1 makes stack multiplier affect the max energy less, higher makes it affect the max energy more. 0 turns off stack multiplier affecting battery upgrade - #Range: 0.0 ~ 5.0 - stackMultiplierRatio = 1.0 - #Cooldown between fill/drain actions done on fluid containers in tank slots. Only fills/drains one bucket worth to/from container after this cooldown and then waits again. - #Range: 1 ~ 100 - autoFillDrainContainerCooldown = 20 - #How much FE can be transfered in / out per operation. This is a base transfer rate and same as max capacity gets multiplied by number of rows in storage and stack multiplier. - #Range: 1 ~ 1000 - maxInputOutput = 20 - #Energy in FE the battery upgrade will have per row of storage slots - #Range: 500 ~ 50000 - energyPerSlotRow = 10000 - - #Pump Upgrade Settings - [server.pumpUpgrade] - #Number of fluid filter slots - #Range: 1 ~ 20 - filterSlots = 4 - #How much mB can be transfered in / out per operation. This is a base transfer rate that gets multiplied by number of rows in storage and stack multiplier. - #Range: 1 ~ 1000 - maxInputOutput = 20 - #Ratio that gets applied (multiplies) to inventory stack multiplier before this is applied to max input/output value. Value lower than 1 makes stack multiplier affect the capacity less, higher makes it affect the capacity more. 0 turns off stack multiplier affecting input/output - #Range: 0.0 ~ 5.0 - stackMultiplierRatio = 1.0 - - #Xp Pump Upgrade Settings - [server.xpPumpUpgrade] - #Whether xp pump can mend items with mending. Set false here to turn off the feature altogether. - mendingOn = true - #How many experience points at a maximum would be used to mend an item per operation (every 5 ticks and 1 xp point usually translates to 2 damage repaired). - #Range: 1 ~ 20 - maxXpPointsPerMending = 5 - - #Settings for Spawning Entities with Backpack - [server.entityBackpackAdditions] - #Chance of an entity spawning with Backpack - #Range: 0.0 ~ 1.0 - chance = 0.0 - #Turns on/off addition of loot into backpacks - addLoot = false - #Turns on/off buffing the entity that wears backpack with potion effects. These are scaled based on how much loot is added. - buffWithPotionEffects = true - #Turns on/off buffing the entity that wears backpack with additional health. Health is scaled based on backpack tier the mob wears. - buffHealth = true - #Turns on/off equiping the entity that wears backpack with armor. What armor material and how enchanted is scaled based on backpack tier the mob wears. - equipWithArmor = true - #Map of entities that can spawn with backpack and related loot tables (if adding a loot is enabled) in format of "EntityRegistryName|LootTableName" - entityLootTableList = [] - #List of music discs that are not supposed to be played by entities - discBlockList = [] - #Turns on/off a chance that the entity that wears backpack gets jukebox upgrade and plays a music disc. - playJukebox = true - #Determines whether backpack drops to fake players if killed by them in addition to real ones that it always drops to - dropToFakePlayers = false - #Chance of mob dropping backpack when killed by player - #Range: 0.0 ~ 1.0 - backpackDropChance = 0.5 - #Chance increase per looting level of mob dropping backpack - #Range: 0.0 ~ 0.3 - lootingChanceIncreasePerLevel = 0.15 - - [server.nerfs] - #Determines if too many backpacks in player's inventory cause slowness to the player - tooManyBackpacksSlowness = true - #Maximum number of backpacks in player's inventory that will not cause slowness - #Range: 1 ~ 27 - maxNumberOfBackpacks = 1 - #Ratio of slowness levels per every backpack above the maximum number allowed. (number of backpacks above the max gets multiplied by this number and ceiled) - #Range: 0.1 ~ 5.0 - slownessLevelsPerAdditionalBackpack = 1.0 - #Determines if active upgrades will only work in the backpack that's worn by the player. Active upgrades are for example magnet, pickup, cooking, feeding upgrades. - onlyWornBackpackTriggersUpgrades = true - diff --git a/defaultconfigs/tfc-server.toml b/defaultconfigs/tfc-server.toml deleted file mode 100644 index b92381f36..000000000 --- a/defaultconfigs/tfc-server.toml +++ /dev/null @@ -1,1264 +0,0 @@ - -[general] - # - # Enable nether portal creation - enableNetherPortals = false - # - # Forces a number of game rules to specific values. - # naturalRegeneration = false (Health regen is much slower and not tied to extra saturation) - # doInsomnia = false (No phantoms) - # doTraderSpawning = false (No wandering traders) - # doPatrolSpawning = false (No pillager patrols) - enableForcedTFCGameRules = true - # - # If true, TFC will stop time when no players are online on a running server. - # This prevents food from decaying, the calendar from advancing, and the sun from moving, etc. - # !!Disable at your own risk!! - enableTimeStopWhenServerEmpty = true - # - # Enable fire arrows and fireballs to spread fire and light blocks. - enableFireArrowSpreading = true - # - # Base probability for a firestarter to start a fire. May change based on circumstances - #Range: 0.0 ~ 1.0 - fireStarterChance = 0.5 - # - # Enable rat infestations for improperly stored food. - enableInfestations = true - # - # Enables TFC setting the moon phase based on the progress of the month. The etymology of the English word 'month' is in fact related to the word 'moon'. - enableCalendarSensitiveMoonPhases = true - # - # If false, vanilla lightning will not strike. - enableLightning = true - # - # If true, lightning has a chance of stripping bark off of trees. - enableLightningStrippingLogs = true - -[blocks] - - [blocks.farmland] - # - # If TFC soil blocks are able to be created into farmland using a hoe. - enableFarmlandCreation = true - - [blocks.grassPath] - # - # If TFC soil blocks are able to be created into (grass) path blocks using a hoe. - enableGrassPathCreation = true - - [blocks.grass] - # - # The chance that when grass that freezes and thaws it will have a loose rock rise to the surface, provided some conditions are met. Set to 0 to disable. - #Range: 0.0 ~ 1.0 - grassSpawningRocksChance = 0.001 - - [blocks.rootedDirt] - # - # If TFC rooted dirt blocks are able to be created into dirt blocks using a hoe. - enableRootedDirtToDirtCreation = true - - [blocks.snow] - # - # [Requires MC Restart] If snow will slow players that move on top of it similar to soul sand or honey. - enableSnowSlowEntities = true - # - # The chance that snow will accumulate during a storm. Lower values = faster snow accumulation, but also more block updates (aka lag). - #Range: > 1 - snowAccumulateChance = 20 - # - # The chance that snow will melt during a storm. Lower values = faster snow melting, but also more block updates (aka lag). - #Range: > 1 - snowMeltChance = 36 - - [blocks.plants] - # - # Chance for a plant to grow each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant growth. - #Range: 0.0 ~ 1.0 - plantGrowthChance = 0.04 - # - # Chance for a twisting/weeping/kelp plant to grow each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant growth. - #Range: 0.0 ~ 1.0 - plantLongGrowthChance = 0.03 - # - # Chance for a plant to spread each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant spreading. - #Range: 0.0 ~ 1.0 - plantSpreadChance = 0.001 - # - # A movement multiplier for players moving through plants. Individual plants will use a ratio of this value, and lower = slower. - #Range: 0.0 ~ 1.0 - plantsMovementModifier = 0.2 - - [blocks.leaves] - # - # A movement multiplier for players moving through leaves. Lower = slower. - #Range: 0.0 ~ 1.0 - leavesMovementModifier = 0.4 - # - # If true, then leaves will decay slowly over time when disconnected from logs (vanilla behavior), as opposed to instantly (TFC behavior). - enableLeavesDecaySlowly = false - - [blocks.cobblestone] - # - # If mossy rock blocks will spread their moss to nearby rock blocks (bricks and cobble; stairs, slabs and walls thereof). - enableMossyRockSpreading = true - # - # The rate at which rock blocks will accumulate moss. Higher value = slower. - #Range: > 1 - mossyRockSpreadRate = 20 - - [blocks.chest] - # - # The largest (inclusive) size of an item that is allowed in a chest. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - chestMaximumItemSize = "LARGE" - - [blocks.largeVessel] - # - # If true, large vessels will interact with in-world automation such as hoppers on a side-specific basis. - largeVesselEnableAutomation = true - # - # If true, large vessels will seal and unseal on redstone signal. - largeVesselEnableRedstoneSeal = true - - [blocks.torch] - # - # Number of ticks required for a torch to burn out (1000 = 1 in game hour = 50 seconds), default is 72 hours. Set to -1 to disable torch burnout. - #Range: > -1 - torchTicks = 72000 - - [blocks.candle] - # - # Number of ticks required for a candle to burn out (1000 = 1 in game hour = 50 seconds), default is 264 hours. Set to -1 to disable candle burnout. - #Range: > -1 - candleTicks = 264000 - - [blocks.dryingBricks] - # - # Number of ticks required for mud bricks to dry (1000 = 1 in game hour = 50 seconds), default is 24 hours. Set to -1 to disable drying. - #Range: > -1 - mudBricksTicks = 24000 - - [blocks.charcoal] - # - # Number of ticks required for charcoal pit to complete. (1000 = 1 in game hour = 50 seconds), default is 18 hours. - #Range: > -1 - charcoalTicks = 18000 - - [blocks.pitKiln] - # - # Number of ticks required for a pit kiln to burn out. (1000 = 1 in game hour = 50 seconds), default is 8 hours. - #Range: > 20 - pitKilnTicks = 8000 - # - # The maximum temperature which a pit kiln reaches. - #Range: > 0 - pitKilnTemperature1 = 1400 - - [blocks.crucible] - # - # Tank capacity of a crucible (in mB). - #Range: 0 ~ 2147483645 - crucibleCapacity = 4000 - # - # A modifier for how fast fluid containers empty into crucibles. Containers will empty 1 mB every (this) number of ticks. - #Range: > 1 - cruciblePouringRate = 4 - # - # A modifier for how fast fluid containers empty into crucibles when shift is held. Containers will empty 1 mB every (this) number of ticks. - #Range: > 1 - crucibleFastPouringRate = 1 - # - # If true, barrels will interact with in-world automation such as hoppers on a side-specific basis. - crucibleEnableAutomation = true - - [blocks.anvil] - # - # The number of pixels that the anvil's result may be off by, but still count as recipe completion. By default this requires pixel perfect accuracy. - #Range: 0 ~ 150 - anvilAcceptableWorkRange = 0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Modestly Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilModestlyForgedThreshold = 10.0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Well Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilWellForgedThreshold = 5.0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Expertly Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilExpertForgedThreshold = 2.0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Perfectly Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilPerfectlyForgedThreshold = 1.5 - # - # The multiplier to efficiency (mining speed) that is applied to a 'Perfectly Forged' tool. - #Range: 1.0 ~ 1000.0 - anvilMaxEfficiencyMultiplier = 1.8 - # - # The bonus to durability (probability to ignore a point of damage) that is applied to a 'Perfectly Forged' tool. Note that 1 ~ infinite durability, and 0 ~ no bonus. - #Range: 0.0 ~ 1.0 - anvilMaxDurabilityMultiplier = 0.5 - # - # The boost to attack damage that is applied to a 'Perfectly Forged' tool. - #Range: 1.0 ~ 1000.0 - anvilMaxDamageMultiplier = 1.5 - - [blocks.barrel] - # - # Tank capacity of a barrel (in mB). - #Range: > 0 - barrelCapacity = 10000 - # - # If true, barrels will interact with in-world automation such as hoppers on a side-specific basis. - barrelEnableAutomation = true - # - # If true, barrels will seal and unseal on redstone signal. - barrelEnableRedstoneSeal = true - - [blocks.composter] - # - # Number of ticks required for a composter in normal conditions to complete. (24000 = 1 game day), default is 12 days. - #Range: > 20 - composterTicks = 288000 - # - # If true, the composter will interact with in-world automation such as hoppers on a side-specific basis. - composterEnableAutomation = true - - [blocks.sluice] - # - # Number of ticks required for a sluice to process an item. (20 = 1 second), default is 5 seconds. - #Range: > 1 - sluiceTicks = 100 - - [blocks.lamp] - # - # Tank capacity of a lamp (in mB). - #Range: 0 ~ 2147483645 - lampCapacity = 250 - - [blocks.pumpkin] - # - # Enables the knifing of pumpkins to carve them. - enablePumpkinCarving = true - # - # Number of ticks required for a jack 'o lantern to burn out (1000 = 1 in game hour = 50 seconds), default is 108 hours. Set to -1 to disable burnout. - #Range: > -1 - jackOLanternTicks = 108000 - - [blocks.bloomery] - # - # Inventory capacity (in number of items per level of chimney) of the bloomery. - #Range: > 1 - bloomeryCapacity = 8 - # - # The maximum number of levels that can be built in a bloomery multiblock, for added capacity. - #Range: > 1 - bloomeryMaxChimneyHeight = 3 - - [blocks.blastFurnace] - # - # Inventory capacity (in number of items per level of chimney) of the blast furnace. - #Range: > 1 - blastFurnaceCapacity = 4 - # - # Fluid capacity (in mB) of the output tank of the blast furnace. - #Range: > 1 - blastFurnaceFluidCapacity = 10000 - # - # A multiplier for how fast the blast furnace consumes fuel. Higher values = faster fuel consumption. - #Range: > 1 - blastFurnaceFuelConsumptionMultiplier = 4 - # - # The maximum number of levels that can be built in a blast furnace multiblock, for added capacity. - #Range: > 1 - blastFurnaceMaxChimneyHeight = 5 - # - # If true, blast furnaces will interact with in-world automation such as hoppers on a side-specific basis. - blastFurnaceEnableAutomation = true - - [blocks.loom] - # - # If true, looms will interact with in-world automation such as hoppers on a side-specific basis. - loomEnableAutomation = true - - [blocks.thatch] - # - # A movement multiplier for players moving through thatch. Lower = slower. - #Range: 0.0 ~ 1.0 - thatchMovementMultiplier = 0.6 - - [blocks.thatchBed] - # - # If true, thatch beds can set the player's spawn. - enableThatchBedSpawnSetting = true - # - # If true, the player can sleep the night in a thatch bed - enableThatchBedSleeping = false - # - # If true, the player cannot sleep in thatch beds during thunderstorms. - thatchBedNoSleepInThunderstorms = true - - [blocks.placedItems] - # - # The maximum size of items that can be placed as 4 items on the ground with V. If an item is larger than this, it could still be placed with the 'maxPlacedLargeItemSize' option. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - maxPlacedItemSize = "LARGE" - # - # The maximum size of items that can be placed as a single item on the ground with V. Items are checked to see if they're the right size to be placed in a group of 4 items first. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - maxPlacedLargeItemSize = "HUGE" - # - # If true, players can place items on the ground with V. - enablePlacingItems = true - # - # If true, the tag 'tfc:placed_item_whitelist' will be checked to allow items to be in placed items and will exclude everything else. - usePlacedItemWhitelist = false - - [blocks.charcoalForge] - # - # If true, charcoal forges will interact with in-world automation such as hoppers on a side-specific basis. - charcoalForgeEnableAutomation = true - - [blocks.firePitEnableAutomation] - # - # If true, fire pits will interact with in-world automation such as hoppers on a side-specific basis. - firePitEnableAutomation = true - - [blocks.nestBox] - # - # If true, nest boxes will interact with in-world automation such as hoppers on a side-specific basis. - nestBoxEnableAutomation = true - - [blocks.powderKeg] - # - # If true, powder kegs can be lit and exploded. - powderKegEnabled = true - # - # If true, powder kegs will interact with in-world automation such as hoppers on a side-specific basis. - powderKegEnableAutomation = true - # - # A modifier to the strength of powderkegs when exploding. A max powderkeg explosion is 64, and all explosions are capped to this size no matter the value of the modifier. - #Range: 0.0 ~ 64.0 - powderKegStrengthModifier = 1.0 - - [blocks.hotWater] - # - # An amount that sitting in hot water will restore health, approximately twice per second. - #Range: 0.0 ~ 20.0 - hotWaterHealAmount = 0.08 - - [blocks.saplings] - # - # Modifier applied to the growth time of every (non-fruit) sapling. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.0 ~ 1.7976931348623157E308 - globalSaplingGrowthModifier = 1.0 - # - # Modifier applied to the growth time of every fruit tree sapling. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.0 ~ 1.7976931348623157E308 - globalFruitSaplingGrowthModifier = 1.0 - # - # Days for a acacia tree sapling to be ready to grow into a full tree. - #Range: > 0 - acaciaSaplingGrowthDays = 11 - # - # Days for a ash tree sapling to be ready to grow into a full tree. - #Range: > 0 - ashSaplingGrowthDays = 7 - # - # Days for a aspen tree sapling to be ready to grow into a full tree. - #Range: > 0 - aspenSaplingGrowthDays = 8 - # - # Days for a birch tree sapling to be ready to grow into a full tree. - #Range: > 0 - birchSaplingGrowthDays = 7 - # - # Days for a blackwood tree sapling to be ready to grow into a full tree. - #Range: > 0 - blackwoodSaplingGrowthDays = 8 - # - # Days for a chestnut tree sapling to be ready to grow into a full tree. - #Range: > 0 - chestnutSaplingGrowthDays = 7 - # - # Days for a douglas_fir tree sapling to be ready to grow into a full tree. - #Range: > 0 - douglas_firSaplingGrowthDays = 7 - # - # Days for a hickory tree sapling to be ready to grow into a full tree. - #Range: > 0 - hickorySaplingGrowthDays = 10 - # - # Days for a kapok tree sapling to be ready to grow into a full tree. - #Range: > 0 - kapokSaplingGrowthDays = 7 - # - # Days for a mangrove tree sapling to be ready to grow into a full tree. - #Range: > 0 - mangroveSaplingGrowthDays = 8 - # - # Days for a maple tree sapling to be ready to grow into a full tree. - #Range: > 0 - mapleSaplingGrowthDays = 7 - # - # Days for a oak tree sapling to be ready to grow into a full tree. - #Range: > 0 - oakSaplingGrowthDays = 10 - # - # Days for a palm tree sapling to be ready to grow into a full tree. - #Range: > 0 - palmSaplingGrowthDays = 7 - # - # Days for a pine tree sapling to be ready to grow into a full tree. - #Range: > 0 - pineSaplingGrowthDays = 7 - # - # Days for a rosewood tree sapling to be ready to grow into a full tree. - #Range: > 0 - rosewoodSaplingGrowthDays = 8 - # - # Days for a sequoia tree sapling to be ready to grow into a full tree. - #Range: > 0 - sequoiaSaplingGrowthDays = 18 - # - # Days for a spruce tree sapling to be ready to grow into a full tree. - #Range: > 0 - spruceSaplingGrowthDays = 7 - # - # Days for a sycamore tree sapling to be ready to grow into a full tree. - #Range: > 0 - sycamoreSaplingGrowthDays = 8 - # - # Days for a white_cedar tree sapling to be ready to grow into a full tree. - #Range: > 0 - white_cedarSaplingGrowthDays = 7 - # - # Days for a willow tree sapling to be ready to grow into a full tree. - #Range: > 0 - willowSaplingGrowthDays = 11 - # - # Days for a cherry tree sapling to be eligible to grow - #Range: > 0 - cherrySaplingGrowthDays1 = 8 - # - # Days for a green_apple tree sapling to be eligible to grow - #Range: > 0 - green_appleSaplingGrowthDays1 = 10 - # - # Days for a lemon tree sapling to be eligible to grow - #Range: > 0 - lemonSaplingGrowthDays1 = 8 - # - # Days for a olive tree sapling to be eligible to grow - #Range: > 0 - oliveSaplingGrowthDays1 = 12 - # - # Days for a orange tree sapling to be eligible to grow - #Range: > 0 - orangeSaplingGrowthDays1 = 7 - # - # Days for a peach tree sapling to be eligible to grow - #Range: > 0 - peachSaplingGrowthDays1 = 11 - # - # Days for a plum tree sapling to be eligible to grow - #Range: > 0 - plumSaplingGrowthDays1 = 8 - # - # Days for a red_apple tree sapling to be eligible to grow - #Range: > 0 - red_appleSaplingGrowthDays1 = 10 - # - # Days for a banana tree sapling to be eligible to grow - #Range: > 0 - bananaSaplingGrowthDays = 6 - - [blocks.crops] - # - # Modifier applied to the growth time of every crop. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.001 ~ 1000.0 - cropGrowthModifier = 1.0 - # - # Modifier applied to the expiry time of every crop. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.001 ~ 1000.0 - cropExpiryModifier = 1.0 - - [blocks.dispenser] - # - # If true, dispensers can light TFC devices. - dispenserEnableLighting = true - - [blocks.powderBowl] - # - # If true, powder bowls will interact with in-world automation such as hoppers on a side-specific basis. - powderBowlEnableAutomation = true - -[items] - - [items.smallVessel] - # - # Tank capacity of a small vessel (in mB). - #Range: 0 ~ 2147483645 - smallVesselCapacity = 3000 - # - # The largest (inclusive) size of an item that is allowed in a small vessel. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - smallVesselMaximumItemSize = "SMALL" - # - # If true, the vessel can be inserted and extracted from by clicking on it in the inventory. You may want to disable this if you have a inventory-tweaking mod - enableSmallVesselInventoryInteraction = true - - [items.molds] - # - # Tank capacity of a Fire Ingot mold (in mB). - #Range: 0 ~ 2147483645 - moldIngotCapacity = 144 - # - # Tank capacity of a Pickaxe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldPickaxeHeadCapacity = 144 - # - # Tank capacity of a Propick Head mold (in mB). - #Range: 0 ~ 2147483645 - moldPropickHeadCapacity = 144 - # - # Tank capacity of a Axe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldAxeHeadCapacity = 144 - # - # Tank capacity of a Shovel Head mold (in mB). - #Range: 0 ~ 2147483645 - moldShovelHeadCapacity = 144 - # - # Tank capacity of a Hoe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldHoeHeadCapacity = 144 - # - # Tank capacity of a Chisel Head mold (in mB). - #Range: 0 ~ 2147483645 - moldChiselHeadCapacity = 144 - # - # Tank capacity of a Hammer Head mold (in mB). - #Range: 0 ~ 2147483645 - moldHammerHeadCapacity = 144 - # - # Tank capacity of a Saw Blade mold (in mB). - #Range: 0 ~ 2147483645 - moldSawBladeCapacity = 144 - # - # Tank capacity of a Javelin Head mold (in mB). - #Range: 0 ~ 2147483645 - moldJavelinHeadCapacity = 144 - # - # Tank capacity of a Sword Blade mold (in mB). - #Range: 0 ~ 2147483645 - moldSwordBladeCapacity = 288 - # - # Tank capacity of a Mace Head mold (in mB). - #Range: 0 ~ 2147483645 - moldMaceHeadCapacity = 288 - # - # Tank capacity of a Knife Blade mold (in mB). - #Range: 0 ~ 2147483645 - moldKnifeBladeCapacity = 144 - # - # Tank capacity of a Bell mold (in mB). - #Range: 0 ~ 2147483645 - moldScytheBladeCapacity = 144 - - [items.jug] - # - # Tank capacity of a ceramic jug (in mB). - #Range: 0 ~ 2147483645 - jugCapacity = 100 - # - # The chance a jug will break after drinking. - #Range: 0.0 ~ 1.0 - jugBreakChance = 0.02 - - [items.glassBottle] - # - # Tank capacity of a silica glass bottle (in mB). - #Range: 0 ~ 2147483645 - silicaGlassBottleCapacity = 500 - # - # The chance a silica glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - silicaGlassBottleBreakChance = 0.005 - # - # Tank capacity of a hematitic glass bottle (in mB). - #Range: 0 ~ 2147483645 - hematiticGlassBottleCapacity = 400 - # - # The chance a hematitic glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - hematiticGlassBottleBreakChance = 0.02 - # - # Tank capacity of a volcanic glass bottle (in mB). - #Range: 0 ~ 2147483645 - volcanicGlassBottleCapacity = 400 - # - # The chance a volcanic glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - volcanicGlassBottleBreakChance = 0.04 - # - # Tank capacity of a olivine glass bottle (in mB). - #Range: 0 ~ 2147483645 - olivineGlassBottleCapacity = 400 - # - # The chance a olivine glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - olivineGlassBottleBreakChance = 0.01 - - [items.woodenBucket] - # - # Tank capacity of a wooden bucket (in mB). - #Range: 0 ~ 2147483645 - woodenBucketCapacity = 1000 - -[mechanics] - - [mechanics.heat] - # - # A multiplier for how fast devices themselves heat up. Higher = faster. - #Range: 0.0 ~ 1.7976931348623157E308 - deviceHeatingModifier = 1.0 - # - # A multiplier for how fast items heat in devices. Higher = faster. - #Range: 0.0 ~ 1.7976931348623157E308 - itemHeatingModifier = 1.0 - # - # A multiplier for how fast items cool. Higher = faster. - #Range: 0.0 ~ 1.7976931348623157E308 - itemCoolingModifier = 0.8 - # - # Should hot item entities cool off when in contact with blocks like water or snow? - coolHotItemEntities = true - # - # Ticks between each time an item loses temperature when sitting on a cold block. 20 ticks = 1 second. - #Range: > 1 - ticksBeforeItemCool = 10 - - [mechanics.collapses] - # - # Enable rock collapsing when mining raw stone blocks - enableBlockCollapsing = true - # - # Enable explosions causing immediate collapses. - enableExplosionCollapsing = true - # - # Enable land slides (gravity affected blocks) when placing blocks or on block updates. - enableBlockLandslides = true - # - # Enable chisels starting collapses - enableChiselsStartCollapses = true - # - # Chance for a collapse to be triggered by mining a block. - #Range: 0.0 ~ 1.0 - collapseTriggerChance = 0.1 - # - # Chance for a collapse to be fake triggered by mining a block. - #Range: 0.0 ~ 1.0 - collapseFakeTriggerChance = 0.35 - # - # Chance for a block fo fall from mining collapse. Higher = more likely. - #Range: 0.0 ~ 1.0 - collapsePropagateChance = 0.55 - # - # Chance for a block to fall from an explosion triggered collapse. Higher = mor likely. - #Range: 0.0 ~ 1.0 - collapseExplosionPropagateChance = 0.3 - # - # Minimum radius for a collapse - #Range: 1 ~ 32 - collapseMinRadius = 3 - # - # Variance of the radius of a collapse. Total size is in [minRadius, minRadius + radiusVariance] - #Range: 1 ~ 32 - collapseRadiusVariance = 16 - - [mechanics.player] - # - # If peaceful difficulty should still have vanilla-esque passive regeneration of health, food, and hunger - enablePeacefulDifficultyPassiveRegeneration = false - # - # A multiplier for passive exhaustion accumulation. - # Exhaustion is the hidden stat which controls when you get hungry. In vanilla it is incremented by running and jumping for example. In TFC, exhaustion is added just by existing. - # 1.0 = A full hunger bar's worth of exhaustion every 2.5 days. Set to zero to disable completely. - #Range: 0.0 ~ 100.0 - passiveExhaustionMultiplier = 1.0 - # - # A multiplier for how quickly the player gets thirsty. - # The player loses thirst in sync with when they lose hunger. This represents how much thirst they lose. 0 = None, 100 = the entire thirst bar. - #Range: 0.0 ~ 100.0 - thirstModifier1 = 5.0 - # - # Enables the player losing more thirst in hotter environments. - enableThirstOverheating = true - # - # How much thirst the player gains from drinking in the rain (standing outside in the rain and looking up) per tick. - #Range: 0.0 ~ 100.0 - thirstGainedFromDrinkingInTheRain = 0.20833333333333334 - # - # A multiplier for how quickly the player regenerates health, under TFC's passive regeneration. - # By default, the player regenerates 0.2 HP/second, or 0.6 HP/second when above 80% hunger and thirst, where 1 HP = 1/50 of a heart. - #Range: 0.0 ~ 100.0 - naturalRegenerationModifier = 1.0 - # - # How much total hunger consumed is required to completely refresh the player's nutrition. - # Player nutrition in TFC is calculated based on nutrition of the last few foods eaten - this is how many foods are used to calculate nutrition. By default, all TFC foods restore 4 hunger. - #Range: > 1 - nutritionRotationHungerWindow = 80 - # - # If player's nutrition should be kept even after death. Hunger and thirst are not affected and will be reset. - keepNutritionAfterDeath = true - # - # How many hours should different foods ignore when trying to stack together automatically? - # Food made with different creation dates doesn't stack by default, unless it's within a specific window. This is the number of hours that different foods will try and stack together at the loss of a little extra expiry time. - #Range: 1 ~ 100 - foodDecayStackWindow = 6 - # - # A multiplier for food decay, or expiration times. Larger values will result in naturally shorter expiration times. - # Setting this to zero will cause decay not to apply. - # Note that if you set this to zero **food items will lose their creation dates!!**. This is not reversible! - #Range: 0.0 ~ 1000.0 - foodDecayModifier = 1.0 - # - # Enables negative effects from carrying too many very heavy items, including potion effects. - enableOverburdening = true - # - # A multiplier for the minimum health that the player will obtain, based on their nutrition - #Range: 0.001 ~ 1000.0 - nutritionMinimumHealthModifier = 0.2 - # - # A multiplier for the default health that the player will have (this is at a average nutrition of 40%, aka the starting nutrition. - # Nutrition above this value will linearly scale to the maximum multiplier. - # Nutrition below this value will linearly scale to the minimum multiplier. - #Range: 0.001 ~ 1000.0 - nutritionDefaultHealthModifier = 0.85 - # - # A multiplier for the maximum health that the player will obtain, based on their nutrition - #Range: 0.001 ~ 1000.0 - nutritionMaximumHealthModifier = 3.0 - - [mechanics.foodTraits] - # - # The modifier for the 'Salted' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitSaltedModifier = 0.5 - # - # The modifier for the 'Brined' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitBrinedModifier = 1.0 - # - # The modifier for the 'Pickled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitPickledModifier = 0.5 - # - # The modifier for the 'Preserved' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitPreservedModifier = 0.5 - # - # The modifier for the 'Vinegar' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitVinegarModifier = 0.1 - # - # The modifier for the 'Charcoal Grilled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitCharcoalGrilledModifier = 1.25 - # - # The modifier for the 'Wood Grilled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitWoodGrilledModifier = 0.8 - # - # The modifier for the 'Burnt To A Crisp' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitBurntToACrispModifier = 2.5 - # - # The modifier for the 'Wild' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitWildModifier = 0.5 - - [mechanics.fluids] - # - # If true, TFC buckets that naturally place sources (colored steel) will place sources. If false, this behavior is disabled. - enableBucketsPlacingSources = true - - [mechanics.vanillaChanges] - # - # If vanilla bonemeal's instant-growth effect should be enabled. - enableVanillaBonemeal = false - # - # If true, vanilla's snow and ice formation mechanics will be used, and none of the TFC mechanics (improved snow and ice placement, snow stacking, icicle formation, passive snow or ice melting) will exist. - enableVanillaWeatherEffects = false - # - # If true, vanilla will attempt to spawn skeleton 'trap' horses during thunderstorms. - enableVanillaSkeletonHorseSpawning = false - # - # If true, enables the default vanilla behavior of mobs spawning with enchanted weapons sometimes. - enableVanillaMobsSpawningWithEnchantments = false - # - # If true, enables the default behavior of mobs sapwning with vanilla armor and weapons - enableVanillaMobsSpawningWithVanillaEquipment = false - # - # If true, golems can be built - enableVanillaGolems = false - # - # If true, vanilla monsters are able to spawn. If false, the 'enableVanillaMonstersOnSurface' config option is not used, and all spawns are denied. - enableVanillaMonsters = true - # - # If true, vanilla monsters will spawn on the surface instead of just underground. If false, vanilla monsters will not spawn on the surface. - enableVanillaMonstersOnSurface = false - # - # If true, chicken jockies can spawn - enableChickenJockies = false - # - # If true, eggs can be thrown. - enableVanillaEggThrowing = false - # - # If true, drinking milk will clear potion effects and restore no nutrition, as in vanilla. - enableVanillaDrinkingMilkClearsPotionEffects = false - - [mechanics.animals] - - [mechanics.animals.pig] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - pigFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - pigAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - pigUses = 60 - # - # Does the animal eat rotten food? - pigEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - pigGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - pigChildCount = 10 - - [mechanics.animals.donkey] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - donkeyFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - donkeyAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - donkeyUses = 60 - # - # Does the animal eat rotten food? - donkeyEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - donkeyGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - donkeyChildCount = 1 - - [mechanics.animals.mule] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - muleFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - muleAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - muleUses = 60 - # - # Does the animal eat rotten food? - muleEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - muleGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - muleChildCount = 1 - - [mechanics.animals.horse] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - horseFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - horseAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - horseUses = 60 - # - # Does the animal eat rotten food? - horseEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - horseGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - horseChildCount = 1 - - [mechanics.animals.cat] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - catFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - catAdulthoodDays = 50 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - catUses = 60 - # - # Does the animal eat rotten food? - catEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - catGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - catChildCount = 6 - - [mechanics.animals.dog] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - dogFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - dogAdulthoodDays = 50 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - dogUses = 60 - # - # Does the animal eat rotten food? - dogEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - dogGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - dogChildCount = 2 - - [mechanics.animals.cow] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - cowFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - cowAdulthoodDays = 192 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - cowUses = 128 - # - # Does the animal eat rotten food? - cowEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - cowGestationDays = 58 - # - # Max number of children born - #Range: 0 ~ 100 - cowChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - cowProduceTicks = 24000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - cowMinProduceFamiliarity = 0.15 - - [mechanics.animals.goat] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - goatFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - goatAdulthoodDays = 96 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - goatUses = 60 - # - # Does the animal eat rotten food? - goatEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - goatGestationDays = 32 - # - # Max number of children born - #Range: 0 ~ 100 - goatChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - goatProduceTicks = 72000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - goatMinProduceFamiliarity = 0.15 - - [mechanics.animals.yak] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - yakFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - yakAdulthoodDays = 180 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - yakUses = 230 - # - # Does the animal eat rotten food? - yakEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - yakGestationDays = 64 - # - # Max number of children born - #Range: 0 ~ 100 - yakChildCount = 1 - # - # Ticks until produce is ready - #Range: > 0 - yakProduceTicks = 23500 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - yakMinProduceFamiliarity = 0.15 - - [mechanics.animals.alpaca] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - alpacaFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - alpacaAdulthoodDays = 98 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - alpacaUses = 128 - # - # Does the animal eat rotten food? - alpacaEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - alpacaGestationDays = 36 - # - # Max number of children born - #Range: 0 ~ 100 - alpacaChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - alpacaProduceTicks = 120000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - alpacaMinProduceFamiliarity = 0.15 - - [mechanics.animals.sheep] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - sheepFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - sheepAdulthoodDays = 56 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - sheepUses = 60 - # - # Does the animal eat rotten food? - sheepEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - sheepGestationDays = 32 - # - # Max number of children born - #Range: 0 ~ 100 - sheepChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - sheepProduceTicks = 168000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - sheepMinProduceFamiliarity = 0.15 - - [mechanics.animals.muskOx] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - muskOxFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - muskOxAdulthoodDays = 168 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - muskOxUses = 160 - # - # Does the animal eat rotten food? - muskOxEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - muskOxGestationDays = 64 - # - # Max number of children born - #Range: 0 ~ 100 - muskOxChildCount = 1 - # - # Ticks until produce is ready - #Range: > 0 - muskOxProduceTicks = 96000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - muskOxMinProduceFamiliarity = 0.15 - - [mechanics.animals.chicken] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - chickenFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - chickenAdulthoodDays = 24 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - chickenUses = 100 - # - # Does the animal eat rotten food? - chickenEatsRottenFood = true - # - # Ticks until produce is ready - #Range: > 0 - chickenProduceTicks = 30000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - chickenMinProduceFamiliarity = 0.15 - # - # Ticks until egg is ready to hatch - #Range: > 0 - chickenHatchDays = 8 - - [mechanics.animals.duck] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - duckFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - duckAdulthoodDays = 32 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - duckUses = 72 - # - # Does the animal eat rotten food? - duckEatsRottenFood = false - # - # Ticks until produce is ready - #Range: > 0 - duckProduceTicks = 32000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - duckMinProduceFamiliarity = 0.15 - # - # Ticks until egg is ready to hatch - #Range: > 0 - duckHatchDays = 8 - - [mechanics.animals.quail] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - quailFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - quailAdulthoodDays = 22 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - quailUses = 48 - # - # Does the animal eat rotten food? - quailEatsRottenFood = true - # - # Ticks until produce is ready - #Range: > 0 - quailProduceTicks = 28000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - quailMinProduceFamiliarity = 0.15 - # - # Ticks until egg is ready to hatch - #Range: > 0 - quailHatchDays = 8 - -[weird] - farmlandMakesTheBestRaceTracks = false - From e773d55b09d291aea23fc487d964c08ece6f050d Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 11:58:36 +0700 Subject: [PATCH 061/266] new lumber --- .../assets/tfg/textures/item/crimson_lumber.png | Bin 0 -> 980 bytes kubejs/assets/tfg/textures/item/warped_lumber.png | Bin 0 -> 983 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/tfg/textures/item/crimson_lumber.png create mode 100644 kubejs/assets/tfg/textures/item/warped_lumber.png diff --git a/kubejs/assets/tfg/textures/item/crimson_lumber.png b/kubejs/assets/tfg/textures/item/crimson_lumber.png new file mode 100644 index 0000000000000000000000000000000000000000..078d4dae2893b7110856500d60451fde83234cdb GIT binary patch literal 980 zcmV;_11tQAP)4Tx0C=2zkv&MmKpe$iQ>7x64t9{@kfAzR5EXHhRxE;r(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;qmz@Oin&jJlk{d+ ziyi@?ZQ$a%tI2!7A(Ki)<;agyE&F!tTkJASrM_n!700)P_ zc$u=-J>EUg+uOfqI{p0sAeeH7VmoT%0006DNklA8IUp)2mvL}A>)*II&+KVvCF3- z3cxq}fTCALQ&i5F-6V`SZrC8>lzBP7%%h2`Cn5?!zFrY)`&-z)iyQi=ib5DQDR>ov zR+E+KC7#XR>4+SSkgMB#D(#{x8j*~!bd#8>vs2CE1Rf8@udp(`^apYTY#r{4bR|zc zY~Y3sT2Vw?GcYxSqE|%-cs_TR7nknIjsQT=3i({xBd!@VqZUF4EIkImmr{oH!VZro zuN@ob81S+9T{wY9pvYOrK`1S{y*4>C1nbqY000004Tx0C=2zkv&MmKpe$iQ>7x64t9{@kfAzR5EXHhRxE;r(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;qmz@Oin&jJlk{d+ ziyi@?ZQ$a%tI2!7A(Ki)<;agyE&F!tTkJASrM_n!700)P_ zc$u=-J>EUg+uOfqI{p0sAeeH7VmoT%0006GNklOu*9k--IBARhVv+vGlMGHhm;VF+R9%-~v;%~|&F874QVhR($@vHO zPel}fQhWn9mq*bwf*tMX;V`~!Q%P+x{$`H;CzB^43V@Tz2A z*(^2BV`%yXBQvjCB8?Ut%c8KlilXbtdL7*~Q4NDqGKpU!q@5!`e&wt1$`$sqIds#+t5lFuB2*P48pXG5ir;_W77E0!T$XV7k(y&~Z{rUQ zq8$QN$3YDQC~YLjep$q~ZK&5d)71qm9|v-aOX6(b1=-fygAs|~mCK~(7jUc$dN@pU z_!5eyky~1(+we2smpTi+EpopKxi82`GuBu4*(r@-vM_p^Pm6#002ovPDHLk FV1mn7(Ix-@ literal 0 HcmV?d00001 From 28293af13066395d952bd5b5ccd8f226853021fd Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 12:01:20 +0700 Subject: [PATCH 062/266] funniest recipes ever --- kubejs/server_scripts/gregtech/tags.js | 14 + kubejs/server_scripts/main_server_script.js | 6 +- kubejs/server_scripts/minecraft/recipes.js | 509 ++++++- kubejs/server_scripts/minecraft/tags.js | 29 +- .../startup_scripts/gregtech/material_info.js | 2 +- kubejs/startup_scripts/main_startup_script.js | 1 + kubejs/startup_scripts/minecraft/constants.js | 1252 +++++++++-------- kubejs/startup_scripts/minecraft/items.js | 6 + 8 files changed, 1154 insertions(+), 665 deletions(-) create mode 100644 kubejs/startup_scripts/minecraft/items.js diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 19d180766..3b58a9079 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -69,6 +69,20 @@ const registerGregTechItemTags = (event) => { event.add('tfg:stone_dusts', 'gtceu:stone_dust') //#endregion + //#region Объединение некоторых предметов из WroughtIron и Iron в один тег + event.add('tfg:all_iron_screws', 'gtceu:iron_screw') + event.add('tfg:all_iron_screws', 'gtceu:wrought_iron_screw') + + event.add('tfg:all_iron_rings', 'gtceu:iron_ring') + event.add('tfg:all_iron_rings', 'gtceu:wrought_iron_ring') + + event.add('tfg:all_iron_bolts', 'gtceu:iron_bolt') + event.add('tfg:all_iron_bolts', 'gtceu:wrought_iron_bolt') + + event.add('tfg:all_iron_springs', 'gtceu:iron_spring') + event.add('tfg:all_iron_springs', 'gtceu:wrought_iron_spring') + //#endregion + //#region Скрываем все руды (не используем #forge:ores, потому что будет пересечение) event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/red_granite') //todo: может его удалить? event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/marble') diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 2dcc8450c..c398d71b5 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -17,7 +17,7 @@ ServerEvents.tags('item', event => { // registerFTBQuestsItemTags(event) registerGregTechItemTags(event) // registerMegaCellsItemTags(event) - // registerMinecraftItemTags(event) + registerMinecraftItemTags(event) // registerMoreRedItemTags(event) // registerHotOrNotItemTags(event) // registerRailWaysItemTags(event) @@ -42,7 +42,7 @@ ServerEvents.tags('block', event => { // registerFTBQuestsBlockTags(event) registerGregTechBlockTags(event) // registerMegaCellsBlockTags(event) - // registerMinecraftBlockTags(event) + registerMinecraftBlockTags(event) // registerMoreRedBlockTags(event) // registerHotOrNotBlockTags(event) // registerRailWaysBlockTags(event) @@ -121,7 +121,7 @@ ServerEvents.recipes(event => { // registerHotOrNotRecipes(event) // registerMegaCellsRecipes(event) // registerMERequesterRecipes(event) - // registerMinecraftRecipes(event) + registerMinecraftRecipes(event) // registerMoreRedRecipes(event) // registerRailWaysRecipes(event) // registerSophisticatedBackpacksRecipes(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index b7d88551b..1f0e6b800 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1,6 +1,483 @@ // priority: 0 -const registerMinecraftRecipes = (event) => { +const registerMinecraftRecipes = (e) => { + + //#region Дерево + + //#region Дерево обычного мира + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(wood => { + + // Wood + e.remove({ id: `minecraft:${wood}_wood` }) + + // Stripped Log + e.remove({ id: `create:cutting/${wood}_log` }) + + // Stripped Wood + e.remove({ id: `minecraft:stripped_${wood}_wood` }) + e.remove({ id: `create:cutting/${wood}_wood` }) + + // Planks + e.remove({ id: `gtceu:shapeless/${wood}_planks` }) + e.remove({ id: `gtceu:shaped/${wood}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${wood}_planks_water` }) + e.remove({ id: `gtceu:cutter/${wood}_planks` }) + e.remove({ id: `gtceu:cutter/${wood}_planks_distilled_water` }) + e.remove({ id: `create:cutting/stripped_${wood}_wood` }) + e.remove({ id: `create:cutting/stripped_${wood}_log` }) + + // Stairs + e.remove({ id: `minecraft:${wood}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${wood}_stairs_from_${wood}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${wood}_stairs` }) + + // Slabs + e.remove({ id: `gtceu:shaped/${wood}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${wood}_slab_from_${wood}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${wood}_slab` }) + e.remove({ id: `gtceu:cutter/${wood}_slab_distilled_water` }) + e.remove({ id: `gtceu:cutter/${wood}_slab_water` }) + + // Fence + e.remove({ id: `gtceu:shaped/${wood}_fence` }) + e.remove({ id: `gtceu:assembler/${wood}_fence` }) + + // Fence Gate + e.remove({ id: `gtceu:shaped/${wood}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${wood}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${wood}_fence_gate` }) + + // Door + e.remove({ id: `gtceu:shaped/${wood}_door` }) + e.remove({ id: `gtceu:assembler/${wood}_door` }) + + // Trapdoor + e.remove({ id: `minecraft:${wood}_trapdoor` }) + + // Pressure Plate + e.remove({ id: `gtceu:shaped/${wood}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${wood}_pressure_plate` }) + + // Button + e.remove({ id: `gtceu:shaped/${wood}_button` }) + e.remove({ id: `gtceu:cutter/${wood}_button` }) + e.remove({ id: `gtceu:cutter/${wood}_button_distilled_water` }) + e.remove({ id: `gtceu:cutter/${wood}_button_water` }) + + // Sign + e.remove({ id: `minecraft:${wood}_sign` }) + e.remove({ id: `gtceu:assembler/${wood}_sign` }) + + // Hanging Sign + e.remove({ id: `minecraft:${wood}_hanging_sign` }) + e.remove({ id: `gtceu:assembler/${wood}_hanging_sign` }) + + // Boat + e.remove({ id: `gtceu:shaped/${wood}_boat` }) + e.remove({ id: `gtceu:assembler/${wood}_boat` }) + + // Boat with chest + e.remove({ id: `gtceu:shaped/${wood}_chest_boat` }) + e.remove({ id: `gtceu:assembler/${wood}_chest_boat` }) + }) + //#endregion + + //#region Дерево ада + global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + + //#region Удаление + + // Planks + e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) + e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) + + // Stairs + e.remove({ id: `minecraft:${woodName}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) + + // Slabs + e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + + // Fence + e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence` }) + + // Fence Gate + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) + + // Door + e.remove({ id: `gtceu:shaped/${woodName}_door` }) + e.remove({ id: `gtceu:assembler/${woodName}_door` }) + + // Trapdoor + e.remove({ id: `minecraft:${woodName}_trapdoor` }) + + // Pressure Plate + e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) + + // Button + // e.remove({ id: `gtceu:shaped/${wood}_button` }) + // e.remove({ id: `gtceu:cutter/${wood}_button_water` }) + // e.remove({ id: `gtceu:cutter/${wood}_button` }) + // e.remove({ id: `gtceu:cutter/${wood}_button_distilled_water` }) + + // Sign + e.remove({ id: `minecraft:${wood}_sign` }) + e.remove({ id: `gtceu:assembler/${wood}_sign` }) + + //#endregion + + //#region Добавление + const allLogs = `#minecraft:${woodName}_stems` + + const log = Item.of(`minecraft:${woodName}_stem`); + const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) + + const wood = Item.of(`minecraft:${woodName}_hyphae`) + const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) + + const plank = Item.of(`minecraft:${woodName}_planks`) + const stair = Item.of(`minecraft:${woodName}_stairs`) + const slab = Item.of(`minecraft:${woodName}_slab`) + + const fence = Item.of(`minecraft:${woodName}_fence`) + const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) + + const door = Item.of(`minecraft:${woodName}_door`) + const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + + const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + // const button = Item.of(`minecraft:${woodName}_button`) + + const sign = Item.of(`minecraft:${woodName}_sign`) + const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + + const lumber = Item.of(`tfg:${woodName}_lumber`) + + //#region Stripped Log + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) + .itemInputs(log) + .circuit(0) + .itemOutputs(strippedLog) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Stripped Wood + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) + .itemInputs(wood) + .circuit(0) + .itemOutputs(strippedWood) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Planks + e.shaped(plank, [ + 'AA', + 'AA' + ], { + A: lumber + }).id(`tfg:${woodName}_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) + .itemInputs(allLogs) + .circuit(1) + .itemOutputs(plank.copyWithCount(6)) + .itemOutputs('2x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Stairs + e.shaped(stair, [ + 'As' + ], { + A: allLogs, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_stairs_saw`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) + .itemInputs(allLogs) + .circuit(2) + .itemOutputs(stair.copyWithCount(12)) + .itemOutputs('12x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) + .itemInputs(plank) + .circuit(0) + .itemOutputs(stair) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Slabs + e.shaped(slab.copyWithCount(2), [ + 's', + 'A' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_slabs_saw`) + + e.shaped(slab, [ + 'LL' + ], { + L: lumber + }).id(`tfg:${woodName}_slabs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) + .itemInputs(allLogs) + .circuit(3) + .itemOutputs(slab.copyWithCount(24)) + .itemOutputs('24x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) + .itemInputs(plank) + .circuit(1) + .itemOutputs(slab.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Fence + e.shaped(fence.copyWithCount(8), [ + 'h s', + 'ABA', + 'ACA' + ], { + A: plank, + B: '#forge:rods/wooden', + C: lumber, + h: '#forge:tools/hammers', + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_fence`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + .itemInputs(plank) + .circuit(2) + .itemOutputs(fence.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Fence Gate + e.shaped(fenceGate, [ + 'A A', + 'BCB', + 'DCD' + ], { + A: 'minecraft:flint', + B: '#forge:rods/wooden', + C: plank, + D: lumber + }).id(`tfg:${woodName}_fence_gate_flint`) + + e.shaped(fenceGate.copyWithCount(2), [ + 'AEA', + 'BCB', + 'DCD' + ], { + A: '#forge:screws', + B: '#forge:rods/wooden', + C: plank, + D: lumber, + E: '#forge:tools/screwdrivers' + }).id(`tfg:${woodName}_fence_gate_screws`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) + .itemInputs(plank.copyWithCount(2)) + .itemInputs('2x #forge:rods/wooden') + .circuit(3) + .itemOutputs(fenceGate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Door + e.shaped(door, [ + 'ABd', + 'ACD', + 'AAs' + ], { + A: lumber, + B: trapdoor, + C: '#forge:rings', + D: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:${woodName}_door`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_door`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs(trapdoor) + .inputFluids(Fluid.of('gtceu:iron', 16)) + .circuit(0) + .itemOutputs(door) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Trapdoor + e.shaped(trapdoor, [ + 'ABd', + 'ACs' + ], { + A: lumber, + B: '#forge:rings', + C: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:${woodName}_trapdoor`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) + .itemInputs(lumber.copyWithCount(2)) + .inputFluids(Fluid.of('gtceu:iron', 16)) + .circuit(0) + .itemOutputs(trapdoor) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Pressure Plate + e.shaped(pressurePlate.copyWithCount(2), [ + 'AmA', + 'BCB', + 'AdA' + ], { + A: 'gtceu:wood_bolt', + B: slab, + C: '#tfg:all_iron_springs', + m: '#forge:tools/mallets', + d: '#forge:tools/screwdrivers' + }).id(`tfg:${woodName}_pressure_plate`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) + .itemInputs(slab.copyWithCount(2)) + .itemInputs('#tfg:all_iron_springs') + .circuit(0) + .itemOutputs(pressurePlate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Lumber + + //#region Из бревен + e.shaped(lumber.copyWithCount(8), [ + 'A', + 's' + ], { + A: allLogs, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_planks_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(12).withChance(0.95), allLogs) + .id(`tfg:${woodName}_lumber_from_planks_cutting`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_planks`) + .itemInputs(allLogs) + .circuit(4) + .itemOutputs(lumber.copyWithCount(16)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из ступенек + e.shaped(lumber.copyWithCount(3), [ + 'A', + 's' + ], { + A: stair, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_stairs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(3).withChance(0.95), stair) + .id(`tfg:${woodName}_lumber_from_stairs_cutting`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_stairs`) + .itemInputs(stair) + .circuit(4) + .itemOutputs(lumber.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из полублоков + e.shaped(lumber.copyWithCount(2), [ + 'A', + 's' + ], { + A: slab, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_slab_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(2).withChance(0.95), slab) + .id(`tfg:${woodName}_lumber_from_slab_cutting`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_slab`) + .itemInputs(slab) + .circuit(4) + .itemOutputs(lumber.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Табличка + e.shaped(sign.copyWithCount(3), [ + 'AAA', + 'AAA', + 'mB ' + ], { + A: lumber, + B: '#forge:rods/wooden', + m: '#forge:tools/mallets' + }).id(`tfg:${woodName}_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) + .itemInputs(lumber.copyWithCount(6)) + .circuit(3) + .itemOutputs(sign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Висящая табличка + e.shaped(hangingSign.copyWithCount(3), [ + 'AmA', + 'CBC', + 'BBB' + ], { + A: '#tfg:metal_chains', + B: lumber, + C: '#forge:screws', + m: '#forge:tools/mallets' + }).id(`tfg:${woodName}_hanging_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs('2x #tfg:metal_chains') + .inputFluids(Fluid.of('gtceu:iron', 32)) + .circuit(4) + .itemOutputs(hangingSign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + }) + //#endregion + + //#endregion +} + +const registerMinecraftRecipes1 = (event) => { //#region Выход: Камень @@ -914,37 +1391,7 @@ const registerMinecraftRecipes = (event) => { //#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 Выход: Камнерез diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 596f3af33..9502ce007 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -2,27 +2,30 @@ const registerMinecraftItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) + // event.removeAllTagsFrom(item) + // event.add('c:hidden_from_recipe_viewers', item) }) - global.MINECRAFT_HIDED_ITEMS.forEach(item => { - event.add('c:hidden_from_recipe_viewers', item) - }) + // global.MINECRAFT_HIDED_ITEMS.forEach(item => { + // event.add('c:hidden_from_recipe_viewers', item) + // }) - // Теперь обсидиан сторадж блок - event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + event.add('tfc:lumber', 'tfg:crimson_lumber') + event.add('tfc:lumber', 'tfg:warped_lumber') - // Бамбуковые полублоки - event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') - event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') + // // Теперь обсидиан сторадж блок + // 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') } const registerMinecraftBlockTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) + // event.removeAllTagsFrom(item) }) - // Теперь обсидиан сторадж блок - event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + // // Теперь обсидиан сторадж блок + // event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') } \ No newline at end of file diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index 2c864c2d0..a3063cb32 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -3,7 +3,7 @@ const registerGregTechMaterialInfo = (event) => { //#region Дерево - global.VANILLA_WOOD_TYPES.forEach(woodType => { + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodType => { // event.remove(`minecraft:${woodType}_planks`) // event.remove(`minecraft:${woodType}_stairs`) // event.remove(`minecraft:${woodType}_slab`) diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index a52cbe931..caae33c19 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -5,6 +5,7 @@ */ StartupEvents.registry('item', event => { registerGregTechItems(event) + registerMinecraftItems(event) }) /** diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 329cfd31d..247a66c0f 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -5,192 +5,10 @@ * у которых должны быть удалены тэги и они должны быть скрыты в REI. */ global.MINECRAFT_DISABLED_ITEMS = [ - // Зараженные блоки - 'minecraft:infested_stone', - 'minecraft:infested_cobblestone', - 'minecraft:infested_stone_bricks', - 'minecraft:infested_mossy_stone_bricks', - 'minecraft:infested_cracked_stone_bricks', - 'minecraft:infested_chiseled_stone_bricks', - 'minecraft:infested_deepslate', - - // Каменные блоки - 'minecraft:stone', - 'minecraft:stone_stairs', - 'minecraft:stone_slab', - 'minecraft:stone_pressure_plate', - 'minecraft:stone_button', - 'minecraft:smooth_stone', - 'minecraft:smooth_stone_slab', - 'minecraft:cobblestone', - 'minecraft:cobblestone_stairs', - 'minecraft:cobblestone_slab', - 'minecraft:cobblestone_wall', - 'minecraft:stone_bricks', - 'minecraft:stone_brick_stairs', - 'minecraft:stone_brick_slab', - 'minecraft:stone_brick_wall', - 'minecraft:cracked_stone_bricks', - 'minecraft:chiseled_stone_bricks', - 'minecraft:mossy_stone_bricks', - 'minecraft:mossy_stone_brick_stairs', - 'minecraft:mossy_stone_brick_slab', - 'minecraft:mossy_stone_brick_wall', - 'minecraft:mossy_cobblestone', - 'minecraft:mossy_cobblestone_stairs', - 'minecraft:mossy_cobblestone_slab', - 'minecraft:mossy_cobblestone_wall', - - // Гранитовые блоки - 'minecraft:granite', - 'minecraft:granite_stairs', - 'minecraft:granite_slab', - 'minecraft:granite_wall', - 'minecraft:polished_granite', - 'minecraft:polished_granite_stairs', - 'minecraft:polished_granite_slab', - // Диоритовые блоки - 'minecraft:diorite', - 'minecraft:diorite_stairs', - 'minecraft:diorite_slab', - 'minecraft:diorite_wall', - 'minecraft:polished_diorite', - 'minecraft:polished_diorite_stairs', - 'minecraft:polished_diorite_slab', - - // Андезитовые блоки - 'minecraft:andesite', - 'minecraft:andesite_stairs', - 'minecraft:andesite_slab', - 'minecraft:andesite_wall', - 'minecraft:polished_andesite', - 'minecraft:polished_andesite_stairs', - 'minecraft:polished_andesite_slab', + //#region Дерево - // Призмарин - 'minecraft:prismarine', - 'minecraft:prismarine_stairs', - 'minecraft:prismarine_slab', - 'minecraft:prismarine_wall', - 'minecraft:prismarine_bricks', - 'minecraft:prismarine_brick_stairs', - 'minecraft:prismarine_brick_slab', - 'minecraft:dark_prismarine', - 'minecraft:dark_prismarine_stairs', - 'minecraft:dark_prismarine_slab', - 'minecraft:prismarine_crystals', - 'minecraft:prismarine_shard', - - // Эндстоун - 'minecraft:end_stone', - 'minecraft:end_stone_bricks', - 'minecraft:end_stone_brick_stairs', - 'minecraft:end_stone_brick_slab', - 'minecraft:end_stone_brick_wall', - - // Сланец - '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', - - // Грязь - 'minecraft:mud_brick_wall', - 'minecraft:packed_mud', - 'minecraft:mud_bricks', - 'minecraft:mud_brick_stairs', - 'minecraft:mud_brick_slab', - - // Руды - 'minecraft:coal_ore', - 'minecraft:iron_ore', - 'minecraft:copper_ore', - 'minecraft:gold_ore', - 'minecraft:redstone_ore', - 'minecraft:emerald_ore', - 'minecraft:lapis_ore', - 'minecraft:diamond_ore', - 'minecraft:deepslate_coal_ore', - 'minecraft:deepslate_iron_ore', - 'minecraft:deepslate_copper_ore', - 'minecraft:deepslate_gold_ore', - 'minecraft:deepslate_redstone_ore', - 'minecraft:deepslate_emerald_ore', - 'minecraft:deepslate_lapis_ore', - 'minecraft:deepslate_diamond_ore', - 'minecraft:nether_gold_ore', - 'minecraft:nether_quartz_ore', - 'minecraft:ancient_debris', - - // Песок - 'minecraft:sandstone', - 'minecraft:sandstone_stairs', - 'minecraft:sandstone_slab', - 'minecraft:sandstone_wall', - 'minecraft:smooth_sandstone', - 'minecraft:smooth_sandstone_stairs', - 'minecraft:smooth_sandstone_slab', - 'minecraft:cut_sandstone', - 'minecraft:cut_sandstone_slab', - 'minecraft:chiseled_sandstone', - 'minecraft:sand', - 'minecraft:suspicious_sand', - - // Красный песок - 'minecraft:red_sandstone', - 'minecraft:red_sandstone_stairs', - 'minecraft:red_sandstone_slab', - 'minecraft:red_sandstone_wall', - 'minecraft:smooth_red_sandstone', - 'minecraft:smooth_red_sandstone_stairs', - 'minecraft:smooth_red_sandstone_slab', - 'minecraft:cut_red_sandstone', - 'minecraft:cut_red_sandstone_slab', - 'minecraft:chiseled_red_sandstone', - 'minecraft:red_sand', - - // Кораллы - 'minecraft:horn_coral', - 'minecraft:horn_coral_fan', - 'minecraft:dead_brain_coral', - 'minecraft:dead_brain_coral_fan', - 'minecraft:dead_tube_coral_fan', - 'minecraft:dead_bubble_coral', - 'minecraft:dead_fire_coral', - 'minecraft:dead_horn_coral', - 'minecraft:dead_bubble_coral_fan', - 'minecraft:dead_fire_coral_fan', - 'minecraft:dead_tube_coral', - 'minecraft:brain_coral', - 'minecraft:tube_coral', - 'minecraft:tube_coral_fan', - 'minecraft:dead_horn_coral_fan', - 'minecraft:bubble_coral_fan', - 'minecraft:fire_coral_fan', - 'minecraft:brain_coral_fan', - 'minecraft:bubble_coral', - 'minecraft:fire_coral', - - // Дерево - // Дуб + //#region Дуб "minecraft:oak_wood", "minecraft:oak_leaves", "minecraft:oak_sapling", @@ -211,8 +29,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:oak_sign", "minecraft:oak_hanging_sign", "minecraft:oak_button", + //#endregion - // Темный дуб + //#region Темный дуб "minecraft:dark_oak_planks", "minecraft:dark_oak_sapling", "minecraft:dark_oak_log", @@ -232,8 +51,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:dark_oak_chest_boat", "minecraft:dark_oak_sign", "minecraft:dark_oak_hanging_sign", - - // Акация + //#endregion + + //#region Акация "minecraft:acacia_planks", "minecraft:acacia_sapling", "minecraft:acacia_log", @@ -253,8 +73,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:acacia_chest_boat", "minecraft:acacia_sign", "minecraft:acacia_hanging_sign", + //#endregion - // Береза + //#region Береза "minecraft:birch_planks", "minecraft:birch_sapling", "minecraft:birch_log", @@ -274,8 +95,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:birch_chest_boat", "minecraft:birch_sign", "minecraft:birch_hanging_sign", + //#endregion - // Тропическое + //#region Тропическое "minecraft:jungle_planks", "minecraft:jungle_sapling", "minecraft:jungle_log", @@ -295,8 +117,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:jungle_chest_boat", "minecraft:jungle_sign", "minecraft:jungle_hanging_sign", + //#endregion - // Ель + //#region Ель "minecraft:spruce_planks", "minecraft:spruce_sapling", "minecraft:spruce_log", @@ -316,8 +139,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:spruce_chest_boat", "minecraft:spruce_sign", "minecraft:spruce_hanging_sign", + //#endregion - // Вишня + //#region Вишня "minecraft:cherry_planks", "minecraft:cherry_sapling", "minecraft:cherry_log", @@ -337,8 +161,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:cherry_chest_boat", "minecraft:cherry_sign", "minecraft:cherry_hanging_sign", + //#endregion - // Мангровое + //#region Мангровое "minecraft:mangrove_planks", "minecraft:mangrove_propagule", "minecraft:mangrove_log", @@ -360,470 +185,658 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:mangrove_chest_boat", "minecraft:mangrove_sign", "minecraft:mangrove_hanging_sign", + //#endregion + + //#endregion + + + // Зараженные блоки + // 'minecraft:infested_stone', + // 'minecraft:infested_cobblestone', + // 'minecraft:infested_stone_bricks', + // 'minecraft:infested_mossy_stone_bricks', + // 'minecraft:infested_cracked_stone_bricks', + // 'minecraft:infested_chiseled_stone_bricks', + // 'minecraft:infested_deepslate', + + // Каменные блоки + // 'minecraft:stone', + // 'minecraft:stone_stairs', + // 'minecraft:stone_slab', + // 'minecraft:stone_pressure_plate', + // 'minecraft:stone_button', + // 'minecraft:smooth_stone', + // 'minecraft:smooth_stone_slab', + // 'minecraft:cobblestone', + // 'minecraft:cobblestone_stairs', + // 'minecraft:cobblestone_slab', + // 'minecraft:cobblestone_wall', + // 'minecraft:stone_bricks', + // 'minecraft:stone_brick_stairs', + // 'minecraft:stone_brick_slab', + // 'minecraft:stone_brick_wall', + // 'minecraft:cracked_stone_bricks', + // 'minecraft:chiseled_stone_bricks', + // 'minecraft:mossy_stone_bricks', + // 'minecraft:mossy_stone_brick_stairs', + // 'minecraft:mossy_stone_brick_slab', + // 'minecraft:mossy_stone_brick_wall', + // 'minecraft:mossy_cobblestone', + // 'minecraft:mossy_cobblestone_stairs', + // 'minecraft:mossy_cobblestone_slab', + // 'minecraft:mossy_cobblestone_wall', + + // Гранитовые блоки + // 'minecraft:granite', + // 'minecraft:granite_stairs', + // 'minecraft:granite_slab', + // 'minecraft:granite_wall', + // 'minecraft:polished_granite', + // 'minecraft:polished_granite_stairs', + // 'minecraft:polished_granite_slab', + + // Диоритовые блоки + // 'minecraft:diorite', + // 'minecraft:diorite_stairs', + // 'minecraft:diorite_slab', + // 'minecraft:diorite_wall', + // 'minecraft:polished_diorite', + // 'minecraft:polished_diorite_stairs', + // 'minecraft:polished_diorite_slab', + + // Андезитовые блоки + // 'minecraft:andesite', + // 'minecraft:andesite_stairs', + // 'minecraft:andesite_slab', + // 'minecraft:andesite_wall', + // 'minecraft:polished_andesite', + // 'minecraft:polished_andesite_stairs', + // 'minecraft:polished_andesite_slab', + + // Призмарин + // 'minecraft:prismarine', + // 'minecraft:prismarine_stairs', + // 'minecraft:prismarine_slab', + // 'minecraft:prismarine_wall', + // 'minecraft:prismarine_bricks', + // 'minecraft:prismarine_brick_stairs', + // 'minecraft:prismarine_brick_slab', + // 'minecraft:dark_prismarine', + // 'minecraft:dark_prismarine_stairs', + // 'minecraft:dark_prismarine_slab', + // 'minecraft:prismarine_crystals', + // 'minecraft:prismarine_shard', + + // Эндстоун + // 'minecraft:end_stone', + // 'minecraft:end_stone_bricks', + // 'minecraft:end_stone_brick_stairs', + // 'minecraft:end_stone_brick_slab', + // 'minecraft:end_stone_brick_wall', + + // Сланец + // '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', + + // Грязь + // 'minecraft:mud_brick_wall', + // 'minecraft:packed_mud', + // 'minecraft:mud_bricks', + // 'minecraft:mud_brick_stairs', + // 'minecraft:mud_brick_slab', + + // Руды + // 'minecraft:coal_ore', + // 'minecraft:iron_ore', + // 'minecraft:copper_ore', + // 'minecraft:gold_ore', + // 'minecraft:redstone_ore', + // 'minecraft:emerald_ore', + // 'minecraft:lapis_ore', + // 'minecraft:diamond_ore', + // 'minecraft:deepslate_coal_ore', + // 'minecraft:deepslate_iron_ore', + // 'minecraft:deepslate_copper_ore', + // 'minecraft:deepslate_gold_ore', + // 'minecraft:deepslate_redstone_ore', + // 'minecraft:deepslate_emerald_ore', + // 'minecraft:deepslate_lapis_ore', + // 'minecraft:deepslate_diamond_ore', + // 'minecraft:nether_gold_ore', + // 'minecraft:nether_quartz_ore', + // 'minecraft:ancient_debris', + + // Песок + // 'minecraft:sandstone', + // 'minecraft:sandstone_stairs', + // 'minecraft:sandstone_slab', + // 'minecraft:sandstone_wall', + // 'minecraft:smooth_sandstone', + // 'minecraft:smooth_sandstone_stairs', + // 'minecraft:smooth_sandstone_slab', + // 'minecraft:cut_sandstone', + // 'minecraft:cut_sandstone_slab', + // 'minecraft:chiseled_sandstone', + // 'minecraft:sand', + // 'minecraft:suspicious_sand', + + // Красный песок + // 'minecraft:red_sandstone', + // 'minecraft:red_sandstone_stairs', + // 'minecraft:red_sandstone_slab', + // 'minecraft:red_sandstone_wall', + // 'minecraft:smooth_red_sandstone', + // 'minecraft:smooth_red_sandstone_stairs', + // 'minecraft:smooth_red_sandstone_slab', + // 'minecraft:cut_red_sandstone', + // 'minecraft:cut_red_sandstone_slab', + // 'minecraft:chiseled_red_sandstone', + // 'minecraft:red_sand', + + // Кораллы + // 'minecraft:horn_coral', + // 'minecraft:horn_coral_fan', + // 'minecraft:dead_brain_coral', + // 'minecraft:dead_brain_coral_fan', + // 'minecraft:dead_tube_coral_fan', + // 'minecraft:dead_bubble_coral', + // 'minecraft:dead_fire_coral', + // 'minecraft:dead_horn_coral', + // 'minecraft:dead_bubble_coral_fan', + // 'minecraft:dead_fire_coral_fan', + // 'minecraft:dead_tube_coral', + // 'minecraft:brain_coral', + // 'minecraft:tube_coral', + // 'minecraft:tube_coral_fan', + // 'minecraft:dead_horn_coral_fan', + // 'minecraft:bubble_coral_fan', + // 'minecraft:fire_coral_fan', + // 'minecraft:brain_coral_fan', + // 'minecraft:bubble_coral', + // 'minecraft:fire_coral', // Бамбук - 'minecraft:bamboo_sign', - 'minecraft:bamboo_hanging_sign', - 'minecraft:bamboo_raft', - 'minecraft:bamboo_chest_raft', + // 'minecraft:bamboo_sign', + // 'minecraft:bamboo_hanging_sign', + // 'minecraft:bamboo_raft', + // 'minecraft:bamboo_chest_raft', // Шалкеры - 'minecraft:shulker_box', - 'minecraft:white_shulker_box', - 'minecraft:orange_shulker_box', - 'minecraft:magenta_shulker_box', - 'minecraft:light_blue_shulker_box', - 'minecraft:yellow_shulker_box', - 'minecraft:lime_shulker_box', - 'minecraft:pink_shulker_box', - 'minecraft:gray_shulker_box', - 'minecraft:light_gray_shulker_box', - 'minecraft:cyan_shulker_box', - 'minecraft:purple_shulker_box', - 'minecraft:blue_shulker_box', - 'minecraft:brown_shulker_box', - 'minecraft:green_shulker_box', - 'minecraft:red_shulker_box', - 'minecraft:black_shulker_box', + // 'minecraft:shulker_box', + // 'minecraft:white_shulker_box', + // 'minecraft:orange_shulker_box', + // 'minecraft:magenta_shulker_box', + // 'minecraft:light_blue_shulker_box', + // 'minecraft:yellow_shulker_box', + // 'minecraft:lime_shulker_box', + // 'minecraft:pink_shulker_box', + // 'minecraft:gray_shulker_box', + // 'minecraft:light_gray_shulker_box', + // 'minecraft:cyan_shulker_box', + // 'minecraft:purple_shulker_box', + // 'minecraft:blue_shulker_box', + // 'minecraft:brown_shulker_box', + // 'minecraft:green_shulker_box', + // 'minecraft:red_shulker_box', + // 'minecraft:black_shulker_box', // Мясо - 'minecraft:porkchop', - 'minecraft:chicken', - 'minecraft:mutton', - 'minecraft:rabbit', - 'minecraft:beef', - 'minecraft:cooked_porkchop', - 'minecraft:cooked_chicken', - 'minecraft:cooked_mutton', - 'minecraft:cooked_rabbit', - 'minecraft:cooked_beef', + // 'minecraft:porkchop', + // 'minecraft:chicken', + // 'minecraft:mutton', + // 'minecraft:rabbit', + // 'minecraft:beef', + // 'minecraft:cooked_porkchop', + // 'minecraft:cooked_chicken', + // 'minecraft:cooked_mutton', + // 'minecraft:cooked_rabbit', + // 'minecraft:cooked_beef', // Семена - 'minecraft:wheat_seeds', - 'minecraft:pumpkin_seeds', - 'minecraft:melon_seeds', - 'minecraft:torchflower_seeds', - 'minecraft:beetroot_seeds', + // 'minecraft:wheat_seeds', + // 'minecraft:pumpkin_seeds', + // 'minecraft:melon_seeds', + // 'minecraft:torchflower_seeds', + // 'minecraft:beetroot_seeds', // Инструменты - "minecraft:wooden_sword", - "minecraft:wooden_pickaxe", - "minecraft:wooden_axe", - "minecraft:wooden_shovel", - "minecraft:wooden_hoe", + // "minecraft:wooden_sword", + // "minecraft:wooden_pickaxe", + // "minecraft:wooden_axe", + // "minecraft:wooden_shovel", + // "minecraft:wooden_hoe", - "minecraft:stone_sword", - "minecraft:stone_pickaxe", - "minecraft:stone_axe", - "minecraft:stone_shovel", - "minecraft:stone_hoe", + // "minecraft:stone_sword", + // "minecraft:stone_pickaxe", + // "minecraft:stone_axe", + // "minecraft:stone_shovel", + // "minecraft:stone_hoe", - "minecraft:iron_sword", - "minecraft:iron_pickaxe", - "minecraft:iron_axe", - "minecraft:iron_shovel", - "minecraft:iron_hoe", + // "minecraft:iron_sword", + // "minecraft:iron_pickaxe", + // "minecraft:iron_axe", + // "minecraft:iron_shovel", + // "minecraft:iron_hoe", - "minecraft:golden_sword", - "minecraft:golden_pickaxe", - "minecraft:golden_axe", - "minecraft:golden_shovel", - "minecraft:golden_hoe", + // "minecraft:golden_sword", + // "minecraft:golden_pickaxe", + // "minecraft:golden_axe", + // "minecraft:golden_shovel", + // "minecraft:golden_hoe", - "minecraft:diamond_sword", - "minecraft:diamond_pickaxe", - "minecraft:diamond_axe", - "minecraft:diamond_shovel", - "minecraft:diamond_hoe", + // "minecraft:diamond_sword", + // "minecraft:diamond_pickaxe", + // "minecraft:diamond_axe", + // "minecraft:diamond_shovel", + // "minecraft:diamond_hoe", - "minecraft:netherite_sword", - "minecraft:netherite_pickaxe", - "minecraft:netherite_axe", - "minecraft:netherite_shovel", - "minecraft:netherite_hoe", + // "minecraft:netherite_sword", + // "minecraft:netherite_pickaxe", + // "minecraft:netherite_axe", + // "minecraft:netherite_shovel", + // "minecraft:netherite_hoe", // Броня - "minecraft:netherite_helmet", - "minecraft:netherite_chestplate", - "minecraft:netherite_leggings", - "minecraft:netherite_boots", - "minecraft:golden_helmet", - "minecraft:golden_chestplate", - "minecraft:golden_leggings", - "minecraft:golden_boots", - "minecraft:iron_helmet", - "minecraft:iron_chestplate", - "minecraft:iron_leggings", - "minecraft:iron_boots", - "minecraft:chainmail_helmet", - "minecraft:chainmail_chestplate", - "minecraft:chainmail_leggings", - "minecraft:chainmail_boots", - "minecraft:diamond_helmet", - "minecraft:diamond_chestplate", - "minecraft:diamond_leggings", - "minecraft:diamond_boots", + // "minecraft:netherite_helmet", + // "minecraft:netherite_chestplate", + // "minecraft:netherite_leggings", + // "minecraft:netherite_boots", + // "minecraft:golden_helmet", + // "minecraft:golden_chestplate", + // "minecraft:golden_leggings", + // "minecraft:golden_boots", + // "minecraft:iron_helmet", + // "minecraft:iron_chestplate", + // "minecraft:iron_leggings", + // "minecraft:iron_boots", + // "minecraft:chainmail_helmet", + // "minecraft:chainmail_chestplate", + // "minecraft:chainmail_leggings", + // "minecraft:chainmail_boots", + // "minecraft:diamond_helmet", + // "minecraft:diamond_chestplate", + // "minecraft:diamond_leggings", + // "minecraft:diamond_boots", - "minecraft:iron_horse_armor", - "minecraft:golden_horse_armor", - "minecraft:diamond_horse_armor", + // "minecraft:iron_horse_armor", + // "minecraft:golden_horse_armor", + // "minecraft:diamond_horse_armor", // Декоративные куски вазы - 'minecraft:danger_pottery_sherd', - 'minecraft:explorer_pottery_sherd', - 'minecraft:friend_pottery_sherd', - 'minecraft:heart_pottery_sherd', - 'minecraft:heartbreak_pottery_sherd', - 'minecraft:howl_pottery_sherd', - 'minecraft:arms_up_pottery_sherd', - 'minecraft:archer_pottery_sherd', - 'minecraft:angler_pottery_sherd', - 'minecraft:snort_pottery_sherd', - 'minecraft:skull_pottery_sherd', - 'minecraft:shelter_pottery_sherd', - 'minecraft:sheaf_pottery_sherd', - 'minecraft:prize_pottery_sherd', - 'minecraft:plenty_pottery_sherd', - 'minecraft:mourner_pottery_sherd', - 'minecraft:miner_pottery_sherd', - 'minecraft:blade_pottery_sherd', - 'minecraft:brewer_pottery_sherd', - 'minecraft:burn_pottery_sherd', + // 'minecraft:danger_pottery_sherd', + // 'minecraft:explorer_pottery_sherd', + // 'minecraft:friend_pottery_sherd', + // 'minecraft:heart_pottery_sherd', + // 'minecraft:heartbreak_pottery_sherd', + // 'minecraft:howl_pottery_sherd', + // 'minecraft:arms_up_pottery_sherd', + // 'minecraft:archer_pottery_sherd', + // 'minecraft:angler_pottery_sherd', + // 'minecraft:snort_pottery_sherd', + // 'minecraft:skull_pottery_sherd', + // 'minecraft:shelter_pottery_sherd', + // 'minecraft:sheaf_pottery_sherd', + // 'minecraft:prize_pottery_sherd', + // 'minecraft:plenty_pottery_sherd', + // 'minecraft:mourner_pottery_sherd', + // 'minecraft:miner_pottery_sherd', + // 'minecraft:blade_pottery_sherd', + // 'minecraft:brewer_pottery_sherd', + // 'minecraft:burn_pottery_sherd', // Шаблоны брони - 'minecraft:wayfinder_armor_trim_smithing_template', - 'minecraft:netherite_upgrade_smithing_template', - 'minecraft:dune_armor_trim_smithing_template', - 'minecraft:snout_armor_trim_smithing_template', - 'minecraft:shaper_armor_trim_smithing_template', - 'minecraft:coast_armor_trim_smithing_template', - 'minecraft:vex_armor_trim_smithing_template', - 'minecraft:host_armor_trim_smithing_template', - 'minecraft:rib_armor_trim_smithing_template', - 'minecraft:silence_armor_trim_smithing_template', - 'minecraft:spire_armor_trim_smithing_template', - 'minecraft:tide_armor_trim_smithing_template', - 'minecraft:eye_armor_trim_smithing_template', - 'minecraft:raiser_armor_trim_smithing_template', - 'minecraft:wild_armor_trim_smithing_template', - 'minecraft:sentry_armor_trim_smithing_template', - 'minecraft:ward_armor_trim_smithing_template', + // 'minecraft:wayfinder_armor_trim_smithing_template', + // 'minecraft:netherite_upgrade_smithing_template', + // 'minecraft:dune_armor_trim_smithing_template', + // 'minecraft:snout_armor_trim_smithing_template', + // 'minecraft:shaper_armor_trim_smithing_template', + // 'minecraft:coast_armor_trim_smithing_template', + // 'minecraft:vex_armor_trim_smithing_template', + // 'minecraft:host_armor_trim_smithing_template', + // 'minecraft:rib_armor_trim_smithing_template', + // 'minecraft:silence_armor_trim_smithing_template', + // 'minecraft:spire_armor_trim_smithing_template', + // 'minecraft:tide_armor_trim_smithing_template', + // 'minecraft:eye_armor_trim_smithing_template', + // 'minecraft:raiser_armor_trim_smithing_template', + // 'minecraft:wild_armor_trim_smithing_template', + // 'minecraft:sentry_armor_trim_smithing_template', + // 'minecraft:ward_armor_trim_smithing_template', // Свечи - 'minecraft:candle', - 'minecraft:white_candle', - 'minecraft:light_gray_candle', - 'minecraft:gray_candle', - 'minecraft:black_candle', - 'minecraft:brown_candle', - 'minecraft:red_candle', - 'minecraft:orange_candle', - 'minecraft:yellow_candle', - 'minecraft:lime_candle', - 'minecraft:green_candle', - 'minecraft:cyan_candle', - 'minecraft:light_blue_candle', - 'minecraft:blue_candle', - 'minecraft:purple_candle', - 'minecraft:magenta_candle', - 'minecraft:pink_candle', + // 'minecraft:candle', + // 'minecraft:white_candle', + // 'minecraft:light_gray_candle', + // 'minecraft:gray_candle', + // 'minecraft:black_candle', + // 'minecraft:brown_candle', + // 'minecraft:red_candle', + // 'minecraft:orange_candle', + // 'minecraft:yellow_candle', + // 'minecraft:lime_candle', + // 'minecraft:green_candle', + // 'minecraft:cyan_candle', + // 'minecraft:light_blue_candle', + // 'minecraft:blue_candle', + // 'minecraft:purple_candle', + // 'minecraft:magenta_candle', + // 'minecraft:pink_candle', // Другое - 'minecraft:calcite', - 'minecraft:tuff', - 'minecraft:dripstone_block', - 'minecraft:grass_block', - 'minecraft:dirt', - 'minecraft:coarse_dirt', - 'minecraft:podzol', - 'minecraft:rooted_dirt', - 'minecraft:mud', - 'minecraft:netherite_scrap', - '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', - 'minecraft:fern', - 'minecraft:dandelion', - 'minecraft:poppy', - 'minecraft:blue_orchid', - 'minecraft:allium', - 'minecraft:azure_bluet', - 'minecraft:red_tulip', - 'minecraft:orange_tulip', - 'minecraft:white_tulip', - 'minecraft:pink_tulip', - 'minecraft:oxeye_daisy', - 'minecraft:cornflower', - 'minecraft:lily_of_the_valley', - 'minecraft:wither_rose', - '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', - 'minecraft:pink_petals', - 'minecraft:chain', - 'minecraft:peony', - 'minecraft:rose_bush', - 'minecraft:lilac', - 'minecraft:sunflower', - 'minecraft:chain_command_block', - 'minecraft:turtle_egg', - 'minecraft:sniffer_egg', - 'minecraft:structure_block', - 'minecraft:jigsaw', - 'minecraft:sculk_sensor', - 'minecraft:calibrated_sculk_sensor', - 'minecraft:conduit', - 'minecraft:chest_minecart', - 'minecraft:bread', - 'minecraft:wheat', - 'minecraft:cookie', - 'minecraft:cake', - 'minecraft:crafting_table', - 'minecraft:chest', - 'minecraft:trapped_chest', - 'minecraft:fishing_rod', - 'minecraft:brewing_stand', - 'minecraft:warped_fungus_on_a_stick', - 'minecraft:carrot_on_a_stick', - 'minecraft:carrot', - 'minecraft:pumpkin', - 'minecraft:pearlescent_froglight', - 'minecraft:verdant_froglight', - 'minecraft:ochre_froglight', - 'minecraft:suspicious_stew', - 'minecraft:mycelium', - 'minecraft:farmland', - 'minecraft:composter', - 'minecraft:pufferfish_bucket', - 'minecraft:salmon_bucket', - 'minecraft:cod_bucket', - 'minecraft:tropical_fish_bucket', - 'minecraft:axolotl_bucket', - 'minecraft:tadpole_bucket', - 'minecraft:player_head', - 'minecraft:command_block_minecart', - 'minecraft:knowledge_book', - 'minecraft:bundle', - 'minecraft:debug_stick', - 'minecraft:spawner', - 'minecraft:pitcher_pod', - 'minecraft:beetroot', - 'minecraft:beetroot_soup', - 'minecraft:cocoa_beans', - 'minecraft:experience_bottle', - 'minecraft:shulker_shell', - 'minecraft:rabbit_stew', - 'minecraft:recovery_compass', - 'minecraft:chorus_plant', - 'minecraft:frogspawn', - 'minecraft:cactus', - 'minecraft:sweet_berries', - 'minecraft:glow_berries', - 'minecraft:campfire', - 'minecraft:soul_campfire', - 'minecraft:bee_nest', - 'minecraft:fletching_table', - 'minecraft:echo_shard', - 'minecraft:totem_of_undying', - 'minecraft:trident', - 'minecraft:heart_of_the_sea', - 'minecraft:barrel', - 'minecraft:chorus_flower', - 'minecraft:netherite_ingot', - 'minecraft:netherite_block', - 'minecraft:lodestone', - 'minecraft:iron_trapdoor', - 'minecraft:cod', - 'minecraft:cooked_cod', - 'minecraft:salmon', - 'minecraft:cooked_salmon', - 'minecraft:tropical_fish', - 'minecraft:melon_slice', - 'minecraft:beehive', - 'minecraft:honey_bottle', - 'minecraft:honeycomb_block', - 'minecraft:honey_block', - 'minecraft:chorus_fruit', - 'minecraft:popped_chorus_fruit', - 'minecraft:purpur_pillar', - 'minecraft:purpur_block', - 'minecraft:purpur_stairs', - 'minecraft:purpur_slab', - 'minecraft:shears', - 'minecraft:lantern', - 'minecraft:soul_lantern', - 'minecraft:smithing_table', - 'minecraft:smoker', - 'minecraft:blast_furnace', - 'minecraft:chiseled_bookshelf', - 'minecraft:decorated_pot', - 'minecraft:poisonous_potato', - 'minecraft:potato', - 'minecraft:baked_potato', - 'minecraft:end_rod', - 'minecraft:brush', - 'minecraft:sea_lantern', - 'minecraft:bookshelf', - 'minecraft:enchanted_book', - 'minecraft:repeating_command_block', - 'minecraft:command_block', - 'minecraft:azalea', - 'minecraft:light', - 'minecraft:azalea', - 'minecraft:flowering_azalea', - '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', - 'minecraft:torch', - 'minecraft:anvil', - 'minecraft:chipped_anvil', - '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:compass', - 'minecraft:iron_bars', - 'minecraft:honeycomb', + // 'minecraft:calcite', + // 'minecraft:tuff', + // 'minecraft:dripstone_block', + // 'minecraft:grass_block', + // 'minecraft:dirt', + // 'minecraft:coarse_dirt', + // 'minecraft:podzol', + // 'minecraft:rooted_dirt', + // 'minecraft:mud', + // 'minecraft:netherite_scrap', + // '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', + // 'minecraft:fern', + // 'minecraft:dandelion', + // 'minecraft:poppy', + // 'minecraft:blue_orchid', + // 'minecraft:allium', + // 'minecraft:azure_bluet', + // 'minecraft:red_tulip', + // 'minecraft:orange_tulip', + // 'minecraft:white_tulip', + // 'minecraft:pink_tulip', + // 'minecraft:oxeye_daisy', + // 'minecraft:cornflower', + // 'minecraft:lily_of_the_valley', + // 'minecraft:wither_rose', + // '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', + // 'minecraft:pink_petals', + // 'minecraft:chain', + // 'minecraft:peony', + // 'minecraft:rose_bush', + // 'minecraft:lilac', + // 'minecraft:sunflower', + // 'minecraft:chain_command_block', + // 'minecraft:turtle_egg', + // 'minecraft:sniffer_egg', + // 'minecraft:structure_block', + // 'minecraft:jigsaw', + // 'minecraft:sculk_sensor', + // 'minecraft:calibrated_sculk_sensor', + // 'minecraft:conduit', + // 'minecraft:chest_minecart', + // 'minecraft:bread', + // 'minecraft:wheat', + // 'minecraft:cookie', + // 'minecraft:cake', + // 'minecraft:crafting_table', + // 'minecraft:chest', + // 'minecraft:trapped_chest', + // 'minecraft:fishing_rod', + // 'minecraft:brewing_stand', + // 'minecraft:warped_fungus_on_a_stick', + // 'minecraft:carrot_on_a_stick', + // 'minecraft:carrot', + // 'minecraft:pumpkin', + // 'minecraft:pearlescent_froglight', + // 'minecraft:verdant_froglight', + // 'minecraft:ochre_froglight', + // 'minecraft:suspicious_stew', + // 'minecraft:mycelium', + // 'minecraft:farmland', + // 'minecraft:composter', + // 'minecraft:pufferfish_bucket', + // 'minecraft:salmon_bucket', + // 'minecraft:cod_bucket', + // 'minecraft:tropical_fish_bucket', + // 'minecraft:axolotl_bucket', + // 'minecraft:tadpole_bucket', + // 'minecraft:player_head', + // 'minecraft:command_block_minecart', + // 'minecraft:knowledge_book', + // 'minecraft:bundle', + // 'minecraft:debug_stick', + // 'minecraft:spawner', + // 'minecraft:pitcher_pod', + // 'minecraft:beetroot', + // 'minecraft:beetroot_soup', + // 'minecraft:cocoa_beans', + // 'minecraft:experience_bottle', + // 'minecraft:shulker_shell', + // 'minecraft:rabbit_stew', + // 'minecraft:recovery_compass', + // 'minecraft:chorus_plant', + // 'minecraft:frogspawn', + // 'minecraft:cactus', + // 'minecraft:sweet_berries', + // 'minecraft:glow_berries', + // 'minecraft:campfire', + // 'minecraft:soul_campfire', + // 'minecraft:bee_nest', + // 'minecraft:fletching_table', + // 'minecraft:echo_shard', + // 'minecraft:totem_of_undying', + // 'minecraft:trident', + // 'minecraft:heart_of_the_sea', + // 'minecraft:barrel', + // 'minecraft:chorus_flower', + // 'minecraft:netherite_ingot', + // 'minecraft:netherite_block', + // 'minecraft:lodestone', + // 'minecraft:iron_trapdoor', + // 'minecraft:cod', + // 'minecraft:cooked_cod', + // 'minecraft:salmon', + // 'minecraft:cooked_salmon', + // 'minecraft:tropical_fish', + // 'minecraft:melon_slice', + // 'minecraft:beehive', + // 'minecraft:honey_bottle', + // 'minecraft:honeycomb_block', + // 'minecraft:honey_block', + // 'minecraft:chorus_fruit', + // 'minecraft:popped_chorus_fruit', + // 'minecraft:purpur_pillar', + // 'minecraft:purpur_block', + // 'minecraft:purpur_stairs', + // 'minecraft:purpur_slab', + // 'minecraft:shears', + // 'minecraft:lantern', + // 'minecraft:soul_lantern', + // 'minecraft:smithing_table', + // 'minecraft:smoker', + // 'minecraft:blast_furnace', + // 'minecraft:chiseled_bookshelf', + // 'minecraft:decorated_pot', + // 'minecraft:poisonous_potato', + // 'minecraft:potato', + // 'minecraft:baked_potato', + // 'minecraft:end_rod', + // 'minecraft:brush', + // 'minecraft:sea_lantern', + // 'minecraft:bookshelf', + // 'minecraft:enchanted_book', + // 'minecraft:repeating_command_block', + // 'minecraft:command_block', + // 'minecraft:azalea', + // 'minecraft:light', + // 'minecraft:azalea', + // 'minecraft:flowering_azalea', + // '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', + // 'minecraft:torch', + // 'minecraft:anvil', + // 'minecraft:chipped_anvil', + // '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:compass', + // 'minecraft:iron_bars', + // 'minecraft:honeycomb', // Кримзон незер дерево // TODO: Разблокировать после добавления ада - 'minecraft:crimson_stem', - 'minecraft:crimson_hyphae', - 'minecraft:stripped_crimson_stem', - 'minecraft:stripped_crimson_hyphae', - 'minecraft:crimson_planks', - 'minecraft:crimson_stairs', - 'minecraft:crimson_slab', - 'minecraft:crimson_fence', - 'minecraft:crimson_fence_gate', - 'minecraft:crimson_door', - 'minecraft:crimson_trapdoor', - 'minecraft:crimson_pressure_plate', - 'minecraft:crimson_button', + // 'minecraft:crimson_stem', + // 'minecraft:crimson_hyphae', + // 'minecraft:stripped_crimson_stem', + // 'minecraft:stripped_crimson_hyphae', + // 'minecraft:crimson_planks', + // 'minecraft:crimson_stairs', + // 'minecraft:crimson_slab', + // 'minecraft:crimson_fence', + // 'minecraft:crimson_fence_gate', + // 'minecraft:crimson_door', + // 'minecraft:crimson_trapdoor', + // 'minecraft:crimson_pressure_plate', + // 'minecraft:crimson_button', // Варпед незер дерево // TODO: Разблокировать после добавления ада - 'minecraft:warped_stem', - 'minecraft:warped_hyphae', - 'minecraft:stripped_warped_stem', - 'minecraft:stripped_warped_hyphae', - 'minecraft:warped_planks', - 'minecraft:warped_stairs', - 'minecraft:warped_slab', - 'minecraft:warped_fence', - 'minecraft:warped_fence_gate', - 'minecraft:warped_door', - 'minecraft:warped_trapdoor', - 'minecraft:warped_pressure_plate', - 'minecraft:warped_button', + // 'minecraft:warped_stem', + // 'minecraft:warped_hyphae', + // 'minecraft:stripped_warped_stem', + // 'minecraft:stripped_warped_hyphae', + // 'minecraft:warped_planks', + // 'minecraft:warped_stairs', + // 'minecraft:warped_slab', + // 'minecraft:warped_fence', + // 'minecraft:warped_fence_gate', + // 'minecraft:warped_door', + // 'minecraft:warped_trapdoor', + // 'minecraft:warped_pressure_plate', + // 'minecraft:warped_button', // Куча незер блоков // 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', - 'minecraft:nether_brick_stairs', - 'minecraft:nether_brick_slab', - 'minecraft:nether_brick_wall', - 'minecraft:nether_brick_fence', - 'minecraft:chiseled_nether_bricks', - 'minecraft:red_nether_bricks', - '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', + // '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', + // 'minecraft:nether_brick_stairs', + // 'minecraft:nether_brick_slab', + // 'minecraft:nether_brick_wall', + // 'minecraft:nether_brick_fence', + // 'minecraft:chiseled_nether_bricks', + // 'minecraft:red_nether_bricks', + // '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:nether_wart_block', - 'minecraft:warped_wart_block', - 'minecraft:shroomlight', - 'minecraft:crimson_fungus', - 'minecraft:piglin_head', - 'minecraft:zombie_head', - 'minecraft:skeleton_skull', - 'minecraft:nether_sprouts', - 'minecraft:warped_roots', - 'minecraft:dragon_head', - 'minecraft:creeper_head', - 'minecraft:wither_skeleton_skull', - 'minecraft:weeping_vines', - 'minecraft:crimson_roots', - 'minecraft:nether_brick', - 'minecraft:nether_wart', - 'minecraft:twisting_vines', - 'minecraft:warped_fungus', - 'minecraft:respawn_anchor', + // 'minecraft:crying_obsidian', + // 'minecraft:crimson_nylium', + // 'minecraft:warped_nylium', + // 'minecraft:soul_sand', + // 'minecraft:soul_soil', + // 'minecraft:nether_wart_block', + // 'minecraft:warped_wart_block', + // 'minecraft:shroomlight', + // 'minecraft:crimson_fungus', + // 'minecraft:piglin_head', + // 'minecraft:zombie_head', + // 'minecraft:skeleton_skull', + // 'minecraft:nether_sprouts', + // 'minecraft:warped_roots', + // 'minecraft:dragon_head', + // 'minecraft:creeper_head', + // 'minecraft:wither_skeleton_skull', + // 'minecraft:weeping_vines', + // 'minecraft:crimson_roots', + // 'minecraft:nether_brick', + // 'minecraft:nether_wart', + // 'minecraft:twisting_vines', + // 'minecraft:warped_fungus', + // 'minecraft:respawn_anchor', ]; global.MINECRAFT_HIDED_ITEMS = [ - '/spawn_egg/', + // '/spawn_egg/', /* 'minecraft:exposed_copper', @@ -840,7 +853,7 @@ global.MINECRAFT_HIDED_ITEMS = [ 'minecraft:oxidized_cut_copper_slab',*/ ]; -global.VANILLA_WOOD_TYPES = [ +global.MINECRAFT_OVERWORLD_WOOD_TYPES = [ "oak", "spruce", "birch", @@ -849,11 +862,16 @@ global.VANILLA_WOOD_TYPES = [ "cherry", "dark_oak", "mangrove", +]; + +global.MINECRAFT_NETHER_WOOD_TYPES = [ "crimson", // TODO: Разблокировать когда появится АД "warped" // TODO: Разблокировать когда появится АД ]; -global.VANILLA_STONE_TYPES = [ +global.MINECRAFT_ALL_WOOD_TYPES = global.MINECRAFT_OVERWORLD_WOOD_TYPES.concat(global.VANILLA_NETHER_WOOD_TYPES); + +global.MINECRAFT_STONE_TYPES = [ "sand", "red_sand", "gravel", diff --git a/kubejs/startup_scripts/minecraft/items.js b/kubejs/startup_scripts/minecraft/items.js new file mode 100644 index 000000000..7d4c62905 --- /dev/null +++ b/kubejs/startup_scripts/minecraft/items.js @@ -0,0 +1,6 @@ +// priority: 0 + +const registerMinecraftItems = (event) => { + event.create('tfg:crimson_lumber') + event.create('tfg:warped_lumber') +} \ No newline at end of file From 1bb0fbf5f9681843882a0af4e2386d0af9bb2a12 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 12:01:32 +0700 Subject: [PATCH 063/266] Delete keybindings.txt --- config/defaultoptions/keybindings.txt | 116 -------------------------- 1 file changed, 116 deletions(-) delete mode 100644 config/defaultoptions/keybindings.txt diff --git a/config/defaultoptions/keybindings.txt b/config/defaultoptions/keybindings.txt deleted file mode 100644 index e93a6bf5b..000000000 --- a/config/defaultoptions/keybindings.txt +++ /dev/null @@ -1,116 +0,0 @@ -key_key.attack:key.mouse.left:NONE -key_key.use:key.mouse.right:NONE -key_key.forward:key.keyboard.w:NONE -key_key.left:key.keyboard.a:NONE -key_key.back:key.keyboard.s:NONE -key_key.right:key.keyboard.d:NONE -key_key.jump:key.keyboard.space:NONE -key_key.sneak:key.keyboard.left.shift:NONE -key_key.sprint:key.keyboard.left.control:NONE -key_key.drop:key.keyboard.q:NONE -key_key.inventory:key.keyboard.e:NONE -key_key.chat:key.keyboard.t:NONE -key_key.playerlist:key.keyboard.tab:NONE -key_key.pickItem:key.mouse.middle:NONE -key_key.command:key.keyboard.slash:NONE -key_key.socialInteractions:key.keyboard.p:NONE -key_key.screenshot:key.keyboard.f2:NONE -key_key.togglePerspective:key.keyboard.f5:NONE -key_key.smoothCamera:key.keyboard.unknown:NONE -key_key.fullscreen:key.keyboard.f11:NONE -key_key.spectatorOutlines:key.keyboard.unknown:NONE -key_key.swapOffhand:key.keyboard.f:NONE -key_key.saveToolbarActivator:key.keyboard.c:NONE -key_key.loadToolbarActivator:key.keyboard.x:NONE -key_key.advancements:key.keyboard.unknown:NONE -key_key.hotbar.1:key.keyboard.1:NONE -key_key.hotbar.2:key.keyboard.2:NONE -key_key.hotbar.3:key.keyboard.3:NONE -key_key.hotbar.4:key.keyboard.4:NONE -key_key.hotbar.5:key.keyboard.5:NONE -key_key.hotbar.6:key.keyboard.6:NONE -key_key.hotbar.7:key.keyboard.7:NONE -key_key.hotbar.8:key.keyboard.8:NONE -key_key.hotbar.9:key.keyboard.9:NONE -key_key.clienttweaks.hideOffhandItem:key.keyboard.unknown:NONE -key_key.clienttweaks.disableStepAssist:key.keyboard.unknown:NONE -key_key.clienttweaks.disableLogStripping:key.keyboard.unknown:NONE -key_key.argonauts.open_party_chat:key.keyboard.y:NONE -key_key.argonauts.open_guild_chat:key.keyboard.u:NONE -key_gui.xaero_open_map:key.keyboard.m:NONE -key_gui.xaero_open_settings:key.keyboard.right.bracket:NONE -key_gui.xaero_map_zoom_in:key.keyboard.unknown:NONE -key_gui.xaero_map_zoom_out:key.keyboard.unknown:NONE -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_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 -key_keybind.sophisticatedbackpacks.sort:key.mouse.middle:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_1:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_2:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_3:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_4:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_5:key.keyboard.unknown:NONE -key_key.corpse.death_history:key.keyboard.unknown:NONE -key_tfc.key.place_block:key.keyboard.v:NONE -key_tfc.key.cycle_chisel_mode:key.keyboard.n:NONE -key_tfc.key.stack_food:key.keyboard.i:NONE -key_key.jade.config:key.keyboard.keypad.0:NONE -key_key.jade.show_overlay:key.keyboard.keypad.1:NONE -key_key.jade.toggle_liquid:key.keyboard.keypad.2:NONE -key_key.jade.show_recipes:key.keyboard.keypad.3:NONE -key_key.jade.show_uses:key.keyboard.keypad.4:NONE -key_key.jade.narrate:key.keyboard.keypad.5:NONE -key_key.jade.show_details:key.keyboard.left.shift:NONE -key_key.ae2.guide:key.keyboard.unknown:NONE -key_key.ae2.wireless_pattern_access_terminal:key.keyboard.unknown:NONE -key_key.ae2.ae2wtlib_restock:key.keyboard.unknown:NONE -key_key.ae2.ae2wtlib_magnet:key.keyboard.unknown:NONE -key_key.ae2.portable_item_cell:key.keyboard.unknown:NONE -key_key.ae2.portable_fluid_cell:key.keyboard.unknown:NONE -key_key.ae2.wireless_pattern_encoding_terminal:key.keyboard.unknown:NONE -key_key.ae2.wireless_terminal:key.keyboard.unknown:NONE -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_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 -key_gui.xaero_toggle_grid:key.keyboard.unknown:NONE -key_gui.xaero_toggle_waypoints:key.keyboard.unknown:NONE -key_gui.xaero_toggle_map_waypoints:key.keyboard.unknown:NONE -key_gui.xaero_toggle_map:key.keyboard.unknown:NONE -key_gui.xaero_enlarge_map:key.keyboard.z:NONE -key_gui.xaero_waypoints_key:key.keyboard.unknown:NONE -key_gui.xaero_zoom_in:key.keyboard.equal:NONE -key_gui.xaero_zoom_out:key.keyboard.minus:NONE -key_gui.xaero_new_waypoint:key.keyboard.semicolon:NONE -key_gui.xaero_display_all_sets:key.keyboard.unknown:NONE -key_gui.xaero_toggle_light_overlay:key.keyboard.unknown:NONE -key_gui.xaero_toggle_entity_radar:key.keyboard.unknown:NONE -key_gui.xaero_reverse_entity_radar:key.keyboard.unknown:NONE -key_gui.xaero_toggle_manual_cave_mode:key.keyboard.unknown:NONE -key_gui.xaero_alternative_list_players:key.keyboard.unknown:NONE -key_gui.xaero_toggle_tracked_players:key.keyboard.unknown:NONE -key_gui.xaero_toggle_pac_chunk_claims:key.keyboard.unknown:NONE -key_gui.xaero_minimap_settings:key.keyboard.unknown:NONE -key_iris.keybind.reload:key.keyboard.r:ALT -key_iris.keybind.toggleShaders:key.keyboard.unknown:NONE -key_iris.keybind.shaderPackSelection:key.keyboard.unknown:NONE -key_key.prometheus.open_homes:key.keyboard.unknown:NONE -key_key.inventoryhud.toggle:key.keyboard.unknown:NONE -key_key.inventoryhud.openconfig:key.keyboard.unknown:NONE -key_key.inventoryhud.togglepot:key.keyboard.unknown:NONE -key_key.inventoryhud.togglearm:key.keyboard.unknown:NONE -key_key.inventoryhud.toggleall:key.keyboard.unknown:NONE -key_Reload Menu | CTRL + ALT + :key.keyboard.r:NONE -key_Toggle Customization Overlay | CTRL + ALT + :key.keyboard.c:NONE -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 From d5dc59c76e97e3ca11e4ef1c96cda4b0b6653932 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 17:09:15 +0700 Subject: [PATCH 064/266] recipes --- kubejs/server_scripts/alekiroofs/recipes.js | 37 +++ kubejs/server_scripts/alekiroofs/tags.js | 31 +++ kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/minecraft/recipes.js | 275 ++++++++++++++------ kubejs/server_scripts/minecraft/tags.js | 29 ++- 5 files changed, 284 insertions(+), 89 deletions(-) create mode 100644 kubejs/server_scripts/alekiroofs/recipes.js create mode 100644 kubejs/server_scripts/alekiroofs/tags.js diff --git a/kubejs/server_scripts/alekiroofs/recipes.js b/kubejs/server_scripts/alekiroofs/recipes.js new file mode 100644 index 000000000..7a2fbc445 --- /dev/null +++ b/kubejs/server_scripts/alekiroofs/recipes.js @@ -0,0 +1,37 @@ +// priority: 0 + +const registerAlekiRoofsRecipes = (e) => { + + //#region Дерево + + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { + + // Wood + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + }) + + global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + + const plank = Item.of(`minecraft:${woodName}_planks`) + const roofing = Item.of(`alekiroofs:${woodName}_roofing`) + + e.shaped(roofing.copyWithCount(2), [ + 'A ', + ' s' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_roofing_saw`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_roofing_from_planks`) + .itemInputs(plank) + .circuit(3) + .itemOutputs(roofing.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + }) + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/alekiroofs/tags.js b/kubejs/server_scripts/alekiroofs/tags.js new file mode 100644 index 000000000..757e572bb --- /dev/null +++ b/kubejs/server_scripts/alekiroofs/tags.js @@ -0,0 +1,31 @@ +// priority: 0 + +const registerMinecraftItemTags123 = (event) => { + global.MINECRAFT_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // event.add('c:hidden_from_recipe_viewers', item) + }) + + // global.MINECRAFT_HIDED_ITEMS.forEach(item => { + // event.add('c:hidden_from_recipe_viewers', item) + // }) + + event.add('tfc:lumber', 'tfg:crimson_lumber') + event.add('tfc:lumber', 'tfg:warped_lumber') + + // // Теперь обсидиан сторадж блок + // 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') +} + +const registerMinecraftBlockTags123 = (event) => { + global.MINECRAFT_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + }) + + // // Теперь обсидиан сторадж блок + // event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') +} \ 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 c398d71b5..d9f474794 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -100,6 +100,7 @@ TFCEvents.data(event => { */ ServerEvents.recipes(event => { // registerAE2Recipes(event) + registerAlekiRoofsRecipes(event) // registerAsticorCartsRecipes(event) // registerAE2InsertExportCardRecipes(event) // registerAE2NetworkAnalyzerRecipes(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 1f0e6b800..5bcc93433 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3,86 +3,85 @@ const registerMinecraftRecipes = (e) => { //#region Дерево - - //#region Дерево обычного мира - global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(wood => { + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { // Wood - e.remove({ id: `minecraft:${wood}_wood` }) + e.remove({ id: `minecraft:${woodName}_wood` }) // Stripped Log - e.remove({ id: `create:cutting/${wood}_log` }) + e.remove({ id: `create:cutting/${woodName}_log` }) // Stripped Wood - e.remove({ id: `minecraft:stripped_${wood}_wood` }) - e.remove({ id: `create:cutting/${wood}_wood` }) + e.remove({ id: `minecraft:stripped_${woodName}_wood` }) + e.remove({ id: `create:cutting/${woodName}_wood` }) // Planks - e.remove({ id: `gtceu:shapeless/${wood}_planks` }) - e.remove({ id: `gtceu:shaped/${wood}_planks_saw` }) - e.remove({ id: `gtceu:cutter/${wood}_planks_water` }) - e.remove({ id: `gtceu:cutter/${wood}_planks` }) - e.remove({ id: `gtceu:cutter/${wood}_planks_distilled_water` }) - e.remove({ id: `create:cutting/stripped_${wood}_wood` }) - e.remove({ id: `create:cutting/stripped_${wood}_log` }) + e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + e.remove({ id: `create:cutting/stripped_${woodName}_wood` }) + e.remove({ id: `create:cutting/stripped_${woodName}_log` }) // Stairs - e.remove({ id: `minecraft:${wood}_stairs` }) - e.remove({ id: `everycomp:c/minecraft/${wood}_stairs_from_${wood}_planks_stonecutting` }) - e.remove({ id: `gtceu:assembler/${wood}_stairs` }) + e.remove({ id: `minecraft:${woodName}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) // Slabs - e.remove({ id: `gtceu:shaped/${wood}_slab_saw` }) - e.remove({ id: `everycomp:c/minecraft/${wood}_slab_from_${wood}_planks_stonecutting` }) - e.remove({ id: `gtceu:cutter/${wood}_slab` }) - e.remove({ id: `gtceu:cutter/${wood}_slab_distilled_water` }) - e.remove({ id: `gtceu:cutter/${wood}_slab_water` }) + e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) // Fence - e.remove({ id: `gtceu:shaped/${wood}_fence` }) - e.remove({ id: `gtceu:assembler/${wood}_fence` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence` }) // Fence Gate - e.remove({ id: `gtceu:shaped/${wood}_fence_gate` }) - e.remove({ id: `gtceu:shaped/${wood}_fence_gate_screws` }) - e.remove({ id: `gtceu:assembler/${wood}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) // Door - e.remove({ id: `gtceu:shaped/${wood}_door` }) - e.remove({ id: `gtceu:assembler/${wood}_door` }) + e.remove({ id: `gtceu:shaped/${woodName}_door` }) + e.remove({ id: `gtceu:assembler/${woodName}_door` }) // Trapdoor - e.remove({ id: `minecraft:${wood}_trapdoor` }) + e.remove({ id: `minecraft:${woodName}_trapdoor` }) // Pressure Plate - e.remove({ id: `gtceu:shaped/${wood}_pressure_plate` }) - e.remove({ id: `gtceu:assembler/${wood}_pressure_plate` }) + e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) // Button - e.remove({ id: `gtceu:shaped/${wood}_button` }) - e.remove({ id: `gtceu:cutter/${wood}_button` }) - e.remove({ id: `gtceu:cutter/${wood}_button_distilled_water` }) - e.remove({ id: `gtceu:cutter/${wood}_button_water` }) + e.remove({ id: `gtceu:shaped/${woodName}_button` }) + e.remove({ id: `gtceu:cutter/${woodName}_button` }) + e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) // Sign - e.remove({ id: `minecraft:${wood}_sign` }) - e.remove({ id: `gtceu:assembler/${wood}_sign` }) + e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign` }) // Hanging Sign - e.remove({ id: `minecraft:${wood}_hanging_sign` }) - e.remove({ id: `gtceu:assembler/${wood}_hanging_sign` }) + e.remove({ id: `minecraft:${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) // Boat - e.remove({ id: `gtceu:shaped/${wood}_boat` }) - e.remove({ id: `gtceu:assembler/${wood}_boat` }) + e.remove({ id: `gtceu:shaped/${woodName}_boat` }) + e.remove({ id: `gtceu:assembler/${woodName}_boat` }) // Boat with chest - e.remove({ id: `gtceu:shaped/${wood}_chest_boat` }) - e.remove({ id: `gtceu:assembler/${wood}_chest_boat` }) + e.remove({ id: `gtceu:shaped/${woodName}_chest_boat` }) + e.remove({ id: `gtceu:assembler/${woodName}_chest_boat` }) + + // Sticks + e.remove({ id: `everycomp:c/minecraft/null_from_${woodName}_planks_stonecutting` }) }) - //#endregion - //#region Дерево ада global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { //#region Удаление @@ -98,12 +97,12 @@ const registerMinecraftRecipes = (e) => { // Stairs e.remove({ id: `minecraft:${woodName}_stairs` }) - e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + // e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) // Slabs e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) - e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + // e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) e.remove({ id: `gtceu:cutter/${woodName}_slab` }) e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) @@ -129,14 +128,14 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) // Button - // e.remove({ id: `gtceu:shaped/${wood}_button` }) - // e.remove({ id: `gtceu:cutter/${wood}_button_water` }) - // e.remove({ id: `gtceu:cutter/${wood}_button` }) - // e.remove({ id: `gtceu:cutter/${wood}_button_distilled_water` }) + // e.remove({ id: `gtceu:shaped/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) // Sign - e.remove({ id: `minecraft:${wood}_sign` }) - e.remove({ id: `gtceu:assembler/${wood}_sign` }) + e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign` }) //#endregion @@ -167,7 +166,7 @@ const registerMinecraftRecipes = (e) => { const lumber = Item.of(`tfg:${woodName}_lumber`) - //#region Stripped Log + //#region Очищенные бревна e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) .itemInputs(log) .circuit(0) @@ -175,7 +174,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Stripped Wood + //#region Очищенная древесина e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) .itemInputs(wood) .circuit(0) @@ -183,7 +182,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Planks + //#region Доски e.shaped(plank, [ 'AA', 'AA' @@ -197,13 +196,16 @@ const registerMinecraftRecipes = (e) => { .itemOutputs(plank.copyWithCount(6)) .itemOutputs('2x gtceu:wood_dust') .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.create.cutting(plank.copyWithCount(3).withChance(0.95), allLogs) + .id(`tfg:${woodName}_planks_cutting`) //#endregion - //#region Stairs + //#region Ступень e.shaped(stair, [ 'As' ], { - A: allLogs, + A: plank, s: '#forge:tools/saws' }).id(`tfg:${woodName}_stairs_saw`) @@ -222,10 +224,9 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Slabs + //#region Полублок e.shaped(slab.copyWithCount(2), [ - 's', - 'A' + 'sA' ], { A: plank, s: '#forge:tools/saws' @@ -252,7 +253,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Fence + //#region Забор e.shaped(fence.copyWithCount(8), [ 'h s', 'ABA', @@ -273,7 +274,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Fence Gate + //#region Калитка e.shaped(fenceGate, [ 'A A', 'BCB', @@ -305,7 +306,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Door + //#region Дверь e.shaped(door, [ 'ABd', 'ACD', @@ -328,7 +329,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Trapdoor + //#region Люк e.shaped(trapdoor, [ 'ABd', 'ACs' @@ -348,7 +349,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Pressure Plate + //#region Нажимная пластина e.shaped(pressurePlate.copyWithCount(2), [ 'AmA', 'BCB', @@ -369,12 +370,12 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Lumber + //#region Пиломатериалы //#region Из бревен e.shaped(lumber.copyWithCount(8), [ - 'A', - 's' + 's', + 'A' ], { A: allLogs, s: '#forge:tools/saws' @@ -470,10 +471,136 @@ const registerMinecraftRecipes = (e) => { //#endregion //#endregion - }) + + //#region Бамбук + + // Доски + e.remove({ id: 'gtceu:shapeless/bamboo_planks' }) + + // Ступенька + e.remove({ id: 'minecraft:bamboo_stairs' }) + e.remove({ id: 'gtceu:assembler/bamboo_stairs' }) + + e.shaped('minecraft:bamboo_stairs', [ + 'As' + ], { + A: 'minecraft:bamboo_planks', + s: '#forge:tools/saws' + }).id(`tfg:bamboo_stairs_saw`) + + e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_logs`) + .itemInputs('#minecraft:bamboo_blocks') + .circuit(1) + .itemOutputs('4x minecraft:bamboo_stairs') + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_planks`) + .itemInputs('minecraft:bamboo_planks') + .circuit(0) + .itemOutputs('minecraft:bamboo_stairs') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + // Мозаичная ступенька + e.remove({ id: 'minecraft:bamboo_mosaic_stairs' }) + + e.shaped('minecraft:bamboo_mosaic_stairs', [ + 'As' + ], { + A: 'minecraft:bamboo_mosaic', + s: '#forge:tools/saws' + }).id(`tfg:bamboo_mosaic_stairs_saw`) + + e.recipes.gtceu.cutter(`tfg:bamboo_mosaic_stairs_from_planks`) + .itemInputs('minecraft:bamboo_mosaic') + .circuit(0) + .itemOutputs('minecraft:bamboo_mosaic_stairs') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.create.cutting('minecraft:bamboo_mosaic_stairs', 'minecraft:bamboo_mosaic') + .id(`tfg:bamboo_mosaic_planks_cutting`) + + // Полублок + e.recipes.create.cutting('2x minecraft:bamboo_mosaic_slab', 'minecraft:bamboo_mosaic') + .id(`tfg:bamboo_mosaic_slabs_cutting`) + + // Забор + e.remove({ id: 'gtceu:shaped/bamboo_fence' }) + e.remove({ id: 'gtceu:assembler/bamboo_fence' }) + + //todo: я устал, правда + // e.shaped(fence.copyWithCount(8), [ + // 'h s', + // 'ABA', + // 'ACA' + // ], { + // A: plank, + // B: '#forge:rods/wooden', + // C: lumber, + // h: '#forge:tools/hammers', + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_fence`) + + // e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + // .itemInputs(plank) + // .circuit(2) + // .itemOutputs(fence.copyWithCount(2)) + // .itemOutputs('1x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + // Дверь + // e.remove({ id: 'gtceu:shaped/bamboo_door' }) + + // Люк + // e.remove({ id: 'minecraft:bamboo_trapdoor' }) + + // Нажимная плита + // e.remove({ id: 'minecraft:bamboo_pressure_plate' }) + + + // Очищенный блок бамбука + e.recipes.gtceu.cutter(`tfg:stripped_bamboo`) + .itemInputs('minecraft:bamboo_block') + .circuit(0) + .itemOutputs('minecraft:stripped_bamboo_block') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + // Бамбуковый мозаичный блок + // e.recipes.gtceu.cutter(`tfg:bamboo_mosaic`) + // .itemInputs('minecraft:bamboo_planks') + // .circuit(0) + // .itemOutputs('minecraft:bamboo_mosaic') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + //#region Палки + e.remove({ id: 'gtceu:shaped/stick_normal' }) + e.remove({ id: 'minecraft:stick_from_bamboo_item' }) + + e.remove({ id: 'gtceu:lathe/lathe_planks' }) + + e.recipes.gtceu.lathe(`tfg:sticks_from_lumber`) + .itemInputs('#tfc:lumber') + .itemOutputs('minecraft:stick') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.lathe(`tfg:sticks_from_planks`) + .itemInputs('#minecraft:planks') + .itemOutputs('4x minecraft:stick') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.lathe(`tfg:sticks_from_logs`) + .itemInputs('#minecraft:logs') + .itemOutputs('32x minecraft:stick') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + //#endregion + + //#endregion + + //#region Камень //#endregion } @@ -3225,11 +3352,7 @@ const registerMinecraftRecipes1 = (event) => { //#endregion - //#region Выход: Палки - - event.remove({id: 'minecraft:stick'}) - - //#endregion + //#region Выход: Огниво diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 9502ce007..572ae6656 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -2,30 +2,33 @@ const registerMinecraftItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { - // event.removeAllTagsFrom(item) - // event.add('c:hidden_from_recipe_viewers', item) + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) }) - // global.MINECRAFT_HIDED_ITEMS.forEach(item => { - // event.add('c:hidden_from_recipe_viewers', item) - // }) + global.MINECRAFT_HIDED_ITEMS.forEach(item => { + event.add('c:hidden_from_recipe_viewers', item) + }) + //#region Ванильные пиломатериалы в TFC тег event.add('tfc:lumber', 'tfg:crimson_lumber') event.add('tfc:lumber', 'tfg:warped_lumber') + //#endregion - // // Теперь обсидиан сторадж блок - // event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + // Теперь обсидиан сторадж блок + 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') + //#region Бамбуковые полублоки в один тег + event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') + event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') + //#endregion } const registerMinecraftBlockTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { - // event.removeAllTagsFrom(item) + event.removeAllTagsFrom(item) }) - // // Теперь обсидиан сторадж блок - // event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + // Теперь обсидиан сторадж блок + event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') } \ No newline at end of file From 6e62a29b747ebd1caac30d1e1bc60b700476842e Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 17:09:16 +0700 Subject: [PATCH 065/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index 74144ef59..f312068af 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 74144ef595df55763b2239337bf6a220db60ef72 +Subproject commit f312068afb255e6e5794cf0f6f7f5e79657d027d From 69cbb6325bb2fc9cef68d3d87f2c420e4def1e02 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sat, 14 Sep 2024 19:20:34 +0500 Subject: [PATCH 066/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index f312068af..dc3c10bd4 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit f312068afb255e6e5794cf0f6f7f5e79657d027d +Subproject commit dc3c10bd4dc2e8e22154ff36277dbc06cc0f7c2c From 071a6b8f0edd4553305d5930970e25926efc7da0 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sat, 14 Sep 2024 19:21:14 +0500 Subject: [PATCH 067/266] Update .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 4e893778b..a36eea943 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ local/* modernfix/* XaeroWaypoints* XaeroWorldMap/* +xaero/* CustomSkinLoader/* screenshots/* shaderpacks/* @@ -60,3 +61,4 @@ knownkeys.txt .github/buildtools/serverpack/* + From f7e7c90d94a71f1d89681de79e3bf81b65164f30 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sat, 14 Sep 2024 19:23:11 +0500 Subject: [PATCH 068/266] Update .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index a36eea943..0f3eb8ed6 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ modernfix/* XaeroWaypoints* XaeroWorldMap/* xaero/* +defaultconfigs/* CustomSkinLoader/* screenshots/* shaderpacks/* @@ -62,3 +63,4 @@ knownkeys.txt + From 85aba12b38baccb67e30ad411f32f69afc946cef Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sat, 14 Sep 2024 19:23:42 +0500 Subject: [PATCH 069/266] Update config --- config/InventoryHUD/curios.json | 2 +- config/ambientsounds-client.json | 16 ++++-- config/astikorcarts-common.toml | 4 +- config/chat_heads.json5 | 1 + config/craftpresence.json | 50 ++----------------- config/createlowheated-common.toml | 19 +++++++ config/createpickywheels-common.toml | 43 ++++++++++++++++ config/everycomp-hazardous.properties | 2 +- config/exposure-client.toml | 6 +++ config/jade/plugins.json | 19 ++++--- config/jade/sort-order.json | 2 + config/jei/jei-client.ini | 15 ++++++ config/jei/jei-debug.ini | 5 ++ config/jei/recipe-category-sort-order.ini | 2 + config/packetfixer.properties | 4 +- config/sodiumdynamiclights-client.toml | 20 ++++++++ config/tfcambiental-common.toml | 3 ++ config/xaerominimap-common.txt | 1 + config/xaeroworldmap-common.txt | 1 + global-server-configs/firmaciv-server.toml | 2 + global-server-configs/firmalife-server.toml | 22 ++++++-- .../openpartiesandclaims-server.toml | 24 +++++++++ kubejs/config/probejs.json | 15 ++++++ 23 files changed, 208 insertions(+), 70 deletions(-) create mode 100644 config/createlowheated-common.toml create mode 100644 config/createpickywheels-common.toml create mode 100644 config/sodiumdynamiclights-client.toml create mode 100644 kubejs/config/probejs.json diff --git a/config/InventoryHUD/curios.json b/config/InventoryHUD/curios.json index c15a953f3..b597326ec 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"},"petrolpark_badge":{"x":0,"y":100,"enabled":false,"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 diff --git a/config/ambientsounds-client.json b/config/ambientsounds-client.json index e4b34ec14..d27f1706a 100644 --- a/config/ambientsounds-client.json +++ b/config/ambientsounds-client.json @@ -128,6 +128,10 @@ "ocean": 1, "wind.light-wind": 1 }, + "ocean_deep": { + "overall": 1, + "whale": 1 + }, "plains": { "overall": 1, "cricket": 1, @@ -145,6 +149,7 @@ "cicadas-desert": 1, "cricket-warm-night": 1, "wolf": 1, + "long-wolf": 1, "bird-warm": 1 }, "sky": { @@ -171,7 +176,8 @@ "overall": 1, "cricket-swamp": 1, "cricket-warm-night": 1, - "frog": 1 + "frog": 1, + "mouring_dove": 1 }, "taiga": { "overall": 1, @@ -200,9 +206,11 @@ "bird_night": 1 }, "cicadas": 1, - "cricket": 1, - "cricket_day": 1, - "cricket_night": 1 + "cricket": { + "cricket": 1, + "cricket_day": 1, + "cricket_night": 1 + } }, "cave": 1, "weather": 1, diff --git a/config/astikorcarts-common.toml b/config/astikorcarts-common.toml index f9f52e1a1..df87c6910 100644 --- a/config/astikorcarts-common.toml +++ b/config/astikorcarts-common.toml @@ -1,6 +1,8 @@ #Configuration for all carts and cart-like vehicles, check log for automatic "pull_animals" list. [carts] + #Enable carts being invulnerable to lightning (If false when struck, all items will disappear and mobs escape!) + lightningInvulnerable = true #The Supply Cart, a type of cart that stores items [carts.supply_cart] @@ -26,7 +28,7 @@ #Range: -1.0 ~ 0.0 pull_speed = 0.0 - #The Plow, an animal pulled machine for tilling soil and creating paths + #The Plow, n animal pulled machine for tilling soil and creating paths [carts.plow] #Animals that are able to pull this cart, such as ["minecraft:horse"] #An empty list defaults to all which may wear a saddle but not steered by an item diff --git a/config/chat_heads.json5 b/config/chat_heads.json5 index 0f74fb24e..e1d42f383 100644 --- a/config/chat_heads.json5 +++ b/config/chat_heads.json5 @@ -1,4 +1,5 @@ { + "renderPosition": "BEFORE_NAME", "offsetNonPlayerText": true, "senderDetection": "UUID_AND_HEURISTIC", "smartHeuristics": true, diff --git a/config/craftpresence.json b/config/craftpresence.json index 03d50191c..e1289566c 100644 --- a/config/craftpresence.json +++ b/config/craftpresence.json @@ -14,7 +14,6 @@ "clientId": "1182610212121743470", "defaultIcon": "tfg-icon", "enableJoinRequests": false, - "partyPrivacyLevel": 1, "preferredClientLevel": 3, "resetTimeOnInit": false, "autoRegister": false @@ -103,62 +102,19 @@ "enableClassGraph": false }, "accessibilitySettings": { - "tooltipBackground": { - "start": { - "red": 16, - "green": 0, - "blue": 16, - "alpha": 240 - } - }, - "tooltipBorder": { - "start": { - "red": 80, - "green": 0, - "blue": 255, - "alpha": 80 - }, - "end": { - "red": 40, - "green": 0, - "blue": 127, - "alpha": 80 - } - }, - "guiBackground": { - "start": { - "red": 64, - "green": 64, - "blue": 64, - "alpha": 255 - }, - "texLocation": "minecraft:textures/gui/options_background.png" - }, - "altGuiBackground": { - "start": { - "red": 16, - "green": 16, - "blue": 16, - "alpha": 192 - }, - "end": { - "red": 16, - "green": 16, - "blue": 16, - "alpha": 208 - } - }, "languageId": "en_us", "stripTranslationColors": false, "stripTranslationFormatting": false, "stripExtraGuiElements": false, - "renderTooltips": true, "configKeyCode": -1 }, "displaySettings": { "presenceData": { "enabled": true, "useAsMain": false, + "isInstance": false, + "activityType": 0, + "partyPrivacy": 1, "details": "{getFirst(menu.message, dimension.message)}", "gameState": "{getOrDefault(server.message)} {getOrDefault(pack.name)}", "largeImageKey": "{getFirst(menu.icon, dimension.icon)}", diff --git a/config/createlowheated-common.toml b/config/createlowheated-common.toml new file mode 100644 index 000000000..381c3bbeb --- /dev/null +++ b/config/createlowheated-common.toml @@ -0,0 +1,19 @@ + +##Basic Burner Requirements +[basic_burner] + #When set to true, an active Basic Burner produces the same heat as a Kindled Blaze Burner and an empowered Basic Burner produces the same heat as a Seething Blaze Burner. Inactive state is unaffected. + hotBurners = false + #When set to false, it disables Basic Burner role in the steam engine heating system, only leaving it for recipes. This will also re-enable all passive heaters as a consequence. The Basic Burner Block tooltip must be altered via changing the lang file, if you use this and the inaccuracy bothers you. + basicBurnerBoiler = true + #When set to true, ignores Basic Burner Fuel Item Tag Whitelist, instead accepts anything with a valid BurnTime. + ignoresFuelTagWhitelist = true + #How much more fuel a non-empowered Basic Burner consumes. Use fanMultiplier for fan-empowered burners. Intended for use with the hotBurners option, the default value of 1 is recommended otherwise. + #Range: > 1 + baseMultiplier = 1 + #How much more fuel a Basic Burner consumes when empowered by an encased fan. + #Range: > 1 + fanMultiplier = 32 + #How much fan speed is needed for the Basic Burner to be empowered. + #Range: > 1 + fanSpeedRequired = 256 + diff --git a/config/createpickywheels-common.toml b/config/createpickywheels-common.toml new file mode 100644 index 000000000..f9ff7626c --- /dev/null +++ b/config/createpickywheels-common.toml @@ -0,0 +1,43 @@ + +##Waterwheel requirements +[waterwheels] + #Enable waterwheels modifications? + waterwheelsEnabled = true + #Only enable pickyness onPlacement, if the water wheel was instead generated during worldgen, it works as default. + waterwheelsPickyOnPlacement = true + #Penalty for Waterwheels placed on whitelisted but not on preferential biomes [waterwheel_boosted biome tag]. + #Range: 0.0 ~ 1.0 + waterwheelPenalty = 0.25 + #The minimum amount of fluid blocks the waterwheel needs to find before rotation begins. + #Range: > 1 + waterwheelThreshold = 2048 + #The maximum distance a waterwheel can consider fluid blocks from. + #Range: > 1 + waterwheelRange = 128 + +##Windmill requirements +[windmills] + #Enable windmills modifications? + windmillsEnabled = true + #Penalty for Windmills placed on whitelisted but not on preferential biomes [windmills_boosted biome tag]. + #Range: 0.0 ~ 1.0 + windmillPenalty = 0.75 + #The minimum floor area required. Default: 1/4 of the max area [PI * 32 ^ 2]. + #Range: > 1 + windmillThreshold = 804 + #The minimum length of air current required. + #Range: > 1 + windmillRequiredRange = 24 + #The minimum amount of points that must hit windmillRequiredRange. + #Range: > 1 + windmillRequiredRangePoints = 128 + #The maximum distance a waterwheel can consider air blocks from. + #Range: > 1 + windmillMaxRange = 32 + #The percentage of Generated Speed only given if windmills are raised enough. + #Range: 0.0 ~ 1.0 + windmillAbovePenalty = 0.5 + #The height required for the full benefit from windmillAbovePenalty. + #Range: > 1 + windmillAbove = 12 + diff --git a/config/everycomp-hazardous.properties b/config/everycomp-hazardous.properties index d00b0d730..5406199ba 100644 --- a/config/everycomp-hazardous.properties +++ b/config/everycomp-hazardous.properties @@ -1,2 +1,2 @@ #Hard disable entire modules. Use at your own risk and don't ask for support if you use this -#Tue Aug 27 09:45:44 NOVT 2024 +#Sat Sep 14 19:17:52 YEKT 2024 diff --git a/config/exposure-client.toml b/config/exposure-client.toml index 918bda75a..d950db044 100644 --- a/config/exposure-client.toml +++ b/config/exposure-client.toml @@ -60,8 +60,14 @@ #Note: this number may not relate to distance in blocks exactly. It's influenced by onRender distance and entity distance settings. #Range: 8 ~ 128 PhotographFrameCullingDistance = 64 + #Projected photographs (using Interplanar Projector) made by other players will not be rendered. + HideProjectedPhotographsMadeByOthers = false + #All photographs made by other players will not be rendered. + HideAllPhotographsMadeByOthers = false [Integration] #Useful information about some items will be shown in JEI description category. Default: true JeiInformation = true + #[Real Camera] Disable player model rendering when looking through viewfinder. Default: true + RealCameraDisableInViewfinder = true diff --git a/config/jade/plugins.json b/config/jade/plugins.json index 8dcb00930..02e6a2ef2 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, @@ -105,18 +106,19 @@ "part_name": true }, "firmalife": { - "oven_top": true, - "solar_drier": true, + "barrel_press": true, "string": true, "vat": true, + "drying_mat": true, + "tumbler": true, + "cheese": true, + "shelf": true, + "oven_top": true, + "solar_drier": true, "oven_bottom": true, "fruit_tree_sapling": true, "jarbnet": true, - "drying_mat": true, - "tumbler": true, - "hanger": true, - "cheese": true, - "shelf": true + "hanger": true }, "tfc": { "bloomery": true, @@ -196,9 +198,6 @@ "corpse": { "corpse": true }, - "tfc_support_indicator": { - "support_indicator": true - }, "treetap": { "tap": true } diff --git a/config/jade/sort-order.json b/config/jade/sort-order.json index bd9d8dfda..1d824abe9 100644 --- a/config/jade/sort-order.json +++ b/config/jade/sort-order.json @@ -46,6 +46,7 @@ "extendedcrafting:ultimate_table": null, "firmaciv:barrel": null, "firmaciv:tfc_chest": null, + "firmalife:barrel_press": null, "firmalife:cheese": null, "firmalife:drying_mat": null, "firmalife:fruit_tree_sapling": null, @@ -123,6 +124,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 dfb253e13..324191b82 100644 --- a/config/jei/jei-client.ini +++ b/config/jei/jei-client.ini @@ -76,6 +76,11 @@ # Default Value: false showTagRecipesEnabled = false + # 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 to become a drag operation @@ -141,6 +146,11 @@ # Default Value: DISABLED ResourceLocationSearchMode = DISABLED + # Description: Search mode for Creative Tabs (prefix: %) + # Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED] + # Default Value: DISABLED + CreativeTabSearchMode = DISABLED + # Description: Search advanced tooltips (visible with F3+H) # Valid Values: [true, false] # Default Value: false @@ -156,6 +166,11 @@ # 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 diff --git a/config/jei/jei-debug.ini b/config/jei/jei-debug.ini index 30ff2591f..eb75fc9b4 100644 --- a/config/jei/jei-debug.ini +++ b/config/jei/jei-debug.ini @@ -24,4 +24,9 @@ # 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/recipe-category-sort-order.ini b/config/jei/recipe-category-sort-order.ini index 0e648fb3b..1fdc1ec3b 100644 --- a/config/jei/recipe-category-sort-order.ini +++ b/config/jei/recipe-category-sort-order.ini @@ -86,3 +86,5 @@ firmalife:stinky_soup tfc:sewing petrolpark:item_decay petrolpark:manual_crafting +firmalife:press +firmalife:stomping diff --git a/config/packetfixer.properties b/config/packetfixer.properties index de97da359..d16791fd3 100644 --- a/config/packetfixer.properties +++ b/config/packetfixer.properties @@ -1,8 +1,8 @@ #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 Aug 27 09:45:36 NOVT 2024 -decoderSize=838860800 +#Sat Sep 14 19:17:43 YEKT 2024 nbtMaxSize=209715200 +decoderSize=838860800 packetSize=104857600 varInt21=8 diff --git a/config/sodiumdynamiclights-client.toml b/config/sodiumdynamiclights-client.toml new file mode 100644 index 000000000..9d6bd7783 --- /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 = true + #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/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/xaerominimap-common.txt b/config/xaerominimap-common.txt index b36023c03..34539faa2 100644 --- a/config/xaerominimap-common.txt +++ b/config/xaerominimap-common.txt @@ -2,3 +2,4 @@ allowCaveModeOnServer:true allowNetherCaveModeOnServer:true allowRadarOnServer:true registerStatusEffects:true +everyoneTracksEveryone:false diff --git a/config/xaeroworldmap-common.txt b/config/xaeroworldmap-common.txt index c4becb0ec..0caae0c64 100644 --- a/config/xaeroworldmap-common.txt +++ b/config/xaeroworldmap-common.txt @@ -1,3 +1,4 @@ allowCaveModeOnServer:true allowNetherCaveModeOnServer:true registerStatusEffects:true +everyoneTracksEveryone:false diff --git a/global-server-configs/firmaciv-server.toml b/global-server-configs/firmaciv-server.toml index d146966fb..6d061efbe 100644 --- a/global-server-configs/firmaciv-server.toml +++ b/global-server-configs/firmaciv-server.toml @@ -8,4 +8,6 @@ forceReducedDebugInfo = false #Disables vanilla boats and base TFC boats from working. disableVanillaBoatFunctionality = true + #Automatically adjusts latitude and longitude to match the climate scale of the TFC world. + changeLatitudeLongitudeBasedOnClimateConfig = false diff --git a/global-server-configs/firmalife-server.toml b/global-server-configs/firmalife-server.toml index 451914b77..fe487192f 100644 --- a/global-server-configs/firmalife-server.toml +++ b/global-server-configs/firmalife-server.toml @@ -36,7 +36,7 @@ enableSeedBalls = true #If true, bees can swarm and hurt the player if provoked. enableBeeSwarm = true - #The capacity in mB of the hollow shell. Default 100 + #The capacity in mB of the wine glass. Default 250 #Range: > 1 hollowShellCapacity = 100 #The average temperature below which stronger decay modifiers apply to cellar blocks. @@ -60,6 +60,8 @@ #The max bounded distance from the climate station a cellar wall can be. Higher numbers = more lag. #Range: 1 ~ 128 cellarRadius = 15 + #If true, the tumbler and the pumping station work magically with a redstone signal and no power required. + mechanicalPowerCheatMode = false [foodTraits] #The modifier for the 'Dried' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. @@ -83,9 +85,6 @@ #The modifier for the 'Rancid_smoked' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. #Range: 0.0 ~ 1.7976931348623157E308 traitRancid_smokedModifier = 2.0 - #The modifier for the 'Raw' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitRawModifier = 1.0 #The modifier for the 'Shelved' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. #Range: 0.0 ~ 1.7976931348623157E308 traitShelvedModifier = 0.4000000059604645 @@ -104,4 +103,19 @@ #The modifier for the 'Hung_3' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. #Range: 0.0 ~ 1.7976931348623157E308 traitHung_3Modifier = 0.25 + #The modifier for the 'Fermented' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitFermentedModifier = 0.25 + #The modifier for the 'Bee_pollinated' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitBee_pollinatedModifier = 0.800000011920929 + #The modifier for the 'Dirt_grown' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitDirt_grownModifier = 0.8999999761581421 + #The modifier for the 'Gravel_grown' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitGravel_grownModifier = 0.800000011920929 + #The modifier for the 'Slope_grown' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitSlope_grownModifier = 0.800000011920929 diff --git a/global-server-configs/openpartiesandclaims-server.toml b/global-server-configs/openpartiesandclaims-server.toml index 0b3d1366c..21d82b8eb 100644 --- a/global-server-configs/openpartiesandclaims-server.toml +++ b/global-server-configs/openpartiesandclaims-server.toml @@ -161,10 +161,22 @@ #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. entityClaimBarrierOptionalGroups = ["Players{minecraft:player}", "Ender_Pearls{minecraft:ender_pearl}"] #Entities that can bypass all block protection. Supports entity type tags. + #Prefixing an entity id/tag with "interact$" creates an exception which tries to exclude block breaking. + #Prefixing an entity id/tag with "break$" creates an exception that only includes block breaking. + #Leaving an entity id/tag without a prefix creates an exception that includes all block interactions. + #Projectiles landing on blocks is considered a non-breaking interaction first, even if it can result in a block break, + #which is protected separately afterwards. + #Projectile landing on blocks requires non-break block access through this option or blockAccessEntityGroups. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] entitiesAllowedToGrief = ["minecraft:sheep"] #Entities that can bypass all protection of other entities. Supports entity type tags. + #Prefixing an entity id/tag with "interact$" creates an exception which tries to exclude attacks. + #Prefixing an entity id/tag with "break$" creates an exception that only includes attacks. + #Leaving an entity id/tag without a prefix creates an exception that includes all entity interactions. + #Projectiles landing on entities is considered a non-attack interaction first, even if it can result in an attack, + #which is protected separately afterwards. + #Projectile landing on entities requires non-attack entity access through this option or entityAccessEntityGroups. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] entitiesAllowedToGriefEntities = [] @@ -195,6 +207,12 @@ #Custom groups of entities that a player/claim config should be able to make block access exceptions for (e.g. letting sheep eat grass or endermen take blocks). Each group can consist of multiple entities and entity tags. #The format for an entity group is {}. #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". + #The group can be prefixed with "interact$" to create an exception that tries to exclude block breaking. + #The group can be prefixed with "break$" to create an exception that only includes block breaking. + #The group can be left without a prefix to create an exception that includes all block interactions. + #Projectiles landing on blocks is considered a non-breaking interaction first, even if it can result in a block break, + #which is protected separately afterwards. + #Projectile landing on blocks requires non-break block access through this option or entitiesAllowedToGrief. #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. #The exact paths of the added options can be found in the default player config file after you start the server. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. @@ -203,6 +221,12 @@ #The groups should consist of entities that are the ones accessing other entities. The groups should not contain entities that are being accessed. Check out the "entityProtectionOptionalExceptionGroups" option for that. #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". + #The group can be prefixed with "interact$" to create an exception that tries to exclude attacks. + #The group can be prefixed with "break$" to create an exception that only includes attacks. + #The group can be left without a prefix to create an exception that includes all entity interactions. + #Projectiles landing on entities is considered a non-attack interaction first, even if it can result in an attack, + #which is protected separately afterwards. + #Projectile landing on entities requires non-attack entity access through this option or entitiesAllowedToGriefEntities. #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. #The exact paths of the added options can be found in the default player config file after you start the server. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. 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 From 8b320cfb821dc94c40cacedd91bfce80d91b2a8c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 21:49:22 +0700 Subject: [PATCH 070/266] why? --- defaultconfigs/ftbessentials-server.snbt | 13 +++++++++++++ defaultconfigs/ftblibrary/ftblibrary-client.snbt | 4 ++++ defaultconfigs/ftbquests/client-config.snbt | 4 ++++ defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt | 4 ++++ 4 files changed, 25 insertions(+) create mode 100644 defaultconfigs/ftbessentials-server.snbt create mode 100644 defaultconfigs/ftblibrary/ftblibrary-client.snbt create mode 100644 defaultconfigs/ftbquests/client-config.snbt create mode 100644 defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt diff --git a/defaultconfigs/ftbessentials-server.snbt b/defaultconfigs/ftbessentials-server.snbt new file mode 100644 index 000000000..9d8158544 --- /dev/null +++ b/defaultconfigs/ftbessentials-server.snbt @@ -0,0 +1,13 @@ +# Default config file that will be copied to world's serverconfig/ftbessentials.snbt location +# Copy values you wish to override in here +# Example: +# +# { +# misc: { +# enderchest: { +# enabled: false +# } +# } +# } + +{ } diff --git a/defaultconfigs/ftblibrary/ftblibrary-client.snbt b/defaultconfigs/ftblibrary/ftblibrary-client.snbt new file mode 100644 index 000000000..ee8fa4b3d --- /dev/null +++ b/defaultconfigs/ftblibrary/ftblibrary-client.snbt @@ -0,0 +1,4 @@ +# Default config file that will be copied to local\ftblibrary-client.snbt if it doesn't exist! +# Just copy any values you wish to override in here! + +{ } diff --git a/defaultconfigs/ftbquests/client-config.snbt b/defaultconfigs/ftbquests/client-config.snbt new file mode 100644 index 000000000..406c7da71 --- /dev/null +++ b/defaultconfigs/ftbquests/client-config.snbt @@ -0,0 +1,4 @@ +# Default config file that will be copied to local\ftbquests\client-config.snbt if it doesn't exist! +# Just copy any values you wish to override in here! + +{ } diff --git a/defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt b/defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt new file mode 100644 index 000000000..313ca3bf4 --- /dev/null +++ b/defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt @@ -0,0 +1,4 @@ +# Default config file that will be copied to config\ftbxmodcompat.snbt if it doesn't exist! +# Just copy any values you wish to override in here! + +{ } From 80812c34294344510ed3bf1db41ce36d573bffe5 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:58:27 +0700 Subject: [PATCH 071/266] fixes + improvements for emi world interaction page --- kubejs/client_scripts/main_client_script.js | 11 +++++++++ kubejs/client_scripts/minecraft/assets.js | 25 +++++++++++++++++++++ kubejs/client_scripts/tfc/assets.js | 25 +++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 kubejs/client_scripts/main_client_script.js create mode 100644 kubejs/client_scripts/minecraft/assets.js create mode 100644 kubejs/client_scripts/tfc/assets.js diff --git a/kubejs/client_scripts/main_client_script.js b/kubejs/client_scripts/main_client_script.js new file mode 100644 index 000000000..c4ac804c5 --- /dev/null +++ b/kubejs/client_scripts/main_client_script.js @@ -0,0 +1,11 @@ +// priority: 1 + +console.log('TerraFirmaGreg the best modpack in the world :)') + +/** + * Событие регистрации любых ассетов на клиентской стороне. + */ +ClientEvents.highPriorityAssets(event => { + registerMinecraftAssets(event) + registerTFCAssets(event) +}) \ No newline at end of file diff --git a/kubejs/client_scripts/minecraft/assets.js b/kubejs/client_scripts/minecraft/assets.js new file mode 100644 index 000000000..36ba65eaf --- /dev/null +++ b/kubejs/client_scripts/minecraft/assets.js @@ -0,0 +1,25 @@ +// priority: 0 + +const registerMinecraftAssets = (e) => { + + //#region Обработка дерева топором + global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + const logJson = { + type: 'emi:world_interaction', + left: `item:minecraft:${woodName}_stem`, + right: '#item:minecraft:axes', + output: `item:minecraft:stripped_${woodName}_stem` + } + + const woodJson = { + type: 'emi:world_interaction', + left: `item:minecraft:${woodName}_hyphae`, + right: '#item:minecraft:axes', + output: `item:minecraft:stripped_${woodName}_hyphae` + } + + e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, logJson) + e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, woodJson) + }) + //#endregion +} \ No newline at end of file diff --git a/kubejs/client_scripts/tfc/assets.js b/kubejs/client_scripts/tfc/assets.js new file mode 100644 index 000000000..8a8d590e8 --- /dev/null +++ b/kubejs/client_scripts/tfc/assets.js @@ -0,0 +1,25 @@ +// priority: 0 + +const registerTFCAssets = (e) => { + + //#region Обработка дерева топором + global.TFC_WOOD_TYPES.forEach(woodName => { + const logJson = { + type: 'emi:world_interaction', + left: `item:tfc:wood/log/${woodName}`, + right: '#item:minecraft:axes', + output: `item:tfc:wood/stripped_log/${woodName}` + } + + const woodJson = { + type: 'emi:world_interaction', + left: `item:tfc:wood/wood/${woodName}`, + right: '#item:minecraft:axes', + output: `item:tfc:wood/stripped_wood/${woodName}` + } + + e.add(`emi:recipe/additions/tfc_${woodName}_wood_conversion`, logJson) + e.add(`emi:recipe/additions/tfc_${woodName}_wood_conversion`, woodJson) + }) + //#endregion +} \ No newline at end of file From 1782d925cd29a727fd398c1fa9027083148538f8 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:58:34 +0700 Subject: [PATCH 072/266] Delete example.js --- kubejs/client_scripts/example.js | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 kubejs/client_scripts/example.js diff --git a/kubejs/client_scripts/example.js b/kubejs/client_scripts/example.js deleted file mode 100644 index c283f7462..000000000 --- a/kubejs/client_scripts/example.js +++ /dev/null @@ -1,3 +0,0 @@ -// priority: 1 - -console.log('TerraFirmaGreg the best modpack in the world :)') \ No newline at end of file From 3dc29a6340d19ac655af87a6cc35dec73f09d851 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:58:37 +0700 Subject: [PATCH 073/266] Update categories.json --- .../assets/emi/recipe/filters/categories.json | 49 +++++++++++++++++-- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 6d0154068..01383d269 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -1,8 +1,5 @@ { "filters": [ - { - "category": "emi:world_interaction" - }, { "category": "minecraft:blasting" }, @@ -20,6 +17,52 @@ }, { "category": "emi:composting" + }, + + { + "category": "emi:world_interaction", + "id": "/emi:\/world\/flower_duping\//" + }, + { + "category": "emi:world_interaction", + "id": "/emi:\/world\/stripping\/minecraft\//" + }, + + { + "category": "emi:world_interaction", + "id": "emi:/world/shearing/minecraft/pumpkin" + }, + + { + "category": "emi:world_interaction", + "id": "/emi:\/world\/tilling\/minecraft\//" + }, + { + "category": "emi:world_interaction", + "id": "/emi:\/world\/flattening\/minecraft\/grass_block\//" + }, + + { + "category": "emi:world_interaction", + "id": "emi:/world/fluid_spring/minecraft/water" + }, + { + "category": "emi:world_interaction", + "id": "emi:/world/fluid_interaction/minecraft/cobblestone" + }, + { + "category": "emi:world_interaction", + "id": "emi:/world/fluid_interaction/minecraft/stone" + }, + + { + "category": "emi:world_interaction", + "id": "/emi:\/emi\/bucket_filling\/minecraft\//" + }, + + { + "category": "emi:world_interaction", + "id": "emi:/world/unique/minecraft/water_bottle" } ] } \ No newline at end of file From b89010918f569420db370ddb3f9430d4d7cadcb2 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:58:46 +0700 Subject: [PATCH 074/266] Update constants.js --- kubejs/startup_scripts/minecraft/constants.js | 310 +++++++++--------- 1 file changed, 155 insertions(+), 155 deletions(-) diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 247a66c0f..2cadace2c 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -9,182 +9,182 @@ global.MINECRAFT_DISABLED_ITEMS = [ //#region Дерево //#region Дуб - "minecraft:oak_wood", - "minecraft:oak_leaves", - "minecraft:oak_sapling", - "minecraft:stripped_oak_wood", - "minecraft:oak_log", - "minecraft:stripped_oak_log", - "minecraft:oak_planks", - "minecraft:oak_stairs", - "minecraft:oak_slab", - "minecraft:petrified_oak_slab", - "minecraft:oak_pressure_plate", - "minecraft:oak_fence", - "minecraft:oak_fence_gate", - "minecraft:oak_door", - "minecraft:oak_trapdoor", - "minecraft:oak_boat", - "minecraft:oak_chest_boat", - "minecraft:oak_sign", - "minecraft:oak_hanging_sign", - "minecraft:oak_button", + // "minecraft:oak_wood", + // "minecraft:oak_leaves", + // "minecraft:oak_sapling", + // "minecraft:stripped_oak_wood", + // "minecraft:oak_log", + // "minecraft:stripped_oak_log", + // "minecraft:oak_planks", + // "minecraft:oak_stairs", + // "minecraft:oak_slab", + // "minecraft:petrified_oak_slab", + // "minecraft:oak_pressure_plate", + // "minecraft:oak_fence", + // "minecraft:oak_fence_gate", + // "minecraft:oak_door", + // "minecraft:oak_trapdoor", + // "minecraft:oak_boat", + // "minecraft:oak_chest_boat", + // "minecraft:oak_sign", + // "minecraft:oak_hanging_sign", + // "minecraft:oak_button", //#endregion //#region Темный дуб - "minecraft:dark_oak_planks", - "minecraft:dark_oak_sapling", - "minecraft:dark_oak_log", - "minecraft:stripped_dark_oak_log", - "minecraft:stripped_dark_oak_wood", - "minecraft:dark_oak_wood", - "minecraft:dark_oak_leaves", - "minecraft:dark_oak_slab", - "minecraft:dark_oak_fence", - "minecraft:dark_oak_stairs", - "minecraft:dark_oak_button", - "minecraft:dark_oak_pressure_plate", - "minecraft:dark_oak_door", - "minecraft:dark_oak_trapdoor", - "minecraft:dark_oak_fence_gate", - "minecraft:dark_oak_boat", - "minecraft:dark_oak_chest_boat", - "minecraft:dark_oak_sign", - "minecraft:dark_oak_hanging_sign", + // "minecraft:dark_oak_planks", + // "minecraft:dark_oak_sapling", + // "minecraft:dark_oak_log", + // "minecraft:stripped_dark_oak_log", + // "minecraft:stripped_dark_oak_wood", + // "minecraft:dark_oak_wood", + // "minecraft:dark_oak_leaves", + // "minecraft:dark_oak_slab", + // "minecraft:dark_oak_fence", + // "minecraft:dark_oak_stairs", + // "minecraft:dark_oak_button", + // "minecraft:dark_oak_pressure_plate", + // "minecraft:dark_oak_door", + // "minecraft:dark_oak_trapdoor", + // "minecraft:dark_oak_fence_gate", + // "minecraft:dark_oak_boat", + // "minecraft:dark_oak_chest_boat", + // "minecraft:dark_oak_sign", + // "minecraft:dark_oak_hanging_sign", //#endregion //#region Акация - "minecraft:acacia_planks", - "minecraft:acacia_sapling", - "minecraft:acacia_log", - "minecraft:stripped_acacia_log", - "minecraft:stripped_acacia_wood", - "minecraft:acacia_wood", - "minecraft:acacia_leaves", - "minecraft:acacia_slab", - "minecraft:acacia_fence", - "minecraft:acacia_stairs", - "minecraft:acacia_button", - "minecraft:acacia_pressure_plate", - "minecraft:acacia_door", - "minecraft:acacia_trapdoor", - "minecraft:acacia_fence_gate", - "minecraft:acacia_boat", - "minecraft:acacia_chest_boat", - "minecraft:acacia_sign", - "minecraft:acacia_hanging_sign", + // "minecraft:acacia_planks", + // "minecraft:acacia_sapling", + // "minecraft:acacia_log", + // "minecraft:stripped_acacia_log", + // "minecraft:stripped_acacia_wood", + // "minecraft:acacia_wood", + // "minecraft:acacia_leaves", + // "minecraft:acacia_slab", + // "minecraft:acacia_fence", + // "minecraft:acacia_stairs", + // "minecraft:acacia_button", + // "minecraft:acacia_pressure_plate", + // "minecraft:acacia_door", + // "minecraft:acacia_trapdoor", + // "minecraft:acacia_fence_gate", + // "minecraft:acacia_boat", + // "minecraft:acacia_chest_boat", + // "minecraft:acacia_sign", + // "minecraft:acacia_hanging_sign", //#endregion //#region Береза - "minecraft:birch_planks", - "minecraft:birch_sapling", - "minecraft:birch_log", - "minecraft:stripped_birch_log", - "minecraft:stripped_birch_wood", - "minecraft:birch_wood", - "minecraft:birch_leaves", - "minecraft:birch_slab", - "minecraft:birch_fence", - "minecraft:birch_stairs", - "minecraft:birch_button", - "minecraft:birch_pressure_plate", - "minecraft:birch_door", - "minecraft:birch_trapdoor", - "minecraft:birch_fence_gate", - "minecraft:birch_boat", - "minecraft:birch_chest_boat", - "minecraft:birch_sign", - "minecraft:birch_hanging_sign", + // "minecraft:birch_planks", + // "minecraft:birch_sapling", + // "minecraft:birch_log", + // "minecraft:stripped_birch_log", + // "minecraft:stripped_birch_wood", + // "minecraft:birch_wood", + // "minecraft:birch_leaves", + // "minecraft:birch_slab", + // "minecraft:birch_fence", + // "minecraft:birch_stairs", + // "minecraft:birch_button", + // "minecraft:birch_pressure_plate", + // "minecraft:birch_door", + // "minecraft:birch_trapdoor", + // "minecraft:birch_fence_gate", + // "minecraft:birch_boat", + // "minecraft:birch_chest_boat", + // "minecraft:birch_sign", + // "minecraft:birch_hanging_sign", //#endregion //#region Тропическое - "minecraft:jungle_planks", - "minecraft:jungle_sapling", - "minecraft:jungle_log", - "minecraft:stripped_jungle_log", - "minecraft:stripped_jungle_wood", - "minecraft:jungle_wood", - "minecraft:jungle_leaves", - "minecraft:jungle_slab", - "minecraft:jungle_fence", - "minecraft:jungle_stairs", - "minecraft:jungle_button", - "minecraft:jungle_pressure_plate", - "minecraft:jungle_door", - "minecraft:jungle_trapdoor", - "minecraft:jungle_fence_gate", - "minecraft:jungle_boat", - "minecraft:jungle_chest_boat", - "minecraft:jungle_sign", - "minecraft:jungle_hanging_sign", + // "minecraft:jungle_planks", + // "minecraft:jungle_sapling", + // "minecraft:jungle_log", + // "minecraft:stripped_jungle_log", + // "minecraft:stripped_jungle_wood", + // "minecraft:jungle_wood", + // "minecraft:jungle_leaves", + // "minecraft:jungle_slab", + // "minecraft:jungle_fence", + // "minecraft:jungle_stairs", + // "minecraft:jungle_button", + // "minecraft:jungle_pressure_plate", + // "minecraft:jungle_door", + // "minecraft:jungle_trapdoor", + // "minecraft:jungle_fence_gate", + // "minecraft:jungle_boat", + // "minecraft:jungle_chest_boat", + // "minecraft:jungle_sign", + // "minecraft:jungle_hanging_sign", //#endregion //#region Ель - "minecraft:spruce_planks", - "minecraft:spruce_sapling", - "minecraft:spruce_log", - "minecraft:stripped_spruce_log", - "minecraft:stripped_spruce_wood", - "minecraft:spruce_wood", - "minecraft:spruce_leaves", - "minecraft:spruce_slab", - "minecraft:spruce_fence", - "minecraft:spruce_stairs", - "minecraft:spruce_button", - "minecraft:spruce_pressure_plate", - "minecraft:spruce_door", - "minecraft:spruce_trapdoor", - "minecraft:spruce_fence_gate", - "minecraft:spruce_boat", - "minecraft:spruce_chest_boat", - "minecraft:spruce_sign", - "minecraft:spruce_hanging_sign", + // "minecraft:spruce_planks", + // "minecraft:spruce_sapling", + // "minecraft:spruce_log", + // "minecraft:stripped_spruce_log", + // "minecraft:stripped_spruce_wood", + // "minecraft:spruce_wood", + // "minecraft:spruce_leaves", + // "minecraft:spruce_slab", + // "minecraft:spruce_fence", + // "minecraft:spruce_stairs", + // "minecraft:spruce_button", + // "minecraft:spruce_pressure_plate", + // "minecraft:spruce_door", + // "minecraft:spruce_trapdoor", + // "minecraft:spruce_fence_gate", + // "minecraft:spruce_boat", + // "minecraft:spruce_chest_boat", + // "minecraft:spruce_sign", + // "minecraft:spruce_hanging_sign", //#endregion //#region Вишня - "minecraft:cherry_planks", - "minecraft:cherry_sapling", - "minecraft:cherry_log", - "minecraft:stripped_cherry_log", - "minecraft:stripped_cherry_wood", - "minecraft:cherry_wood", - "minecraft:cherry_leaves", - "minecraft:cherry_slab", - "minecraft:cherry_fence", - "minecraft:cherry_stairs", - "minecraft:cherry_button", - "minecraft:cherry_pressure_plate", - "minecraft:cherry_door", - "minecraft:cherry_trapdoor", - "minecraft:cherry_fence_gate", - "minecraft:cherry_boat", - "minecraft:cherry_chest_boat", - "minecraft:cherry_sign", - "minecraft:cherry_hanging_sign", + // "minecraft:cherry_planks", + // "minecraft:cherry_sapling", + // "minecraft:cherry_log", + // "minecraft:stripped_cherry_log", + // "minecraft:stripped_cherry_wood", + // "minecraft:cherry_wood", + // "minecraft:cherry_leaves", + // "minecraft:cherry_slab", + // "minecraft:cherry_fence", + // "minecraft:cherry_stairs", + // "minecraft:cherry_button", + // "minecraft:cherry_pressure_plate", + // "minecraft:cherry_door", + // "minecraft:cherry_trapdoor", + // "minecraft:cherry_fence_gate", + // "minecraft:cherry_boat", + // "minecraft:cherry_chest_boat", + // "minecraft:cherry_sign", + // "minecraft:cherry_hanging_sign", //#endregion //#region Мангровое - "minecraft:mangrove_planks", - "minecraft:mangrove_propagule", - "minecraft:mangrove_log", - "minecraft:mangrove_roots", - "minecraft:muddy_mangrove_roots", - "minecraft:stripped_mangrove_log", - "minecraft:stripped_mangrove_wood", - "minecraft:mangrove_wood", - "minecraft:mangrove_leaves", - "minecraft:mangrove_slab", - "minecraft:mangrove_fence", - "minecraft:mangrove_stairs", - "minecraft:mangrove_button", - "minecraft:mangrove_pressure_plate", - "minecraft:mangrove_door", - "minecraft:mangrove_trapdoor", - "minecraft:mangrove_fence_gate", - "minecraft:mangrove_boat", - "minecraft:mangrove_chest_boat", - "minecraft:mangrove_sign", - "minecraft:mangrove_hanging_sign", + // "minecraft:mangrove_planks", + // "minecraft:mangrove_propagule", + // "minecraft:mangrove_log", + // "minecraft:mangrove_roots", + // "minecraft:muddy_mangrove_roots", + // "minecraft:stripped_mangrove_log", + // "minecraft:stripped_mangrove_wood", + // "minecraft:mangrove_wood", + // "minecraft:mangrove_leaves", + // "minecraft:mangrove_slab", + // "minecraft:mangrove_fence", + // "minecraft:mangrove_stairs", + // "minecraft:mangrove_button", + // "minecraft:mangrove_pressure_plate", + // "minecraft:mangrove_door", + // "minecraft:mangrove_trapdoor", + // "minecraft:mangrove_fence_gate", + // "minecraft:mangrove_boat", + // "minecraft:mangrove_chest_boat", + // "minecraft:mangrove_sign", + // "minecraft:mangrove_hanging_sign", //#endregion //#endregion From 7d1c350e093aed8f776fa2f30c3c3d23658a7ee3 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:58:49 +0700 Subject: [PATCH 075/266] Update recipes.js --- kubejs/server_scripts/minecraft/recipes.js | 821 +++++++++++---------- 1 file changed, 436 insertions(+), 385 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 5bcc93433..2b276640d 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3,11 +3,10 @@ const registerMinecraftRecipes = (e) => { //#region Дерево - global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { - + const processOverworldWood = (woodName) => { // Wood e.remove({ id: `minecraft:${woodName}_wood` }) - + // Stripped Log e.remove({ id: `create:cutting/${woodName}_log` }) @@ -23,12 +22,12 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) e.remove({ id: `create:cutting/stripped_${woodName}_wood` }) e.remove({ id: `create:cutting/stripped_${woodName}_log` }) - + // Stairs e.remove({ id: `minecraft:${woodName}_stairs` }) e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) - + // Slabs e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) @@ -80,52 +79,110 @@ const registerMinecraftRecipes = (e) => { // Sticks e.remove({ id: `everycomp:c/minecraft/null_from_${woodName}_planks_stonecutting` }) - }) + } + + const processNetherWood = () => { + + const anyLogs = `#minecraft:${woodName}_stems` + + const log = Item.of(`minecraft:${woodName}_stem`) + const wood = Item.of(`minecraft:${woodName}_hyphae`) + + const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) + const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) + + //#region Бревно + + // Нечего добавлять + // Нечего удалять + + //#endregion + + //#region Цельное бревно + e.remove({ id: `minecraft:${woodName}_hyphae` }) + + e.shaped(wood, [ + 'AA', + ' s' + ], { + A: log, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_wood`) + + e.recipes.create.cutting(wood, log.copyWithCount(2)) + .id(`tfg:create_cutting/${woodName}_wood`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_wood`) + .itemInputs(log) + .circuit(0) + .itemOutputs(wood.copyWithCount(2)) + .itemOutputs('4x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Обтесанное бревно + e.recipes.create.cutting(strippedLog, log.copyWithCount(2)) + .id(`tfg:create_cutting/${woodName}_wood`) + + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) + .itemInputs(log) + .circuit(0) + .itemOutputs(strippedLog) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + //#region Обтесанное цельное бревно + //#endregion + } + + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { + processOverworldWood(woodName) + }) + global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { //#region Удаление // Planks - e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) - e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) - e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) - e.remove({ id: `gtceu:cutter/${woodName}_planks` }) - e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) - e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) - e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) + // e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + // e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + // e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + // e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + // e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) + // e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) // Stairs - e.remove({ id: `minecraft:${woodName}_stairs` }) + // e.remove({ id: `minecraft:${woodName}_stairs` }) // e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) - e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) + // e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) // Slabs - e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + // e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) // e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) - e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) - e.remove({ id: `gtceu:cutter/${woodName}_slab` }) - e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + // e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) // Fence - e.remove({ id: `gtceu:shaped/${woodName}_fence` }) - e.remove({ id: `gtceu:assembler/${woodName}_fence` }) + // e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + // e.remove({ id: `gtceu:assembler/${woodName}_fence` }) // Fence Gate - e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) - e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) - e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) + // e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + // e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + // e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) // Door - e.remove({ id: `gtceu:shaped/${woodName}_door` }) - e.remove({ id: `gtceu:assembler/${woodName}_door` }) + // e.remove({ id: `gtceu:shaped/${woodName}_door` }) + // e.remove({ id: `gtceu:assembler/${woodName}_door` }) // Trapdoor - e.remove({ id: `minecraft:${woodName}_trapdoor` }) + // e.remove({ id: `minecraft:${woodName}_trapdoor` }) // Pressure Plate - e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) - e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) + // e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + // e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) // Button // e.remove({ id: `gtceu:shaped/${woodName}_button` }) @@ -134,8 +191,8 @@ const registerMinecraftRecipes = (e) => { // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) // Sign - e.remove({ id: `minecraft:${woodName}_sign` }) - e.remove({ id: `gtceu:assembler/${woodName}_sign` }) + // e.remove({ id: `minecraft:${woodName}_sign` }) + // e.remove({ id: `gtceu:assembler/${woodName}_sign` }) //#endregion @@ -145,329 +202,323 @@ const registerMinecraftRecipes = (e) => { const log = Item.of(`minecraft:${woodName}_stem`); const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) - const wood = Item.of(`minecraft:${woodName}_hyphae`) - const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) + // const wood = Item.of(`minecraft:${woodName}_hyphae`) + // const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) - const plank = Item.of(`minecraft:${woodName}_planks`) - const stair = Item.of(`minecraft:${woodName}_stairs`) - const slab = Item.of(`minecraft:${woodName}_slab`) + // const plank = Item.of(`minecraft:${woodName}_planks`) + // const stair = Item.of(`minecraft:${woodName}_stairs`) + // const slab = Item.of(`minecraft:${woodName}_slab`) - const fence = Item.of(`minecraft:${woodName}_fence`) - const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) + // const fence = Item.of(`minecraft:${woodName}_fence`) + // const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) - const door = Item.of(`minecraft:${woodName}_door`) - const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + // const door = Item.of(`minecraft:${woodName}_door`) + // const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) - const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) - // const button = Item.of(`minecraft:${woodName}_button`) + // const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + // // const button = Item.of(`minecraft:${woodName}_button`) - const sign = Item.of(`minecraft:${woodName}_sign`) - const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + // const sign = Item.of(`minecraft:${woodName}_sign`) + // const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) - const lumber = Item.of(`tfg:${woodName}_lumber`) + // const lumber = Item.of(`tfg:${woodName}_lumber`) - //#region Очищенные бревна - e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) - .itemInputs(log) - .circuit(0) - .itemOutputs(strippedLog) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Очищенная древесина - e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) - .itemInputs(wood) - .circuit(0) - .itemOutputs(strippedWood) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Доски - e.shaped(plank, [ - 'AA', - 'AA' - ], { - A: lumber - }).id(`tfg:${woodName}_planks`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) - .itemInputs(allLogs) - .circuit(1) - .itemOutputs(plank.copyWithCount(6)) - .itemOutputs('2x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - e.recipes.create.cutting(plank.copyWithCount(3).withChance(0.95), allLogs) - .id(`tfg:${woodName}_planks_cutting`) - //#endregion - - //#region Ступень - e.shaped(stair, [ - 'As' - ], { - A: plank, - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_stairs_saw`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) - .itemInputs(allLogs) - .circuit(2) - .itemOutputs(stair.copyWithCount(12)) - .itemOutputs('12x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) - .itemInputs(plank) - .circuit(0) - .itemOutputs(stair) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Полублок - e.shaped(slab.copyWithCount(2), [ - 'sA' - ], { - A: plank, - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_slabs_saw`) - - e.shaped(slab, [ - 'LL' - ], { - L: lumber - }).id(`tfg:${woodName}_slabs`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) - .itemInputs(allLogs) - .circuit(3) - .itemOutputs(slab.copyWithCount(24)) - .itemOutputs('24x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) - .itemInputs(plank) - .circuit(1) - .itemOutputs(slab.copyWithCount(2)) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - //#region Забор - e.shaped(fence.copyWithCount(8), [ - 'h s', - 'ABA', - 'ACA' - ], { - A: plank, - B: '#forge:rods/wooden', - C: lumber, - h: '#forge:tools/hammers', - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_fence`) - e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) - .itemInputs(plank) - .circuit(2) - .itemOutputs(fence.copyWithCount(2)) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // //#region Очищенная древесина + // e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) + // .itemInputs(wood) + // .circuit(0) + // .itemOutputs(strippedWood) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - //#region Калитка - e.shaped(fenceGate, [ - 'A A', - 'BCB', - 'DCD' - ], { - A: 'minecraft:flint', - B: '#forge:rods/wooden', - C: plank, - D: lumber - }).id(`tfg:${woodName}_fence_gate_flint`) + // //#region Доски + // e.shaped(plank, [ + // 'AA', + // 'AA' + // ], { + // A: lumber + // }).id(`tfg:${woodName}_planks`) - e.shaped(fenceGate.copyWithCount(2), [ - 'AEA', - 'BCB', - 'DCD' - ], { - A: '#forge:screws', - B: '#forge:rods/wooden', - C: plank, - D: lumber, - E: '#forge:tools/screwdrivers' - }).id(`tfg:${woodName}_fence_gate_screws`) + // e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) + // .itemInputs(allLogs) + // .circuit(1) + // .itemOutputs(plank.copyWithCount(6)) + // .itemOutputs('2x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) - .itemInputs(plank.copyWithCount(2)) - .itemInputs('2x #forge:rods/wooden') - .circuit(3) - .itemOutputs(fenceGate) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // e.recipes.create.cutting(plank.copyWithCount(3).withChance(0.95), allLogs) + // .id(`tfg:${woodName}_planks_cutting`) + // //#endregion + + // //#region Ступень + // e.shaped(stair, [ + // 'As' + // ], { + // A: plank, + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_stairs_saw`) + + // e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) + // .itemInputs(allLogs) + // .circuit(2) + // .itemOutputs(stair.copyWithCount(12)) + // .itemOutputs('12x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + // e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) + // .itemInputs(plank) + // .circuit(0) + // .itemOutputs(stair) + // .itemOutputs('1x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion + + // //#region Полублок + // e.shaped(slab.copyWithCount(2), [ + // 'sA' + // ], { + // A: plank, + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_slabs_saw`) + + // e.shaped(slab, [ + // 'LL' + // ], { + // L: lumber + // }).id(`tfg:${woodName}_slabs`) + + // e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) + // .itemInputs(allLogs) + // .circuit(3) + // .itemOutputs(slab.copyWithCount(24)) + // .itemOutputs('24x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + // e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) + // .itemInputs(plank) + // .circuit(1) + // .itemOutputs(slab.copyWithCount(2)) + // .itemOutputs('1x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - //#region Дверь - e.shaped(door, [ - 'ABd', - 'ACD', - 'AAs' - ], { - A: lumber, - B: trapdoor, - C: '#forge:rings', - D: '#forge:screws', - d: '#forge:tools/screwdrivers', - s: '#forge:tools/saws', - }).id(`tfg:${woodName}_door`) + // //#region Забор + // e.shaped(fence.copyWithCount(8), [ + // 'h s', + // 'ABA', + // 'ACA' + // ], { + // A: plank, + // B: '#forge:rods/wooden', + // C: lumber, + // h: '#forge:tools/hammers', + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_fence`) - e.recipes.gtceu.assembler(`tfg:${woodName}_door`) - .itemInputs(lumber.copyWithCount(4)) - .itemInputs(trapdoor) - .inputFluids(Fluid.of('gtceu:iron', 16)) - .circuit(0) - .itemOutputs(door) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + // .itemInputs(plank) + // .circuit(2) + // .itemOutputs(fence.copyWithCount(2)) + // .itemOutputs('1x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - //#region Люк - e.shaped(trapdoor, [ - 'ABd', - 'ACs' - ], { - A: lumber, - B: '#forge:rings', - C: '#forge:screws', - d: '#forge:tools/screwdrivers', - s: '#forge:tools/saws', - }).id(`tfg:${woodName}_trapdoor`) + // //#region Калитка + // e.shaped(fenceGate, [ + // 'A A', + // 'BCB', + // 'DCD' + // ], { + // A: 'minecraft:flint', + // B: '#forge:rods/wooden', + // C: plank, + // D: lumber + // }).id(`tfg:${woodName}_fence_gate_flint`) - e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) - .itemInputs(lumber.copyWithCount(2)) - .inputFluids(Fluid.of('gtceu:iron', 16)) - .circuit(0) - .itemOutputs(trapdoor) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // e.shaped(fenceGate.copyWithCount(2), [ + // 'AEA', + // 'BCB', + // 'DCD' + // ], { + // A: '#forge:screws', + // B: '#forge:rods/wooden', + // C: plank, + // D: lumber, + // E: '#forge:tools/screwdrivers' + // }).id(`tfg:${woodName}_fence_gate_screws`) - //#region Нажимная пластина - e.shaped(pressurePlate.copyWithCount(2), [ - 'AmA', - 'BCB', - 'AdA' - ], { - A: 'gtceu:wood_bolt', - B: slab, - C: '#tfg:all_iron_springs', - m: '#forge:tools/mallets', - d: '#forge:tools/screwdrivers' - }).id(`tfg:${woodName}_pressure_plate`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) - .itemInputs(slab.copyWithCount(2)) - .itemInputs('#tfg:all_iron_springs') - .circuit(0) - .itemOutputs(pressurePlate) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) + // .itemInputs(plank.copyWithCount(2)) + // .itemInputs('2x #forge:rods/wooden') + // .circuit(3) + // .itemOutputs(fenceGate) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - //#region Пиломатериалы + // //#region Дверь + // e.shaped(door, [ + // 'ABd', + // 'ACD', + // 'AAs' + // ], { + // A: lumber, + // B: trapdoor, + // C: '#forge:rings', + // D: '#forge:screws', + // d: '#forge:tools/screwdrivers', + // s: '#forge:tools/saws', + // }).id(`tfg:${woodName}_door`) - //#region Из бревен - e.shaped(lumber.copyWithCount(8), [ - 's', - 'A' - ], { - A: allLogs, - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_lumber_from_planks_saw`) + // e.recipes.gtceu.assembler(`tfg:${woodName}_door`) + // .itemInputs(lumber.copyWithCount(4)) + // .itemInputs(trapdoor) + // .inputFluids(Fluid.of('gtceu:iron', 16)) + // .circuit(0) + // .itemOutputs(door) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - e.recipes.create.cutting(lumber.copyWithCount(12).withChance(0.95), allLogs) - .id(`tfg:${woodName}_lumber_from_planks_cutting`) + // //#region Люк + // e.shaped(trapdoor, [ + // 'ABd', + // 'ACs' + // ], { + // A: lumber, + // B: '#forge:rings', + // C: '#forge:screws', + // d: '#forge:tools/screwdrivers', + // s: '#forge:tools/saws', + // }).id(`tfg:${woodName}_trapdoor`) - e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_planks`) - .itemInputs(allLogs) - .circuit(4) - .itemOutputs(lumber.copyWithCount(16)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) + // .itemInputs(lumber.copyWithCount(2)) + // .inputFluids(Fluid.of('gtceu:iron', 16)) + // .circuit(0) + // .itemOutputs(trapdoor) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - //#region Из ступенек - e.shaped(lumber.copyWithCount(3), [ - 'A', - 's' - ], { - A: stair, - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_lumber_from_stairs_saw`) + // //#region Нажимная пластина + // e.shaped(pressurePlate.copyWithCount(2), [ + // 'AmA', + // 'BCB', + // 'AdA' + // ], { + // A: 'gtceu:wood_bolt', + // B: slab, + // C: '#tfg:all_iron_springs', + // m: '#forge:tools/mallets', + // d: '#forge:tools/screwdrivers' + // }).id(`tfg:${woodName}_pressure_plate`) - e.recipes.create.cutting(lumber.copyWithCount(3).withChance(0.95), stair) - .id(`tfg:${woodName}_lumber_from_stairs_cutting`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_stairs`) - .itemInputs(stair) - .circuit(4) - .itemOutputs(lumber.copyWithCount(3)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Из полублоков - e.shaped(lumber.copyWithCount(2), [ - 'A', - 's' - ], { - A: slab, - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_lumber_from_slab_saw`) - - e.recipes.create.cutting(lumber.copyWithCount(2).withChance(0.95), slab) - .id(`tfg:${woodName}_lumber_from_slab_cutting`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_slab`) - .itemInputs(slab) - .circuit(4) - .itemOutputs(lumber.copyWithCount(2)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#endregion + // e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) + // .itemInputs(slab.copyWithCount(2)) + // .itemInputs('#tfg:all_iron_springs') + // .circuit(0) + // .itemOutputs(pressurePlate) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - //#region Табличка - e.shaped(sign.copyWithCount(3), [ - 'AAA', - 'AAA', - 'mB ' - ], { - A: lumber, - B: '#forge:rods/wooden', - m: '#forge:tools/mallets' - }).id(`tfg:${woodName}_sign`) + // //#region Пиломатериалы - e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) - .itemInputs(lumber.copyWithCount(6)) - .circuit(3) - .itemOutputs(sign.copyWithCount(3)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // //#region Из бревен + // e.shaped(lumber.copyWithCount(8), [ + // 's', + // 'A' + // ], { + // A: allLogs, + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_lumber_from_planks_saw`) - //#region Висящая табличка - e.shaped(hangingSign.copyWithCount(3), [ - 'AmA', - 'CBC', - 'BBB' - ], { - A: '#tfg:metal_chains', - B: lumber, - C: '#forge:screws', - m: '#forge:tools/mallets' - }).id(`tfg:${woodName}_hanging_sign`) + // e.recipes.create.cutting(lumber.copyWithCount(12).withChance(0.95), allLogs) + // .id(`tfg:${woodName}_lumber_from_planks_cutting`) - e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) - .itemInputs(lumber.copyWithCount(4)) - .itemInputs('2x #tfg:metal_chains') - .inputFluids(Fluid.of('gtceu:iron', 32)) - .circuit(4) - .itemOutputs(hangingSign.copyWithCount(3)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_planks`) + // .itemInputs(allLogs) + // .circuit(4) + // .itemOutputs(lumber.copyWithCount(16)) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion + + // //#region Из ступенек + // e.shaped(lumber.copyWithCount(3), [ + // 'A', + // 's' + // ], { + // A: stair, + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_lumber_from_stairs_saw`) + + // e.recipes.create.cutting(lumber.copyWithCount(3).withChance(0.95), stair) + // .id(`tfg:${woodName}_lumber_from_stairs_cutting`) + + // e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_stairs`) + // .itemInputs(stair) + // .circuit(4) + // .itemOutputs(lumber.copyWithCount(3)) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion + + // //#region Из полублоков + // e.shaped(lumber.copyWithCount(2), [ + // 'A', + // 's' + // ], { + // A: slab, + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_lumber_from_slab_saw`) + + // e.recipes.create.cutting(lumber.copyWithCount(2).withChance(0.95), slab) + // .id(`tfg:${woodName}_lumber_from_slab_cutting`) + + // e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_slab`) + // .itemInputs(slab) + // .circuit(4) + // .itemOutputs(lumber.copyWithCount(2)) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion + + // //#endregion + + // //#region Табличка + // e.shaped(sign.copyWithCount(3), [ + // 'AAA', + // 'AAA', + // 'mB ' + // ], { + // A: lumber, + // B: '#forge:rods/wooden', + // m: '#forge:tools/mallets' + // }).id(`tfg:${woodName}_sign`) + + // e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) + // .itemInputs(lumber.copyWithCount(6)) + // .circuit(3) + // .itemOutputs(sign.copyWithCount(3)) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion + + // //#region Висящая табличка + // e.shaped(hangingSign.copyWithCount(3), [ + // 'AmA', + // 'CBC', + // 'BBB' + // ], { + // A: '#tfg:metal_chains', + // B: lumber, + // C: '#forge:screws', + // m: '#forge:tools/mallets' + // }).id(`tfg:${woodName}_hanging_sign`) + + // e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) + // .itemInputs(lumber.copyWithCount(4)) + // .itemInputs('2x #tfg:metal_chains') + // .inputFluids(Fluid.of('gtceu:iron', 32)) + // .circuit(4) + // .itemOutputs(hangingSign.copyWithCount(3)) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion //#endregion @@ -476,58 +527,58 @@ const registerMinecraftRecipes = (e) => { //#region Бамбук // Доски - e.remove({ id: 'gtceu:shapeless/bamboo_planks' }) + // e.remove({ id: 'gtceu:shapeless/bamboo_planks' }) // Ступенька - e.remove({ id: 'minecraft:bamboo_stairs' }) - e.remove({ id: 'gtceu:assembler/bamboo_stairs' }) + // e.remove({ id: 'minecraft:bamboo_stairs' }) + // e.remove({ id: 'gtceu:assembler/bamboo_stairs' }) - e.shaped('minecraft:bamboo_stairs', [ - 'As' - ], { - A: 'minecraft:bamboo_planks', - s: '#forge:tools/saws' - }).id(`tfg:bamboo_stairs_saw`) + // e.shaped('minecraft:bamboo_stairs', [ + // 'As' + // ], { + // A: 'minecraft:bamboo_planks', + // s: '#forge:tools/saws' + // }).id(`tfg:bamboo_stairs_saw`) - e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_logs`) - .itemInputs('#minecraft:bamboo_blocks') - .circuit(1) - .itemOutputs('4x minecraft:bamboo_stairs') - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_logs`) + // .itemInputs('#minecraft:bamboo_blocks') + // .circuit(1) + // .itemOutputs('4x minecraft:bamboo_stairs') + // .itemOutputs('1x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_planks`) - .itemInputs('minecraft:bamboo_planks') - .circuit(0) - .itemOutputs('minecraft:bamboo_stairs') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_planks`) + // .itemInputs('minecraft:bamboo_planks') + // .circuit(0) + // .itemOutputs('minecraft:bamboo_stairs') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) // Мозаичная ступенька - e.remove({ id: 'minecraft:bamboo_mosaic_stairs' }) + // e.remove({ id: 'minecraft:bamboo_mosaic_stairs' }) - e.shaped('minecraft:bamboo_mosaic_stairs', [ - 'As' - ], { - A: 'minecraft:bamboo_mosaic', - s: '#forge:tools/saws' - }).id(`tfg:bamboo_mosaic_stairs_saw`) + // e.shaped('minecraft:bamboo_mosaic_stairs', [ + // 'As' + // ], { + // A: 'minecraft:bamboo_mosaic', + // s: '#forge:tools/saws' + // }).id(`tfg:bamboo_mosaic_stairs_saw`) - e.recipes.gtceu.cutter(`tfg:bamboo_mosaic_stairs_from_planks`) - .itemInputs('minecraft:bamboo_mosaic') - .circuit(0) - .itemOutputs('minecraft:bamboo_mosaic_stairs') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.cutter(`tfg:bamboo_mosaic_stairs_from_planks`) + // .itemInputs('minecraft:bamboo_mosaic') + // .circuit(0) + // .itemOutputs('minecraft:bamboo_mosaic_stairs') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - e.recipes.create.cutting('minecraft:bamboo_mosaic_stairs', 'minecraft:bamboo_mosaic') - .id(`tfg:bamboo_mosaic_planks_cutting`) + // e.recipes.create.cutting('minecraft:bamboo_mosaic_stairs', 'minecraft:bamboo_mosaic') + // .id(`tfg:bamboo_mosaic_planks_cutting`) // Полублок - e.recipes.create.cutting('2x minecraft:bamboo_mosaic_slab', 'minecraft:bamboo_mosaic') - .id(`tfg:bamboo_mosaic_slabs_cutting`) + // e.recipes.create.cutting('2x minecraft:bamboo_mosaic_slab', 'minecraft:bamboo_mosaic') + // .id(`tfg:bamboo_mosaic_slabs_cutting`) // Забор - e.remove({ id: 'gtceu:shaped/bamboo_fence' }) - e.remove({ id: 'gtceu:assembler/bamboo_fence' }) + // e.remove({ id: 'gtceu:shaped/bamboo_fence' }) + // e.remove({ id: 'gtceu:assembler/bamboo_fence' }) //todo: я устал, правда // e.shaped(fence.copyWithCount(8), [ @@ -560,11 +611,11 @@ const registerMinecraftRecipes = (e) => { // Очищенный блок бамбука - e.recipes.gtceu.cutter(`tfg:stripped_bamboo`) - .itemInputs('minecraft:bamboo_block') - .circuit(0) - .itemOutputs('minecraft:stripped_bamboo_block') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.cutter(`tfg:stripped_bamboo`) + // .itemInputs('minecraft:bamboo_block') + // .circuit(0) + // .itemOutputs('minecraft:stripped_bamboo_block') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) // Бамбуковый мозаичный блок // e.recipes.gtceu.cutter(`tfg:bamboo_mosaic`) @@ -576,25 +627,25 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Палки - e.remove({ id: 'gtceu:shaped/stick_normal' }) - e.remove({ id: 'minecraft:stick_from_bamboo_item' }) + // e.remove({ id: 'gtceu:shaped/stick_normal' }) + // e.remove({ id: 'minecraft:stick_from_bamboo_item' }) - e.remove({ id: 'gtceu:lathe/lathe_planks' }) + // e.remove({ id: 'gtceu:lathe/lathe_planks' }) - e.recipes.gtceu.lathe(`tfg:sticks_from_lumber`) - .itemInputs('#tfc:lumber') - .itemOutputs('minecraft:stick') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.lathe(`tfg:sticks_from_lumber`) + // .itemInputs('#tfc:lumber') + // .itemOutputs('minecraft:stick') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - e.recipes.gtceu.lathe(`tfg:sticks_from_planks`) - .itemInputs('#minecraft:planks') - .itemOutputs('4x minecraft:stick') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.lathe(`tfg:sticks_from_planks`) + // .itemInputs('#minecraft:planks') + // .itemOutputs('4x minecraft:stick') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - e.recipes.gtceu.lathe(`tfg:sticks_from_logs`) - .itemInputs('#minecraft:logs') - .itemOutputs('32x minecraft:stick') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.lathe(`tfg:sticks_from_logs`) + // .itemInputs('#minecraft:logs') + // .itemOutputs('32x minecraft:stick') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion From 37f0e9ecd2beba5b6f9f6f487497aeba617c15f2 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:59:02 +0700 Subject: [PATCH 076/266] Update openpartiesandclaims-server.toml --- global-server-configs/openpartiesandclaims-server.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global-server-configs/openpartiesandclaims-server.toml b/global-server-configs/openpartiesandclaims-server.toml index 21d82b8eb..f0ea92d63 100644 --- a/global-server-configs/openpartiesandclaims-server.toml +++ b/global-server-configs/openpartiesandclaims-server.toml @@ -169,7 +169,7 @@ #Projectile landing on blocks requires non-break block access through this option or blockAccessEntityGroups. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGrief = ["minecraft:sheep"] + entitiesAllowedToGrief = ["minecraft:sheep", "interact$minecraft:potion", "interact$minecraft:trident", "interact$minecraft:(*_|)arrow", "interact$minecraft:ender_pearl", "interact$minecraft:egg"] #Entities that can bypass all protection of other entities. Supports entity type tags. #Prefixing an entity id/tag with "interact$" creates an exception which tries to exclude attacks. #Prefixing an entity id/tag with "break$" creates an exception that only includes attacks. @@ -179,7 +179,7 @@ #Projectile landing on entities requires non-attack entity access through this option or entityAccessEntityGroups. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGriefEntities = [] + entitiesAllowedToGriefEntities = ["interact$minecraft:potion", "interact$minecraft:trident", "interact$minecraft:(*_|)arrow", "interact$minecraft:ender_pearl", "interact$minecraft:egg"] #Entities that can bypass all dropped item protection. Supports entity type tags. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] From 5fb2216f480c8fb0acbea0f07c15f1d4e87c2207 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:59:10 +0700 Subject: [PATCH 077/266] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a969efbd..502114c57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,8 @@ - Alternator recipes was sligthly nerfed. - Fixed bug when some items wont display inside EMI. - Simplified alternator multiblock reques and it controller block recipe. +- Added better recipes for any wood (nether wood too). +- Added stripping recipes in emi world interaction page. - ... ### Updated mods - ?? From 95587dc3085e9026fa58cd9dd095db2456ce909a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 18 Sep 2024 23:55:19 +0700 Subject: [PATCH 078/266] fixes --- kubejs/client_scripts/minecraft/assets.js | 2 +- kubejs/client_scripts/tfc/assets.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/client_scripts/minecraft/assets.js b/kubejs/client_scripts/minecraft/assets.js index 36ba65eaf..ed8f5787f 100644 --- a/kubejs/client_scripts/minecraft/assets.js +++ b/kubejs/client_scripts/minecraft/assets.js @@ -18,7 +18,7 @@ const registerMinecraftAssets = (e) => { output: `item:minecraft:stripped_${woodName}_hyphae` } - e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, logJson) + e.add(`emi:recipe/additions/vanilla_nether_${woodName}_log_conversion`, logJson) e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, woodJson) }) //#endregion diff --git a/kubejs/client_scripts/tfc/assets.js b/kubejs/client_scripts/tfc/assets.js index 8a8d590e8..18884ad2a 100644 --- a/kubejs/client_scripts/tfc/assets.js +++ b/kubejs/client_scripts/tfc/assets.js @@ -18,7 +18,7 @@ const registerTFCAssets = (e) => { output: `item:tfc:wood/stripped_wood/${woodName}` } - e.add(`emi:recipe/additions/tfc_${woodName}_wood_conversion`, logJson) + e.add(`emi:recipe/additions/tfc_${woodName}_log_conversion`, logJson) e.add(`emi:recipe/additions/tfc_${woodName}_wood_conversion`, woodJson) }) //#endregion From f688a12ed029a3ca90567e1d320054834c5a7406 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 18 Sep 2024 23:55:28 +0700 Subject: [PATCH 079/266] more wood recipes --- kubejs/server_scripts/alekiroofs/recipes.js | 31 - kubejs/server_scripts/minecraft/recipes.js | 855 +++++++++++--------- 2 files changed, 462 insertions(+), 424 deletions(-) diff --git a/kubejs/server_scripts/alekiroofs/recipes.js b/kubejs/server_scripts/alekiroofs/recipes.js index 7a2fbc445..ad7827a64 100644 --- a/kubejs/server_scripts/alekiroofs/recipes.js +++ b/kubejs/server_scripts/alekiroofs/recipes.js @@ -2,36 +2,5 @@ const registerAlekiRoofsRecipes = (e) => { - //#region Дерево - - global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { - - // Wood - e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) - }) - - global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { - e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) - - const plank = Item.of(`minecraft:${woodName}_planks`) - const roofing = Item.of(`alekiroofs:${woodName}_roofing`) - - e.shaped(roofing.copyWithCount(2), [ - 'A ', - ' s' - ], { - A: plank, - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_roofing_saw`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_roofing_from_planks`) - .itemInputs(plank) - .circuit(3) - .itemOutputs(roofing.copyWithCount(2)) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - }) - - //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 2b276640d..544816d2e 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -77,11 +77,14 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:shaped/${woodName}_chest_boat` }) e.remove({ id: `gtceu:assembler/${woodName}_chest_boat` }) + // Roofs + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + // Sticks e.remove({ id: `everycomp:c/minecraft/null_from_${woodName}_planks_stonecutting` }) } - const processNetherWood = () => { + const processNetherWood = (woodName) => { const anyLogs = `#minecraft:${woodName}_stems` @@ -91,10 +94,44 @@ const registerMinecraftRecipes = (e) => { const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) + const lumber = Item.of(`tfg:${woodName}_lumber`) + + const plank = Item.of(`minecraft:${woodName}_planks`) + const stair = Item.of(`minecraft:${woodName}_stairs`) + const slab = Item.of(`minecraft:${woodName}_slab`) + + const fence = Item.of(`minecraft:${woodName}_fence`) + const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) + + const door = Item.of(`minecraft:${woodName}_door`) + const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + + const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + const button = Item.of(`minecraft:${woodName}_button`) + + const sign = Item.of(`minecraft:${woodName}_sign`) + const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + + const roofing = Item.of(`alekiroofs:${woodName}_roofing`) + //#region Бревно - - // Нечего добавлять - // Нечего удалять + e.shaped(log, [ + 'A', + 's' + ], { + A: wood, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_log`) + + e.recipes.create.cutting([log, Item.of('4x gtceu:wood_dust').withChance(0.75)], wood) + .id(`tfg:create_cutting/${woodName}_log`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_log`) + .itemInputs(wood) + .circuit(0) + .itemOutputs(log) + .itemOutputs('4x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion @@ -109,29 +146,439 @@ const registerMinecraftRecipes = (e) => { s: '#forge:tools/saws' }).id(`tfg:workbench/${woodName}_wood`) - e.recipes.create.cutting(wood, log.copyWithCount(2)) + e.recipes.create.cutting(wood.withChance(0.75), log) .id(`tfg:create_cutting/${woodName}_wood`) e.recipes.gtceu.cutter(`tfg:${woodName}_wood`) - .itemInputs(log) + .itemInputs(log.copyWithCount(2)) .circuit(0) - .itemOutputs(wood.copyWithCount(2)) - .itemOutputs('4x gtceu:wood_dust') + .itemOutputs(wood) .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion //#region Обтесанное бревно - e.recipes.create.cutting(strippedLog, log.copyWithCount(2)) - .id(`tfg:create_cutting/${woodName}_wood`) + e.shaped(strippedLog, [ + 'A', + 's' + ], { + A: strippedWood, + s: '#forge:tools/saws' + }).id(`tfg:workbench/stripped_${woodName}_log`) + + e.recipes.create.cutting(strippedLog, log) + .id(`tfg:create_cutting/stripped_${woodName}_log`) e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) .itemInputs(log) - .circuit(0) + .circuit(1) .itemOutputs(strippedLog) + .itemOutputs('4x gtceu:wood_dust') .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion //#region Обтесанное цельное бревно + e.remove({ id: `minecraft:stripped_${woodName}_hyphae` }) + + e.shaped(strippedWood, [ + 'AA', + ' s' + ], { + A: strippedLog, + s: '#forge:tools/saws' + }).id(`tfg:workbench/stripped_${woodName}_wood`) + + e.recipes.create.cutting(strippedWood, wood) + .id(`tfg:create_cutting/stripped_${woodName}_wood`) + + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) + .itemInputs(wood) + .circuit(1) + .itemOutputs(strippedWood) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Пиломатериалы + + //#region Из бревен + e.shaped(lumber.copyWithCount(8), [ + 's', + 'A' + ], { + A: anyLogs, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_logs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(12), anyLogs) + .id(`tfg:create_cutting/${woodName}_lumber_from_logs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_logs`) + .itemInputs(anyLogs) + .circuit(2) + .itemOutputs(lumber.copyWithCount(16)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из досок + e.shaped(lumber.copyWithCount(4), [ + 's', + 'A' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_planks_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(3), plank) + .id(`tfg:create_cutting/${woodName}_lumber_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_planks`) + .itemInputs(plank) + .circuit(0) + .itemOutputs(lumber.copyWithCount(4)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из ступенек + e.shaped(lumber.copyWithCount(1), [ + 'A', + 's' + ], { + A: stair, + s: '#forge:tools/saws' + }).id(`tfg:create_cutting/${woodName}_lumber_from_stairs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(2), stair) + .id(`tfg:workbench/${woodName}_lumber_from_stairs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_stairs`) + .itemInputs(stair) + .circuit(2) + .itemOutputs(lumber.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из полублоков + e.shaped(lumber.copyWithCount(1), [ + 'A', + 's' + ], { + A: slab, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_slab_saw`) + + e.recipes.create.cutting([lumber, lumber.withChance(0.5)], slab) + .id(`tfg:create_cutting/${woodName}_lumber_from_slab`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_slab`) + .itemInputs(slab) + .circuit(2) + .itemOutputs(lumber.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Доски + e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) + e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) + + e.shaped(plank, [ + 'AA', + 'AA' + ], { + A: lumber + }).id(`tfg:workbench/${woodName}_planks`) + + e.recipes.create.cutting(plank.copyWithCount(3), anyLogs) + .id(`tfg:create_cutting/${woodName}_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) + .itemInputs(anyLogs) + .circuit(3) + .itemOutputs(plank.copyWithCount(6)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Ступень + e.remove({ id: `minecraft:${woodName}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) + + e.shaped(stair, [ + 'As' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_stairs_saw`) + + e.recipes.create.cutting(stair.copyWithCount(4), anyLogs) + .id(`tfg:create_cutting/${woodName}_stairs_from_logs`) + + e.recipes.create.cutting([stair, Item.of('1x gtceu:small_wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_stairs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) + .itemInputs(anyLogs) + .circuit(4) + .itemOutputs(stair.copyWithCount(8)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) + .itemInputs(plank) + .circuit(1) + .itemOutputs(stair) + .itemOutputs('1x gtceu:small_wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Полублок + e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + + e.shaped(slab.copyWithCount(2), [ + 'sA' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_slabs_saw`) + + e.recipes.create.cutting(slab.copyWithCount(6), anyLogs) + .id(`tfg:create_cutting/${woodName}_slabs_from_logs`) + + e.recipes.create.cutting(slab.copyWithCount(2), plank) + .id(`tfg:create_cutting/${woodName}_slabs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) + .itemInputs(anyLogs) + .circuit(5) + .itemOutputs(slab.copyWithCount(12)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) + .itemInputs(plank) + .circuit(2) + .itemOutputs(slab.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Забор + e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence` }) + + e.shaped(fence.copyWithCount(8), [ + 'h s', + 'ABA', + 'ACA' + ], { + A: plank, + B: '#forge:rods/wooden', + C: lumber, + h: '#forge:tools/hammers', + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_fence`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_fence`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + .itemInputs(plank) + .circuit(3) + .itemOutputs(fence.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Калитка + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) + + e.shaped(fenceGate, [ + 'A A', + 'BCB', + 'DCD' + ], { + A: 'minecraft:flint', + B: '#forge:rods/wooden', + C: plank, + D: lumber + }).id(`tfg:workbench/${woodName}_fence_gate_flint`) + + e.shaped(fenceGate.copyWithCount(2), [ + 'AEA', + 'BCB', + 'DCD' + ], { + A: '#forge:screws', + B: '#forge:rods/wooden', + C: plank, + D: lumber, + E: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_fence_gate_screws`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) + .itemInputs(plank.copyWithCount(2)) + .itemInputs('2x #forge:rods/wooden') + .itemInputs('2x #forge:screws') + .circuit(0) + .itemOutputs(fenceGate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Дверь + e.remove({ id: `gtceu:shaped/${woodName}_door` }) + e.remove({ id: `gtceu:assembler/${woodName}_door` }) + + e.shaped(door, [ + 'ABd', + 'ACD', + 'AAs' + ], { + A: lumber, + B: trapdoor, + C: '#forge:rings', + D: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_door`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_door`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs(trapdoor) + .inputFluids(Fluid.of('gtceu:iron', 16)) + .circuit(0) + .itemOutputs(door) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Люк + e.remove({ id: `minecraft:${woodName}_trapdoor` }) + + e.shaped(trapdoor, [ + 'ABd', + 'ACs' + ], { + A: lumber, + B: '#forge:rings', + C: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_trapdoor`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) + .itemInputs(lumber.copyWithCount(2)) + .itemInputs('2x #forge:screws') + .circuit(0) + .itemOutputs(trapdoor) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Нажимная пластина + e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) + + e.shaped(pressurePlate.copyWithCount(2), [ + 'AmA', + 'BCB', + 'AdA' + ], { + A: 'gtceu:wood_bolt', + B: slab, + C: '#forge:springs', + m: '#forge:tools/mallets', + d: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_pressure_plate`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) + .itemInputs(slab.copyWithCount(2)) + .itemInputs('#forge:springs') + .circuit(0) + .itemOutputs(pressurePlate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Кнопка + + // e.remove({ id: `gtceu:shaped/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) + + //#endregion + + //#region Табличка + e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign` }) + + e.shaped(sign.copyWithCount(3), [ + 'AAA', + 'AAA', + 'mB ' + ], { + A: lumber, + B: '#forge:rods/wooden', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) + .itemInputs(lumber.copyWithCount(6)) + .circuit(3) + .itemOutputs(sign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Висящая табличка + e.shaped(hangingSign.copyWithCount(3), [ + 'AmA', + 'CBC', + 'BBB' + ], { + A: '#tfg:metal_chains', + B: lumber, + C: '#forge:screws', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_hanging_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs('2x #tfg:metal_chains') + .itemInputs('4x #forge:screws') + .circuit(4) + .itemOutputs(hangingSign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Крыша + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + + e.shaped(roofing.copyWithCount(2), [ + 'A ', + ' s' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_roofing_saw`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_roofing`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_roofing`) + .itemInputs(plank) + .circuit(4) + .itemOutputs(roofing.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion } @@ -140,390 +587,12 @@ const registerMinecraftRecipes = (e) => { }) global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { - - //#region Удаление - - // Planks - // e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) - // e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) - // e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) - // e.remove({ id: `gtceu:cutter/${woodName}_planks` }) - // e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) - // e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) - // e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) - - // Stairs - // e.remove({ id: `minecraft:${woodName}_stairs` }) - // e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) - // e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) - - // Slabs - // e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) - // e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) - // e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) - // e.remove({ id: `gtceu:cutter/${woodName}_slab` }) - // e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) - - // Fence - // e.remove({ id: `gtceu:shaped/${woodName}_fence` }) - // e.remove({ id: `gtceu:assembler/${woodName}_fence` }) - - // Fence Gate - // e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) - // e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) - // e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) - - // Door - // e.remove({ id: `gtceu:shaped/${woodName}_door` }) - // e.remove({ id: `gtceu:assembler/${woodName}_door` }) - - // Trapdoor - // e.remove({ id: `minecraft:${woodName}_trapdoor` }) - - // Pressure Plate - // e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) - // e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) - - // Button - // e.remove({ id: `gtceu:shaped/${woodName}_button` }) - // e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) - // e.remove({ id: `gtceu:cutter/${woodName}_button` }) - // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) - - // Sign - // e.remove({ id: `minecraft:${woodName}_sign` }) - // e.remove({ id: `gtceu:assembler/${woodName}_sign` }) - - //#endregion - - //#region Добавление - const allLogs = `#minecraft:${woodName}_stems` - - const log = Item.of(`minecraft:${woodName}_stem`); - const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) - - // const wood = Item.of(`minecraft:${woodName}_hyphae`) - // const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) - - // const plank = Item.of(`minecraft:${woodName}_planks`) - // const stair = Item.of(`minecraft:${woodName}_stairs`) - // const slab = Item.of(`minecraft:${woodName}_slab`) - - // const fence = Item.of(`minecraft:${woodName}_fence`) - // const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) - - // const door = Item.of(`minecraft:${woodName}_door`) - // const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) - - // const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) - // // const button = Item.of(`minecraft:${woodName}_button`) - - // const sign = Item.of(`minecraft:${woodName}_sign`) - // const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) - - // const lumber = Item.of(`tfg:${woodName}_lumber`) - - - - // //#region Очищенная древесина - // e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) - // .itemInputs(wood) - // .circuit(0) - // .itemOutputs(strippedWood) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Доски - // e.shaped(plank, [ - // 'AA', - // 'AA' - // ], { - // A: lumber - // }).id(`tfg:${woodName}_planks`) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) - // .itemInputs(allLogs) - // .circuit(1) - // .itemOutputs(plank.copyWithCount(6)) - // .itemOutputs('2x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.create.cutting(plank.copyWithCount(3).withChance(0.95), allLogs) - // .id(`tfg:${woodName}_planks_cutting`) - // //#endregion - - // //#region Ступень - // e.shaped(stair, [ - // 'As' - // ], { - // A: plank, - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_stairs_saw`) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) - // .itemInputs(allLogs) - // .circuit(2) - // .itemOutputs(stair.copyWithCount(12)) - // .itemOutputs('12x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) - // .itemInputs(plank) - // .circuit(0) - // .itemOutputs(stair) - // .itemOutputs('1x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Полублок - // e.shaped(slab.copyWithCount(2), [ - // 'sA' - // ], { - // A: plank, - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_slabs_saw`) - - // e.shaped(slab, [ - // 'LL' - // ], { - // L: lumber - // }).id(`tfg:${woodName}_slabs`) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) - // .itemInputs(allLogs) - // .circuit(3) - // .itemOutputs(slab.copyWithCount(24)) - // .itemOutputs('24x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) - // .itemInputs(plank) - // .circuit(1) - // .itemOutputs(slab.copyWithCount(2)) - // .itemOutputs('1x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Забор - // e.shaped(fence.copyWithCount(8), [ - // 'h s', - // 'ABA', - // 'ACA' - // ], { - // A: plank, - // B: '#forge:rods/wooden', - // C: lumber, - // h: '#forge:tools/hammers', - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_fence`) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) - // .itemInputs(plank) - // .circuit(2) - // .itemOutputs(fence.copyWithCount(2)) - // .itemOutputs('1x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Калитка - // e.shaped(fenceGate, [ - // 'A A', - // 'BCB', - // 'DCD' - // ], { - // A: 'minecraft:flint', - // B: '#forge:rods/wooden', - // C: plank, - // D: lumber - // }).id(`tfg:${woodName}_fence_gate_flint`) - - // e.shaped(fenceGate.copyWithCount(2), [ - // 'AEA', - // 'BCB', - // 'DCD' - // ], { - // A: '#forge:screws', - // B: '#forge:rods/wooden', - // C: plank, - // D: lumber, - // E: '#forge:tools/screwdrivers' - // }).id(`tfg:${woodName}_fence_gate_screws`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) - // .itemInputs(plank.copyWithCount(2)) - // .itemInputs('2x #forge:rods/wooden') - // .circuit(3) - // .itemOutputs(fenceGate) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Дверь - // e.shaped(door, [ - // 'ABd', - // 'ACD', - // 'AAs' - // ], { - // A: lumber, - // B: trapdoor, - // C: '#forge:rings', - // D: '#forge:screws', - // d: '#forge:tools/screwdrivers', - // s: '#forge:tools/saws', - // }).id(`tfg:${woodName}_door`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_door`) - // .itemInputs(lumber.copyWithCount(4)) - // .itemInputs(trapdoor) - // .inputFluids(Fluid.of('gtceu:iron', 16)) - // .circuit(0) - // .itemOutputs(door) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Люк - // e.shaped(trapdoor, [ - // 'ABd', - // 'ACs' - // ], { - // A: lumber, - // B: '#forge:rings', - // C: '#forge:screws', - // d: '#forge:tools/screwdrivers', - // s: '#forge:tools/saws', - // }).id(`tfg:${woodName}_trapdoor`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) - // .itemInputs(lumber.copyWithCount(2)) - // .inputFluids(Fluid.of('gtceu:iron', 16)) - // .circuit(0) - // .itemOutputs(trapdoor) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Нажимная пластина - // e.shaped(pressurePlate.copyWithCount(2), [ - // 'AmA', - // 'BCB', - // 'AdA' - // ], { - // A: 'gtceu:wood_bolt', - // B: slab, - // C: '#tfg:all_iron_springs', - // m: '#forge:tools/mallets', - // d: '#forge:tools/screwdrivers' - // }).id(`tfg:${woodName}_pressure_plate`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) - // .itemInputs(slab.copyWithCount(2)) - // .itemInputs('#tfg:all_iron_springs') - // .circuit(0) - // .itemOutputs(pressurePlate) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Пиломатериалы - - // //#region Из бревен - // e.shaped(lumber.copyWithCount(8), [ - // 's', - // 'A' - // ], { - // A: allLogs, - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_lumber_from_planks_saw`) - - // e.recipes.create.cutting(lumber.copyWithCount(12).withChance(0.95), allLogs) - // .id(`tfg:${woodName}_lumber_from_planks_cutting`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_planks`) - // .itemInputs(allLogs) - // .circuit(4) - // .itemOutputs(lumber.copyWithCount(16)) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Из ступенек - // e.shaped(lumber.copyWithCount(3), [ - // 'A', - // 's' - // ], { - // A: stair, - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_lumber_from_stairs_saw`) - - // e.recipes.create.cutting(lumber.copyWithCount(3).withChance(0.95), stair) - // .id(`tfg:${woodName}_lumber_from_stairs_cutting`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_stairs`) - // .itemInputs(stair) - // .circuit(4) - // .itemOutputs(lumber.copyWithCount(3)) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Из полублоков - // e.shaped(lumber.copyWithCount(2), [ - // 'A', - // 's' - // ], { - // A: slab, - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_lumber_from_slab_saw`) - - // e.recipes.create.cutting(lumber.copyWithCount(2).withChance(0.95), slab) - // .id(`tfg:${woodName}_lumber_from_slab_cutting`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_slab`) - // .itemInputs(slab) - // .circuit(4) - // .itemOutputs(lumber.copyWithCount(2)) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#endregion - - // //#region Табличка - // e.shaped(sign.copyWithCount(3), [ - // 'AAA', - // 'AAA', - // 'mB ' - // ], { - // A: lumber, - // B: '#forge:rods/wooden', - // m: '#forge:tools/mallets' - // }).id(`tfg:${woodName}_sign`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) - // .itemInputs(lumber.copyWithCount(6)) - // .circuit(3) - // .itemOutputs(sign.copyWithCount(3)) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Висящая табличка - // e.shaped(hangingSign.copyWithCount(3), [ - // 'AmA', - // 'CBC', - // 'BBB' - // ], { - // A: '#tfg:metal_chains', - // B: lumber, - // C: '#forge:screws', - // m: '#forge:tools/mallets' - // }).id(`tfg:${woodName}_hanging_sign`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) - // .itemInputs(lumber.copyWithCount(4)) - // .itemInputs('2x #tfg:metal_chains') - // .inputFluids(Fluid.of('gtceu:iron', 32)) - // .circuit(4) - // .itemOutputs(hangingSign.copyWithCount(3)) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#endregion + processNetherWood(woodName) }) + //#region Бамбук + //#endregion + //#region Бамбук // Доски From 8fd045c29a40d0d2925b9928d333c8da74d9b7d4 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Thu, 19 Sep 2024 09:02:09 +0700 Subject: [PATCH 080/266] ... --- kubejs/server_scripts/gregtech/tags.js | 3 + kubejs/server_scripts/minecraft/recipes.js | 141 +++++++- kubejs/server_scripts/minecraft/tags.js | 4 +- kubejs/startup_scripts/minecraft/constants.js | 310 +++++++++--------- 4 files changed, 298 insertions(+), 160 deletions(-) diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 3b58a9079..d26b8f313 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -81,6 +81,9 @@ const registerGregTechItemTags = (event) => { event.add('tfg:all_iron_springs', 'gtceu:iron_spring') event.add('tfg:all_iron_springs', 'gtceu:wrought_iron_spring') + + event.add('tfg:all_iron_nuggets', 'minecraft:iron_nugget') + event.add('tfg:all_iron_nuggets', 'gtceu:wrought_iron_nugget') //#endregion //#region Скрываем все руды (не используем #forge:ores, потому что будет пересечение) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 544816d2e..41689dffc 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -77,9 +77,24 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:shaped/${woodName}_chest_boat` }) e.remove({ id: `gtceu:assembler/${woodName}_chest_boat` }) - // Roofs + // Roofs (AlekiRoofs) e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + // Window (Create) + e.remove({ id: `create:oak_window` }) + + // Window Pane (Create) + e.remove({ id: `create:oak_window_pane` }) + + // Train Track Narrow + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + + // Train Track Normal + e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + + // Train Track Wide + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + // Sticks e.remove({ id: `everycomp:c/minecraft/null_from_${woodName}_planks_stonecutting` }) } @@ -113,6 +128,17 @@ const registerMinecraftRecipes = (e) => { const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) const roofing = Item.of(`alekiroofs:${woodName}_roofing`) + + const window = Item.of(`create:${woodName}_window_pane`) + const windowPane = Item.of(`create:${woodName}_window_pane`) + + const incompleteTrackNarrow = Item.of(`railways:track_incomplete_${woodName}_narrow`) + const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) + const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) + + const trackNarrow = Item.of(`railways:narrow_${woodName}_track`) + const track = Item.of(`railways:${woodName}_track`) + const trackWide = Item.of(`railways:wide_${woodName}_track`) //#region Бревно e.shaped(log, [ @@ -198,7 +224,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Пиломатериалы + //#region Пиломатериалы (TFC) //#region Из бревен e.shaped(lumber.copyWithCount(8), [ @@ -559,7 +585,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Крыша + //#region Крыша (AlekiRoofs) e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) e.shaped(roofing.copyWithCount(2), [ @@ -580,6 +606,115 @@ const registerMinecraftRecipes = (e) => { .itemOutputs('1x gtceu:wood_dust') .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion + + //#region Окно (Create) + e.remove({ id: `create:${woodName}_window` }) + + e.shaped(window, [ + ' A ', + 'ABA', + ' m ' + ], { + A: plank, + B: '#forge:glass/colorless', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_window`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_window`) + .itemInputs(plank) + .itemInputs('#forge:glass/colorless') + .circuit(16) + .itemOutputs(window) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Окнонная панель (Create) + e.remove({ id: `create:${woodName}_window_pane` }) + + e.shaped(windowPane.copyWithCount(2), [ + 'AB', + 'Am' + ], { + A: plank, + B: '#forge:glass/colorless', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_window_pane`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_window_pane`) + .itemInputs(plank) + .itemInputs('#forge:glass/colorless') + .circuit(17) + .itemOutputs(windowPane.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + //#endregion + + //#region Железнодорожное полотно (Узкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + + e.recipes.createSequencedAssembly([ + trackNarrow, + ], slab, [ + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), + e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), + ]).transitionalItem(incompleteTrackNarrow).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) + + e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) + .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') + .itemOutputs(trackNarrow) + .circuit(24) + .duration(800) + .EUt(32) + + //#endregion + + //#region Железнодорожное полотно (Нормальное) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + + e.recipes.createSequencedAssembly([ + track, + ], trackNarrow, [ + e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '4x #tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrack, [incompleteTrack]), + ]).transitionalItem(incompleteTrack).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}`) + .itemInputs(slab, trackNarrow, '4x #forge:screws') + .itemOutputs(track) + .circuit(24) + .duration(1200) + .EUt(32) + + //#endregion + + //#region Железнодорожное полотно (Широкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + + e.recipes.createSequencedAssembly([ + trackWide, + ], track, [ + e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '4x #tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), + ]).transitionalItem(incompleteTrackWide).loops(1) + .id(`tfg:sequenced_assembly/track_${woodType}_wide`) + + e.recipes.gtceu.assembler(`tfg:track_${woodType}_wide`) + .itemInputs(slab, track, '4x #forge:screws') + .itemOutputs(trackWide) + .duration(1600) + .EUt(16) + + //#endregion } global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 572ae6656..424bad999 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -3,11 +3,11 @@ const registerMinecraftItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) + //event.add('c:hidden_from_recipe_viewers', item) }) global.MINECRAFT_HIDED_ITEMS.forEach(item => { - event.add('c:hidden_from_recipe_viewers', item) + //event.add('c:hidden_from_recipe_viewers', item) }) //#region Ванильные пиломатериалы в TFC тег diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 2cadace2c..247a66c0f 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -9,182 +9,182 @@ global.MINECRAFT_DISABLED_ITEMS = [ //#region Дерево //#region Дуб - // "minecraft:oak_wood", - // "minecraft:oak_leaves", - // "minecraft:oak_sapling", - // "minecraft:stripped_oak_wood", - // "minecraft:oak_log", - // "minecraft:stripped_oak_log", - // "minecraft:oak_planks", - // "minecraft:oak_stairs", - // "minecraft:oak_slab", - // "minecraft:petrified_oak_slab", - // "minecraft:oak_pressure_plate", - // "minecraft:oak_fence", - // "minecraft:oak_fence_gate", - // "minecraft:oak_door", - // "minecraft:oak_trapdoor", - // "minecraft:oak_boat", - // "minecraft:oak_chest_boat", - // "minecraft:oak_sign", - // "minecraft:oak_hanging_sign", - // "minecraft:oak_button", + "minecraft:oak_wood", + "minecraft:oak_leaves", + "minecraft:oak_sapling", + "minecraft:stripped_oak_wood", + "minecraft:oak_log", + "minecraft:stripped_oak_log", + "minecraft:oak_planks", + "minecraft:oak_stairs", + "minecraft:oak_slab", + "minecraft:petrified_oak_slab", + "minecraft:oak_pressure_plate", + "minecraft:oak_fence", + "minecraft:oak_fence_gate", + "minecraft:oak_door", + "minecraft:oak_trapdoor", + "minecraft:oak_boat", + "minecraft:oak_chest_boat", + "minecraft:oak_sign", + "minecraft:oak_hanging_sign", + "minecraft:oak_button", //#endregion //#region Темный дуб - // "minecraft:dark_oak_planks", - // "minecraft:dark_oak_sapling", - // "minecraft:dark_oak_log", - // "minecraft:stripped_dark_oak_log", - // "minecraft:stripped_dark_oak_wood", - // "minecraft:dark_oak_wood", - // "minecraft:dark_oak_leaves", - // "minecraft:dark_oak_slab", - // "minecraft:dark_oak_fence", - // "minecraft:dark_oak_stairs", - // "minecraft:dark_oak_button", - // "minecraft:dark_oak_pressure_plate", - // "minecraft:dark_oak_door", - // "minecraft:dark_oak_trapdoor", - // "minecraft:dark_oak_fence_gate", - // "minecraft:dark_oak_boat", - // "minecraft:dark_oak_chest_boat", - // "minecraft:dark_oak_sign", - // "minecraft:dark_oak_hanging_sign", + "minecraft:dark_oak_planks", + "minecraft:dark_oak_sapling", + "minecraft:dark_oak_log", + "minecraft:stripped_dark_oak_log", + "minecraft:stripped_dark_oak_wood", + "minecraft:dark_oak_wood", + "minecraft:dark_oak_leaves", + "minecraft:dark_oak_slab", + "minecraft:dark_oak_fence", + "minecraft:dark_oak_stairs", + "minecraft:dark_oak_button", + "minecraft:dark_oak_pressure_plate", + "minecraft:dark_oak_door", + "minecraft:dark_oak_trapdoor", + "minecraft:dark_oak_fence_gate", + "minecraft:dark_oak_boat", + "minecraft:dark_oak_chest_boat", + "minecraft:dark_oak_sign", + "minecraft:dark_oak_hanging_sign", //#endregion //#region Акация - // "minecraft:acacia_planks", - // "minecraft:acacia_sapling", - // "minecraft:acacia_log", - // "minecraft:stripped_acacia_log", - // "minecraft:stripped_acacia_wood", - // "minecraft:acacia_wood", - // "minecraft:acacia_leaves", - // "minecraft:acacia_slab", - // "minecraft:acacia_fence", - // "minecraft:acacia_stairs", - // "minecraft:acacia_button", - // "minecraft:acacia_pressure_plate", - // "minecraft:acacia_door", - // "minecraft:acacia_trapdoor", - // "minecraft:acacia_fence_gate", - // "minecraft:acacia_boat", - // "minecraft:acacia_chest_boat", - // "minecraft:acacia_sign", - // "minecraft:acacia_hanging_sign", + "minecraft:acacia_planks", + "minecraft:acacia_sapling", + "minecraft:acacia_log", + "minecraft:stripped_acacia_log", + "minecraft:stripped_acacia_wood", + "minecraft:acacia_wood", + "minecraft:acacia_leaves", + "minecraft:acacia_slab", + "minecraft:acacia_fence", + "minecraft:acacia_stairs", + "minecraft:acacia_button", + "minecraft:acacia_pressure_plate", + "minecraft:acacia_door", + "minecraft:acacia_trapdoor", + "minecraft:acacia_fence_gate", + "minecraft:acacia_boat", + "minecraft:acacia_chest_boat", + "minecraft:acacia_sign", + "minecraft:acacia_hanging_sign", //#endregion //#region Береза - // "minecraft:birch_planks", - // "minecraft:birch_sapling", - // "minecraft:birch_log", - // "minecraft:stripped_birch_log", - // "minecraft:stripped_birch_wood", - // "minecraft:birch_wood", - // "minecraft:birch_leaves", - // "minecraft:birch_slab", - // "minecraft:birch_fence", - // "minecraft:birch_stairs", - // "minecraft:birch_button", - // "minecraft:birch_pressure_plate", - // "minecraft:birch_door", - // "minecraft:birch_trapdoor", - // "minecraft:birch_fence_gate", - // "minecraft:birch_boat", - // "minecraft:birch_chest_boat", - // "minecraft:birch_sign", - // "minecraft:birch_hanging_sign", + "minecraft:birch_planks", + "minecraft:birch_sapling", + "minecraft:birch_log", + "minecraft:stripped_birch_log", + "minecraft:stripped_birch_wood", + "minecraft:birch_wood", + "minecraft:birch_leaves", + "minecraft:birch_slab", + "minecraft:birch_fence", + "minecraft:birch_stairs", + "minecraft:birch_button", + "minecraft:birch_pressure_plate", + "minecraft:birch_door", + "minecraft:birch_trapdoor", + "minecraft:birch_fence_gate", + "minecraft:birch_boat", + "minecraft:birch_chest_boat", + "minecraft:birch_sign", + "minecraft:birch_hanging_sign", //#endregion //#region Тропическое - // "minecraft:jungle_planks", - // "minecraft:jungle_sapling", - // "minecraft:jungle_log", - // "minecraft:stripped_jungle_log", - // "minecraft:stripped_jungle_wood", - // "minecraft:jungle_wood", - // "minecraft:jungle_leaves", - // "minecraft:jungle_slab", - // "minecraft:jungle_fence", - // "minecraft:jungle_stairs", - // "minecraft:jungle_button", - // "minecraft:jungle_pressure_plate", - // "minecraft:jungle_door", - // "minecraft:jungle_trapdoor", - // "minecraft:jungle_fence_gate", - // "minecraft:jungle_boat", - // "minecraft:jungle_chest_boat", - // "minecraft:jungle_sign", - // "minecraft:jungle_hanging_sign", + "minecraft:jungle_planks", + "minecraft:jungle_sapling", + "minecraft:jungle_log", + "minecraft:stripped_jungle_log", + "minecraft:stripped_jungle_wood", + "minecraft:jungle_wood", + "minecraft:jungle_leaves", + "minecraft:jungle_slab", + "minecraft:jungle_fence", + "minecraft:jungle_stairs", + "minecraft:jungle_button", + "minecraft:jungle_pressure_plate", + "minecraft:jungle_door", + "minecraft:jungle_trapdoor", + "minecraft:jungle_fence_gate", + "minecraft:jungle_boat", + "minecraft:jungle_chest_boat", + "minecraft:jungle_sign", + "minecraft:jungle_hanging_sign", //#endregion //#region Ель - // "minecraft:spruce_planks", - // "minecraft:spruce_sapling", - // "minecraft:spruce_log", - // "minecraft:stripped_spruce_log", - // "minecraft:stripped_spruce_wood", - // "minecraft:spruce_wood", - // "minecraft:spruce_leaves", - // "minecraft:spruce_slab", - // "minecraft:spruce_fence", - // "minecraft:spruce_stairs", - // "minecraft:spruce_button", - // "minecraft:spruce_pressure_plate", - // "minecraft:spruce_door", - // "minecraft:spruce_trapdoor", - // "minecraft:spruce_fence_gate", - // "minecraft:spruce_boat", - // "minecraft:spruce_chest_boat", - // "minecraft:spruce_sign", - // "minecraft:spruce_hanging_sign", + "minecraft:spruce_planks", + "minecraft:spruce_sapling", + "minecraft:spruce_log", + "minecraft:stripped_spruce_log", + "minecraft:stripped_spruce_wood", + "minecraft:spruce_wood", + "minecraft:spruce_leaves", + "minecraft:spruce_slab", + "minecraft:spruce_fence", + "minecraft:spruce_stairs", + "minecraft:spruce_button", + "minecraft:spruce_pressure_plate", + "minecraft:spruce_door", + "minecraft:spruce_trapdoor", + "minecraft:spruce_fence_gate", + "minecraft:spruce_boat", + "minecraft:spruce_chest_boat", + "minecraft:spruce_sign", + "minecraft:spruce_hanging_sign", //#endregion //#region Вишня - // "minecraft:cherry_planks", - // "minecraft:cherry_sapling", - // "minecraft:cherry_log", - // "minecraft:stripped_cherry_log", - // "minecraft:stripped_cherry_wood", - // "minecraft:cherry_wood", - // "minecraft:cherry_leaves", - // "minecraft:cherry_slab", - // "minecraft:cherry_fence", - // "minecraft:cherry_stairs", - // "minecraft:cherry_button", - // "minecraft:cherry_pressure_plate", - // "minecraft:cherry_door", - // "minecraft:cherry_trapdoor", - // "minecraft:cherry_fence_gate", - // "minecraft:cherry_boat", - // "minecraft:cherry_chest_boat", - // "minecraft:cherry_sign", - // "minecraft:cherry_hanging_sign", + "minecraft:cherry_planks", + "minecraft:cherry_sapling", + "minecraft:cherry_log", + "minecraft:stripped_cherry_log", + "minecraft:stripped_cherry_wood", + "minecraft:cherry_wood", + "minecraft:cherry_leaves", + "minecraft:cherry_slab", + "minecraft:cherry_fence", + "minecraft:cherry_stairs", + "minecraft:cherry_button", + "minecraft:cherry_pressure_plate", + "minecraft:cherry_door", + "minecraft:cherry_trapdoor", + "minecraft:cherry_fence_gate", + "minecraft:cherry_boat", + "minecraft:cherry_chest_boat", + "minecraft:cherry_sign", + "minecraft:cherry_hanging_sign", //#endregion //#region Мангровое - // "minecraft:mangrove_planks", - // "minecraft:mangrove_propagule", - // "minecraft:mangrove_log", - // "minecraft:mangrove_roots", - // "minecraft:muddy_mangrove_roots", - // "minecraft:stripped_mangrove_log", - // "minecraft:stripped_mangrove_wood", - // "minecraft:mangrove_wood", - // "minecraft:mangrove_leaves", - // "minecraft:mangrove_slab", - // "minecraft:mangrove_fence", - // "minecraft:mangrove_stairs", - // "minecraft:mangrove_button", - // "minecraft:mangrove_pressure_plate", - // "minecraft:mangrove_door", - // "minecraft:mangrove_trapdoor", - // "minecraft:mangrove_fence_gate", - // "minecraft:mangrove_boat", - // "minecraft:mangrove_chest_boat", - // "minecraft:mangrove_sign", - // "minecraft:mangrove_hanging_sign", + "minecraft:mangrove_planks", + "minecraft:mangrove_propagule", + "minecraft:mangrove_log", + "minecraft:mangrove_roots", + "minecraft:muddy_mangrove_roots", + "minecraft:stripped_mangrove_log", + "minecraft:stripped_mangrove_wood", + "minecraft:mangrove_wood", + "minecraft:mangrove_leaves", + "minecraft:mangrove_slab", + "minecraft:mangrove_fence", + "minecraft:mangrove_stairs", + "minecraft:mangrove_button", + "minecraft:mangrove_pressure_plate", + "minecraft:mangrove_door", + "minecraft:mangrove_trapdoor", + "minecraft:mangrove_fence_gate", + "minecraft:mangrove_boat", + "minecraft:mangrove_chest_boat", + "minecraft:mangrove_sign", + "minecraft:mangrove_hanging_sign", //#endregion //#endregion From b7b6dfc8568e2001aae0d709227246a98f67b8cd Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 20 Sep 2024 00:00:56 +0700 Subject: [PATCH 081/266] fixes --- kubejs/server_scripts/minecraft/recipes.js | 58 +++++++++++++++---- .../startup_scripts/gregtech/material_info.js | 22 +++---- 2 files changed, 58 insertions(+), 22 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 41689dffc..378a44946 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1,5 +1,7 @@ // priority: 0 + + const registerMinecraftRecipes = (e) => { //#region Дерево @@ -50,6 +52,10 @@ const registerMinecraftRecipes = (e) => { // Trapdoor e.remove({ id: `minecraft:${woodName}_trapdoor` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_iron` }) // Pressure Plate e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) @@ -63,7 +69,11 @@ const registerMinecraftRecipes = (e) => { // Sign e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) e.remove({ id: `gtceu:assembler/${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) // Hanging Sign e.remove({ id: `minecraft:${woodName}_hanging_sign` }) @@ -81,10 +91,10 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) // Window (Create) - e.remove({ id: `create:oak_window` }) + e.remove({ id: `create:${woodName}_window` }) // Window Pane (Create) - e.remove({ id: `create:oak_window_pane` }) + e.remove({ id: `create:${woodName}_window_pane` }) // Train Track Narrow e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) @@ -136,9 +146,9 @@ const registerMinecraftRecipes = (e) => { const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) - const trackNarrow = Item.of(`railways:narrow_${woodName}_track`) - const track = Item.of(`railways:${woodName}_track`) - const trackWide = Item.of(`railways:wide_${woodName}_track`) + const trackNarrow = Item.of(`railways:track_${woodName}_narrow`) + const track = Item.of(`railways:track_${woodName}`) + const trackWide = Item.of(`railways:track_${woodName}_wide`) //#region Бревно e.shaped(log, [ @@ -490,6 +500,8 @@ const registerMinecraftRecipes = (e) => { //#region Люк e.remove({ id: `minecraft:${woodName}_trapdoor` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) e.shaped(trapdoor, [ 'ABd', @@ -497,14 +509,14 @@ const registerMinecraftRecipes = (e) => { ], { A: lumber, B: '#forge:rings', - C: '#forge:screws', + C: '#forge:bolts', d: '#forge:tools/screwdrivers', s: '#forge:tools/saws', }).id(`tfg:workbench/${woodName}_trapdoor`) e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) .itemInputs(lumber.copyWithCount(2)) - .itemInputs('2x #forge:screws') + .itemInputs('2x #forge:bolts') .circuit(0) .itemOutputs(trapdoor) .EUt(GTValues.VA[GTValues.ULV]).duration(200) @@ -545,7 +557,11 @@ const registerMinecraftRecipes = (e) => { //#region Табличка e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) e.remove({ id: `gtceu:assembler/${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) e.shaped(sign.copyWithCount(3), [ 'AAA', @@ -670,7 +686,6 @@ const registerMinecraftRecipes = (e) => { .circuit(24) .duration(800) .EUt(32) - //#endregion //#region Железнодорожное полотно (Нормальное) (Create) @@ -681,7 +696,10 @@ const registerMinecraftRecipes = (e) => { ], trackNarrow, [ e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), - e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '4x #tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), e.recipes.createPressing(incompleteTrack, [incompleteTrack]), ]).transitionalItem(incompleteTrack).loops(1) .id(`tfg:sequenced_assembly/track_${woodName}`) @@ -693,6 +711,12 @@ const registerMinecraftRecipes = (e) => { .duration(1200) .EUt(32) + e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) + .itemInputs(slab.copyWithCount(2), '8x #forge:screws') + .itemOutputs(track) + .circuit(25) + .duration(1200) + .EUt(32) //#endregion //#region Железнодорожное полотно (Широкое) (Create) @@ -703,17 +727,27 @@ const registerMinecraftRecipes = (e) => { ], track, [ e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), - e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '4x #tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), ]).transitionalItem(incompleteTrackWide).loops(1) - .id(`tfg:sequenced_assembly/track_${woodType}_wide`) + .id(`tfg:sequenced_assembly/track_${woodName}_wide`) - e.recipes.gtceu.assembler(`tfg:track_${woodType}_wide`) + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide`) .itemInputs(slab, track, '4x #forge:screws') .itemOutputs(trackWide) + .circuit(24) .duration(1600) .EUt(16) + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide_skip`) + .itemInputs(slab.copyWithCount(3), '12x #forge:screws') + .itemOutputs(trackWide) + .circuit(26) + .duration(1600) + .EUt(16) //#endregion } diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index a3063cb32..76ad8ff30 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -3,16 +3,18 @@ const registerGregTechMaterialInfo = (event) => { //#region Дерево - global.MINECRAFT_OVERWORLD_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`) - }) + // ChemicalHelper.ITEM_MATERIAL_INFO.remove(Item.of('minecraft:acacia_planks')) + + // global.MINECRAFT_ALL_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); From 47113b1763d8e61d2a946fffefa0b2cabb5152be Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 21 Sep 2024 13:27:43 +0700 Subject: [PATCH 082/266] some recipes --- kubejs/server_scripts/alekiroofs/tags.js | 11 +- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/minecraft/recipes.js | 822 +++++++++++++++--- kubejs/server_scripts/minecraft/tags.js | 14 +- .../startup_scripts/gregtech/material_info.js | 32 +- 5 files changed, 739 insertions(+), 141 deletions(-) diff --git a/kubejs/server_scripts/alekiroofs/tags.js b/kubejs/server_scripts/alekiroofs/tags.js index 757e572bb..a4e2c6e41 100644 --- a/kubejs/server_scripts/alekiroofs/tags.js +++ b/kubejs/server_scripts/alekiroofs/tags.js @@ -1,6 +1,6 @@ // priority: 0 -const registerMinecraftItemTags123 = (event) => { +const registerAlekiRoofsItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { // event.removeAllTagsFrom(item) // event.add('c:hidden_from_recipe_viewers', item) @@ -10,8 +10,8 @@ const registerMinecraftItemTags123 = (event) => { // event.add('c:hidden_from_recipe_viewers', item) // }) - event.add('tfc:lumber', 'tfg:crimson_lumber') - event.add('tfc:lumber', 'tfg:warped_lumber') + // event.add('tfc:lumber', 'tfg:crimson_lumber') + // event.add('tfc:lumber', 'tfg:warped_lumber') // // Теперь обсидиан сторадж блок // event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') @@ -19,6 +19,11 @@ const registerMinecraftItemTags123 = (event) => { // // Бамбуковые полублоки // event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') // event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') + + //#region Бамбуковые крыши в один тег + event.add('tfg:bamboo_roofings', 'alekiroofs:bamboo_roofing') + event.add('tfg:bamboo_roofings', 'alekiroofs:bamboo_mosaic_roofing') + //#endregion } const registerMinecraftBlockTags123 = (event) => { diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index d9f474794..01b127831 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -5,6 +5,7 @@ */ ServerEvents.tags('item', event => { registerAE2ItemTags(event) + registerAlekiRoofsItemTags(event) // registerAsticorCartsItemTags(event) // registerChiselAndBitsItemTags(event) // registerComputerCraftItemTags(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 378a44946..54bff2ea9 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1,9 +1,32 @@ // priority: 0 - - const registerMinecraftRecipes = (e) => { + const removeMaterialnfoRecipes = () => { + //#region Дерево + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { + e.remove({ id: `gtceu:macerator/macerate_${woodName}_planks` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_stairs` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_slab` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_fence` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_fence_gate` }) + + e.remove({ id: `gtceu:arc_furnace/arc_${woodName}_door` }) + e.remove({ id: `gtceu:macerator/macerate_${woodName}_door` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_button` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_boat` }) + }) + //#endregion + } + + removeMaterialnfoRecipes() + //#region Дерево const processOverworldWood = (woodName) => { // Wood @@ -58,6 +81,7 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_iron` }) // Pressure Plate + e.remove({ id: `minecraft:${woodName}_pressure_plate` }) e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) @@ -109,6 +133,656 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `everycomp:c/minecraft/null_from_${woodName}_planks_stonecutting` }) } + const processBambooRecipes = () => { + const woodName = 'bamboo' + + const logAny = `#minecraft:${woodName}_blocks` + + const log = Item.of(`minecraft:${woodName}_block`) + const logStripped = Item.of(`minecraft:stripped_${woodName}_block`) + + const lumber = Item.of(`minecraft:${woodName}`) + + const plankAny = `#tfg:${woodName}_planks` + + const plank = Item.of(`minecraft:${woodName}_planks`) + const plankMosaic = Item.of(`minecraft:${woodName}_mosaic`) + + const stairAny = `#tfg:${woodName}_stairs` + + const stair = Item.of(`minecraft:${woodName}_stairs`) + const stairMosaic = Item.of(`minecraft:${woodName}_mosaic_stairs`) + + const slabAny = `#tfg:${woodName}_slabs` + + const slab = Item.of(`minecraft:${woodName}_slab`) + const slabMosaic = Item.of(`minecraft:${woodName}_mosaic_slab`) + + const fence = Item.of(`minecraft:${woodName}_fence`) + const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) + + const door = Item.of(`minecraft:${woodName}_door`) + const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + + const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + const button = Item.of(`minecraft:${woodName}_button`) + + const sign = Item.of(`minecraft:${woodName}_sign`) + const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + + const roofingAny = `#tfg:${woodName}_roofings` + + const roofing = Item.of(`alekiroofs:${woodName}_roofing`) + const roofingMosaic = Item.of(`alekiroofs:${woodName}_mosaic_roofing`) + + const incompleteTrackNarrow = Item.of(`railways:track_incomplete_${woodName}_narrow`) + const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) + const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) + + const incompleteStrippedTrackNarrow = Item.of(`railways:track_incomplete_stripped_${woodName}_narrow`) + const incompleteStrippedTrack = Item.of(`railways:track_incomplete_stripped_${woodName}`) + const incompleteStrippedTrackWide = Item.of(`railways:track_incomplete_stripped_${woodName}_wide`) + + const trackNarrow = Item.of(`railways:track_${woodName}_narrow`) + const track = Item.of(`railways:track_${woodName}`) + const trackWide = Item.of(`railways:track_${woodName}_wide`) + + const trackStrippedNarrow = Item.of(`railways:track_stripped_${woodName}_narrow`) + const trackStripped = Item.of(`railways:track_stripped_${woodName}`) + const trackStrippedWide = Item.of(`railways:track_stripped_${woodName}_wide`) + + //#region Бревно + e.remove({ id: `minecraft:${woodName}_block` }) + + e.shaped(log, [ + 'AAA', + 'AAA', + 'AAA' + ], { + A: lumber + }).id(`tfg:workbench/${woodName}_log`) + //#endregion + + //#region Обтесанное бревно + e.remove({ id: `create:cutting/${woodName}_block` }) + + e.recipes.create.cutting(logStripped, log) + .id(`tfg:create_cutting/stripped_${woodName}_log`) + + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) + .itemInputs(log) + .circuit(1) + .itemOutputs(logStripped) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Пиломатериалы + + //#region Из бревен + e.shaped(lumber.copyWithCount(4), [ + 's', + 'A' + ], { + A: logAny, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_logs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(8), logAny) + .id(`tfg:create_cutting/${woodName}_lumber_from_logs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_logs`) + .itemInputs(logAny) + .circuit(2) + .itemOutputs(lumber.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из досок + e.shaped(lumber, [ + 's', + 'A' + ], { + A: plankAny, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_planks_saw`) + + e.recipes.create.cutting(lumber, plankAny) + .id(`tfg:create_cutting/${woodName}_lumber_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_planks`) + .itemInputs(plankAny) + .circuit(0) + .itemOutputs(lumber.copyWithCount(4)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из ступенек + e.shaped(lumber, [ + 'A', + 's' + ], { + A: stairAny, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_stairs_saw`) + + e.recipes.create.cutting(lumber, stairAny) + .id(`tfg:create_cutting/${woodName}_lumber_from_stairs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_stairs`) + .itemInputs(stairAny) + .circuit(2) + .itemOutputs(lumber) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из полублоков + e.shaped(lumber, [ + 'A', + 's' + ], { + A: slabAny, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_slab_saw`) + + e.recipes.create.cutting(lumber, slab) + .id(`tfg:create_cutting/${woodName}_lumber_from_slab`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_slab`) + .itemInputs(slab) + .circuit(2) + .itemOutputs(lumber) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Обычные Доски + e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + e.remove({ id: `jei:/create/cutting/stripped_${woodName}_block` }) + + e.shaped(plank, [ + 'AA', + 'AA' + ], { + A: lumber + }).id(`tfg:workbench/${woodName}_planks`) + + e.recipes.create.cutting(plank, logAny) + .id(`tfg:create_cutting/${woodName}_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) + .itemInputs(logAny) + .circuit(3) + .itemOutputs(plank.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Мозаичные Доски + e.shaped(plankMosaic, [ + 'A ', + ' s' + ], { + A: plank, + s: 'forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_planks`) + + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_planks`) + .itemInputs(plank) + .notConsumable('#forge:lenses/white') + .itemOutputs(plankMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Обычные Ступени + e.remove({ id: `minecraft:${woodName}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) + + e.shaped(stair, [ + 'As' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_stairs_saw`) + + e.recipes.create.cutting(stair, logAny) + .id(`tfg:create_cutting/${woodName}_stairs_from_logs`) + + e.recipes.create.cutting([stair, Item.of('1x gtceu:small_wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_stairs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) + .itemInputs(logAny) + .circuit(4) + .itemOutputs(stair.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) + .itemInputs(plank) + .circuit(1) + .itemOutputs(stair) + .itemOutputs('1x gtceu:small_wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Мозаичные Ступени + e.remove({ id: `minecraft:${woodName}_mosaic_stairs` }) + + //#region Через обычные + e.shaped(stairMosaic, [ + 'A ', + ' s' + ], { + A: stair, + s: 'forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_stairs`) + + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_stairs`) + .itemInputs(stair) + .notConsumable('#forge:lenses/white') + .itemOutputs(stairMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Через мозаичные + e.shaped(stairMosaic, [ + 'As' + ], { + A: plankMosaic, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_stairs_saw`) + + e.recipes.create.cutting([stairMosaic, Item.of('1x gtceu:small_wood_dust')], plankMosaic) + .id(`tfg:create_cutting/${woodName}_mosaic_stairs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_mosaic_stairs_from_planks`) + .itemInputs(plankMosaic) + .circuit(1) + .itemOutputs(stairMosaic) + .itemOutputs('1x gtceu:small_wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + + //#endregion + + //#region Обычные Полублоки + e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + + e.shaped(slab.copyWithCount(2), [ + 'sA' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_slabs_saw`) + + e.recipes.create.cutting(slab.copyWithCount(3), logAny) + .id(`tfg:create_cutting/${woodName}_slabs_from_logs`) + + e.recipes.create.cutting(slab.copyWithCount(2), plank) + .id(`tfg:create_cutting/${woodName}_slabs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) + .itemInputs(logAny) + .circuit(5) + .itemOutputs(slab.copyWithCount(4)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) + .itemInputs(plank) + .circuit(2) + .itemOutputs(slab.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Мозаичные Полублоки + e.remove({ id: `gtceu:shaped/${woodName}_mosaic_slab_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_mosaic_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_mosaic_slab_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_mosaic_slab` }) + + //#region Через обычные + e.shaped(slabMosaic, [ + 'A ', + ' s' + ], { + A: slab, + s: 'forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_slabs`) + + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_slabs`) + .itemInputs(slab) + .notConsumable('#forge:lenses/white') + .itemOutputs(slabMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Через мозаичные + e.shaped(slabMosaic.copyWithCount(2), [ + 'sA' + ], { + A: plankMosaic, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_slabs_saw`) + + e.recipes.create.cutting(slabMosaic.copyWithCount(2), plankMosaic) + .id(`tfg:create_cutting/${woodName}_mosaic_slabs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_mosaic_slabs_from_planks`) + .itemInputs(plankMosaic) + .circuit(2) + .itemOutputs(slabMosaic.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Забор + e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence` }) + + e.shaped(fence.copyWithCount(3), [ + 'h s', + 'ABA', + 'ACA' + ], { + A: plank, + B: '#forge:rods/wooden', + C: lumber, + h: '#forge:tools/hammers', + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_fence`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_fence`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + .itemInputs(plank) + .circuit(3) + .itemOutputs(fence.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Калитка + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) + + e.shaped(fenceGate, [ + 'A A', + 'BCB', + 'DCD' + ], { + A: 'minecraft:flint', + B: '#forge:rods/wooden', + C: plank, + D: lumber + }).id(`tfg:workbench/${woodName}_fence_gate_flint`) + + e.shaped(fenceGate.copyWithCount(2), [ + 'AEA', + 'BCB', + 'DCD' + ], { + A: '#forge:screws', + B: '#forge:rods/wooden', + C: plank, + D: lumber, + E: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_fence_gate_screws`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) + .itemInputs(plank.copyWithCount(2)) + .itemInputs('2x #forge:rods/wooden') + .itemInputs('2x #forge:screws') + .circuit(0) + .itemOutputs(fenceGate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Дверь + e.remove({ id: `gtceu:shaped/${woodName}_door` }) + e.remove({ id: `gtceu:assembler/${woodName}_door` }) + + e.shaped(door, [ + 'ABd', + 'ACD', + 'AAs' + ], { + A: lumber, + B: trapdoor, + C: '#forge:rings', + D: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_door`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_door`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs(trapdoor) + .inputFluids(Fluid.of('gtceu:iron', 16)) + .circuit(0) + .itemOutputs(door) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Люк + e.remove({ id: `minecraft:${woodName}_trapdoor` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) + + e.shaped(trapdoor, [ + 'ABd', + 'ACs' + ], { + A: lumber, + B: '#forge:rings', + C: '#forge:bolts', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_trapdoor`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) + .itemInputs(lumber.copyWithCount(2)) + .itemInputs('2x #forge:bolts') + .circuit(0) + .itemOutputs(trapdoor) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Нажимная пластина + e.remove({ id: `minecraft:${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) + + e.shaped(pressurePlate.copyWithCount(2), [ + 'AmA', + 'BCB', + 'AdA' + ], { + A: 'gtceu:wood_bolt', + B: slab, + C: '#forge:springs', + m: '#forge:tools/mallets', + d: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_pressure_plate`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) + .itemInputs(slab.copyWithCount(2)) + .itemInputs('#forge:springs') + .circuit(0) + .itemOutputs(pressurePlate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Кнопка + + // e.remove({ id: `gtceu:shaped/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) + + //#endregion + + //#region Табличка + e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) + + e.shaped(sign.copyWithCount(3), [ + 'AAA', + 'AAA', + 'mB ' + ], { + A: lumber, + B: '#forge:rods/wooden', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) + .itemInputs(lumber.copyWithCount(6)) + .circuit(3) + .itemOutputs(sign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Висящая табличка + e.remove({ id: `minecraft:${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) + + e.shaped(hangingSign.copyWithCount(3), [ + 'AmA', + 'CBC', + 'BBB' + ], { + A: '#tfg:metal_chains', + B: lumber, + C: '#forge:screws', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_hanging_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs('2x #tfg:metal_chains') + .itemInputs('4x #forge:screws') + .circuit(4) + .itemOutputs(hangingSign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Крыша (AlekiRoofs) + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + + e.shaped(roofing.copyWithCount(2), [ + 'A ', + ' s' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_roofing_saw`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_roofing`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_roofing`) + .itemInputs(plank) + .circuit(4) + .itemOutputs(roofing.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Железнодорожное полотно (Узкое) (Create) + // e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + + // e.recipes.createSequencedAssembly([ + // trackNarrow, + // ], slab, [ + // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), + // e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), + // ]).transitionalItem(incompleteTrackNarrow).loops(1) + // .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) + + // e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) + // .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') + // .itemOutputs(trackNarrow) + // .circuit(24) + // .duration(800) + // .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Нормальное) (Create) + // e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + + // e.recipes.createSequencedAssembly([ + // track, + // ], trackNarrow, [ + // e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), + // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), + // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + // e.recipes.createPressing(incompleteTrack, [incompleteTrack]), + // ]).transitionalItem(incompleteTrack).loops(1) + // .id(`tfg:sequenced_assembly/track_${woodName}`) + + // e.recipes.gtceu.assembler(`tfg:track_${woodName}`) + // .itemInputs(slab, trackNarrow, '4x #forge:screws') + // .itemOutputs(track) + // .circuit(24) + // .duration(1200) + // .EUt(32) + + // e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) + // .itemInputs(slab.copyWithCount(2), '8x #forge:screws') + // .itemOutputs(track) + // .circuit(25) + // .duration(1200) + // .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Широкое) (Create) + // e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + + // e.recipes.createSequencedAssembly([ + // trackWide, + // ], track, [ + // e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), + // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), + // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + // e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), + // ]).transitionalItem(incompleteTrackWide).loops(1) + // .id(`tfg:sequenced_assembly/track_${woodName}_wide`) + //#endregion + + } + + processBambooRecipes() + const processNetherWood = (woodName) => { const anyLogs = `#minecraft:${woodName}_stems` @@ -168,7 +842,6 @@ const registerMinecraftRecipes = (e) => { .itemOutputs(log) .itemOutputs('4x gtceu:wood_dust') .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion //#region Цельное бревно @@ -243,7 +916,7 @@ const registerMinecraftRecipes = (e) => { ], { A: anyLogs, s: '#forge:tools/saws' - }).id(`tfg:${woodName}_lumber_from_logs_saw`) + }).id(`tfg:workbench/${woodName}_lumber_from_logs_saw`) e.recipes.create.cutting(lumber.copyWithCount(12), anyLogs) .id(`tfg:create_cutting/${woodName}_lumber_from_logs`) @@ -262,7 +935,7 @@ const registerMinecraftRecipes = (e) => { ], { A: plank, s: '#forge:tools/saws' - }).id(`tfg:${woodName}_lumber_from_planks_saw`) + }).id(`tfg:workbench/${woodName}_lumber_from_planks_saw`) e.recipes.create.cutting(lumber.copyWithCount(3), plank) .id(`tfg:create_cutting/${woodName}_lumber_from_planks`) @@ -281,10 +954,10 @@ const registerMinecraftRecipes = (e) => { ], { A: stair, s: '#forge:tools/saws' - }).id(`tfg:create_cutting/${woodName}_lumber_from_stairs_saw`) + }).id(`tfg:workbench//${woodName}_lumber_from_stairs_saw`) e.recipes.create.cutting(lumber.copyWithCount(2), stair) - .id(`tfg:workbench/${woodName}_lumber_from_stairs`) + .id(`tfg:create_cutting/${woodName}_lumber_from_stairs`) e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_stairs`) .itemInputs(stair) @@ -523,6 +1196,7 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Нажимная пластина + e.remove({ id: `minecraft:${woodName}_pressure_plate` }) e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) @@ -581,6 +1255,9 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Висящая табличка + e.remove({ id: `minecraft:${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) + e.shaped(hangingSign.copyWithCount(3), [ 'AmA', 'CBC', @@ -759,137 +1436,12 @@ const registerMinecraftRecipes = (e) => { processNetherWood(woodName) }) - //#region Бамбук - //#endregion - - //#region Бамбук - - // Доски - // e.remove({ id: 'gtceu:shapeless/bamboo_planks' }) - - // Ступенька - // e.remove({ id: 'minecraft:bamboo_stairs' }) - // e.remove({ id: 'gtceu:assembler/bamboo_stairs' }) - - // e.shaped('minecraft:bamboo_stairs', [ - // 'As' - // ], { - // A: 'minecraft:bamboo_planks', - // s: '#forge:tools/saws' - // }).id(`tfg:bamboo_stairs_saw`) - - // e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_logs`) - // .itemInputs('#minecraft:bamboo_blocks') - // .circuit(1) - // .itemOutputs('4x minecraft:bamboo_stairs') - // .itemOutputs('1x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_planks`) - // .itemInputs('minecraft:bamboo_planks') - // .circuit(0) - // .itemOutputs('minecraft:bamboo_stairs') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // Мозаичная ступенька - // e.remove({ id: 'minecraft:bamboo_mosaic_stairs' }) - - // e.shaped('minecraft:bamboo_mosaic_stairs', [ - // 'As' - // ], { - // A: 'minecraft:bamboo_mosaic', - // s: '#forge:tools/saws' - // }).id(`tfg:bamboo_mosaic_stairs_saw`) - - // e.recipes.gtceu.cutter(`tfg:bamboo_mosaic_stairs_from_planks`) - // .itemInputs('minecraft:bamboo_mosaic') - // .circuit(0) - // .itemOutputs('minecraft:bamboo_mosaic_stairs') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.create.cutting('minecraft:bamboo_mosaic_stairs', 'minecraft:bamboo_mosaic') - // .id(`tfg:bamboo_mosaic_planks_cutting`) - - // Полублок - // e.recipes.create.cutting('2x minecraft:bamboo_mosaic_slab', 'minecraft:bamboo_mosaic') - // .id(`tfg:bamboo_mosaic_slabs_cutting`) - - // Забор - // e.remove({ id: 'gtceu:shaped/bamboo_fence' }) - // e.remove({ id: 'gtceu:assembler/bamboo_fence' }) - - //todo: я устал, правда - // e.shaped(fence.copyWithCount(8), [ - // 'h s', - // 'ABA', - // 'ACA' - // ], { - // A: plank, - // B: '#forge:rods/wooden', - // C: lumber, - // h: '#forge:tools/hammers', - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_fence`) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) - // .itemInputs(plank) - // .circuit(2) - // .itemOutputs(fence.copyWithCount(2)) - // .itemOutputs('1x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // Дверь - // e.remove({ id: 'gtceu:shaped/bamboo_door' }) - - // Люк - // e.remove({ id: 'minecraft:bamboo_trapdoor' }) - - // Нажимная плита - // e.remove({ id: 'minecraft:bamboo_pressure_plate' }) - - - // Очищенный блок бамбука - // e.recipes.gtceu.cutter(`tfg:stripped_bamboo`) - // .itemInputs('minecraft:bamboo_block') - // .circuit(0) - // .itemOutputs('minecraft:stripped_bamboo_block') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // Бамбуковый мозаичный блок - // e.recipes.gtceu.cutter(`tfg:bamboo_mosaic`) - // .itemInputs('minecraft:bamboo_planks') - // .circuit(0) - // .itemOutputs('minecraft:bamboo_mosaic') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - //#endregion - - //#region Палки - // e.remove({ id: 'gtceu:shaped/stick_normal' }) - // e.remove({ id: 'minecraft:stick_from_bamboo_item' }) - - // e.remove({ id: 'gtceu:lathe/lathe_planks' }) - - // e.recipes.gtceu.lathe(`tfg:sticks_from_lumber`) - // .itemInputs('#tfc:lumber') - // .itemOutputs('minecraft:stick') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.gtceu.lathe(`tfg:sticks_from_planks`) - // .itemInputs('#minecraft:planks') - // .itemOutputs('4x minecraft:stick') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.gtceu.lathe(`tfg:sticks_from_logs`) - // .itemInputs('#minecraft:logs') - // .itemOutputs('32x minecraft:stick') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - //#endregion - //#endregion //#region Камень + const pizda = () => { + + } //#endregion } diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 424bad999..4b4c511db 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -3,11 +3,11 @@ const registerMinecraftItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) - //event.add('c:hidden_from_recipe_viewers', item) + event.add('c:hidden_from_recipe_viewers', item) }) global.MINECRAFT_HIDED_ITEMS.forEach(item => { - //event.add('c:hidden_from_recipe_viewers', item) + event.add('c:hidden_from_recipe_viewers', item) }) //#region Ванильные пиломатериалы в TFC тег @@ -18,6 +18,16 @@ const registerMinecraftItemTags = (event) => { // Теперь обсидиан сторадж блок event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + //#region Бамбуковые доски в один тег + event.add('tfg:bamboo_planks', 'minecraft:bamboo_planks') + event.add('tfg:bamboo_planks', 'minecraft:bamboo_mosaic') + //#endregion + + //#region Бамбуковые ступени в один тег + event.add('tfg:bamboo_stairs', 'minecraft:bamboo_stairs') + event.add('tfg:bamboo_stairs', 'minecraft:bamboo_mosaic_stairs') + //#endregion + //#region Бамбуковые полублоки в один тег event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index 76ad8ff30..01d344f0e 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -1,8 +1,38 @@ // priority: 0 const registerGregTechMaterialInfo = (event) => { - //#region Дерево + + //#region Ванильное незер дерево + global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + const button = Item.of(`minecraft:${woodName}_button`) + const sign = Item.of(`minecraft:${woodName}_sign`) + const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + const trapdoorMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + const pressurePlateMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + const buttonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M / 9)) + const signMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + const hangingButtonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + + event.add(trapdoor, trapdoorMaterialInfo); + event.add(pressurePlate, pressurePlateMaterialInfo); + event.add(button, buttonMaterialInfo); + event.add(sign, signMaterialInfo); + event.add(hangingSign, hangingButtonMaterialInfo); + + }) + //#endregion + + //#region ТФК дерево + global.TFC_WOOD_TYPES.forEach(woodName => { + + }) + //#endregion + + + //#region Дерево // ChemicalHelper.ITEM_MATERIAL_INFO.remove(Item.of('minecraft:acacia_planks')) // global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodType => { From fe2a13517c530b408aed6e5080d66c060b1428d5 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 21 Sep 2024 14:26:18 +0700 Subject: [PATCH 083/266] finish vanilla wood recipes --- kubejs/client_scripts/minecraft/assets.js | 15 ++ kubejs/server_scripts/minecraft/recipes.js | 268 ++++++++++++++------- 2 files changed, 199 insertions(+), 84 deletions(-) diff --git a/kubejs/client_scripts/minecraft/assets.js b/kubejs/client_scripts/minecraft/assets.js index ed8f5787f..e836e3b60 100644 --- a/kubejs/client_scripts/minecraft/assets.js +++ b/kubejs/client_scripts/minecraft/assets.js @@ -21,5 +21,20 @@ const registerMinecraftAssets = (e) => { e.add(`emi:recipe/additions/vanilla_nether_${woodName}_log_conversion`, logJson) e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, woodJson) }) + + //#region Бамбук + const woodName = 'bamboo' + + const bambooJson = { + type: 'emi:world_interaction', + left: `item:minecraft:${woodName}_block`, + right: '#item:minecraft:axes', + output: `item:minecraft:stripped_${woodName}_block` + } + + e.add(`emi:recipe/additions/vanilla_${woodName}_log_conversion`, bambooJson) + + //#endregion + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 54bff2ea9..f1db4757c 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -4,6 +4,8 @@ const registerMinecraftRecipes = (e) => { const removeMaterialnfoRecipes = () => { //#region Дерево + + //#region Незер global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { e.remove({ id: `gtceu:macerator/macerate_${woodName}_planks` }) @@ -23,6 +25,16 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:macerator/macerate_${woodName}_boat` }) }) //#endregion + + //#region Бамбук + e.remove({ id: `gtceu:macerator/macerate_bamboo_raft` }) + //#endregion + + //#endregion + + //#region Камень + + //#endregion } removeMaterialnfoRecipes() @@ -175,21 +187,29 @@ const registerMinecraftRecipes = (e) => { const roofing = Item.of(`alekiroofs:${woodName}_roofing`) const roofingMosaic = Item.of(`alekiroofs:${woodName}_mosaic_roofing`) - const incompleteTrackNarrow = Item.of(`railways:track_incomplete_${woodName}_narrow`) - const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) - const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) + // const incompleteTrackNarrow = Item.of(`railways:track_incomplete_${woodName}_narrow`) + // const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) + // const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) + + const incompleteTrackNarrow = Item.of(`railways:track_incomplete_stripped_${woodName}_narrow`) + const incompleteTrack = Item.of(`railways:track_incomplete_stripped_${woodName}`) + const incompleteTrackWide = Item.of(`railways:track_incomplete_stripped_${woodName}_wide`) + + // const incompleteStrippedTrackNarrow = Item.of(`railways:track_incomplete_stripped_${woodName}_narrow`) + // const incompleteStrippedTrack = Item.of(`railways:track_incomplete_stripped_${woodName}`) + // const incompleteStrippedTrackWide = Item.of(`railways:track_incomplete_stripped_${woodName}_wide`) - const incompleteStrippedTrackNarrow = Item.of(`railways:track_incomplete_stripped_${woodName}_narrow`) - const incompleteStrippedTrack = Item.of(`railways:track_incomplete_stripped_${woodName}`) - const incompleteStrippedTrackWide = Item.of(`railways:track_incomplete_stripped_${woodName}_wide`) + // const trackNarrow = Item.of(`railways:track_${woodName}_narrow`) + // const track = Item.of(`railways:track_${woodName}`) + // const trackWide = Item.of(`railways:track_${woodName}_wide`) + + const trackNarrow = Item.of(`railways:track_stripped_${woodName}_narrow`) + const track = Item.of(`railways:track_stripped_${woodName}`) + const trackWide = Item.of(`railways:track_stripped_${woodName}_wide`) - const trackNarrow = Item.of(`railways:track_${woodName}_narrow`) - const track = Item.of(`railways:track_${woodName}`) - const trackWide = Item.of(`railways:track_${woodName}_wide`) - - const trackStrippedNarrow = Item.of(`railways:track_stripped_${woodName}_narrow`) - const trackStripped = Item.of(`railways:track_stripped_${woodName}`) - const trackStrippedWide = Item.of(`railways:track_stripped_${woodName}_wide`) + // const trackStrippedNarrow = Item.of(`railways:track_stripped_${woodName}_narrow`) + // const trackStripped = Item.of(`railways:track_stripped_${woodName}`) + // const trackStrippedWide = Item.of(`railways:track_stripped_${woodName}_wide`) //#region Бревно e.remove({ id: `minecraft:${woodName}_block` }) @@ -303,7 +323,7 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:cutter/${woodName}_planks` }) e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) - e.remove({ id: `jei:/create/cutting/stripped_${woodName}_block` }) + e.remove({ id: `create:cutting/stripped_${woodName}_block` }) e.shaped(plank, [ 'AA', @@ -324,12 +344,14 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Мозаичные Доски + e.remove({ id: `minecraft:bamboo_mosaic` }) + e.shaped(plankMosaic, [ 'A ', ' s' ], { A: plank, - s: 'forge:tools/saws' + s: '#forge:tools/saws' }).id(`tfg:workbench/${woodName}_mosaic_planks`) e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_planks`) @@ -573,7 +595,7 @@ const registerMinecraftRecipes = (e) => { e.recipes.gtceu.assembler(`tfg:${woodName}_door`) .itemInputs(lumber.copyWithCount(4)) .itemInputs(trapdoor) - .inputFluids(Fluid.of('gtceu:iron', 16)) + .itemInputs('4x #forge:screws') .circuit(0) .itemOutputs(door) .EUt(GTValues.VA[GTValues.ULV]).duration(200) @@ -686,6 +708,17 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion + //#region Лодка + e.remove({ id: `minecraft:${woodName}_chest_raft` }) + e.remove({ id: `gtceu:shaped/${woodName}_chest_raft` }) + e.remove({ id: `gtceu:assembler/${woodName}_chest_boat` }) + //#endregion + + //#region Лодка с сундуком + e.remove({ id: `gtceu:shaped/${woodName}_raft` }) + e.remove({ id: `gtceu:assembler/${woodName}_boat` }) + //#endregion + //#region Крыша (AlekiRoofs) e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) @@ -708,77 +741,141 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Железнодорожное полотно (Узкое) (Create) - // e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + //#region Мозаичная крыша (AlekiRoofs) + e.remove({ id: `alekiroofs:crafting/${woodName}_mosaic_roofing` }) + + //#region Через обычные + e.shaped(roofingMosaic, [ + 'A ', + ' s' + ], { + A: roofing, + s: 'forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_roofing`) - // e.recipes.createSequencedAssembly([ - // trackNarrow, - // ], slab, [ - // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), - // e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), - // ]).transitionalItem(incompleteTrackNarrow).loops(1) - // .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) - - // e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) - // .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') - // .itemOutputs(trackNarrow) - // .circuit(24) - // .duration(800) - // .EUt(32) + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_roofing`) + .itemInputs(roofing) + .notConsumable('#forge:lenses/white') + .itemOutputs(roofingMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Железнодорожное полотно (Нормальное) (Create) - // e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + //#region Через мозаичные + e.shaped(roofingMosaic.copyWithCount(2), [ + 'sA' + ], { + A: roofingMosaic, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_roofing_saw`) + + e.recipes.create.cutting(roofingMosaic.copyWithCount(2), plankMosaic) + .id(`tfg:create_cutting/${woodName}_mosaic_roofing_from_planks`) - // e.recipes.createSequencedAssembly([ - // track, - // ], trackNarrow, [ - // e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), - // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), - // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - // e.recipes.createPressing(incompleteTrack, [incompleteTrack]), - // ]).transitionalItem(incompleteTrack).loops(1) - // .id(`tfg:sequenced_assembly/track_${woodName}`) - - // e.recipes.gtceu.assembler(`tfg:track_${woodName}`) - // .itemInputs(slab, trackNarrow, '4x #forge:screws') - // .itemOutputs(track) - // .circuit(24) - // .duration(1200) - // .EUt(32) - - // e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) - // .itemInputs(slab.copyWithCount(2), '8x #forge:screws') - // .itemOutputs(track) - // .circuit(25) - // .duration(1200) - // .EUt(32) - //#endregion - - //#region Железнодорожное полотно (Широкое) (Create) - // e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) - - // e.recipes.createSequencedAssembly([ - // trackWide, - // ], track, [ - // e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), - // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), - // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - // e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), - // ]).transitionalItem(incompleteTrackWide).loops(1) - // .id(`tfg:sequenced_assembly/track_${woodName}_wide`) + e.recipes.gtceu.cutter(`tfg:${woodName}_mosaic_roofing_from_planks`) + .itemInputs(plankMosaic) + .circuit(2) + .itemOutputs(roofingMosaic.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion + //#endregion + + //#region Железнодорожное полотно (Узкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}_narrow` }) + + e.recipes.createSequencedAssembly([ + trackNarrow, + ], slab, [ + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), + e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), + ]).transitionalItem(incompleteTrackNarrow).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) + + e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) + .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') + .itemOutputs(trackNarrow) + .circuit(24) + .duration(800) + .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Необтесанное) (Узкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + //#endregion + + //#region Железнодорожное полотно (Нормальное) (Create) + e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}` }) + + e.recipes.createSequencedAssembly([ + track, + ], trackNarrow, [ + e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrack, [incompleteTrack]), + ]).transitionalItem(incompleteTrack).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}`) + .itemInputs(slab, trackNarrow, '4x #forge:screws') + .itemOutputs(track) + .circuit(24) + .duration(1200) + .EUt(32) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) + .itemInputs(slab.copyWithCount(2), '8x #forge:screws') + .itemOutputs(track) + .circuit(25) + .duration(1200) + .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Необтесанное) (Нормальное) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + //#endregion + + //#region Железнодорожное полотно (Широкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}_wide` }) + + e.recipes.createSequencedAssembly([ + trackWide, + ], track, [ + e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), + ]).transitionalItem(incompleteTrackWide).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_wide`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide`) + .itemInputs(slab, track, '4x #forge:screws') + .itemOutputs(trackWide) + .circuit(24) + .duration(1600) + .EUt(16) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide_skip`) + .itemInputs(slab.copyWithCount(3), '12x #forge:screws') + .itemOutputs(trackWide) + .circuit(26) + .duration(1600) + .EUt(16) + //#endregion + + //#region Железнодорожное полотно (Необтесанное) (Широкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + //#endregion } processBambooRecipes() @@ -866,6 +963,8 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Обтесанное бревно + e.remove({ id: `create:cutting/crimson_stem` }) + e.shaped(strippedLog, [ 'A', 's' @@ -887,6 +986,7 @@ const registerMinecraftRecipes = (e) => { //#region Обтесанное цельное бревно e.remove({ id: `minecraft:stripped_${woodName}_hyphae` }) + e.remove({ id: `create:cutting/${woodName}_hyphae` }) e.shaped(strippedWood, [ 'AA', @@ -1165,7 +1265,7 @@ const registerMinecraftRecipes = (e) => { e.recipes.gtceu.assembler(`tfg:${woodName}_door`) .itemInputs(lumber.copyWithCount(4)) .itemInputs(trapdoor) - .inputFluids(Fluid.of('gtceu:iron', 16)) + .itemInputs('4x #forge:screws') .circuit(0) .itemOutputs(door) .EUt(GTValues.VA[GTValues.ULV]).duration(200) @@ -1439,8 +1539,8 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Камень - const pizda = () => { - + const processGovno = () => { + } //#endregion } From d2bbc6b66c31d01cabd57e0b8f1392d5436bbf62 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sun, 22 Sep 2024 01:51:56 +0500 Subject: [PATCH 084/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index dc3c10bd4..be515ade0 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit dc3c10bd4dc2e8e22154ff36277dbc06cc0f7c2c +Subproject commit be515ade060f077bbb5ec955bca01991e7d92cfc From a7c65f25fee0bdc1b30f383cdbea451a6140ec48 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sun, 22 Sep 2024 01:52:32 +0500 Subject: [PATCH 085/266] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 0f3eb8ed6..70a0d6696 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,4 @@ knownkeys.txt +/icon-exports-x32 From 7691be657d88aab533df7710c80bcf78f1a5987e Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sun, 22 Sep 2024 02:03:44 +0500 Subject: [PATCH 086/266] =?UTF-8?q?=D0=BE=D0=BD=D0=BE=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=B0=D0=B5=D1=82=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/create_connected-common.toml | 23 +- config/cyclopscore-common.toml | 23 + config/everycomp-hazardous.properties | 2 +- config/iconexporter-common.toml | 17 + config/itemphysiclite-client.json | 13 +- config/packetfixer.properties | 2 +- global-server-configs/etched-server.toml | 9 + global-server-configs/firmaciv-server.toml | 2 + .../getittogetherdrops-server.toml | 6 + .../inventorysorter-server.toml | 8 + .../startup_scripts/gregtech/material_info.js | 40 +- kubejs/startup_scripts/tfc/constants.js | 1051 ++++++++++------- 12 files changed, 774 insertions(+), 422 deletions(-) create mode 100644 config/cyclopscore-common.toml create mode 100644 config/iconexporter-common.toml create mode 100644 global-server-configs/etched-server.toml create mode 100644 global-server-configs/getittogetherdrops-server.toml create mode 100644 global-server-configs/inventorysorter-server.toml 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/cyclopscore-common.toml b/config/cyclopscore-common.toml new file mode 100644 index 000000000..134cfdb9c --- /dev/null +++ b/config/cyclopscore-common.toml @@ -0,0 +1,23 @@ + +[core] + + [core.general] + #If mod compatibility loader should crash hard if errors occur in that process. + crashOnModCompatCrash = false + #Set 'true' to enable development debug mode. This will result in a lower performance! + debug = false + #The anonymous id used by the analytics service. + anonymousAnalyticsID = "1892b4c4-92f9-4e3a-9116-b11bad1b1b8f" + #If the recipe loader should crash when finding invalid recipes. + crashOnInvalidRecipe = false + #If an anonymous mod startup analytics request may be sent to our analytics service. + analytics = true + #If the version checker should be enabled. + versionChecker = true + +[general] + + [general.general] + #If a button should be added to the main menu to open a dev world (shift-click creates a new world). + devWorldButton = false + diff --git a/config/everycomp-hazardous.properties b/config/everycomp-hazardous.properties index 5406199ba..09aaea256 100644 --- a/config/everycomp-hazardous.properties +++ b/config/everycomp-hazardous.properties @@ -1,2 +1,2 @@ #Hard disable entire modules. Use at your own risk and don't ask for support if you use this -#Sat Sep 14 19:17:52 YEKT 2024 +#Sun Sep 22 02:00:00 YEKT 2024 diff --git a/config/iconexporter-common.toml b/config/iconexporter-common.toml new file mode 100644 index 000000000..2ad215612 --- /dev/null +++ b/config/iconexporter-common.toml @@ -0,0 +1,17 @@ + +[core] + + [core.general] + #If mod compatibility loader should crash hard if errors occur in that process. + crashOnModCompatCrash = false + #The default image width in px to render at. + defaultScale = 32 + #If the NBT tag should be hashed with MD5 when constructing the file name, and if an auxiliary txt file should be created with the full tag contents. + fileNameHashTag = false + #If the recipe loader should crash when finding invalid recipes. + crashOnInvalidRecipe = false + #If an anonymous mod startup analytics request may be sent to our analytics service. + analytics = true + #If the version checker should be enabled. + versionChecker = true + diff --git a/config/itemphysiclite-client.json b/config/itemphysiclite-client.json index d23585694..dd54ca96f 100644 --- a/config/itemphysiclite-client.json +++ b/config/itemphysiclite-client.json @@ -1,3 +1,14 @@ { - "rotateSpeed": 1.0 + "rotateSpeed": 1.0, + "blockRequireOffset": { + "blocks": [ + "minecraft:snow", + "minecraft:soul_sand" + ], + "tags": [] + }, + "blockBelowRequireOffset": { + "blocks": [], + "tags": [] + } } \ No newline at end of file diff --git a/config/packetfixer.properties b/config/packetfixer.properties index d16791fd3..0235e498b 100644 --- a/config/packetfixer.properties +++ b/config/packetfixer.properties @@ -1,7 +1,7 @@ #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. -#Sat Sep 14 19:17:43 YEKT 2024 +#Sun Sep 22 01:59:51 YEKT 2024 nbtMaxSize=209715200 decoderSize=838860800 packetSize=104857600 diff --git a/global-server-configs/etched-server.toml b/global-server-configs/etched-server.toml new file mode 100644 index 000000000..459c2ba56 --- /dev/null +++ b/global-server-configs/etched-server.toml @@ -0,0 +1,9 @@ + +[Boombox] + #Disables right clicking music discs into boomboxes and allows the menu to be used by shift right-clicking + "Use boombox menu" = false + +["Album Cover"] + #Disables right clicking music discs into album covers and allows the menu to be used by shift right-clicking + "Use album cover menu" = false + diff --git a/global-server-configs/firmaciv-server.toml b/global-server-configs/firmaciv-server.toml index 6d061efbe..ab39ca616 100644 --- a/global-server-configs/firmaciv-server.toml +++ b/global-server-configs/firmaciv-server.toml @@ -10,4 +10,6 @@ disableVanillaBoatFunctionality = true #Automatically adjusts latitude and longitude to match the climate scale of the TFC world. changeLatitudeLongitudeBasedOnClimateConfig = false + #Expands water source creation to make canal building possible at sea level. + enableParallelSourceCreationAtSeaLevel = true diff --git a/global-server-configs/getittogetherdrops-server.toml b/global-server-configs/getittogetherdrops-server.toml new file mode 100644 index 000000000..5af9205e6 --- /dev/null +++ b/global-server-configs/getittogetherdrops-server.toml @@ -0,0 +1,6 @@ +#The radius (in blocks) that dropped items should check around them for other dropped items to combine with. ("0.5" is vanilla behavior) +#Range: 0.5 ~ 500.0 +radius = 2.0 +#Set to true if you want dropped items to also check above and below them, set to false if not ("false" is vanilla behavior) +checkY = true + diff --git a/global-server-configs/inventorysorter-server.toml b/global-server-configs/inventorysorter-server.toml new file mode 100644 index 000000000..57aef891e --- /dev/null +++ b/global-server-configs/inventorysorter-server.toml @@ -0,0 +1,8 @@ + +#Inventory sorter blacklists +[blacklists] + #Container blacklist + containerBlacklist = [] + #Slot type blacklist + slotBlacklist = [] + diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index 01d344f0e..d1c44558e 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -1,33 +1,35 @@ // priority: 0 + const registerGregTechMaterialInfo = (event) => { + //! отключено для проверки //#region Ванильное незер дерево - global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { - const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) - const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) - const button = Item.of(`minecraft:${woodName}_button`) - const sign = Item.of(`minecraft:${woodName}_sign`) - const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + // global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + // const trapdoor = Item.of(`minecraft:${woodName}_trapdoors`).of(`minecraft:${woodName}_trapdoor`) + // const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + // const button = Item.of(`minecraft:${woodName}_button`) + // const sign = Item.of(`minecraft:${woodName}_sign`) + // const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) - const trapdoorMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) - const pressurePlateMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) - const buttonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M / 9)) - const signMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) - const hangingButtonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + // const trapdoorMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + // const pressurePlateMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + // const buttonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M / 9)) + // const signMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + // const hangingButtonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) - event.add(trapdoor, trapdoorMaterialInfo); - event.add(pressurePlate, pressurePlateMaterialInfo); - event.add(button, buttonMaterialInfo); - event.add(sign, signMaterialInfo); - event.add(hangingSign, hangingButtonMaterialInfo); + // event.add(trapdoor, trapdoorMaterialInfo); + // event.add(pressurePlate, pressurePlateMaterialInfo); + // event.add(button, buttonMaterialInfo); + // event.add(sign, signMaterialInfo); + // event.add(hangingSign, hangingButtonMaterialInfo); - }) + // }) //#endregion //#region ТФК дерево - global.TFC_WOOD_TYPES.forEach(woodName => { - + global.WOOD_BLOCK_TYPES.forEach(wood => { + event.add(wood.tag, new ItemMaterialInfo(wood.material)); }) //#endregion diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 51f46268f..9c2783bd4 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -6,66 +6,66 @@ */ 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/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/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/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 @@ -109,7 +109,7 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/double_ingot/cast_iron", "tfc:metal/double_ingot/copper", "tfc:metal/double_ingot/gold", - + // Sheets "tfc:metal/sheet/bismuth", "tfc:metal/sheet/bismuth_bronze", @@ -131,7 +131,7 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/sheet/tin", "tfc:metal/sheet/zinc", "tfc:metal/sheet/cast_iron", - + // Double Sheets "tfc:metal/double_sheet/bismuth", "tfc:metal/double_sheet/bismuth_bronze", @@ -153,7 +153,7 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/double_sheet/tin", "tfc:metal/double_sheet/zinc", "tfc:metal/double_sheet/cast_iron", - + // Rods "tfc:metal/rod/bismuth", "tfc:metal/rod/bismuth_bronze", @@ -175,252 +175,252 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/rod/tin", "tfc:metal/rod/zinc", "tfc:metal/rod/cast_iron", - + // Tool Heads // Copper - 'tfc:metal/pickaxe/copper', - 'tfc:metal/pickaxe_head/copper', - 'tfc:metal/axe/copper', - 'tfc:metal/axe_head/copper', - 'tfc:metal/shovel/copper', - 'tfc:metal/shovel_head/copper', - 'tfc:metal/hoe/copper', - 'tfc:metal/hoe_head/copper', - 'tfc:metal/hammer/copper', - 'tfc:metal/hammer_head/copper', - 'tfc:metal/saw/copper', - 'tfc:metal/saw_blade/copper', - 'tfc:metal/sword/copper', - 'tfc:metal/sword_blade/copper', - 'tfc:metal/knife/copper', - 'tfc:metal/knife_blade/copper', - 'tfc:metal/scythe/copper', + 'tfc:metal/pickaxe/copper', + 'tfc:metal/pickaxe_head/copper', + 'tfc:metal/axe/copper', + 'tfc:metal/axe_head/copper', + 'tfc:metal/shovel/copper', + 'tfc:metal/shovel_head/copper', + 'tfc:metal/hoe/copper', + 'tfc:metal/hoe_head/copper', + 'tfc:metal/hammer/copper', + 'tfc:metal/hammer_head/copper', + 'tfc:metal/saw/copper', + 'tfc:metal/saw_blade/copper', + 'tfc:metal/sword/copper', + 'tfc:metal/sword_blade/copper', + 'tfc:metal/knife/copper', + 'tfc:metal/knife_blade/copper', + 'tfc:metal/scythe/copper', 'tfc:metal/scythe_blade/copper', // Bismuth Bronze - 'tfc:metal/pickaxe/bismuth_bronze', - 'tfc:metal/pickaxe_head/bismuth_bronze', - 'tfc:metal/axe/bismuth_bronze', - 'tfc:metal/axe_head/bismuth_bronze', - 'tfc:metal/shovel/bismuth_bronze', - 'tfc:metal/shovel_head/bismuth_bronze', - 'tfc:metal/hoe/bismuth_bronze', - 'tfc:metal/hoe_head/bismuth_bronze', - 'tfc:metal/hammer/bismuth_bronze', - 'tfc:metal/hammer_head/bismuth_bronze', - 'tfc:metal/saw/bismuth_bronze', - 'tfc:metal/saw_blade/bismuth_bronze', - 'tfc:metal/sword/bismuth_bronze', - 'tfc:metal/sword_blade/bismuth_bronze', - 'tfc:metal/knife/bismuth_bronze', - 'tfc:metal/knife_blade/bismuth_bronze', - 'tfc:metal/scythe/bismuth_bronze', + 'tfc:metal/pickaxe/bismuth_bronze', + 'tfc:metal/pickaxe_head/bismuth_bronze', + 'tfc:metal/axe/bismuth_bronze', + 'tfc:metal/axe_head/bismuth_bronze', + 'tfc:metal/shovel/bismuth_bronze', + 'tfc:metal/shovel_head/bismuth_bronze', + 'tfc:metal/hoe/bismuth_bronze', + 'tfc:metal/hoe_head/bismuth_bronze', + 'tfc:metal/hammer/bismuth_bronze', + 'tfc:metal/hammer_head/bismuth_bronze', + 'tfc:metal/saw/bismuth_bronze', + 'tfc:metal/saw_blade/bismuth_bronze', + 'tfc:metal/sword/bismuth_bronze', + 'tfc:metal/sword_blade/bismuth_bronze', + 'tfc:metal/knife/bismuth_bronze', + 'tfc:metal/knife_blade/bismuth_bronze', + 'tfc:metal/scythe/bismuth_bronze', 'tfc:metal/scythe_blade/bismuth_bronze', // Bronze - 'tfc:metal/pickaxe/bronze', - 'tfc:metal/pickaxe_head/bronze', - 'tfc:metal/axe/bronze', - 'tfc:metal/axe_head/bronze', - 'tfc:metal/shovel/bronze', - 'tfc:metal/shovel_head/bronze', - 'tfc:metal/hoe/bronze', - 'tfc:metal/hoe_head/bronze', - 'tfc:metal/hammer/bronze', - 'tfc:metal/hammer_head/bronze', - 'tfc:metal/saw/bronze', - 'tfc:metal/saw_blade/bronze', - 'tfc:metal/sword/bronze', - 'tfc:metal/sword_blade/bronze', - 'tfc:metal/knife/bronze', - 'tfc:metal/knife_blade/bronze', - 'tfc:metal/scythe/bronze', + 'tfc:metal/pickaxe/bronze', + 'tfc:metal/pickaxe_head/bronze', + 'tfc:metal/axe/bronze', + 'tfc:metal/axe_head/bronze', + 'tfc:metal/shovel/bronze', + 'tfc:metal/shovel_head/bronze', + 'tfc:metal/hoe/bronze', + 'tfc:metal/hoe_head/bronze', + 'tfc:metal/hammer/bronze', + 'tfc:metal/hammer_head/bronze', + 'tfc:metal/saw/bronze', + 'tfc:metal/saw_blade/bronze', + 'tfc:metal/sword/bronze', + 'tfc:metal/sword_blade/bronze', + 'tfc:metal/knife/bronze', + 'tfc:metal/knife_blade/bronze', + 'tfc:metal/scythe/bronze', 'tfc:metal/scythe_blade/bronze', // Black Bronze - 'tfc:metal/pickaxe/black_bronze', - 'tfc:metal/pickaxe_head/black_bronze', - 'tfc:metal/axe/black_bronze', - 'tfc:metal/axe_head/black_bronze', - 'tfc:metal/shovel/black_bronze', - 'tfc:metal/shovel_head/black_bronze', - 'tfc:metal/hoe/black_bronze', - 'tfc:metal/hoe_head/black_bronze', - 'tfc:metal/hammer/black_bronze', - 'tfc:metal/hammer_head/black_bronze', - 'tfc:metal/saw/black_bronze', - 'tfc:metal/saw_blade/black_bronze', - 'tfc:metal/sword/black_bronze', - 'tfc:metal/sword_blade/black_bronze', - 'tfc:metal/knife/black_bronze', - 'tfc:metal/knife_blade/black_bronze', - 'tfc:metal/scythe/black_bronze', + 'tfc:metal/pickaxe/black_bronze', + 'tfc:metal/pickaxe_head/black_bronze', + 'tfc:metal/axe/black_bronze', + 'tfc:metal/axe_head/black_bronze', + 'tfc:metal/shovel/black_bronze', + 'tfc:metal/shovel_head/black_bronze', + 'tfc:metal/hoe/black_bronze', + 'tfc:metal/hoe_head/black_bronze', + 'tfc:metal/hammer/black_bronze', + 'tfc:metal/hammer_head/black_bronze', + 'tfc:metal/saw/black_bronze', + 'tfc:metal/saw_blade/black_bronze', + 'tfc:metal/sword/black_bronze', + 'tfc:metal/sword_blade/black_bronze', + 'tfc:metal/knife/black_bronze', + 'tfc:metal/knife_blade/black_bronze', + 'tfc:metal/scythe/black_bronze', 'tfc:metal/scythe_blade/black_bronze', // Wrought Iron - 'tfc:metal/pickaxe/wrought_iron', - 'tfc:metal/pickaxe_head/wrought_iron', - 'tfc:metal/axe/wrought_iron', - 'tfc:metal/axe_head/wrought_iron', - 'tfc:metal/shovel/wrought_iron', - 'tfc:metal/shovel_head/wrought_iron', - 'tfc:metal/hoe/wrought_iron', - 'tfc:metal/hoe_head/wrought_iron', - 'tfc:metal/hammer/wrought_iron', - 'tfc:metal/hammer_head/wrought_iron', - 'tfc:metal/saw/wrought_iron', - 'tfc:metal/saw_blade/wrought_iron', - 'tfc:metal/sword/wrought_iron', - 'tfc:metal/sword_blade/wrought_iron', - 'tfc:metal/knife/wrought_iron', - 'tfc:metal/knife_blade/wrought_iron', - 'tfc:metal/scythe/wrought_iron', + 'tfc:metal/pickaxe/wrought_iron', + 'tfc:metal/pickaxe_head/wrought_iron', + 'tfc:metal/axe/wrought_iron', + 'tfc:metal/axe_head/wrought_iron', + 'tfc:metal/shovel/wrought_iron', + 'tfc:metal/shovel_head/wrought_iron', + 'tfc:metal/hoe/wrought_iron', + 'tfc:metal/hoe_head/wrought_iron', + 'tfc:metal/hammer/wrought_iron', + 'tfc:metal/hammer_head/wrought_iron', + 'tfc:metal/saw/wrought_iron', + 'tfc:metal/saw_blade/wrought_iron', + 'tfc:metal/sword/wrought_iron', + 'tfc:metal/sword_blade/wrought_iron', + 'tfc:metal/knife/wrought_iron', + 'tfc:metal/knife_blade/wrought_iron', + 'tfc:metal/scythe/wrought_iron', 'tfc:metal/scythe_blade/wrought_iron', // Steel - 'tfc:metal/pickaxe/steel', - 'tfc:metal/pickaxe_head/steel', - 'tfc:metal/axe/steel', - 'tfc:metal/axe_head/steel', - 'tfc:metal/shovel/steel', - 'tfc:metal/shovel_head/steel', - 'tfc:metal/hoe/steel', - 'tfc:metal/hoe_head/steel', - 'tfc:metal/hammer/steel', - 'tfc:metal/hammer_head/steel', - 'tfc:metal/saw/steel', - 'tfc:metal/saw_blade/steel', - 'tfc:metal/sword/steel', - 'tfc:metal/sword_blade/steel', - 'tfc:metal/knife/steel', - 'tfc:metal/knife_blade/steel', - 'tfc:metal/scythe/steel', + 'tfc:metal/pickaxe/steel', + 'tfc:metal/pickaxe_head/steel', + 'tfc:metal/axe/steel', + 'tfc:metal/axe_head/steel', + 'tfc:metal/shovel/steel', + 'tfc:metal/shovel_head/steel', + 'tfc:metal/hoe/steel', + 'tfc:metal/hoe_head/steel', + 'tfc:metal/hammer/steel', + 'tfc:metal/hammer_head/steel', + 'tfc:metal/saw/steel', + 'tfc:metal/saw_blade/steel', + 'tfc:metal/sword/steel', + 'tfc:metal/sword_blade/steel', + 'tfc:metal/knife/steel', + 'tfc:metal/knife_blade/steel', + 'tfc:metal/scythe/steel', 'tfc:metal/scythe_blade/steel', // Black Steel - 'tfc:metal/pickaxe/black_steel', - 'tfc:metal/pickaxe_head/black_steel', - 'tfc:metal/axe/black_steel', - 'tfc:metal/axe_head/black_steel', - 'tfc:metal/shovel/black_steel', - 'tfc:metal/shovel_head/black_steel', - 'tfc:metal/hoe/black_steel', - 'tfc:metal/hoe_head/black_steel', - 'tfc:metal/hammer/black_steel', - 'tfc:metal/hammer_head/black_steel', - 'tfc:metal/saw/black_steel', - 'tfc:metal/saw_blade/black_steel', - 'tfc:metal/sword/black_steel', - 'tfc:metal/sword_blade/black_steel', - 'tfc:metal/knife/black_steel', - 'tfc:metal/knife_blade/black_steel', - 'tfc:metal/scythe/black_steel', + 'tfc:metal/pickaxe/black_steel', + 'tfc:metal/pickaxe_head/black_steel', + 'tfc:metal/axe/black_steel', + 'tfc:metal/axe_head/black_steel', + 'tfc:metal/shovel/black_steel', + 'tfc:metal/shovel_head/black_steel', + 'tfc:metal/hoe/black_steel', + 'tfc:metal/hoe_head/black_steel', + 'tfc:metal/hammer/black_steel', + 'tfc:metal/hammer_head/black_steel', + 'tfc:metal/saw/black_steel', + 'tfc:metal/saw_blade/black_steel', + 'tfc:metal/sword/black_steel', + 'tfc:metal/sword_blade/black_steel', + 'tfc:metal/knife/black_steel', + 'tfc:metal/knife_blade/black_steel', + 'tfc:metal/scythe/black_steel', 'tfc:metal/scythe_blade/black_steel', // Red Steel - 'tfc:metal/pickaxe/red_steel', - 'tfc:metal/pickaxe_head/red_steel', - 'tfc:metal/axe/red_steel', - 'tfc:metal/axe_head/red_steel', - 'tfc:metal/shovel/red_steel', - 'tfc:metal/shovel_head/red_steel', - 'tfc:metal/hoe/red_steel', - 'tfc:metal/hoe_head/red_steel', - 'tfc:metal/hammer/red_steel', - 'tfc:metal/hammer_head/red_steel', - 'tfc:metal/saw/red_steel', - 'tfc:metal/saw_blade/red_steel', - 'tfc:metal/sword/red_steel', - 'tfc:metal/sword_blade/red_steel', - 'tfc:metal/knife/red_steel', - 'tfc:metal/knife_blade/red_steel', - 'tfc:metal/scythe/red_steel', + 'tfc:metal/pickaxe/red_steel', + 'tfc:metal/pickaxe_head/red_steel', + 'tfc:metal/axe/red_steel', + 'tfc:metal/axe_head/red_steel', + 'tfc:metal/shovel/red_steel', + 'tfc:metal/shovel_head/red_steel', + 'tfc:metal/hoe/red_steel', + 'tfc:metal/hoe_head/red_steel', + 'tfc:metal/hammer/red_steel', + 'tfc:metal/hammer_head/red_steel', + 'tfc:metal/saw/red_steel', + 'tfc:metal/saw_blade/red_steel', + 'tfc:metal/sword/red_steel', + 'tfc:metal/sword_blade/red_steel', + 'tfc:metal/knife/red_steel', + 'tfc:metal/knife_blade/red_steel', + 'tfc:metal/scythe/red_steel', 'tfc:metal/scythe_blade/red_steel', // Blue Steel - 'tfc:metal/pickaxe/blue_steel', - 'tfc:metal/pickaxe_head/blue_steel', - 'tfc:metal/axe/blue_steel', - 'tfc:metal/axe_head/blue_steel', - 'tfc:metal/shovel/blue_steel', - 'tfc:metal/shovel_head/blue_steel', - 'tfc:metal/hoe/blue_steel', - 'tfc:metal/hoe_head/blue_steel', - 'tfc:metal/hammer/blue_steel', - 'tfc:metal/hammer_head/blue_steel', - 'tfc:metal/saw/blue_steel', - 'tfc:metal/saw_blade/blue_steel', - 'tfc:metal/sword/blue_steel', - 'tfc:metal/sword_blade/blue_steel', - 'tfc:metal/knife/blue_steel', - 'tfc:metal/knife_blade/blue_steel', - 'tfc:metal/scythe/blue_steel', + 'tfc:metal/pickaxe/blue_steel', + 'tfc:metal/pickaxe_head/blue_steel', + 'tfc:metal/axe/blue_steel', + 'tfc:metal/axe_head/blue_steel', + 'tfc:metal/shovel/blue_steel', + 'tfc:metal/shovel_head/blue_steel', + 'tfc:metal/hoe/blue_steel', + 'tfc:metal/hoe_head/blue_steel', + 'tfc:metal/hammer/blue_steel', + 'tfc:metal/hammer_head/blue_steel', + 'tfc:metal/saw/blue_steel', + 'tfc:metal/saw_blade/blue_steel', + 'tfc:metal/sword/blue_steel', + 'tfc:metal/sword_blade/blue_steel', + 'tfc:metal/knife/blue_steel', + 'tfc:metal/knife_blade/blue_steel', + 'tfc:metal/scythe/blue_steel', 'tfc:metal/scythe_blade/blue_steel', - + // Ores - 'tfc:ore/poor_native_copper', - 'tfc:ore/normal_native_copper', + '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_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/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', - 'tfc:gem/lapis_lazuli', - 'tfc:gem/emerald', - 'tfc:gem/pyrite', - 'tfc:gem/opal', - 'tfc:gem/ruby', - 'tfc:gem/sapphire', - 'tfc:gem/topaz', - 'tfc:ore/amethyst', - 'tfc:ore/diamond', - 'tfc:ore/lapis_lazuli', - 'tfc:ore/emerald', - 'tfc:ore/pyrite', - 'tfc:ore/opal', - 'tfc:ore/ruby', - 'tfc:ore/sapphire', + 'tfc:gem/amethyst', + 'tfc:gem/diamond', + 'tfc:gem/lapis_lazuli', + 'tfc:gem/emerald', + 'tfc:gem/pyrite', + 'tfc:gem/opal', + 'tfc:gem/ruby', + 'tfc:gem/sapphire', + 'tfc:gem/topaz', + 'tfc:ore/amethyst', + 'tfc:ore/diamond', + 'tfc:ore/lapis_lazuli', + 'tfc:ore/emerald', + 'tfc:ore/pyrite', + 'tfc:ore/opal', + 'tfc:ore/ruby', + 'tfc:ore/sapphire', 'tfc:ore/topaz', - 'tfc:ore/graphite', - 'tfc:ore/sulfur', - 'tfc:ore/cinnabar', - 'tfc:ore/cryolite', - 'tfc:ore/saltpeter', - 'tfc:ore/borax', + 'tfc:ore/graphite', + 'tfc:ore/sulfur', + 'tfc:ore/cinnabar', + 'tfc:ore/cryolite', + 'tfc:ore/saltpeter', + 'tfc:ore/borax', 'tfc:ore/sylvite', 'tfc:ore/bituminous_coal', 'tfc:ore/lignite', @@ -537,47 +537,47 @@ global.TFC_DISABLED_ITEMS = [ 'tfc:wood/gear_box/willow', // Water Wheels - 'tfc:wood/water_wheel/acacia', - 'tfc:wood/water_wheel/ash', + 'tfc:wood/water_wheel/acacia', + 'tfc:wood/water_wheel/ash', 'tfc:wood/water_wheel/aspen', - 'tfc:wood/water_wheel/birch', - 'tfc:wood/water_wheel/blackwood', - 'tfc:wood/water_wheel/chestnut', - 'tfc:wood/water_wheel/douglas_fir', - 'tfc:wood/water_wheel/hickory', - 'tfc:wood/water_wheel/kapok', - 'tfc:wood/water_wheel/mangrove', - 'tfc:wood/water_wheel/maple', - 'tfc:wood/water_wheel/oak', - 'tfc:wood/water_wheel/palm', - 'tfc:wood/water_wheel/pine', - 'tfc:wood/water_wheel/rosewood', - 'tfc:wood/water_wheel/sequoia', - 'tfc:wood/water_wheel/spruce', - 'tfc:wood/water_wheel/sycamore', - 'tfc:wood/water_wheel/white_cedar', + 'tfc:wood/water_wheel/birch', + 'tfc:wood/water_wheel/blackwood', + 'tfc:wood/water_wheel/chestnut', + 'tfc:wood/water_wheel/douglas_fir', + 'tfc:wood/water_wheel/hickory', + 'tfc:wood/water_wheel/kapok', + 'tfc:wood/water_wheel/mangrove', + 'tfc:wood/water_wheel/maple', + 'tfc:wood/water_wheel/oak', + 'tfc:wood/water_wheel/palm', + 'tfc:wood/water_wheel/pine', + 'tfc:wood/water_wheel/rosewood', + 'tfc:wood/water_wheel/sequoia', + 'tfc:wood/water_wheel/spruce', + 'tfc:wood/water_wheel/sycamore', + 'tfc:wood/water_wheel/white_cedar', 'tfc:wood/water_wheel/willow', // Boat - 'tfc:wood/boat/acacia', - 'tfc:wood/boat/ash', + 'tfc:wood/boat/acacia', + 'tfc:wood/boat/ash', 'tfc:wood/boat/aspen', - 'tfc:wood/boat/birch', - 'tfc:wood/boat/blackwood', - 'tfc:wood/boat/chestnut', - 'tfc:wood/boat/douglas_fir', - 'tfc:wood/boat/hickory', - 'tfc:wood/boat/kapok', - 'tfc:wood/boat/mangrove', - 'tfc:wood/boat/maple', - 'tfc:wood/boat/oak', - 'tfc:wood/boat/palm', - 'tfc:wood/boat/pine', - 'tfc:wood/boat/rosewood', - 'tfc:wood/boat/sequoia', - 'tfc:wood/boat/spruce', - 'tfc:wood/boat/sycamore', - 'tfc:wood/boat/white_cedar', + 'tfc:wood/boat/birch', + 'tfc:wood/boat/blackwood', + 'tfc:wood/boat/chestnut', + 'tfc:wood/boat/douglas_fir', + 'tfc:wood/boat/hickory', + 'tfc:wood/boat/kapok', + 'tfc:wood/boat/mangrove', + 'tfc:wood/boat/maple', + 'tfc:wood/boat/oak', + 'tfc:wood/boat/palm', + 'tfc:wood/boat/pine', + 'tfc:wood/boat/rosewood', + 'tfc:wood/boat/sequoia', + 'tfc:wood/boat/spruce', + 'tfc:wood/boat/sycamore', + 'tfc:wood/boat/white_cedar', 'tfc:wood/boat/willow', // Windmill Blades @@ -599,62 +599,62 @@ global.TFC_DISABLED_ITEMS = [ "tfc:black_windmill_blade", // Каменные инстрменты - 'tfc:stone/knife_head/igneous_extrusive', - 'tfc:stone/knife_head/igneous_intrusive', - 'tfc:stone/knife_head/metamorphic', - 'tfc:stone/knife_head/sedimentary', - - 'tfc:stone/knife/igneous_extrusive', - 'tfc:stone/knife/igneous_intrusive', + 'tfc:stone/knife_head/igneous_extrusive', + 'tfc:stone/knife_head/igneous_intrusive', + 'tfc:stone/knife_head/metamorphic', + 'tfc:stone/knife_head/sedimentary', + + 'tfc:stone/knife/igneous_extrusive', + 'tfc:stone/knife/igneous_intrusive', 'tfc:stone/knife/metamorphic', - 'tfc:stone/knife/sedimentary', - - 'tfc:stone/axe_head/igneous_extrusive', - 'tfc:stone/axe_head/igneous_intrusive', - 'tfc:stone/axe_head/metamorphic', - 'tfc:stone/axe_head/sedimentary', - - 'tfc:stone/axe/igneous_extrusive', - 'tfc:stone/axe/igneous_intrusive', - 'tfc:stone/axe/metamorphic', - 'tfc:stone/axe/sedimentary', - - 'tfc:stone/shovel_head/igneous_extrusive', - 'tfc:stone/shovel_head/igneous_intrusive', - 'tfc:stone/shovel_head/metamorphic', + 'tfc:stone/knife/sedimentary', + + 'tfc:stone/axe_head/igneous_extrusive', + 'tfc:stone/axe_head/igneous_intrusive', + 'tfc:stone/axe_head/metamorphic', + 'tfc:stone/axe_head/sedimentary', + + 'tfc:stone/axe/igneous_extrusive', + 'tfc:stone/axe/igneous_intrusive', + 'tfc:stone/axe/metamorphic', + 'tfc:stone/axe/sedimentary', + + 'tfc:stone/shovel_head/igneous_extrusive', + 'tfc:stone/shovel_head/igneous_intrusive', + 'tfc:stone/shovel_head/metamorphic', 'tfc:stone/shovel_head/sedimentary', - - 'tfc:stone/shovel/igneous_extrusive', - 'tfc:stone/shovel/igneous_intrusive', - 'tfc:stone/shovel/metamorphic', - 'tfc:stone/shovel/sedimentary', - - 'tfc:stone/hammer_head/igneous_extrusive', - 'tfc:stone/hammer_head/igneous_intrusive', - 'tfc:stone/hammer_head/metamorphic', - 'tfc:stone/hammer_head/sedimentary', - - 'tfc:stone/hammer/igneous_extrusive', - 'tfc:stone/hammer/igneous_intrusive', - 'tfc:stone/hammer/metamorphic', - 'tfc:stone/hammer/sedimentary', - - 'tfc:stone/hoe_head/igneous_extrusive', - 'tfc:stone/hoe_head/igneous_intrusive', - 'tfc:stone/hoe_head/metamorphic', - 'tfc:stone/hoe_head/sedimentary', - - 'tfc:stone/hoe/igneous_extrusive', - 'tfc:stone/hoe/igneous_intrusive', - 'tfc:stone/hoe/metamorphic', - 'tfc:stone/hoe/sedimentary', + + 'tfc:stone/shovel/igneous_extrusive', + 'tfc:stone/shovel/igneous_intrusive', + 'tfc:stone/shovel/metamorphic', + 'tfc:stone/shovel/sedimentary', + + 'tfc:stone/hammer_head/igneous_extrusive', + 'tfc:stone/hammer_head/igneous_intrusive', + 'tfc:stone/hammer_head/metamorphic', + 'tfc:stone/hammer_head/sedimentary', + + 'tfc:stone/hammer/igneous_extrusive', + 'tfc:stone/hammer/igneous_intrusive', + 'tfc:stone/hammer/metamorphic', + 'tfc:stone/hammer/sedimentary', + + 'tfc:stone/hoe_head/igneous_extrusive', + 'tfc:stone/hoe_head/igneous_intrusive', + 'tfc:stone/hoe_head/metamorphic', + 'tfc:stone/hoe_head/sedimentary', + + 'tfc:stone/hoe/igneous_extrusive', + 'tfc:stone/hoe/igneous_intrusive', + 'tfc:stone/hoe/metamorphic', + 'tfc:stone/hoe/sedimentary', // Other "tfc:trip_hammer", 'tfc:steel_pipe', 'tfc:steel_pump', 'tfc:crankshaft', - 'tfc:hand_wheel_base', + 'tfc:hand_wheel_base', 'tfc:hand_wheel', ]; @@ -662,21 +662,21 @@ global.TFC_DISABLED_ITEMS = [ * Хранит список всех имен типов камней в TFC. */ global.TFC_STONE_TYPES = [ - 'gabbro', - 'shale', - 'claystone', - 'limestone', - 'conglomerate', - 'dolomite', - 'chert', - 'chalk', - 'rhyolite', - 'dacite', - 'quartzite', - 'slate', - 'phyllite', - 'schist', - 'gneiss', + 'gabbro', + 'shale', + 'claystone', + 'limestone', + 'conglomerate', + 'dolomite', + 'chert', + 'chalk', + 'rhyolite', + 'dacite', + 'quartzite', + 'slate', + 'phyllite', + 'schist', + 'gneiss', 'marble', 'basalt', // Есть в GT 'diorite', // Есть в GT @@ -707,6 +707,259 @@ global.TFC_WOOD_TYPES = [ "willow" ]; +global.WOOD_BLOCK_TYPES = { + "track": { + tag: "create:track", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "track_wide": { + tag: "create:track_wide", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "track_narrow": { + tag: "create:track_narrow", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "window": { + tag: "create:window", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "window_pane": { + tag: "create:window_pane", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "log": { + tag: "minecraft:logs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "stripped_log": { + tag: "minecraft:stripped_logs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "wood": { + tag: "minecraft:wood", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "stripped_wood": { + tag: "minecraft:stripped_logs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "leaves": { + tag: "minecraft:leaves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "planks": { + tag: "minecraft:planks", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "sapling": { + tag: "minecraft:saplings", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "bookshelf": { + tag: "tfc:bookshelves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "door": { + tag: "minecraft:doors", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "trapdoor": { + tag: "minecraft:trapdoors", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "fence": { + tag: "minecraft:fences", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "log_fence": { + tag: "minecraft:log_fence", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "fence_gate": { + tag: "minecraft:fence_gates", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "button": { + tag: "minecraft:buttons", + material: new MaterialStack(GTMaterials.Wood, GTValues.M / 9) + }, + "pressure_plate": { + tag: "minecraft:pressure_plates", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "slab": { + tag: "minecraft:slabs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "stairs": { + tag: "minecraft:stairs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "tool_rack": { + tag: "tfc:tool_racks", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "twig": { + tag: "tfc:twigs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "fallen_leaves": { + tag: "minecraft:fallen_leaves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "workbench": { + tag: "tfc:workbenches", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "trapped_chest": { + tag: "tfg:trapped_chest", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "chest": { + tag: "tfg:default_chests", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "loom": { + tag: "minecraft:looms", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "sluice": { + tag: "tfc:sluices", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "barrel": { + tag: "tfc:barrels", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "lectern": { + tag: "minecraft:lecterns", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "scribing_table": { + tag: "tfc:scribing_tables", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "sewing_table": { + tag: "tfc:sewing_tables", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "jar_shelf": { + tag: "tfc:jar_shelves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "axle": { + tag: "tfc:axles", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "blade_axle": { + tag: "tfc:blade_axles", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "encased_axle": { + tag: "tfc:encased_axles", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "clutch": { + tag: "tfc:clutches", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "gear_box": { + tag: "tfc:gear_boxes", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "water_wheel": { + tag: "tfc:water_wheels", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "lumber": { + tag: "tfc:lumber", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "boat": { + tag: "minecraft:boats", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "support": { + tag: "tfc:support_beams", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "chest_minecart": { + tag: "tfc:minecarts", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "sign": { + tag: "minecraft:signs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "handing_sign": { + tag: "minecraft:handing_signs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "food_shelf": { + tag: "firmalife:food_shelves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "hangers": { + tag: "firmalife:hangers", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "jarbnet": { + tag: "firmalife:jarbnets", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "roofing": { + tag: "alekiroofs:roofing", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "wheel": { + tag: "tfcastikorcarts:cart_wheel", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "supply_cart": { + tag: "tfcastikorcarts:supply_carts", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "plow": { + tag: "tfcastikorcarts:plows", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "animal_cart": { + tag: "tfcastikorcarts:animal_carts", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "big_barel": { + tag: "firmalife:big_barels", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "stomping_barel": { + tag: "firmalife:stomping_barels", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "barel_press": { + tag: "firmalife:barel_presses", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "wine_shelf": { + tag: "firmalife:wine_shelves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "incomplete_track": { + tag: "create:incomplete_track", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "incomplete_track_wide": { + tag: "create:incomplete_track_wide", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "incomplete_track_narrow": { + tag: "create:incomplete_track_narrow", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + } +} + + + global.TFC_MUD_TYPES = [ 'silt', 'loam', @@ -900,37 +1153,37 @@ global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = [ ]; global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS = [ - { input: 'tfc:food/horse_meat', output: 'tfc:food/cooked_horse_meat', name: 'cooked_horse_meat' }, - { input: 'tfc:food/bear', output: 'tfc:food/cooked_bear', name: 'cooked_bear' }, - { input: 'tfc:food/mutton', output: 'tfc:food/cooked_mutton', name: 'cooked_mutton' }, - { input: 'tfc:food/pheasant', output: 'tfc:food/cooked_pheasant', name: 'cooked_pheasant' }, - { input: 'tfc:food/quail', output: 'tfc:food/cooked_quail', name: 'cooked_quail' }, - { input: 'tfc:food/chicken', output: 'tfc:food/cooked_chicken', name: 'cooked_chicken' }, - { input: 'tfc:food/pork', output: 'tfc:food/cooked_pork', name: 'cooked_pork' }, - { input: 'tfc:food/beef', output: 'tfc:food/cooked_beef', name: 'cooked_beef' }, - { input: 'tfc:food/crappie', output: 'tfc:food/cooked_crappie', name: 'cooked_crappie' }, - { input: 'tfc:food/lake_trout', output: 'tfc:food/cooked_lake_trout', name: 'cooked_lake_trout' }, - { input: 'tfc:food/largemouth_bass', output: 'tfc:food/cooked_largemouth_bass', name: 'cooked_largemouth_bass' }, - { input: 'tfc:food/rainbow_trout', output: 'tfc:food/cooked_rainbow_trout', name: 'cooked_rainbow_trout' }, - { input: 'tfc:food/salmon', output: 'tfc:food/cooked_salmon', name: 'cooked_salmon' }, - { input: 'tfc:food/smallmouth_bass', output: 'tfc:food/cooked_smallmouth_bass', name: 'cooked_smallmouth_bass' }, - { input: 'tfc:food/camelidae', output: 'tfc:food/cooked_camelidae', name: 'cooked_camelidae' }, - { input: 'tfc:food/frog_legs', output: 'tfc:food/cooked_frog_legs', name: 'cooked_frog_legs' }, - { input: 'tfc:food/gran_feline', output: 'tfc:food/cooked_gran_feline', name: 'cooked_gran_feline' }, - { input: 'tfc:food/turtle', output: 'tfc:food/cooked_turtle', name: 'cooked_turtle' }, - { input: 'tfc:food/cod', output: 'tfc:food/cooked_cod', name: 'cooked_cod' }, - { input: 'tfc:food/tropical_fish', output: 'tfc:food/cooked_tropical_fish', name: 'cooked_tropical_fish' }, - { input: 'tfc:food/calamari', output: 'tfc:food/cooked_calamari', name: 'cooked_calamari' }, - { input: 'tfc:food/shellfish', output: 'tfc:food/cooked_shellfish', name: 'cooked_shellfish' }, - { input: 'tfc:food/bluegill', output: 'tfc:food/cooked_bluegill', name: 'cooked_bluegill' }, - { input: 'tfc:food/turkey', output: 'tfc:food/cooked_turkey', name: 'cooked_turkey' }, - { input: 'tfc:food/peafowl', output: 'tfc:food/cooked_peafowl', name: 'cooked_peafowl' }, - { input: 'tfc:food/grouse', output: 'tfc:food/cooked_grouse', name: 'cooked_grouse' }, - { input: 'tfc:food/venison', output: 'tfc:food/cooked_venison', name: 'cooked_venison' }, - { input: 'tfc:food/wolf', output: 'tfc:food/cooked_wolf', name: 'cooked_wolf' }, - { input: 'tfc:food/rabbit', output: 'tfc:food/cooked_rabbit', name: 'cooked_rabbit' }, - { input: 'tfc:food/hyena', output: 'tfc:food/cooked_hyena', name: 'cooked_hyena' }, - { input: 'tfc:food/duck', output: 'tfc:food/cooked_duck', name: 'cooked_duck' }, + { input: 'tfc:food/horse_meat', output: 'tfc:food/cooked_horse_meat', name: 'cooked_horse_meat' }, + { input: 'tfc:food/bear', output: 'tfc:food/cooked_bear', name: 'cooked_bear' }, + { input: 'tfc:food/mutton', output: 'tfc:food/cooked_mutton', name: 'cooked_mutton' }, + { input: 'tfc:food/pheasant', output: 'tfc:food/cooked_pheasant', name: 'cooked_pheasant' }, + { input: 'tfc:food/quail', output: 'tfc:food/cooked_quail', name: 'cooked_quail' }, + { input: 'tfc:food/chicken', output: 'tfc:food/cooked_chicken', name: 'cooked_chicken' }, + { input: 'tfc:food/pork', output: 'tfc:food/cooked_pork', name: 'cooked_pork' }, + { input: 'tfc:food/beef', output: 'tfc:food/cooked_beef', name: 'cooked_beef' }, + { input: 'tfc:food/crappie', output: 'tfc:food/cooked_crappie', name: 'cooked_crappie' }, + { input: 'tfc:food/lake_trout', output: 'tfc:food/cooked_lake_trout', name: 'cooked_lake_trout' }, + { input: 'tfc:food/largemouth_bass', output: 'tfc:food/cooked_largemouth_bass', name: 'cooked_largemouth_bass' }, + { input: 'tfc:food/rainbow_trout', output: 'tfc:food/cooked_rainbow_trout', name: 'cooked_rainbow_trout' }, + { input: 'tfc:food/salmon', output: 'tfc:food/cooked_salmon', name: 'cooked_salmon' }, + { input: 'tfc:food/smallmouth_bass', output: 'tfc:food/cooked_smallmouth_bass', name: 'cooked_smallmouth_bass' }, + { input: 'tfc:food/camelidae', output: 'tfc:food/cooked_camelidae', name: 'cooked_camelidae' }, + { input: 'tfc:food/frog_legs', output: 'tfc:food/cooked_frog_legs', name: 'cooked_frog_legs' }, + { input: 'tfc:food/gran_feline', output: 'tfc:food/cooked_gran_feline', name: 'cooked_gran_feline' }, + { input: 'tfc:food/turtle', output: 'tfc:food/cooked_turtle', name: 'cooked_turtle' }, + { input: 'tfc:food/cod', output: 'tfc:food/cooked_cod', name: 'cooked_cod' }, + { input: 'tfc:food/tropical_fish', output: 'tfc:food/cooked_tropical_fish', name: 'cooked_tropical_fish' }, + { input: 'tfc:food/calamari', output: 'tfc:food/cooked_calamari', name: 'cooked_calamari' }, + { input: 'tfc:food/shellfish', output: 'tfc:food/cooked_shellfish', name: 'cooked_shellfish' }, + { input: 'tfc:food/bluegill', output: 'tfc:food/cooked_bluegill', name: 'cooked_bluegill' }, + { input: 'tfc:food/turkey', output: 'tfc:food/cooked_turkey', name: 'cooked_turkey' }, + { input: 'tfc:food/peafowl', output: 'tfc:food/cooked_peafowl', name: 'cooked_peafowl' }, + { input: 'tfc:food/grouse', output: 'tfc:food/cooked_grouse', name: 'cooked_grouse' }, + { input: 'tfc:food/venison', output: 'tfc:food/cooked_venison', name: 'cooked_venison' }, + { input: 'tfc:food/wolf', output: 'tfc:food/cooked_wolf', name: 'cooked_wolf' }, + { input: 'tfc:food/rabbit', output: 'tfc:food/cooked_rabbit', name: 'cooked_rabbit' }, + { input: 'tfc:food/hyena', output: 'tfc:food/cooked_hyena', name: 'cooked_hyena' }, + { input: 'tfc:food/duck', output: 'tfc:food/cooked_duck', name: 'cooked_duck' }, { input: 'tfc:food/chevon', output: 'tfc:food/cooked_chevon', name: 'cooked_chevon' }, { input: 'minecraft:egg', output: 'tfc:food/cooked_egg', name: 'cooked_egg' }, ]; @@ -1014,7 +1267,7 @@ global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ { 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/banana_sapling', fluid_amount: 8000, output: '3x tfc:food/banana', name: 'banana' }, ]; global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = [ From 5f7bfa623f7561df96904ad4dbe709e5ad9735ac Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 22 Sep 2024 23:24:45 +0700 Subject: [PATCH 087/266] =?UTF-8?q?=D0=BE=D1=87=D0=B5=D1=80=D0=B5=D0=B4?= =?UTF-8?q?=D0=BD=D0=B0=D1=8F=20=D1=85=D0=B5=D1=80=D0=BE=D0=B2=D0=B0=20?= =?UTF-8?q?=D1=82=D1=83=D1=87=D0=B0=20=D1=80=D0=B5=D1=86=D0=B5=D0=BF=D1=82?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kubejs/server_scripts/gregtech/tags.js | 3 + kubejs/server_scripts/minecraft/recipes.js | 1806 +++++++++++------ .../startup_scripts/gregtech/material_info.js | 6 +- 3 files changed, 1157 insertions(+), 658 deletions(-) diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index d26b8f313..8bd97886a 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -70,6 +70,9 @@ const registerGregTechItemTags = (event) => { //#endregion //#region Объединение некоторых предметов из WroughtIron и Iron в один тег + event.add('tfg:all_iron_plates', 'gtceu:iron_plate') + event.add('tfg:all_iron_plates', 'gtceu:wrought_iron_plate') + event.add('tfg:all_iron_screws', 'gtceu:iron_screw') event.add('tfg:all_iron_screws', 'gtceu:wrought_iron_screw') diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index f1db4757c..5651b5a7a 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1275,6 +1275,8 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `minecraft:${woodName}_trapdoor` }) e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_iron` }) e.shaped(trapdoor, [ 'ABd', @@ -1389,7 +1391,7 @@ const registerMinecraftRecipes = (e) => { s: '#forge:tools/saws' }).id(`tfg:workbench/${woodName}_roofing_saw`) - e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + e.recipes.create.cutting([roofing, Item.of('1x gtceu:wood_dust')], plank) .id(`tfg:create_cutting/${woodName}_roofing`) e.recipes.gtceu.cutter(`tfg:${woodName}_roofing`) @@ -1539,620 +1541,1158 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Камень - const processGovno = () => { - } + //#region Блок + + e.remove({ id: 'minecraft:stone' }) + e.remove({ id: 'gtceu:compressor/stone_from_dust' }) + e.remove({ id: 'gtceu:rock_breaker/stone' }) + e.remove({ id: 'ae2:entropy/heat/cobblestone_stone' }) + + //#endregion + + //#region Ступень + + e.remove({ id: 'minecraft:stone_stairs' }) + e.remove({ id: 'minecraft:stone_stairs_from_stone_stonecutting' }) + + //#endregion + + //#region Полублок + + e.remove({ id: 'gtceu:shaped/stone_slab_saw' }) + e.remove({ id: 'minecraft:stone_slab_from_stone_stonecutting' }) + + //#endregion + + //#region Нажимная плита + + e.remove({ id: 'gtceu:shaped/stone_pressure_plate' }) + e.remove({ id: 'gtceu:assembler/stone_pressure_plate' }) + + //#endregion + + //#region Кнопка + + e.remove({ id: 'gtceu:shaped/stone_button' }) + e.remove({ id: 'gtceu:cutter/stone_button' }) + e.remove({ id: 'gtceu:cutter/stone_button_water' }) + e.remove({ id: 'gtceu:cutter/stone_button_distilled_water' }) + + //#endregion + + //#endregion + + //#region Булыжник + + //#region Блок + e.remove({ id: 'gtceu:shaped/cobblestone_hammer' }) + e.remove({ id: 'gtceu:forge_hammer/stone_to_cobblestone' }) + e.remove({ id: 'gtceu:rock_breaker/cobblestone' }) + e.remove({ id: 'ae2:entropy/cool/stone_cobblestone' }) + + e.remove({ id: 'create:crushing/copper_ore' }) + e.remove({ id: 'create:crushing/zinc_ore' }) + e.remove({ id: 'create:crushing/diamond_ore' }) + e.remove({ id: 'create:crushing/coal_ore' }) + e.remove({ id: 'create:crushing/gold_ore' }) + e.remove({ id: 'create:crushing/lapis_ore' }) + e.remove({ id: 'create:crushing/redstone_ore' }) + e.remove({ id: 'create:crushing/emerald_ore' }) + e.remove({ id: 'create:crushing/iron_ore' }) + e.remove({ id: 'create:milling/andesite' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:cobblestone_stairs' }) + e.remove({ id: 'minecraft:cobblestone_stairs_from_cobblestone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cobblestone_slab_saw' }) + e.remove({ id: 'minecraft:cobblestone_slab_from_cobblestone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:cobblestone_wall' }) + e.remove({ id: 'minecraft:cobblestone_wall_from_cobblestone_stonecutting' }) + //#endregion + + //#endregion + + //#region Замшелый булыжник + + //#region Блок + e.remove({ id: 'gtceu:assembler/mossy_cobblestone_from_moss_block' }) + e.remove({ id: 'gtceu:assembler/mossy_cobblestone_from_vine' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:mossy_cobblestone_stairs' }) + e.remove({ id: 'minecraft:mossy_cobblestone_stairs_from_mossy_cobblestone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_saw' }) + e.remove({ id: 'minecraft:mossy_cobblestone_slab_from_mossy_cobblestone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:mossy_cobblestone_wall' }) + e.remove({ id: 'minecraft:mossy_cobblestone_wall_from_mossy_cobblestone_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий камень + + //#region Блок + e.remove({ id: 'minecraft:smooth_stone' }) + //#endregion + + //#region Полублок + + e.remove({ id: 'morered:smooth_stone_slab_from_stone_plate' }) + e.remove({ id: 'gtceu:shaped/smooth_stone_slab_saw' }) + e.remove({ id: 'minecraft:smooth_stone_slab_from_smooth_stone_stonecutting' }) + + //#endregion + + //#endregion + + //#region Каменные кирпичи + + //#region Блок + e.remove({ id: 'minecraft:stone_bricks_from_stone_stonecutting' }) + //#endregion + + //#region Треснувший блок + e.remove({ id: 'gtceu:forge_hammer/cracked_stone_bricks' }) + e.remove({ id: 'ae2:entropy/cool/stone_bricks_cracked_stone_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:stone_brick_stairs' }) + e.remove({ id: 'minecraft:stone_brick_stairs_from_stone_stonecutting' }) + e.remove({ id: 'minecraft:stone_brick_stairs_from_stone_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/stone_brick_slab_saw' }) + e.remove({ id: 'minecraft:stone_brick_slab_from_stone_stonecutting' }) + e.remove({ id: 'minecraft:stone_brick_slab_from_stone_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:stone_brick_wall' }) + e.remove({ id: 'minecraft:stone_brick_walls_from_stone_stonecutting' }) + e.remove({ id: 'minecraft:stone_brick_wall_from_stone_bricks_stonecutting' }) + //#endregion + + //#region Резной блок + e.remove({ id: 'minecraft:chiseled_stone_bricks_stone_from_stonecutting' }) + e.remove({ id: 'minecraft:chiseled_stone_bricks_from_stone_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Замшелые каменные кирпичи + + //#region Блок + e.remove({ id: 'minecraft:mossy_stone_bricks_from_moss_block' }) + e.remove({ id: 'minecraft:mossy_stone_bricks_from_vine' }) + e.remove({ id: 'gtceu:assembler/mossy_stone_bricks_from_moss_block' }) + e.remove({ id: 'gtceu:assembler/mossy_stone_bricks_from_vine' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:mossy_stone_brick_stairs' }) + e.remove({ id: 'minecraft:mossy_stone_brick_stairs_from_mossy_stone_brick_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/mossy_stone_brick_slab_saw' }) + e.remove({ id: 'minecraft:mossy_stone_brick_slab_from_mossy_stone_brick_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:mossy_stone_brick_wall' }) + e.remove({ id: 'minecraft:mossy_stone_brick_wall_from_mossy_stone_brick_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Гранит + + //#region Блок + e.remove({ id: 'minecraft:granite' }) + e.remove({ id: 'create:granite_from_stone_types_granite_stonecutting' }) + e.remove({ id: 'gtceu:rock_breaker/granite' }) + e.remove({ id: 'create:compacting/granite_from_flint' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:granite_stairs' }) + e.remove({ id: 'minecraft:granite_stairs_from_granite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/granite_slab_saw' }) + e.remove({ id: 'minecraft:granite_slab_from_granite_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:granite_wall' }) + e.remove({ id: 'minecraft:granite_wall_from_granite_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Гранит + + //#region Блок + e.remove({ id: 'minecraft:polished_granite_from_granite_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_granite_stairs' }) + e.remove({ id: 'minecraft:polished_granite_stairs_from_granite_stonecutting' }) + e.remove({ id: 'minecraft:polished_granite_stairs_from_polished_granite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_granite_slab_saw' }) + e.remove({ id: 'minecraft:polished_granite_slab_from_granite_stonecutting' }) + e.remove({ id: 'minecraft:polished_granite_slab_from_polished_granite_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Диорит + + //#region Блок + e.remove({ id: 'minecraft:diorite' }) + e.remove({ id: 'create:diorite_from_stone_types_diorite_stonecutting' }) + e.remove({ id: 'gtceu:rock_breaker/diorite' }) + e.remove({ id: 'create:compacting/diorite_from_flint' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:diorite_stairs' }) + e.remove({ id: 'minecraft:diorite_stairs_from_diorite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/diorite_slab_saw' }) + e.remove({ id: 'minecraft:diorite_slab_from_diorite_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:diorite_wall' }) + e.remove({ id: 'minecraft:diorite_wall_from_diorite_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Диорит + + //#region Блок + e.remove({ id: 'minecraft:polished_diorite_from_diorite_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_diorite_stairs' }) + e.remove({ id: 'minecraft:polished_diorite_stairs_from_diorite_stonecutting' }) + e.remove({ id: 'minecraft:polished_diorite_stairs_from_polished_diorite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_diorite_slab_saw' }) + e.remove({ id: 'minecraft:polished_diorite_slab_from_diorite_stonecutting' }) + e.remove({ id: 'minecraft:polished_diorite_slab_from_polished_diorite_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Андезит + + //#region Блок + e.remove({ id: 'minecraft:andesite' }) + e.remove({ id: 'create:andesite_from_stone_types_andesite_stonecutting' }) + e.remove({ id: 'gtceu:rock_breaker/andesite' }) + e.remove({ id: 'create:compacting/andesite_from_flint' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:andesite_stairs' }) + e.remove({ id: 'minecraft:andesite_stairs_from_andesite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/andesite_slab_saw' }) + e.remove({ id: 'minecraft:andesite_slab_from_andesite_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:andesite_wall' }) + e.remove({ id: 'minecraft:andesite_wall_from_andesite_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Андезит + + //#region Блок + e.remove({ id: 'minecraft:polished_andesite_from_andesite_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_andesite_stairs' }) + e.remove({ id: 'minecraft:polished_andesite_stairs_from_andesite_stonecutting' }) + e.remove({ id: 'minecraft:polished_andesite_stairs_from_polished_andesite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_andesite_slab_saw' }) + e.remove({ id: 'minecraft:polished_andesite_slab_from_andesite_stonecutting' }) + e.remove({ id: 'minecraft:polished_andesite_slab_from_polished_andesite_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Сланец + + //#region Блок + e.remove({ id: 'minecraft:deepslate' }) + e.remove({ id: 'create:deepslate_from_stone_types_deepslate_stonecutting' }) + e.remove({ id: 'gtceu:rock_breaker/deepslate' }) + //#endregion + + //#endregion + + //#region Булыжниковый Сланец + + //#region Блок + e.remove({ id: 'gtceu:shaped/cobbled_deepslate_hammer' }) + e.remove({ id: 'gtceu:forge_hammer/deepslate_to_cobbled_deepslate' }) + + e.remove({ id: 'create:crushing/deepslate_redstone_ore' }) + e.remove({ id: 'create:crushing/deepslate_copper_ore' }) + e.remove({ id: 'create:crushing/deepslate_zinc_ore' }) + e.remove({ id: 'create:crushing/deepslate_emerald_ore' }) + e.remove({ id: 'create:crushing/deepslate_gold_ore' }) + e.remove({ id: 'create:crushing/deepslate_coal_ore' }) + e.remove({ id: 'create:crushing/deepslate_diamond_ore' }) + e.remove({ id: 'create:crushing/deepslate_lapis_ore' }) + e.remove({ id: 'create:crushing/deepslate_iron_ore' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:cobbled_deepslate_stairs' }) + e.remove({ id: 'minecraft:cobbled_deepslate_stairs_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cobbled_deepslate_slab_saw' }) + e.remove({ id: 'minecraft:cobbled_deepslate_slab_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:cobbled_deepslate_wall' }) + e.remove({ id: 'minecraft:cobbled_deepslate_wall_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#endregion + + //#region Резной Сланец + + //#region Блок + e.remove({ id: 'minecraft:chiseled_deepslate' }) + e.remove({ id: 'minecraft:chiseled_deepslate_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Сланец + + //#region Блок + e.remove({ id: 'minecraft:polished_deepslate' }) + e.remove({ id: 'minecraft:polished_deepslate_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_deepslate_stairs' }) + e.remove({ id: 'minecraft:polished_deepslate_stairs_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:polished_deepslate_stairs_from_polished_deepslate_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_deepslate_slab_saw' }) + e.remove({ id: 'minecraft:polished_deepslate_slab_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:polished_deepslate_slab_from_polished_deepslate_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:polished_deepslate_wall' }) + e.remove({ id: 'minecraft:polished_deepslate_wall_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:polished_deepslate_wall_from_polished_deepslate_stonecutting' }) + //#endregion + + //#endregion + + //#region Кирпичный Сланец + + //#region Блок + e.remove({ id: 'minecraft:deepslate_bricks' }) + e.remove({ id: 'gtceu:shaped/deepslate_brick_slab_saw' }) + e.remove({ id: 'minecraft:deepslate_bricks_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_bricks_from_polished_deepslate_stonecutting' }) + //#endregion + + //#region Потрескавшийся Блок + e.remove({ id: 'minecraft:cracked_deepslate_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:deepslate_brick_stairs' }) + e.remove({ id: 'minecraft:deepslate_brick_stairs_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_stairs_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_stairs_from_deepslate_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'minecraft:deepslate_brick_slab_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_slab_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_slab_from_deepslate_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:deepslate_brick_wall' }) + e.remove({ id: 'minecraft:deepslate_brick_wall_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_wall_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_wall_from_deepslate_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Плитковый Сланец + + //#region Блок + e.remove({ id: 'minecraft:deepslate_tiles' }) + e.remove({ id: 'minecraft:deepslate_tiles_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tiles_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tiles_from_deepslate_bricks_stonecutting' }) + //#endregion + + //#region Треснутый Блок + e.remove({ id: 'minecraft:cracked_deepslate_tiles' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:deepslate_tile_stairs' }) + e.remove({ id: 'minecraft:deepslate_tile_stairs_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_stairs_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_stairs_from_deepslate_bricks_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_stairs_from_deepslate_tiles_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/deepslate_tile_slab_saw' }) + e.remove({ id: 'minecraft:deepslate_tile_slab_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_slab_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_slab_from_deepslate_bricks_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_slab_from_deepslate_tiles_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:deepslate_tile_wall' }) + e.remove({ id: 'minecraft:deepslate_tile_wall_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_wall_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_wall_from_deepslate_bricks_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_wall_from_deepslate_tiles_stonecutting' }) + //#endregion + + //#endregion + + //#region Кирпич + + //#region Блок + e.remove({ id: 'gtceu:shaped/brick_from_water' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:brick_stairs' }) + e.remove({ id: 'minecraft:brick_stairs_from_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/brick_slab_saw' }) + e.remove({ id: 'minecraft:brick_slab_from_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:brick_wall' }) + e.remove({ id: 'minecraft:brick_wall_from_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырая Грязь + + //#region Блок + e.remove({ id: 'minecraft:packed_mud' }) + //#endregion + + //#endregion + + //#region Кирпичная Грязь + + //#region Блок + e.remove({ id: 'minecraft:mud_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:mud_brick_stairs' }) + e.remove({ id: 'minecraft:mud_brick_stairs_from_mud_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/mud_brick_slab_saw' }) + e.remove({ id: 'minecraft:mud_brick_slab_from_mud_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:mud_brick_wall' }) + e.remove({ id: 'minecraft:mud_brick_wall_from_mud_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Песчанник + + //#region Блок + e.remove({ id: 'gtceu:compressor/sandstone' }) + //#endregion + + //#region Резной Блок + e.remove({ id: 'minecraft:chiseled_sandstone_from_sandstone_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:sandstone_stairs' }) + e.remove({ id: 'minecraft:sandstone_stairs_from_sandstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/sandstone_slab_saw' }) + e.remove({ id: 'minecraft:sandstone_slab_from_sandstone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:sandstone_wall' }) + e.remove({ id: 'minecraft:sandstone_wall_from_sandstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#endregion + + //#region Гладкий Песчанник + + //#region Блок + // Нет рецептов, че за херь... + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:smooth_sandstone_stairs' }) + e.remove({ id: 'minecraft:smooth_sandstone_stairs_from_smooth_sandstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/smooth_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:smooth_sandstone_slab_from_smooth_sandstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Обрезанный Песчанник + + //#region Блок + e.remove({ id: 'minecraft:cut_sandstone' }) + e.remove({ id: 'minecraft:cut_sandstone_from_sandstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cut_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:cut_sandstone_slab_from_sandstone_stonecutting' }) + e.remove({ id: 'minecraft:cut_sandstone_slab_from_cut_sandstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Красный Песчанник + + //#region Блок + e.remove({ id: 'gtceu:compressor/red_sandstone' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:red_sandstone_stairs' }) + e.remove({ id: 'minecraft:red_sandstone_stairs_from_red_sandstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/red_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:red_sandstone_slab_from_red_sandstone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:red_sandstone_wall' }) + e.remove({ id: 'minecraft:red_sandstone_wall_from_red_sandstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Красный Песчанник + + //#region Блок + // Нет рецептов, че за херь... + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#region Резной Блок + e.remove({ id: 'minecraft:chiseled_red_sandstone_from_red_sandstone_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:smooth_red_sandstone_stairs' }) + e.remove({ id: 'minecraft:smooth_red_sandstone_stairs_from_smooth_red_sandstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/red_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:red_sandstone_slab_from_red_sandstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#endregion + + //#region Обрезанный Красный Песчанник + + //#region Блок + e.remove({ id: 'minecraft:cut_red_sandstone' }) + e.remove({ id: 'minecraft:cut_red_sandstone_from_red_sandstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cut_red_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:cut_red_sandstone_slab_from_red_sandstone_stonecutting' }) + e.remove({ id: 'minecraft:cut_red_sandstone_slab_from_cut_red_sandstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Морской Фонарь + e.remove({ id: 'gtceu:assembler/sea_lantern' }) + //#endregion + + //#region Сырой Призмарин + + //#region Блок + e.remove({ id: 'gtceu:packer/prismarine' }) + + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:prismarine_stairs' }) + e.remove({ id: 'minecraft:prismarine_stairs_from_prismarine_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/prismarine_slab_saw' }) + e.remove({ id: 'minecraft:prismarine_slab_from_prismarine_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:prismarine_wall' }) + e.remove({ id: 'minecraft:prismarine_wall_from_prismarine_stonecutting' }) + //#endregion + + //#endregion + + //#region Кирпичный Призмарин + + //#region Блок + e.remove({ id: 'gtceu:packer/prismarine_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:prismarine_brick_stairs' }) + e.remove({ id: 'minecraft:prismarine_brick_stairs_from_prismarine_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/prismarine_brick_slab_saw' }) + e.remove({ id: 'minecraft:prismarine_brick_slab_from_prismarine_stonecutting' }) + //#endregion + + //#endregion + + //#region Темный Призмарин + + //#region Блок + e.remove({ id: 'gtceu:chemical_bath/dark_prismarine' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:dark_prismarine_stairs' }) + e.remove({ id: 'minecraft:dark_prismarine_stairs_from_dark_prismarine_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/dark_prismarine_slab_saw' }) + e.remove({ id: 'minecraft:dark_prismarine_slab_from_dark_prismarine_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Незеррак + e.remove({ id: 'create:crushing/nether_gold_ore' }) + e.remove({ id: 'create:crushing/nether_quartz_ore' }) + //#endregion + + //#region Кирпичи Неззерак + + //#region Блок + // Нечего удалять, уипии + // e.remove({ id: '' }) + //#endregion + + //#region Треснутый Блок + e.remove({ id: 'minecraft:cracked_nether_bricks' }) + //#endregion + + //#region Резной Блок + e.remove({ id: 'minecraft:chiseled_nether_bricks' }) + e.remove({ id: 'minecraft:chiseled_nether_bricks_from_nether_bricks_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:nether_brick_stairs' }) + e.remove({ id: 'minecraft:nether_brick_stairs_from_nether_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/nether_brick_slab_saw' }) + e.remove({ id: 'minecraft:nether_brick_slab_from_nether_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:nether_brick_wall' }) + e.remove({ id: 'minecraft:nether_brick_wall_from_nether_bricks_stonecutting' }) + //#endregion + + //#region Забор + e.remove({ id: 'minecraft:nether_brick_fence' }) + e.remove({ id: 'gtceu:assembler/nether_brick_fence' }) + //#endregion + + //#endregion + + //#region Кирпичи Красный Неззерак + + //#region Блок + e.remove({ id: 'gtceu:alloy_smelter/red_nether_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:red_nether_brick_stairs' }) + e.remove({ id: 'minecraft:red_nether_brick_stairs_from_red_nether_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/red_nether_brick_slab_saw' }) + e.remove({ id: 'minecraft:red_nether_brick_slab_from_red_nether_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:red_nether_brick_wall' }) + e.remove({ id: 'minecraft:red_nether_brick_wall_from_red_nether_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Базальт + + //#region Сырой Блок + e.remove({ id: 'gtceu:rock_breaker/basalt' }) + //#endregion + + //#region Гладкий Блок + e.remove({ id: 'minecraft:smooth_basalt' }) + //#endregion + + //#region Полированный Блок + e.remove({ id: 'minecraft:polished_basalt' }) + e.remove({ id: 'minecraft:polished_basalt_from_basalt_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Черный Камень + + //#region Блок + e.remove({ id: 'gtceu:rock_breaker/blackstone' }) + e.remove({ id: 'create:crushing/gilded_blackstone' }) + //#endregion + + //#region Пощолоченный Блок + // Нет рецептов, имба! + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:blackstone_stairs' }) + e.remove({ id: 'minecraft:blackstone_stairs_from_blackstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/blackstone_slab_saw' }) + e.remove({ id: 'minecraft:blackstone_slab_from_blackstone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:blackstone_wall' }) + e.remove({ id: 'minecraft:blackstone_wall_from_blackstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Полированный Черный Камень + + //#region Блок + e.remove({ id: 'minecraft:polished_blackstone' }) + e.remove({ id: 'minecraft:polished_blackstone_from_blackstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#region Резной Блок + e.remove({ id: 'minecraft:chiseled_polished_blackstone' }) + e.remove({ id: 'minecraft:chiseled_polished_blackstone_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:chiseled_polished_blackstone_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_blackstone_stairs' }) + e.remove({ id: 'minecraft:polished_blackstone_stairs_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_stairs_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_blackstone_slab_saw' }) + e.remove({ id: 'minecraft:polished_blackstone_slab_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_slab_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:polished_blackstone_wall' }) + e.remove({ id: 'minecraft:polished_blackstone_wall_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_wall_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Нажимная плита + e.remove({ id: 'minecraft:polished_blackstone_pressure_plate' }) + //#endregion + + //#region Кнопка + e.remove({ id: 'minecraft:polished_blackstone_button' }) + //#endregion + + //#endregion + + //#region Кирпичный Черный Камень + + //#region Блок + e.remove({ id: 'minecraft:polished_blackstone_bricks' }) + e.remove({ id: 'minecraft:polished_blackstone_bricks_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_bricks_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Треснувший Блок + e.remove({ id: 'minecraft:cracked_polished_blackstone_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_blackstone_brick_stairs' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_blackstone_brick_slab_saw' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_polished_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_polished_blackstone_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:polished_blackstone_brick_wall' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_polished_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_polished_blackstone_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Эндерняк + + //#region Блок + // Нет рецептов, аааа... + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#endregion + + //#region Кирпичный Эндерняк + + //#region Блок + e.remove({ id: 'minecraft:end_stone_bricks_from_end_stone_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:end_stone_brick_stairs' }) + e.remove({ id: 'minecraft:end_stone_brick_stairs_from_end_stone_stonecutting' }) + e.remove({ id: 'minecraft:end_stone_brick_stairs_from_end_stone_brick_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/end_stone_brick_slab_saw' }) + e.remove({ id: 'minecraft:end_stone_brick_slab_from_end_stone_stonecutting' }) + e.remove({ id: 'minecraft:end_stone_brick_slab_from_end_stone_brick_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:end_stone_brick_wall' }) + e.remove({ id: 'minecraft:end_stone_brick_wall_from_end_stone_stonecutting' }) + e.remove({ id: 'minecraft:end_stone_brick_wall_from_end_stone_brick_stonecutting' }) + //#endregion + + //#endregion + + //#region Пурпур + + //#region Блок + e.remove({ id: 'gtceu:compressor/purpur_block' }) + //#endregion + + //#region Колонна + e.remove({ id: 'minecraft:purpur_pillar_from_purpur_block_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:purpur_stairs' }) + e.remove({ id: 'minecraft:purpur_stairs_from_purpur_block_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/purpur_slab_saw' }) + e.remove({ id: 'minecraft:purpur_slab_from_purpur_block_stonecutting' }) + //#endregion + + //#endregion + + //#region Металлические прутья + e.remove({ id: 'gtceu:shaped/iron_bars' }) + e.remove({ id: 'gtceu:assembler/iron_nars' }) + //#endregion + + //#region Железная дверь + e.remove({ id: 'gtceu:shaped/iron_door' }) + e.remove({ id: 'gtceu:assembler/iron_door' }) + + e.recipes.gtceu.assembler('tfg:iron_door') + .itemInputs('#tfg:all_iron_plates') + .circuit(8) + .itemOutputs('minecraft:iron_door') + .EUt(GTValues.VA[GTValues.ULV]).duration(400) + + //#endregion + + //#region Железный люк + e.remove({ id: 'gtceu:shaped/iron_trapdoor' }) + e.remove({ id: 'gtceu:assembler/iron_trapdoor' }) + //#endregion + + //#region Железная нажимная плита + e.remove({ id: 'tfc:crafting/vanilla/redstone/heavy_weighted_pressure_plate' }) + e.remove({ id: 'gtceu:shaped/light_weighted_pressure_plate' }) + e.remove({ id: 'gtceu:assembler/heavy_weighted_pressure_plate' }) + + e.shaped('minecraft:heavy_weighted_pressure_plate', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#tfg:all_iron_screws', + B: '#tfc:hammers', + C: '#tfg:all_iron_plates', + D: '#tfg:all_iron_springs', + E: '#forge:tools/screwdrivers' + }).id('tfg:workbench/heavy_weighted_pressure_plate') + + e.recipes.gtceu.assembler('heavy_weighted_pressure_plate') + .itemInputs('#tfg:all_iron_plates', '#tfg:all_iron_springs') + .circuit(0) + .itemOutputs('minecraft:heavy_weighted_pressure_plate') + .EUt(GTValues.VA[GTValues.LV]).duration(200) + + //#endregion + + //#region Цепь + e.remove({ id: 'gtceu:shaped/chain' }) + e.remove({ id: 'gtceu:assembler/chain' }) + //#endregion + + //#region Золотая нажимная плита + e.remove({ id: 'gtceu:shaped/heavy_weighted_pressure_plate' }) + e.remove({ id: 'gtceu:assembler/light_weighted_pressure_plate' }) + + e.shaped('minecraft:light_weighted_pressure_plate', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#tfg:all_iron_screws', + B: '#tfc:hammers', + C: '#forge:plates/gold', + D: '#tfg:all_iron_springs', + E: '#forge:tools/screwdrivers' + }).id('tfg:workbench/light_weighted_pressure_plate') + + e.recipes.gtceu.assembler('tfg:light_weighted_pressure_plate') + .itemInputs('#forge:plates/gold', '#tfg:all_iron_springs') + .circuit(0) + .itemOutputs('4x minecraft:light_weighted_pressure_plate') + .EUt(GTValues.VA[GTValues.LV]).duration(200) + + //#endregion + + //#region Сырой Кварц + + //#region Блок + // Нечего удалять :) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#region Опора + e.remove({ id: 'minecraft:quartz_pillar_from_quartz_block_stonecutting' }) + //#endregion + + //#region Резной + e.remove({ id: 'minecraft:chiseled_quartz_block_from_quartz_block_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:quartz_stairs' }) + e.remove({ id: 'minecraft:quartz_stairs_from_quartz_block_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/quartz_slab_saw' }) + e.remove({ id: 'minecraft:quartz_slab_from_stonecutting' }) + //#endregion + + //#endregion + + //#region Кирпичи Кварц + + //#region Блок + e.remove({ id: 'minecraft:quartz_bricks' }) + e.remove({ id: 'minecraft:quartz_bricks_from_quartz_block_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Кварц + + //#region Блок + e.remove({ id: 'minecraft:smooth_quartz' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:smooth_quartz_stairs' }) + e.remove({ id: 'minecraft:smooth_quartz_stairs_from_smooth_quartz_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/smooth_quartz_slab_saw' }) + e.remove({ id: 'minecraft:smooth_quartz_slab_from_smooth_quartz_stonecutting' }) + //#endregion + + //#endregion + + //#region Медь Блоки + // const COPPER_VARIANTS = { + // "1": { type: "cut", stage: "copper" }, + // "2": { type: "cut", stage: "exposed" }, + // "3": { type: "cut", stage: "weathered" }, + // "4": { type: "cut", stage: "oxidized" } + // } + + // Object.entries(COPPER_VARIANTS).forEach(([key, value]) => { + // //#region Блок + // e.remove({ id: `minecraft:${el}_copper` }) + // e.remove({ id: `minecraft:${el}_copper_from_copper_block_stonecutting` }) + // //#endregion + + // //#region Ступень + // e.remove({ id: `minecraft:${el}_copper_stairs` }) + // e.remove({ id: `minecraft:${el}_copper_stairs_from_copper_block_stonecutting` }) + // e.remove({ id: `minecraft:${el}_copper_stairs_from_${el}_copper_stonecutting` }) + // //#endregion + + // //#region Полублок + // e.remove({ id: `gtceu:shaped/${el}_copper_slab_saw` }) + // e.remove({ id: `minecraft:${el}_copper_slab_from_copper_block_stonecutting` }) + // e.remove({ id: `minecraft:${el}_copper_slab_from_${el}_copper_stonecutting` }) + // //#endregion + + // // Waxed Варианты + + // //#region Блок + // // e.remove({ id: `minecraft:waxed_${el}_copper` }) + // // e.remove({ id: `minecraft:waxed_${el}_copper_from_copper_block_stonecutting` }) + // //#endregion + + // //#region Ступень + // // e.remove({ id: `minecraft:waxed_${el}_copper_stairs` }) + // // e.remove({ id: `minecraft:waxed_${el}_copper_stairs_from_copper_block_stonecutting` }) + // // e.remove({ id: `minecraft:waxed_${el}_copper_stairs_from_waxed_${el}_copper_stonecutting` }) + // //#endregion + + // //#region Полублок + // // e.remove({ id: `gtceu:shaped/waxed_${el}_copper_slab_saw` }) + // // e.remove({ id: `minecraft:waxed_${el}_copper_slab_from_copper_block_stonecutting` }) + // // e.remove({ id: `minecraft:waxed_${el}_copper_slab_from_waxed_${el}_copper_stonecutting` }) + // //#endregion + // }) //#endregion } const registerMinecraftRecipes1 = (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 - - //#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' }) - 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 Выход: Уголь @@ -3525,53 +4065,9 @@ const registerMinecraftRecipes1 = (event) => { //#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 diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index d1c44558e..b52134c6f 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -28,9 +28,9 @@ const registerGregTechMaterialInfo = (event) => { //#endregion //#region ТФК дерево - global.WOOD_BLOCK_TYPES.forEach(wood => { - event.add(wood.tag, new ItemMaterialInfo(wood.material)); - }) + // global.WOOD_BLOCK_TYPES.forEach(wood => { + // event.add(wood.tag, new ItemMaterialInfo(wood.material)); + // }) //#endregion From 27e8344628f0ef8dc1e676042750e62d49e514a4 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 25 Sep 2024 11:41:24 +0700 Subject: [PATCH 088/266] Update recipes.js --- kubejs/server_scripts/gregtech/recipes.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 70d021ef1..9593b9500 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -817,6 +817,26 @@ const registerGregTechRecipes = (event) => { } const registerGregTechRecipes1 = (event) => { + + + event.recipes.gtceu.macerator('dirt_from_bio_chaff') + .itemInputs('gtceu:bio_chaff') + .itemOutputs('tfc:dirt/loam') + .duration(300) + .EUt(4) + + // 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)*/ + //#region Выход: Удобрение // В обычном миксере From 278acd0e54f4be16df530123c25f6bf313292b18 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 25 Sep 2024 11:41:44 +0700 Subject: [PATCH 089/266] =?UTF-8?q?80%=20=D0=B2=D0=B0=D0=BD=D0=B8=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D0=B5=20=D1=80=D0=B5=D1=86=D0=B5=D0=BF=D1=82?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kubejs/server_scripts/minecraft/recipes.js | 2926 +++++++++----------- 1 file changed, 1296 insertions(+), 1630 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 5651b5a7a..e23606b4c 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -2645,754 +2645,1010 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Медь Блоки - // const COPPER_VARIANTS = { - // "1": { type: "cut", stage: "copper" }, - // "2": { type: "cut", stage: "exposed" }, - // "3": { type: "cut", stage: "weathered" }, - // "4": { type: "cut", stage: "oxidized" } - // } + + //#region Ржавчина 0 - // Object.entries(COPPER_VARIANTS).forEach(([key, value]) => { - // //#region Блок - // e.remove({ id: `minecraft:${el}_copper` }) - // e.remove({ id: `minecraft:${el}_copper_from_copper_block_stonecutting` }) - // //#endregion + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion - // //#region Ступень - // e.remove({ id: `minecraft:${el}_copper_stairs` }) - // e.remove({ id: `minecraft:${el}_copper_stairs_from_copper_block_stonecutting` }) - // e.remove({ id: `minecraft:${el}_copper_stairs_from_${el}_copper_stonecutting` }) - // //#endregion + //#region Блок + e.remove({ id: 'minecraft:cut_copper' }) + e.remove({ id: 'minecraft:cut_copper_from_copper_block_stonecutting' }) + //#endregion - // //#region Полублок - // e.remove({ id: `gtceu:shaped/${el}_copper_slab_saw` }) - // e.remove({ id: `minecraft:${el}_copper_slab_from_copper_block_stonecutting` }) - // e.remove({ id: `minecraft:${el}_copper_slab_from_${el}_copper_stonecutting` }) - // //#endregion + //#region Ступень + e.remove({ id: 'minecraft:cut_copper_stairs' }) + e.remove({ id: 'minecraft:cut_copper_stairs_from_copper_block_stonecutting' }) + e.remove({ id: 'minecraft:cut_copper_stairs_from_cut_copper_stonecutting' }) + //#endregion - // // Waxed Варианты + //#region Полублок + e.remove({ id: 'gtceu:shaped/cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:cut_copper_slab_from_copper_block_stonecutting' }) + e.remove({ id: 'minecraft:cut_copper_slab_from_cut_copper_stonecutting' }) + //#endregion - // //#region Блок - // // e.remove({ id: `minecraft:waxed_${el}_copper` }) - // // e.remove({ id: `minecraft:waxed_${el}_copper_from_copper_block_stonecutting` }) - // //#endregion + //#endregion - // //#region Ступень - // // e.remove({ id: `minecraft:waxed_${el}_copper_stairs` }) - // // e.remove({ id: `minecraft:waxed_${el}_copper_stairs_from_copper_block_stonecutting` }) - // // e.remove({ id: `minecraft:waxed_${el}_copper_stairs_from_waxed_${el}_copper_stonecutting` }) - // //#endregion + //#region Ржавчина 1 - // //#region Полублок - // // e.remove({ id: `gtceu:shaped/waxed_${el}_copper_slab_saw` }) - // // e.remove({ id: `minecraft:waxed_${el}_copper_slab_from_copper_block_stonecutting` }) - // // e.remove({ id: `minecraft:waxed_${el}_copper_slab_from_waxed_${el}_copper_stonecutting` }) - // //#endregion - // }) + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:exposed_cut_copper' }) + e.remove({ id: 'minecraft:exposed_cut_copper_from_exposed_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:exposed_cut_copper_stairs' }) + e.remove({ id: 'minecraft:exposed_cut_copper_stairs_from_exposed_copper_stonecutting' }) + e.remove({ id: 'minecraft:exposed_cut_copper_stairs_from_exposed_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/exposed_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:exposed_cut_copper_slab_from_exposed_copper_stonecutting' }) + e.remove({ id: 'minecraft:exposed_cut_copper_slab_from_exposed_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 2 + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:weathered_cut_copper' }) + e.remove({ id: 'minecraft:weathered_cut_copper_from_weathered_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:weathered_cut_copper_stairs' }) + e.remove({ id: 'minecraft:weathered_cut_copper_stairs_from_weathered_copper_stonecutting' }) + e.remove({ id: 'minecraft:weathered_cut_copper_stairs_from_weathered_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/weathered_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:weathered_cut_copper_slab_from_weathered_copper_stonecutting' }) + e.remove({ id: 'minecraft:weathered_cut_copper_slab_from_weathered_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 3 + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:oxidized_cut_copper' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_from_oxidized_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:oxidized_cut_copper_stairs' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_stairs_from_oxidized_copper_stonecutting' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_stairs_from_oxidized_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/oxidized_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_slab_from_oxidized_copper_stonecutting' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_slab_from_oxidized_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 0 (Медовые) + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:waxed_cut_copper' }) + e.remove({ id: 'minecraft:waxed_cut_copper_from_waxed_copper_block_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:waxed_cut_copper_stairs' }) + e.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_waxed_copper_block_stonecutting' }) + e.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_waxed_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/waxed_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:waxed_cut_copper_slab_from_waxed_copper_block_stonecutting' }) + e.remove({ id: 'minecraft:waxed_cut_copper_slab_from_waxed_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 1 (Медовые) + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:waxed_exposed_cut_copper' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_from_waxed_exposed_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_waxed_exposed_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_waxed_exposed_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/waxed_exposed_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_waxed_exposed_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_waxed_exposed_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 2 (Медовые) + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:waxed_weathered_cut_copperr' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_from_waxed_weathered_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_waxed_weathered_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_waxed_weathered_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/waxed_weathered_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_waxed_weathered_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_waxed_weathered_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 3 (Медовые) + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_from_waxed_oxidized_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/waxed_oxidized_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_waxed_oxidized_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_waxed_oxidized_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#endregion + + //#region Шерсть + + //#region Белая + e.remove({ id: 'gtceu:assembler/wool_from_string' }) + + e.recipes.gtceu.assembler('tfg:wool_from_string') + .itemInputs('4x #forge:string') + .circuit(4) + .itemOutputs('minecraft:white_wool') + .EUt(4).duration(100) + + //#endregion + + //#endregion + + //#region Ковры + global.MINECRAFT_DYE_NAMES.forEach(dye => { + + e.shapeless(`2x minecraft:${dye}_carpet`, [ + '#tfc:saws', + `minecraft:${dye}_wool` + ]).id(`tfg:workbench/${dye}_carpet`) + + }) + //#endregion + + //#region Стекло + + //#region Бесцветное + e.remove({ id: 'create:smelting/glass_from_tiled_glass' }) + e.remove({ id: 'create:smelting/glass_from_framed_glass' }) + e.remove({ id: 'create:smelting/glass_from_horizontal_framed_glass' }) + e.remove({ id: 'create:smelting/glass_from_vertical_framed_glass' }) + + e.remove({ id: 'gtceu:arc_furnace/glass_from_sand' }) + e.recipes.gtceu.arc_furnace('tfg:glass_from_sand') + .itemInputs('#forge:sand') + .itemOutputs('2x minecraft:glass') + .EUt(30).duration(20) + + //#endregion + + //#endregion + + //#region Шалкеры + // TODO: Вернуть рецепты, когда добавим, что-то магическое, из чего можно будет сделать панцири + + e.remove({ id: 'minecraft:shulker_box' }) + e.remove({ id: 'gtceu:assembler/purple_shulker_box' }) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + e.remove({ id: `tfc:barrel/dye/${dye}_shulker` }) + }) + //#endregion + + //#region Кровати + global.MINECRAFT_DYE_NAMES.forEach(dye => { + e.remove({ id: `gtceu:shaped/${dye}_bed` }) + e.remove({ id: `tfc:crafting/vanilla/color/${dye}_bed` }) + }) + + e.shaped(`minecraft:white_bed`, [ + 'AAA', + 'BBB', + 'CDC' + ], { + A: '#tfc:sewing_light_cloth', + B: '#minecraft:planks', + C: '#minecraft:wooden_fences', + D: '#forge:tools/mallets' + }).id(`tfg:workbench/white_bed`) + + e.recipes.gtceu.extractor('tfg:white_bed') + .itemInputs('3x minecraft:white_wool', '4x #minecraft:planks') + .circuit(1) + .itemOutputs('minecraft:white_bed') + .EUt(16).duration(250) + //#endregion + + //#region Свечи + e.remove({ id: `gtceu:shaped/candle` }) + e.remove({ id: `gtceu:chemical_bath/decolor_candle` }) + e.remove({ id: `gtceu:fluid_solidifier/candle` }) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + e.remove({ id: `minecraft:${dye}_candle` }) + e.remove({ id: `gtceu:chemical_bath/${dye}_candle_to_white` }) + }) + //#endregion + + //#region Баннеры + global.MINECRAFT_DYE_NAMES.forEach(dye => { + e.remove({ id: `gtceu:assembler/${dye}_banner` }) + + e.recipes.gtceu.extractor(`tfg:${dye}_banner`) + .itemInputs('minecraft:white_wool', '#forge:rods/wooden') + .circuit(6) + .itemOutputs(`minecraft:${dye}_banner`) + .EUt(7).duration(20) + }) + + + //#endregion + + //#region Земля + e.remove({ id: 'create:filling/grass_block' }) + //#endregion + + //#region Тропинка + e.remove({ id: 'create:pressing/path' }) + //#endregion + + //#region Дерн + e.remove({ id: 'gtceu:macerator/dirt_from_bio_chaff' }) + e.remove({ id: 'ae2:entropy/cool/grass_block_dirt' }) + //#endregion + + //#region Подсушенный дерн + e.remove({ id: 'gtceu:mixer/coarse_dirt' }) + e.remove({ id: 'gtceu:create_mixer/coarse_dirt' }) + //#endregion + + //#region Грязь + e.remove({ id: 'gtceu:centrifuge/muddy_mangrove_roots' }) + e.remove({ id: 'gtceu:mixer/mud' }) + e.remove({ id: 'gtceu:create_mixer/mud' }) + //#endregion + + //#region Глина + e.remove({ id: 'gtceu:compressor/mud_to_clay' }) + //#endregion + + //#region Гравий + e.remove({ id: 'gtceu:forge_hammer/cobblestone_to_gravel' }) + e.remove({ id: 'create:milling/cobblestone' }) + //#endregion + + //#region Песок + e.remove({ id: 'gtceu:centrifuge/oilsands_ore_separation' }) + e.remove({ id: 'gtceu:centrifuge/dirt_separation' }) + e.remove({ id: 'gtceu:centrifuge/soul_sand_separation' }) + e.remove({ id: 'gtceu:centrifuge/grass_block_separation' }) + e.remove({ id: 'gtceu:centrifuge/red_sand_separation' }) + e.remove({ id: 'gtceu:centrifuge/oilsands_dust_separation' }) + e.remove({ id: 'gtceu:centrifuge/endstone_separation' }) + e.remove({ id: 'gtceu:centrifuge/mycelium_separation' }) + + e.remove({ id: 'gtceu:forge_hammer/sandstone_to_sand' }) + e.remove({ id: 'gtceu:forge_hammer/gravel_to_sand' }) + e.remove({ id: 'gtceu:forge_hammer/chiseled_sandstone_to_sand' }) + e.remove({ id: 'gtceu:forge_hammer/smooth_sandstone_to_sand' }) + + e.remove({ id: 'create:crushing/gravel' }) + e.remove({ id: 'create:milling/sandstone' }) + //#endregion + + //#region Красный песок + e.remove({ id: 'gtceu:forge_hammer/red_sandstone_to_red_sand' }) + e.remove({ id: 'gtceu:forge_hammer/chiseled_red_sandstone_to_red_sand' }) + + e.remove({ id: 'create:milling/granite' }) + e.remove({ id: 'create:milling/terracotta' }) + //#endregion + + //#region Плотный лед + e.remove({ id: 'minecraft:packed_ice' }) + //#endregion + + //#region Синий лед + e.remove({ id: 'minecraft:blue_ice' }) + //#endregion + + //#region Снег + e.remove({ id: 'minecraft:snow' }) + //#endregion + + //#region Ковер из мха + e.remove({ id: 'minecraft:moss_carpet' }) + //#endregion + + //#region Кальцит + e.remove({ id: 'create:calcite_from_stone_types_calcite_stonecutting' }) + //#endregion + + //#region Туф + e.remove({ id: 'create:tuff_from_stone_types_tuff_stonecutting' }) + //#endregion + + //#region Капельник + e.remove({ id: 'minecraft:dripstone_block' }) + e.remove({ id: 'create:dripstone_block_from_stone_types_dripstone_stonecutting' }) + e.remove({ id: 'gtceu:compressor/dripstone_block_from_pointed_dripstone' }) + //#endregion + + //#region Капающий капельник + e.remove({ id: 'gtceu:forge_hammer/pointed_dripstone_from_dripstone_block' }) + //#endregion + + //#region Сырые блоки руды + + //#region Железо + e.remove({ id: 'minecraft:raw_iron_block' }) + //#endregion + + //#region Медь + e.remove({ id: 'minecraft:raw_copper_block' }) + //#endregion + + //#region Золото + e.remove({ id: 'minecraft:raw_gold_block' }) + //#endregion + + //#endregion + + //#region Коричневый гриб + e.remove({ id: 'gtceu:centrifuge/mycelium_separation' }) + e.remove({ id: '' }) + //#endregion + + //#region Адский гриб (Красный) + e.remove({ id: 'jei:/create/haunting/crimson_fungus' }) + //#endregion + + //#region Адский гриб (Синий) + e.remove({ id: 'jei:/create/haunting/warped_fungus' }) + //#endregion + + //#region Сухой кустик + e.remove({ id: 'create:splashing/red_sand' }) + //#endregion + + //#region Семяна пшеницы + e.remove({ id: 'create:milling/large_fern' }) + e.remove({ id: 'create:milling/fern' }) + e.remove({ id: 'create:milling/tall_grass' }) + e.remove({ id: 'create:milling/wheat' }) + e.remove({ id: 'create:milling/grass' }) + //#endregion + + //#region Семяна тыквы + e.remove({ id: 'minecraft:pumpkin_seeds' }) + e.remove({ id: 'gtceu:macerator/macerate_pumpkin' }) + //#endregion + + //#region Семяна арбуза + e.remove({ id: 'gtceu:macerator/macerate_melon_slice' }) + e.remove({ id: 'gtceu:macerator/macerate_melon_block' }) + //#endregion + + //#region Семяна свеклы + e.remove({ id: 'create:milling/beetroot' }) + e.remove({ id: 'create:milling/beetroot' }) + //#endregion + + //#region Святящиеся ягоды + e.remove({ id: 'create:haunting/glow_berries' }) + //#endregion + + //#region Высушенный блок водорослей + e.remove({ id: 'minecraft:dried_kelp_block' }) + //#endregion + + //#region Сухая губка + e.recipes.tfc.heating('minecraft:wet_sponge', 790) + .resultItem('minecraft:sponge') + .id('tfg:heating/sponge') + //#endregion + + //#region Арбуз + e.remove({ id: 'gtceu:packer/melon' }) + //#endregion + + //#region Светящаяся тыква + e.remove({ id: 'gtceu:shaped/lit_pumpkin' }) + e.remove({ id: 'gtceu:canner/jack_o_lantern' }) + + e.shaped('minecraft:jack_o_lantern', [ + 'AC', + 'B ' + ], { + A: 'tfc:pumpkin', + B: 'minecraft:glowstone', + C: '#forge:tools/knives' + }).id('tfg:workbench/jack_o_lantern') + + e.recipes.gtceu.canner('tfg:jack_o_lantern') + .itemInputs('tfc:pumpkin', 'minecraft:glowstone') + .itemOutputs('minecraft:jack_o_lantern') + .EUt(4).duration(100) + //#endregion + + //#region Блок сена + e.remove({ id: 'gtceu:packer/hay_block' }) + + e.recipes.gtceu.packer('tfg:hay_block') + .itemInputs('9x tfc:straw') + .itemOutputs('minecraft:hay_block') + .EUt(2).duration(200) + + //#endregion + + //#region Факел + + //#region В Верстаке + + //#region Из креозота + + // TODO: Починить рецепт + e.remove({ id: 'gtceu:shaped/torch_creosote' }) + + //#endregion + + //#region Из серы + e.remove({ id: 'gtceu:shaped/torch_sulfur' }) + + e.shaped('2x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:sulfur_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_sulfur') + + //#endregion + + //#region Из фосфора + e.remove({ id: 'gtceu:shaped/torch_phosphorus' }) + + e.shaped('6x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:phosphorus_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_phosphorus') + + //#endregion + + //#region Из коксовой пыли + e.remove({ id: 'gtceu:shaped/torch_coke_dust' }) + + e.shaped('8x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:coke_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_coke_dust') + //#endregion + + //#region Из коксового гема + e.remove({ id: 'gtceu:shaped/torch_coke' }) + + e.shaped('8x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:coke_gem', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_coke') + //#endregion + + //#region Из угольной пыли + e.remove({ id: 'gtceu:shaped/torch_coal_dust' }) + + e.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:coal_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_coal_dust') + //#endregion + + //#region Из угольного гема + e.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'minecraft:coal', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_coal') + //#endregion + + //#region Из древесно-угольной пыли + e.remove({ id: 'gtceu:shaped/torch_charcoal_dust' }) + + e.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:charcoal_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_charcoal_dust') + //#endregion + + //#region Из древесно-угольного гема + e.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'minecraft:charcoal', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_charcoal') + //#endregion + + //#region Из сырой резины + e.remove({ id: 'gtceu:shaped/sticky_resin_torch' }) + + e.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 + + //#endregion + + //#region В сборщике + e.remove({ id: 'gtceu:assembler/torch_phosphorus' }) + e.remove({ id: 'gtceu:assembler/torch_sulfur' }) + e.remove({ id: 'gtceu:assembler/torch_coke_dust' }) + e.remove({ id: 'gtceu:assembler/torch_coal_dust' }) + e.remove({ id: 'gtceu:assembler/torch_charcoal_dust' }) + e.remove({ id: 'gtceu:assembler/torch_coal' }) + e.remove({ id: 'gtceu:assembler/torch_coke_gem' }) + //#endregion + + //#region Мертвый факел в обычный + e.smelting('tfc:torch', 'tfc:dead_torch') + .id('tfg:smelting/dead_torch_to_torch') + //#endregion + + //#endregion + + //#region Красный факел + e.remove({ id: 'gtceu:shaped/redstone_torch' }) + + e.shaped('minecraft:redstone_torch', [ + 'A', + 'B ' + ], { + A: 'tfc:dead_torch', + B: 'minecraft:redstone' + }).id('tfg:workbench/redstone_torch') + //#endregion + + //#region Факел душ + e.remove({ id: 'gtceu:shaped/soul_torch' }) + e.remove({ id: 'gtceu:assembler/soul_torch' }) + e.remove({ id: 'create:haunting/soul_torch' }) + + e.shaped('minecraft:soul_torch', [ + 'BA' + ], { + A: 'tfc:torch', + B: '#minecraft:soul_fire_base_blocks' + }).id('tfg:workbench/soul_torch') + + e.recipes.create.haunting('minecraft:soul_torch', 'tfc:torch') + .id('tfg:haunting/soul_torch') + //#endregion + + //#region Фонарь + e.remove({ id: 'gtceu:shaped/lantern' }) + e.remove({ id: 'gtceu:assembler/lantern' }) + //#endregion + + //#region Фонарь душ + e.remove({ id: 'gtceu:shaped/soul_lantern' }) + e.remove({ id: 'gtceu:assembler/soul_lantern' }) + e.remove({ id: 'create:haunting/soul_lantern' }) + + e.recipes.create.haunting('minecraft:soul_lantern', '#tfc:lamps') + .id('tfg:haunting/soul_torch') + //#endregion + + //#region Стержень энда + e.remove({ id: 'minecraft:end_rod' }) + e.remove({ id: 'gtceu:assembler/end_rod' }) + //#endregion + + //#region Верстак + e.remove({ id: 'gtceu:shaped/crafting_table' }) + e.remove({ id: 'tfc:crafting/vanilla/crafting_table' }) + e.remove({ id: 'gtceu:assembler/crafting_table' }) + //#endregion + + //#region Камнерез + e.remove({ id: 'gtceu:shaped/stonecutter' }) + e.remove({ id: 'gtceu:assembler/stonecutter' }) + //#endregion + + //#region Стол картографа + e.remove({ id: 'gtceu:shaped/cartography_table' }) + e.remove({ id: 'gtceu:assembler/cartography_table' }) + //#endregion + + //#region Стол лучника + e.remove({ id: 'gtceu:shaped/fletching_table' }) + e.remove({ id: 'gtceu:assembler/fletching_table' }) + //#endregion + + //#region Стол кузнеца + e.remove({ id: 'tfc:crafting/vanilla/smithing_table' }) + //#endregion + + //#region Точильный камень + e.remove({ id: 'gtceu:shaped/grindstone' }) + e.remove({ id: 'gtceu:assembler/grindstone' }) + + e.shaped('minecraft:grindstone', [ + 'h s', + 'ABA', + 'CfC' + ], { + A: '#tfg:all_iron_bolts', + B: '#tfg:rock_slabs', + C: 'gtceu:long_wood_rod', + h: '#forge:tools/hammers', + s: '#forge:tools/screwdrivers', + f: '#forge:tools/files', + }).id('tfg:workbench/grindstone') + + e.recipes.gtceu.assembler('tfg:grindstone') + .itemInputs('2x #tfg:all_iron_bolts', '#tfg:rock_slabs', '2x gtceu:long_wood_rod') + .itemOutputs('minecraft:grindstone') + .EUt(4).duration(100) + //#endregion + + //#region Вышивальня + e.remove({ id: 'tfc:crafting/vanilla/loom' }) + e.remove({ id: 'gtceu:shaped/loom' }) + e.remove({ id: 'gtceu:assembler/loom' }) + + e.shaped('minecraft:loom', [ + 'AAA', + 'BsB', + 'CDC' + ], { + A: '#forge:string', + B: 'gtceu:wood_plate', + C: 'gtceu:wood_screw', + D: '#minecraft:planks', + s: '#forge:tools/screwdrivers' + }).id('tfg:workbench/loom') + + e.recipes.gtceu.assembler('tfg:loom') + .itemInputs('3x #forge:string', '2x gtceu:wood_plate', '#minecraft:planks') + .itemOutputs('minecraft:loom') + .EUt(6).duration(100) + //#endregion + + //#region Печь + e.remove({ id: 'gtceu:shaped/furnace' }) + e.remove({ id: 'gtceu:assembler/furnace' }) + //#endregion + + //#region Коптильня + e.remove({ id: 'gtceu:shaped/smoker' }) + e.remove({ id: 'gtceu:assembler/smoker' }) + //#endregion + + //#region Доменка + e.remove({ id: 'gtceu:shaped/blast_furnace' }) + e.remove({ id: 'gtceu:assembler/blast_furnace' }) + //#endregion + + //#region Костер душ + e.remove({ id: 'create:haunting/soul_campfire' }) + //#endregion + + //#region Наковальня + e.remove({ id: 'gtceu:shaped/anvil' }) + e.remove({ id: 'gtceu:alloy_smelter/anvil' }) + e.remove({ id: 'gtceu:fluid_solidifier/solidify_anvil' }) + //#endregion + + //#region Компостница + e.remove({ id: 'gtceu:shaped/composter' }) + e.remove({ id: 'gtceu:assembler/composter' }) + //#endregion + + //#region Варочная стойка + e.remove({ id: 'gtceu:shaped/brewing_stand' }) + //#endregion + + //#region Тигель + e.remove({ id: 'tfc:crafting/vanilla/cauldron' }) + e.remove({ id: 'gtceu:shaped/cauldron' }) + e.remove({ id: 'gtceu:assembler/cauldron' }) + + e.shaped('minecraft:cauldron', [ + 'A A', + 'ABA', + 'AAA' + ], { + A: '#tfg:all_iron_plates', + B: '#tfc:hammers' + }).id('tfg:workbench/cauldron') + + e.recipes.gtceu.assembler('tfg:cauldron') + .itemInputs('7x #tfg:all_iron_plates') + .circuit(7) + .itemOutputs('minecraft:cauldron') + .EUt(4).duration(700) + //#endregion + + //#region Золотой колокол + e.remove({ id: 'gtceu:assembler/bell' }) + + e.recipes.gtceu.assembler('tfg:bell') + .itemInputs('#forge:rods/wooden', '2x #forge:rods/stone', '#forge:plates/gold', '2x #tfg:all_iron_bolts') + .circuit(7) + .itemOutputs('minecraft:bell') + .EUt(7).duration(1400) + //#endregion + + //#region Кондуит + e.remove({ id: 'gtceu:assembler/conduit' }) + //#endregion + + //#region Магнитный камень + e.remove({ id: 'minecraft:lodestone' }) + //#endregion + + //#region Лестница + e.remove({ id: 'tfc:crafting/vanilla/ladder' }) + //#endregion + + //#region Леса + e.remove({ id: 'tfc:crafting/vanilla/scaffolding' }) + e.remove({ id: 'gtceu:shaped/scaffolding' }) + e.remove({ id: 'gtceu:assembler/scaffolding' }) + + e.shaped('3x minecraft:scaffolding', [ + 'ABA', + 'ACA', + 'AmA', + ], { + A: 'minecraft:bamboo', + B: '#forge:string', + C: 'gtceu:wood_screw', + m: '#forge:tools/mallets' + }).id('tfg:workbench/scaffolding') + + e.recipes.gtceu.assembler('tfg:scaffolding') + .itemInputs('6x minecraft:bamboo', '#forge:string') + .itemOutputs('4x minecraft:scaffolding') + .EUt(4).duration(100) + //#endregion + + //#region Улей + e.remove({ id: 'gtceu:shaped/beehive' }) + e.remove({ id: 'gtceu:assembler/beehive' }) + //#endregion + + //#region Громоотвод + e.remove({ id: 'tfc:crafting/vanilla/lightning_rod' }) + //#endregion + + + + + + + + + + + + + + //#region 1 + //e.remove({ id: '' }) //#endregion } -const registerMinecraftRecipes1 = (event) => { +const registerMinecraftRecipes1 = (e) => { //#region Выход: Уголь - event.remove({ id: 'minecraft:coal_from_smelting_coal_ore' }) - event.remove({ id: 'minecraft:coal_from_smelting_deepslate_coal_ore' }) + e.remove({ id: 'minecraft:coal_from_smelting_coal_ore' }) + e.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' }) + e.remove({ id: 'minecraft:coal_from_blasting_coal_ore' }) + e.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' }) + e.remove({ id: 'minecraft:copper_ingot_from_smelting_copper_ore' }) + e.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' }) + e.remove({ id: 'minecraft:copper_ingot_from_blasting_copper_ore' }) + e.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' }) + e.remove({ id: 'minecraft:iron_ingot_from_smelting_iron_ore' }) + e.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' }) + e.remove({ id: 'minecraft:iron_ingot_from_blasting_iron_ore' }) + e.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' }) + e.remove({ id: 'minecraft:lapis_lazuli_from_smelting_lapis_ore' }) + e.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' }) + e.remove({ id: 'minecraft:lapis_lazuli_from_blasting_lapis_ore' }) + e.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' }) + e.remove({ id: 'minecraft:gold_ingot_from_smelting_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_smelting_deepslate_gold_ore' }) + e.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' }) + e.remove({ id: 'minecraft:gold_ingot_from_blasting_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_blasting_deepslate_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_blasting_nether_gold_ore' }) //#endregion //#region Выход: Золотой самородок - event.remove({ id: 'minecraft:gold_nugget_from_smelting' }) + e.remove({ id: 'minecraft:gold_nugget_from_smelting' }) - event.remove({ id: 'minecraft:gold_nugget_from_blasting' }) + e.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' }) + e.remove({ id: 'minecraft:redstone_from_smelting_redstone_ore' }) + e.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' }) + e.remove({ id: 'minecraft:redstone_from_blasting_redstone_ore' }) + e.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' }) + e.remove({ id: 'minecraft:emerald_from_smelting_emerald_ore' }) + e.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' }) + e.remove({ id: 'minecraft:emerald_from_blasting_emerald_ore' }) + e.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' }) + e.remove({ id: 'minecraft:diamond_from_smelting_diamond_ore' }) + e.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' }) + e.remove({ id: 'minecraft:diamond_from_blasting_diamond_ore' }) + e.remove({ id: 'minecraft:diamond_from_blasting_deepslate_diamond_ore' }) //#endregion //#region Выход: Кварц - event.remove({ id: 'minecraft:quartz' }) - event.remove({ id: 'minecraft:quartz_from_blasting' }) + e.remove({ id: 'minecraft:quartz' }) + e.remove({ id: 'minecraft:quartz_from_blasting' }) //#endregion //#region Выход: Незеритовый лом - event.remove({ id: 'minecraft:netherite_scrap' }) - event.remove({ id: 'minecraft:netherite_scrap_from_blasting' }) + e.remove({ id: 'minecraft:netherite_scrap' }) + e.remove({ id: 'minecraft:netherite_scrap_from_blasting' }) //#endregion //#region Выход: Незеритовый слиток - event.remove({ id: 'minecraft:netherite_ingot' }) + e.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 Выход: Камнерез - - 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 Добавление + //#region Медные блоки for (let i = 0; i < global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length; i++) { let element = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i]; @@ -3402,7 +3658,7 @@ const registerMinecraftRecipes1 = (event) => { let element2 = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i + 1] - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_block_${element.name}`) + e.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_block_${element.name}`) .itemInputs(element.block) .inputFluids(Fluid.of('minecraft:water', 150)) .circuit(1) @@ -3410,7 +3666,7 @@ const registerMinecraftRecipes1 = (event) => { .duration(1000) .EUt(4) - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_cutted_${element.name}`) + e.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_cutted_${element.name}`) .itemInputs(element.cutted) .inputFluids(Fluid.of('minecraft:water', 150)) .circuit(1) @@ -3418,7 +3674,7 @@ const registerMinecraftRecipes1 = (event) => { .duration(1000) .EUt(4) - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_stairs_${element.name}`) + e.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_stairs_${element.name}`) .itemInputs(element.stairs) .inputFluids(Fluid.of('minecraft:water', 150)) .circuit(1) @@ -3426,7 +3682,7 @@ const registerMinecraftRecipes1 = (event) => { .duration(1000) .EUt(4) - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_slabs_${element.name}`) + e.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_slabs_${element.name}`) .itemInputs(element.slabs) .inputFluids(Fluid.of('minecraft:water', 150)) .circuit(1) @@ -3436,28 +3692,28 @@ const registerMinecraftRecipes1 = (event) => { } 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}`) + e.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}`) + e.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}`) + e.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}`) + e.recipes.gtceu.assembler(`tfg:minecraft/waxing_slabs_${element.name}`) .itemInputs(element2.slabs, 'firmalife:beeswax') .circuit(1) .itemOutputs(element.slabs) @@ -3468,51 +3724,49 @@ const registerMinecraftRecipes1 = (event) => { // Обрезанный блок - event.stonecutting(element.cutted, element.block) + e.stonecutting(element.cutted, element.block) .id(`tfg:stonecutting/cutted_${element.name}`) - generateCutterRecipe(event, element.block, 4, element.cutted, 100, 8, `cutted_${element.name}`) + generateCutterRecipe(e, 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') + // e.recipes.tfc.chisel(element.cutted, element.block, 'smooth') // .id(`tfg:chisel/cutted_${element.name}`) // Ступени - event.stonecutting(element.stairs, element.cutted) + e.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}`) + generateCutterRecipe(e, 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') + // e.recipes.tfc.chisel(element.stair, element.cutted, 'stair') // .id(`tfg:chisel/stair_${element.name}`) // Полублоки - event.stonecutting(element.slabs, element.cutted) + e.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}`) + generateCutterRecipe(e, 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') + // e.recipes.tfc.chisel(element.slab, element.cutted, 'slab') // .id(`tfg:chisel/slab_${element.name}`) } //#endregion - //#endregion - //#region Выход: Кремний - event.shapeless('minecraft:flint', [ + e.shapeless('minecraft:flint', [ '#tfc:rock/gravel', '#forge:tools/mortars' ]).id('gtceu:shapeless/gravel_to_flint') - event.recipes.gtceu.sifter('gravel_sifting') + e.recipes.gtceu.sifter('gravel_sifting') .itemInputs('#tfc:rock/gravel') .itemOutputs('minecraft:flint') .chancedOutput('minecraft:flint', 9000, 0) @@ -3524,274 +3778,209 @@ const registerMinecraftRecipes1 = (event) => { .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`) + e.remove({ id: 'minecraft:muddy_mangrove_roots' }) //#endregion //#region Красители // White - event.remove({id: 'minecraft:white_dye_from_lily_of_the_valley'}) - event.remove({id: 'gtceu:extractor/lily_of_the_valley_dye'}) + e.remove({id: 'minecraft:white_dye_from_lily_of_the_valley'}) + e.remove({id: 'gtceu:extractor/lily_of_the_valley_dye'}) - event.recipes.gtceu.extractor('white_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:red_dye_from_tulip'}) + e.remove({id: 'minecraft:red_dye_from_rose_bush'}) + e.remove({id: 'minecraft:red_dye_from_poppy'}) + e.remove({id: 'minecraft:red_dye_from_beetroot'}) + e.remove({id: 'gtceu:extractor/rose_bush_dye'}) + e.remove({id: 'gtceu:extractor/red_tulip_dye'}) + e.remove({id: 'gtceu:extractor/poppy_dye'}) + e.remove({id: 'gtceu:extractor/beetroot_dye'}) - event.recipes.gtceu.extractor('red_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:lime_dye_from_smelting'}) - event.recipes.gtceu.extractor('lime_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:light_blue_dye_from_blue_orchid'}) + e.remove({id: 'gtceu:extractor/blue_orchid_dye'}) - event.recipes.gtceu.extractor('light_blue_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:green_dye'}) - event.recipes.gtceu.extractor('green_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:magenta_dye_from_lilac'}) + e.remove({id: 'minecraft:magenta_dye_from_allium'}) + e.remove({id: 'gtceu:extractor/lilac_dye'}) + e.remove({id: 'gtceu:extractor/allium_dye'}) - event.recipes.gtceu.extractor('magenta_dye') + e.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') + e.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'}) + e.remove({id: 'tfc:crafting/vanilla/orange_dye_from_sylvite'}) + e.remove({id: 'minecraft:orange_dye_from_torchflower'}) + e.remove({id: 'minecraft:orange_dye_from_orange_tulip'}) + e.remove({id: 'gtceu:extractor/orange_tulip_dye'}) - event.recipes.gtceu.extractor('orange_dye') + e.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') + e.recipes.createMilling('2x minecraft:orange_dye', '1x #tfc:makes_orange_dye') .id('tfg:milling/orange_dye') // Purple - event.recipes.gtceu.extractor('purple_dye') + e.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') + e.recipes.createMilling('2x minecraft:purple_dye', '1x #tfc:makes_purple_dye') .id('tfg:milling/purple_dye') // Brown - event.remove({id: 'minecraft:brown_dye' }) + e.remove({id: 'minecraft:brown_dye' }) - event.recipes.gtceu.extractor('brown_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:light_gray_dye_from_white_tulip'}) + e.remove({id: 'minecraft:light_gray_dye_from_azure_bluet'}) + e.remove({id: 'minecraft:light_gray_dye_from_oxeye_daisy'}) + e.remove({id: 'gtceu:extractor/white_tulip_dye'}) + e.remove({id: 'gtceu:extractor/azure_bluet_dye'}) + e.remove({id: 'gtceu:extractor/oxeye_daisy_dye'}) - event.recipes.gtceu.extractor('light_gray_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:yellow_dye_from_sunflower'}) + e.remove({id: 'minecraft:yellow_dye_from_dandelion'}) + e.remove({id: 'gtceu:extractor/sunflower_dye'}) + e.remove({id: 'gtceu:extractor/dandelion_dye'}) - event.recipes.gtceu.extractor('yellow_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:blue_dye_from_cornflower'}) + e.remove({id: 'gtceu:extractor/cornflower_dye'}) - event.recipes.gtceu.extractor('blue_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:pink_dye_from_pink_petals'}) + e.remove({id: 'minecraft:pink_dye_from_pink_tulip'}) + e.remove({id: 'minecraft:pink_dye_from_peony'}) + e.remove({id: 'gtceu:extractor/pink_tulip_dye'}) + e.remove({id: 'gtceu:extractor/peony_dye'}) - event.recipes.gtceu.extractor('pink_dye') + e.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') + e.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'}) + e.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'}) + e.remove({id: 'minecraft:black_dye_from_wither_rose'}) + e.remove({id: 'gtceu:extractor/wither_rose_dye'}) //#endregion //#region Выход: Шаблон баннера - event.shapeless('minecraft:flower_banner_pattern', [ + e.shapeless('minecraft:flower_banner_pattern', [ 'minecraft:paper', '#forge:dyes/white' ]).id('minecraft:flower_banner_pattern') @@ -3800,39 +3989,39 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Высушенные водросли - event.remove({ id: 'minecraft:dried_kelp' }) - event.remove({ id: 'minecraft:dried_kelp_from_smelting' }) - event.remove({ id: 'minecraft:dried_kelp_from_smoking' }) + e.remove({ id: 'minecraft:dried_kelp' }) + e.remove({ id: 'minecraft:dried_kelp_from_smelting' }) + e.remove({ id: 'minecraft:dried_kelp_from_smoking' }) //#endregion //#region Древесный уголь - event.remove({ id: 'minecraft:charcoal' }) + e.remove({ id: 'minecraft:charcoal' }) //#endregion //#region Выход: Высушенные водросли блок - event.remove({ id: 'minecraft:dried_kelp_block' }) + e.remove({ id: 'minecraft:dried_kelp_block' }) //#endregion //#region Выход: Бумага - event.remove({ id: 'gtceu:shaped/paper' }) + e.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' }) + e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) + e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) - event.recipes.gtceu.chemical_bath('paper_from_papyrus_distilled') + e.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') + e.recipes.gtceu.chemical_bath('paper_from_papyrus') .itemInputs('tfc:papyrus') .inputFluids(Fluid.of('minecraft:water', 100)) .itemOutputs('minecraft:paper') @@ -3843,11 +4032,11 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Сахар - event.remove({ id: 'gtceu:shaped/sugar' }) - event.remove({ id: 'minecraft:sugar_from_honey_bottle' }) - event.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) + e.remove({ id: 'gtceu:shaped/sugar' }) + e.remove({ id: 'minecraft:sugar_from_honey_bottle' }) + e.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) - event.recipes.gtceu.centrifuge('sugar') + e.recipes.gtceu.centrifuge('sugar') .itemInputs('tfc:food/sugarcane') .inputFluids(Fluid.of('minecraft:water', 600)) .itemOutputs('minecraft:sugar') @@ -3858,234 +4047,134 @@ const registerMinecraftRecipes1 = (event) => { //#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' }) + e.remove({ id: 'minecraft:fermented_spider_eye' }) + e.remove({ id: 'gtceu:mixer/fermented_spider_eye_red' }) + e.remove({ id: 'gtceu:mixer/fermented_spider_eye_brown' }) + e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_red' }) + e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_brown' }) //#endregion //#region Выход: Калиброванный сенсор Скалка - event.remove({ id: 'minecraft:calibrated_sculk_sensor' }) + e.remove({ id: 'minecraft:calibrated_sculk_sensor' }) //#endregion //#region Выход: Вагонетка с сундуком - event.remove({ id: 'gtceu:assembler/chest_minecart' }) + e.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' }) + e.remove({ id: 'minecraft:bread' }) //#endregion //#region Выход: Жаренная свинина - event.remove({ id: 'minecraft:cooked_porkchop' }) - event.remove({ id: 'minecraft:cooked_porkchop_from_smoking' }) + e.remove({ id: 'minecraft:cooked_porkchop' }) + e.remove({ id: 'minecraft:cooked_porkchop_from_smoking' }) //#endregion //#region Выход: Жаренная курятина - event.remove({ id: 'minecraft:cooked_chicken' }) - event.remove({ id: 'minecraft:cooked_chicken_from_smoking' }) + e.remove({ id: 'minecraft:cooked_chicken' }) + e.remove({ id: 'minecraft:cooked_chicken_from_smoking' }) //#endregion //#region Выход: Жаренная козлятина - event.remove({ id: 'minecraft:cooked_mutton' }) - event.remove({ id: 'minecraft:cooked_mutton_from_smoking' }) + e.remove({ id: 'minecraft:cooked_mutton' }) + e.remove({ id: 'minecraft:cooked_mutton_from_smoking' }) //#endregion //#region Выход: Жаренная зайчатина - event.remove({ id: 'minecraft:cooked_rabbit' }) - event.remove({ id: 'minecraft:cooked_rabbit_from_smoking' }) + e.remove({ id: 'minecraft:cooked_rabbit' }) + e.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) + e.remove({ id: 'minecraft:cooked_beef' }) + e.remove({ id: 'minecraft:cooked_beef_from_smoking' }) //#endregion //#region Выход: Торт - event.remove({ id: 'minecraft:cake' }) + e.remove({ id: 'minecraft:cake' }) //#endregion //#region Выход: Печеньки (Нееет) - event.remove({ id: 'minecraft:cookie' }) + e.remove({ id: 'minecraft:cookie' }) //#endregion //#region Выход: Сундук - event.remove({ id: 'gtceu:assembler/chest' }) + e.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) + e.remove({ id: 'minecraft:warped_fungus_on_a_stick' }) + e.remove({ id: 'minecraft:carrot_on_a_stick' }) //#endregion //#region Выход: Спасательный компас - event.remove({ id: 'minecraft:recovery_compass' }) + e.remove({ id: 'minecraft:recovery_compass' }) //#endregion - //#region Выход: Компасс + //#region Выход: Компас - event.remove({ id: 'tfc:crafting/vanilla/compass' }) - event.remove({ id: 'gtceu:assembler/compass' }) + e.remove({ id: 'tfc:crafting/vanilla/compass' }) + e.remove({ id: 'gtceu:assembler/compass' }) //#endregion //#region Выход: Незеритовый слиток - event.remove({ id: 'minecraft:netherite_ingot_from_netherite_block' }) + e.remove({ id: 'minecraft:netherite_ingot_from_netherite_block' }) //#endregion //#region Выход: Незеритовый блок - event.remove({ id: 'minecraft:netherite_block' }) + e.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 Выход: Жаренный Cod - event.remove({ id: 'minecraft:cooked_cod' }) - event.remove({ id: 'minecraft:cooked_cod_from_smoking' }) + e.remove({ id: 'minecraft:cooked_cod' }) + e.remove({ id: 'minecraft:cooked_cod_from_smoking' }) //#endregion //#region Выход: Жаренный Salmon - event.remove({ id: 'minecraft:cooked_salmon' }) - event.remove({ id: 'minecraft:cooked_salmon_from_smoking' }) + e.remove({ id: 'minecraft:cooked_salmon' }) + e.remove({ id: 'minecraft:cooked_salmon_from_smoking' }) //#endregion //#region Выход: Светящийся арбуз - event.shaped('minecraft:glistering_melon_slice', [ + e.shaped('minecraft:glistering_melon_slice', [ 'AAA', 'ABA', 'AAA' @@ -4094,13 +4183,13 @@ const registerMinecraftRecipes1 = (event) => { B: 'tfc:food/melon_slice' }).id('minecraft:glistering_melon_slice') - event.recipes.gtceu.chemical_reactor('glistening_melon_slice') + e.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') + e.recipes.gtceu.large_chemical_reactor('glistening_melon_slice') .itemInputs('tfc:food/melon_slice', '6x #forge:nuggets/gold') .itemOutputs('minecraft:glistering_melon_slice') .duration(50) @@ -4108,127 +4197,39 @@ const registerMinecraftRecipes1 = (event) => { //#endregion - //#region Выход: Улей - - event.remove({ id: 'minecraft:beehive' }) - - //#endregion - //#region Выход: Блок сот - event.remove({ id: 'minecraft:honeycomb_block' }) + e.remove({ id: 'minecraft:honeycomb_block' }) //#endregion //#region Выход: Пузырек с медом - event.remove({ id: 'minecraft:honey_bottle' }) + e.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') + e.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' }) + e.remove({ id: 'minecraft:popped_chorus_fruit' }) //#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.chemical_bath('tfg:minecraft/tinted_glass') - .itemInputs('minecraft:glass') - .inputFluids(Fluid.of('gtceu:black_dye', 144)) - .itemOutputs('minecraft:tinted_glass') - .duration(260) - .EUt(16) + e.remove({ id: 'minecraft:shears' }) //#endregion //#region Выход: Пустая карта - event.recipes.gtceu.assembler('map') + e.recipes.gtceu.assembler('map') .itemInputs('8x minecraft:paper', 'firmaciv:firmaciv_compass') .itemOutputs('minecraft:map') .duration(100) @@ -4238,47 +4239,40 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Жаренный картофель - event.remove({ id: 'minecraft:baked_potato' }) - event.remove({ id: 'minecraft:baked_potato_from_smoking' }) + e.remove({ id: 'minecraft:baked_potato' }) + e.remove({ id: 'minecraft:baked_potato_from_smoking' }) //#endregion //#region Выход: Декор ваза - event.remove({ id: 'minecraft:decorated_pot_simple' }) + e.remove({ id: 'minecraft:decorated_pot_simple' }) //#endregion //#region Выход: Резные книжные полки - event.remove({ id: 'minecraft:chiseled_bookshelf' }) + e.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' }) + e.remove({ id: 'gtceu:assembler/bookshelf' }) //#endregion //#region Выход: Кисточка - event.remove({ id: 'minecraft:brush' }) + e.remove({ id: 'minecraft:brush' }) //#endregion //#region Выход: Книга - event.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) + e.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) - event.shapeless('minecraft:book', [ + e.shapeless('minecraft:book', [ 'minecraft:paper', 'minecraft:paper', 'minecraft:paper', 'minecraft:leather' ]).id('minecraft:book') @@ -4286,33 +4280,33 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Трибуна - event.remove({ id: 'tfc:crafting/vanilla/lectern' }) + e.remove({ id: 'tfc:crafting/vanilla/lectern' }) //#endregion //#region Выход: Золотое яблоко - event.remove({ id: 'minecraft:golden_apple' }) + e.remove({ id: 'minecraft:golden_apple' }) - event.recipes.gtceu.chemical_reactor('golden_apple') + e.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') + e.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') + e.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') + e.recipes.gtceu.large_chemical_reactor('golden_apple_1') .itemInputs('tfc:food/red_apple', '8x #forge:ingots/gold') .itemOutputs('minecraft:golden_apple') .duration(50) @@ -4322,25 +4316,25 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Зачарованное золотое яблоко - event.recipes.gtceu.chemical_reactor('notch_apple') + e.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') + e.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') + e.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') + e.recipes.gtceu.large_chemical_reactor('notch_apple_1') .itemInputs('tfc:food/red_apple', '8x minecraft:gold_block') .itemOutputs('minecraft:enchanted_golden_apple') .duration(50) @@ -4349,205 +4343,201 @@ const registerMinecraftRecipes1 = (event) => { //#endregion //#region Шаблоны брони - - event.remove({id: 'minecraft:wild_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:wayfinder_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:ward_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:vex_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:tide_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:spire_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:snout_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:silence_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:shaper_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:sentry_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:rib_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:raiser_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:host_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:eye_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:dune_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:coast_armor_trim_smithing_template_smithing_trim'}) - + e.remove({id: 'minecraft:wild_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:wayfinder_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:ward_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:vex_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:tide_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:spire_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:snout_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:silence_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:shaper_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:sentry_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:rib_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:raiser_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:host_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:eye_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:dune_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:coast_armor_trim_smithing_template_smithing_trim'}) //#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'}) - + e.remove({id: 'gtceu:shaped/chainmail_boots'}) + e.remove({id: 'gtceu:shaped/chainmail_leggings'}) + e.remove({id: 'gtceu:shaped/chainmail_chestplate'}) + e.remove({id: 'gtceu:shaped/chainmail_helmet'}) + e.remove({id: 'gtceu:arc_furnace/arc_chainmail_boots'}) + e.remove({id: 'gtceu:arc_furnace/arc_chainmail_leggings'}) + e.remove({id: 'gtceu:arc_furnace/arc_chainmail_chestplate'}) + e.remove({id: 'gtceu:arc_furnace/arc_chainmail_helmet'}) + e.remove({id: 'gtceu:macerator/macerate_chainmail_boots'}) + e.remove({id: 'gtceu:macerator/macerate_chainmail_leggings'}) + e.remove({id: 'gtceu:macerator/macerate_chainmail_chestplate'}) + e.remove({id: 'gtceu:macerator/macerate_chainmail_helmet'}) + e.remove({id: 'minecraft:iron_nugget_from_smelting'}) + e.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'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_boots'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_leggings'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_chestplate'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_helmet'}) + e.remove({id: 'gtceu:macerator/macerate_iron_boots'}) + e.remove({id: 'gtceu:macerator/macerate_iron_leggings'}) + e.remove({id: 'gtceu:macerator/macerate_iron_chestplate'}) + e.remove({id: 'gtceu:macerator/macerate_iron_helmet'}) + e.remove({id: 'gtceu:shaped/iron_horse_armor'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_horse_armor'}) + e.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'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_boots'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_leggings'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_chestplate'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_helmet'}) + e.remove({id: 'gtceu:macerator/macerate_golden_boots'}) + e.remove({id: 'gtceu:macerator/macerate_golden_leggings'}) + e.remove({id: 'gtceu:macerator/macerate_golden_chestplate'}) + e.remove({id: 'gtceu:macerator/macerate_golden_helmet'}) + e.remove({id: 'gtceu:shaped/golden_horse_armor'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_horse_armor'}) + e.remove({id: 'gtceu:macerator/macerate_golden_horse_armor'}) + e.remove({id: 'minecraft:gold_nugget_from_smelting'}) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_boots'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_leggings'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_chestplate'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_helmet'}) + e.remove({id: 'gtceu:shaped/diamond_horse_armor'}) + e.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'}) + e.remove({id: 'minecraft:netherite_helmet_smithing'}) + e.remove({id: 'minecraft:netherite_chestplate_smithing'}) + e.remove({id: 'minecraft:netherite_leggings_smithing'}) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_wooden_sword'}) + e.remove({id: 'gtceu:macerator/macerate_wooden_pickaxe'}) + e.remove({id: 'gtceu:macerator/macerate_wooden_axe'}) + e.remove({id: 'gtceu:macerator/macerate_wooden_shovel'}) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_stone_sword'}) + e.remove({id: 'gtceu:macerator/macerate_stone_pickaxe'}) + e.remove({id: 'gtceu:macerator/macerate_stone_axe'}) + e.remove({id: 'gtceu:macerator/macerate_stone_shovel'}) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_iron_sword'}) + e.remove({id: 'gtceu:macerator/macerate_iron_pickaxe'}) + e.remove({id: 'gtceu:macerator/macerate_iron_axe'}) + e.remove({id: 'gtceu:macerator/macerate_iron_shovel'}) + e.remove({id: 'gtceu:macerator/macerate_iron_hoe'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_sword'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_pickaxe'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_axe'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_shovel'}) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_golden_sword'}) + e.remove({id: 'gtceu:macerator/macerate_golden_pickaxe'}) + e.remove({id: 'gtceu:macerator/macerate_golden_axe'}) + e.remove({id: 'gtceu:macerator/macerate_golden_shovel'}) + e.remove({id: 'gtceu:macerator/macerate_golden_hoe'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_sword'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_pickaxe'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_axe'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_shovel'}) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_sword'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_pickaxe'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_axe'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_shovel'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_hoe'}) + e.remove({id: 'gtceu:arc_furnace/arc_diamond_sword'}) + e.remove({id: 'gtceu:arc_furnace/arc_diamond_pickaxe'}) + e.remove({id: 'gtceu:arc_furnace/arc_diamond_axe'}) + e.remove({id: 'gtceu:arc_furnace/arc_diamond_shovel'}) + e.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'}) + e.remove({id: 'minecraft:netherite_sword_smithing'}) + e.remove({id: 'minecraft:netherite_pickaxe_smithing'}) + e.remove({id: 'minecraft:netherite_axe_smithing'}) + e.remove({id: 'minecraft:netherite_shovel_smithing'}) + e.remove({id: 'minecraft:netherite_hoe_smithing'}) //#endregion //#region Выход: Шаблоны брони - event.remove({ id: 'minecraft:coast_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:vex_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:host_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:rib_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:spire_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:tide_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:eye_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:raiser_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:wild_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:shaper_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:snout_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:dune_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) - event.remove({ id: 'minecraft:wayfinder_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:ward_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:silence_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:sentry_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:coast_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:vex_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:host_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:rib_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:spire_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:tide_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:eye_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:raiser_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:wild_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:shaper_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:snout_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:dune_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) + e.remove({ id: 'minecraft:wayfinder_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:ward_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:silence_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:sentry_armor_trim_smithing_template' }) //#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'}) + e.remove({id: 'minecraft:comparator'}) + e.remove({id: 'gtceu:shaped/comparator_quartzite'}) + e.remove({id: 'gtceu:shaped/comparator_certus'}) + e.remove({id: 'tfc:crafting/vanilla/redstone/comparator'}) // Компаратор - event.shaped('minecraft:comparator', [ + e.shaped('minecraft:comparator', [ ' A ', 'ABA', 'CCC' @@ -4557,7 +4547,7 @@ const registerMinecraftRecipes1 = (event) => { C: '#tfc:rock/smooth' }).id('tfg:shaped/comparator_certus'); - event.shaped('minecraft:comparator', [ + e.shaped('minecraft:comparator', [ ' A ', 'ABA', 'CCC' @@ -4567,7 +4557,7 @@ const registerMinecraftRecipes1 = (event) => { C: '#tfc:rock/smooth' }).id('tfg:shaped/comparator_quartzite'); - event.shaped('minecraft:comparator', [ + e.shaped('minecraft:comparator', [ ' A ', 'ABA', 'CCC' @@ -4581,18 +4571,18 @@ const registerMinecraftRecipes1 = (event) => { //#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'}) + e.remove({id: 'minecraft:tripwire_hook'}) + e.remove({id: 'tfc:crafting/vanilla/redstone/tripwire_hook'}) + e.remove({id: 'gtceu:assembler/tripwire_hook_wrought_iron'}) + e.remove({id: 'gtceu:assembler/tripwire_hook_iron'}) - event.shapeless('minecraft:tripwire_hook', [ + e.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') + e.recipes.gtceu.assembler('tripwire_hook') .itemInputs('#forge:rods/wood', '#forge:rings/wrought_iron', '#forge:small_springs') .itemOutputs('2x minecraft:tripwire_hook') .duration(100) @@ -4602,9 +4592,9 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Рамка - event.remove({ id: 'minecraft:item_frame' }) + e.remove({ id: 'minecraft:item_frame' }) - event.recipes.gtceu.assembler('item_frame') + e.recipes.gtceu.assembler('item_frame') .itemInputs('8x #tfc:lumber', 'minecraft:leather') .itemOutputs('8x minecraft:item_frame') .duration(100) @@ -4614,12 +4604,12 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Свето-рамка - event.shapeless('minecraft:glow_item_frame', [ + e.shapeless('minecraft:glow_item_frame', [ 'minecraft:item_frame', '#forge:dusts/glowstone' ]).id('minecraft:glow_item_frame') - event.recipes.gtceu.assembler('tfg/glow_item_frame') + e.recipes.gtceu.assembler('tfg/glow_item_frame') .itemInputs('2x minecraft:item_frame', '#forge:dusts/glowstone') .itemOutputs('2x minecraft:glow_item_frame') .duration(100) @@ -4629,7 +4619,7 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Картина - event.recipes.gtceu.assembler('painting') + e.recipes.gtceu.assembler('painting') .itemInputs('#tfc:high_quality_cloth','8x #forge:rods/wood') .itemOutputs('2x minecraft:painting') .circuit(1) @@ -4638,208 +4628,35 @@ const registerMinecraftRecipes1 = (event) => { //#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: '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' }) + e.remove({id: 'tfc:crafting/vanilla/flint_and_steel'}) + e.remove({id: 'ad_astra:recipes/flint_and_steel'}) //#endregion //#region Выход: Вагонетка с печью - event.remove({ id: 'minecraft:furnace_minecart' }) - event.remove({ id: 'gtceu:assembler/furnace_minecart' }) + e.remove({ id: 'minecraft:furnace_minecart' }) + e.remove({ id: 'gtceu:assembler/furnace_minecart' }) //#endregion //#region Выход: Повторитель - event.remove({id: 'minecraft:repeater'}) + e.remove({id: 'minecraft:repeater'}) //#endregion //#region Выход: Ведро - event.remove({id: 'gtceu:bender/bucket'}) - event.remove({id: 'gtceu:shaped/iron_bucket'}) + e.remove({id: 'gtceu:bender/bucket'}) + e.remove({id: 'gtceu:shaped/iron_bucket'}) - event.recipes.tfc.welding('minecraft:bucket', 'tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 6) + e.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') + e.recipes.gtceu.assembler('tfg:vanilla/bucket') .itemInputs('#forge:plates/red_steel', '#forge:plates/blue_steel') .circuit(6) .itemOutputs('minecraft:bucket') @@ -4850,21 +4667,21 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Седло - event.remove({id: 'gtceu:shaped/saddle'}) + e.remove({id: 'gtceu:shaped/saddle'}) //#endregion //#region Выход: Блок лазурита - event.remove({ id: 'tfc:crafting/vanilla/lapis_block' }) + e.remove({ id: 'tfc:crafting/vanilla/lapis_block' }) //#endregion //#region Выход: Вагонетка - event.remove({ id: 'minecraft:minecart' }) + e.remove({ id: 'minecraft:minecart' }) - event.shaped('minecraft:minecart', [ + e.shaped('minecraft:minecart', [ 'A A', 'AAA', 'B B' @@ -4873,7 +4690,7 @@ const registerMinecraftRecipes1 = (event) => { B: 'gtceu:iron_minecart_wheels' }).id('tfc:crafting/vanilla/redstone/minecart') - event.shaped('minecraft:minecart', [ + e.shaped('minecraft:minecart', [ 'A A', 'AAA', 'B B' @@ -4882,7 +4699,7 @@ const registerMinecraftRecipes1 = (event) => { B: 'gtceu:steel_minecart_wheels' }).id('tfc:crafting/vanilla/redstone/steel_minecart') - event.recipes.gtceu.assembler('minecart') + e.recipes.gtceu.assembler('minecart') .itemInputs('3x #forge:plates/wrought_iron', '3x #forge:rings/wrought_iron') .itemOutputs('minecraft:minecart') .duration(100) @@ -4890,40 +4707,19 @@ const registerMinecraftRecipes1 = (event) => { //#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' }) + e.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' }) + e.remove({ id: 'gtceu:assembler/hopper_iron' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_hopper' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/hopper' }) - event.shaped('minecraft:hopper', [ + e.shaped('minecraft:hopper', [ 'ABA', 'ACA', 'DAE' @@ -4939,19 +4735,19 @@ const registerMinecraftRecipes1 = (event) => { //#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' }) + e.remove({ id: 'minecraft:piston' }) + e.remove({ id: 'gtceu:shaped/piston_titanium' }) + e.remove({ id: 'gtceu:shaped/piston_steel' }) + e.remove({ id: 'gtceu:shaped/piston_bronze' }) + e.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' }) + e.remove({ id: 'gtceu:assembler/piston_titanium' }) + e.remove({ id: 'gtceu:assembler/piston_steel' }) + e.remove({ id: 'gtceu:assembler/piston_iron' }) + e.remove({ id: 'gtceu:assembler/piston_bronze' }) + e.remove({ id: 'gtceu:assembler/piston_aluminium' }) - event.recipes.gtceu.assembler('piston') + e.recipes.gtceu.assembler('piston') .itemInputs('#forge:plates/wrought_iron', '3x tfc:wood/planks/acacia', '4x #tfc:rock/raw') .itemOutputs('4x minecraft:piston') .duration(100) @@ -4961,92 +4757,19 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Кожа - event.remove({ id: 'minecraft:leather' }) - - //#endregion - - //#region Выход: Шерсть - - event.recipes.gtceu.assembler('wool_from_string') - .itemInputs('4x #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) - }) + e.remove({ id: 'minecraft:leather' }) //#endregion //#region Выход: Арбалет - event.remove({ id: 'minecraft:crossbow' }) + e.remove({ id: 'minecraft:crossbow' }) //#endregion //#region Выход: Лук - event.recipes.gtceu.assembler('bow') + e.recipes.gtceu.assembler('bow') .itemInputs('3x #forge:string', '3x #forge:rods/wooden') .itemOutputs('minecraft:bow') .duration(100) @@ -5056,21 +4779,21 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Наблюдатель - event.remove({ id: 'minecraft:observer' }) + e.remove({ id: 'minecraft:observer' }) - event.recipes.gtceu.assembler('observer_certus_quartz') + e.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') + e.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') + e.recipes.gtceu.assembler('observer_quartzite') .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/quartzite') .itemOutputs('minecraft:observer') .duration(100) @@ -5080,7 +4803,7 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Раздатчик - event.recipes.gtceu.assembler('dispenser') + e.recipes.gtceu.assembler('dispenser') .itemInputs('7x #forge:cobblestone', 'minecraft:redstone', 'minecraft:bow') .circuit(1) .itemOutputs('minecraft:dispenser') @@ -5091,7 +4814,7 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Выбрасыватель - event.recipes.gtceu.assembler('dropper') + e.recipes.gtceu.assembler('dropper') .itemInputs('7x #forge:cobblestone', '2x minecraft:redstone') .circuit(2) .itemOutputs('minecraft:dropper') @@ -5102,9 +4825,9 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Рельсы - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_rail' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_rail' }) - event.recipes.gtceu.assembler('rail') + e.recipes.gtceu.assembler('rail') .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden') .circuit(1) .itemOutputs('32x minecraft:rail') @@ -5115,9 +4838,9 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Заряженные рельсы - event.remove({ id: 'minecraft:powered_rail' }) + e.remove({ id: 'minecraft:powered_rail' }) - event.recipes.gtceu.assembler('powered_rail') + e.recipes.gtceu.assembler('powered_rail') .itemInputs('6x #forge:rods/gold', '2x #forge:rods/wooden', '#forge:dusts/redstone') .circuit(1) .itemOutputs('16x minecraft:powered_rail') @@ -5128,10 +4851,10 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Активаторные рельсы - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_activator_rail' }) - event.remove({ id: 'minecraft:activator_rail' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_activator_rail' }) + e.remove({ id: 'minecraft:activator_rail' }) - event.recipes.gtceu.assembler('activator_rail') + e.recipes.gtceu.assembler('activator_rail') .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden', 'minecraft:redstone_torch') .circuit(1) .itemOutputs('4x minecraft:activator_rail') @@ -5142,10 +4865,10 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Нажимные рельсы - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_detector_rail' }) - event.remove({ id: 'minecraft:detector_rail' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_detector_rail' }) + e.remove({ id: 'minecraft:detector_rail' }) - event.recipes.gtceu.assembler('detector_rail') + e.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') @@ -5156,9 +4879,9 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Веревка - event.remove({ id: 'gtceu:assembler/lead' }) + e.remove({ id: 'gtceu:assembler/lead' }) - event.shaped('minecraft:lead', [ + e.shaped('minecraft:lead', [ ' AA', ' BA', 'A ' @@ -5169,61 +4892,38 @@ const registerMinecraftRecipes1 = (event) => { //#endregion - //#region Выход: Варочная стойка - - event.remove({ id: 'minecraft:brewing_stand' }) - - //#endregion - //#region Выход: Кирпич - event.remove({ id: 'minecraft:brick' }) + // e.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' }) + // e.shaped('minecraft:bricks', [ + // 'BAB', + // 'ABA', + // 'BAB' + // ], { + // A: 'tfc:mortar', + // B: 'minecraft:brick' + // }).id('tfc:crafting/bricks') //#endregion //#region Выход: Якорь возрождения - event.remove({ id: 'minecraft:respawn_anchor' }) + e.remove({ id: 'minecraft:respawn_anchor' }) //#endregion //#region Выход: Элитра // Ну и херь я придумал - event.recipes.gtceu.assembler('tfg:minecraft/elytra') + e.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') + e.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}'}}")) @@ -5231,38 +4931,4 @@ const registerMinecraftRecipes1 = (event) => { .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 } \ No newline at end of file From 49e0ffdc696984d007e3788a130171f063cdfab9 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 25 Sep 2024 12:12:57 +0700 Subject: [PATCH 090/266] Update recipes.js --- kubejs/server_scripts/minecraft/recipes.js | 338 +++++++++++++-------- 1 file changed, 213 insertions(+), 125 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index e23606b4c..f44b40ab5 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3519,6 +3519,216 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'tfc:crafting/vanilla/lightning_rod' }) //#endregion + //#region Декоративная ваза + e.remove({ id: 'minecraft:decorated_pot_simple' }) + + e.shaped('minecraft:decorated_pot', [ + ' A ', + 'AfA', + ' A ', + ], { + A: 'minecraft:brick', + f: '#forge:tools/files' + }).id('tfg:workbench/decorated_pot') + + e.recipes.gtceu.assembler('tfg:decorated_pot') + .itemInputs('4x minecraft:brick') + .circuit(12) + .itemOutputs('minecraft:cauldron') + .EUt(3).duration(120) + //#endregion + + //#region Стойка для брони + e.remove({ id: 'tfc:crafting/vanilla/armor_stand' }) + e.remove({ id: 'tfc:crafting/vanilla/armor_stand_bulk' }) + e.remove({ id: 'gtceu:shaped/armor_stand' }) + e.remove({ id: 'gtceu:assembler/armor_stand' }) + + e.shaped('minecraft:armor_stand', [ + 'ABA', + 'hBs', + 'CDC' + ], { + A: 'gtceu:wood_bolt', + B: '#forge:rods/wooden', + C: '#tfg:all_iron_plates', + D: '#forge:smooth_stone_slab', + h: '#forge:tools/hammers', + s: '#forge:tools/saws' + }).id('tfg:workbench/cauldron') + + e.recipes.gtceu.assembler('tfg:cauldron') + .itemInputs('#forge:smooth_stone_slab', '2x #forge:rods/wooden', '2x #tfg:all_iron_plates') + .circuit(7) + .itemOutputs('minecraft:armor_stand') + .EUt(7).duration(100) + //#endregion + + //#region Рамка + e.remove({ id: 'gtceu:shaped/item_frame' }) + e.remove({ id: 'tfc:crafting/vanilla/item_frame' }) + e.remove({ id: 'gtceu:assembler/item_frame' }) + + e.shaped('minecraft:item_frame', [ + 'ABA', + 'CDC', + 'CCC', + ], { + A: '#forge:string', + B: '#tfg:all_iron_rings', + C: '#forge:rods/wooden', + D: '#forge:leather', + }).id('tfg:workbench/item_frame') + + e.recipes.gtceu.assembler('tfg:item_frame') + .itemInputs('8x #forge:rods/wooden', '#forge:leather') + .itemOutputs('minecraft:item_frame') + .EUt(4).duration(100) + //#endregion + + //#region Свето-рамка + e.remove({ id: 'minecraft:glow_item_frame' }) + + e.shapeless('minecraft:glow_item_frame', [ + 'minecraft:item_frame', + '#forge:dusts/glowstone' + ]).id('tfg:workbench/glow_item_frame') + + e.recipes.gtceu.assembler('tfg:glow_item_frame') + .itemInputs('2x minecraft:item_frame', '#forge:dusts/glowstone') + .itemOutputs('2x minecraft:glow_item_frame') + .EUt(4).duration(100) + //#endregion + + //#region Картина + e.remove({ id: 'gtceu:shaped/painting' }) + e.remove({ id: 'tfc:crafting/vanilla/painting' }) + + e.shaped('minecraft:painting', [ + 'ABA', + 'CDC', + 'CCC', + ], { + A: '#forge:string', + B: '#tfg:all_iron_rings', + C: '#forge:rods/wooden', + D: '#tfc:high_quality_cloth', + }).id('tfg:workbench/painting') + //#endregion + + //#region Книжные полки + e.remove({ id: 'gtceu:assembler/bookshelf' }) + //#endregion + + //#region Резные книжные полки + e.remove({ id: 'gtceu:assembler/chiseled_bookshelf' }) + //#endregion + + //#region Трибуна + e.remove({ id: 'gtceu:shaped/lectern' }) + e.remove({ id: 'tfc:crafting/vanilla/lectern' }) + e.remove({ id: 'gtceu:assembler/lectern' }) + //#endregion + + //#region Сундук + e.remove({ id: 'gtceu:shaped/chest' }) + e.remove({ id: 'gtceu:assembler/chest' }) + //#endregion + + //#region Бочка + e.remove({ id: 'gtceu:shaped/barrel' }) + e.remove({ id: 'gtceu:assembler/barrel' }) + //#endregion + + //#region Выход: Якорь возрождения + e.remove({ id: 'minecraft:respawn_anchor' }) + //#endregion + + //#region Голова игрока + e.remove({ id: 'computercraft:skull_dan200' }) + e.remove({ id: 'computercraft:skull_cloudy' }) + //#endregion + + //#region Инфецированные камни + e.remove({ id: 'create:haunting/infested_stone' }) + e.remove({ id: 'create:haunting/infested_cobblestone' }) + e.remove({ id: 'create:haunting/infested_stone_bricks' }) + e.remove({ id: 'create:haunting/infested_mossy_stone_bricks' }) + e.remove({ id: 'create:haunting/infested_cracked_stone_bricks' }) + e.remove({ id: 'create:haunting/infested_chiseled_stone_bricks' }) + e.remove({ id: 'create:haunting/infested_deepslate' }) + //#endregion + + //#region Редстоун + e.remove({ id: 'minecraft:redstone_from_smelting_redstone_ore' }) + e.remove({ id: 'minecraft:redstone_from_smelting_deepslate_redstone_ore' }) + + e.remove({ id: 'minecraft:redstone_from_blasting_redstone_ore' }) + e.remove({ id: 'minecraft:redstone_from_blasting_deepslate_redstone_ore' }) + //#endregion + + //#region Повторитель + e.remove({ id: 'gtceu:shaped/repeater' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/repeater' }) + + e.shaped('minecraft:repeater', [ + 'A A', + 'BsB', + 'CDC', + ], { + A: '#tfg:all_iron_screws', + B: 'minecraft:redstone_torch', + C: '#minecraft:stone_pressure_plates', + D: '#tfc:high_quality_cloth', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/repeater') + //#endregion + + //#region Компаратор + e.remove({ id: 'tfc:crafting/vanilla/redstone/comparator' }) + e.remove({ id: 'gtceu:shaped/comparator' }) + e.remove({ id: 'gtceu:shaped/comparator_certus' }) + e.remove({ id: 'gtceu:shaped/comparator_quartzite' }) + + e.shaped('minecraft:comparator', [ + 'DAD', + 'ABA', + 'CsC' + ], { + A: 'minecraft:redstone_torch', + B: '#forge:plates/certus_quartz', + C: '#minecraft:stone_pressure_plates', + D: '#tfg:all_iron_screws', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/comparator_certus'); + + e.shaped('minecraft:comparator', [ + 'DAD', + 'ABA', + 'CCC' + ], { + A: 'minecraft:redstone_torch', + B: '#forge:plates/quartzite', + C: '#minecraft:stone_pressure_plates', + D: '#tfg:all_iron_screws', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/comparator_quartzite'); + + e.shaped('minecraft:comparator', [ + 'DAD', + 'ABA', + 'CCC' + ], { + A: 'minecraft:redstone_torch', + B: '#forge:plates/nether_quartz', + C: '#minecraft:stone_pressure_plates', + D: '#tfg:all_iron_screws', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/comparator_nether_quartz'); + + //#endregion + + @@ -3598,15 +3808,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Редстоун - - e.remove({ id: 'minecraft:redstone_from_smelting_redstone_ore' }) - e.remove({ id: 'minecraft:redstone_from_smelting_deepslate_redstone_ore' }) - e.remove({ id: 'minecraft:redstone_from_blasting_redstone_ore' }) - e.remove({ id: 'minecraft:redstone_from_blasting_deepslate_redstone_ore' }) - - //#endregion //#region Выход: Изумруды @@ -4120,11 +4322,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Сундук - - e.remove({ id: 'gtceu:assembler/chest' }) - - //#endregion + //#region Выход: Удочки @@ -4244,24 +4442,6 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Декор ваза - - e.remove({ id: 'minecraft:decorated_pot_simple' }) - - //#endregion - - //#region Выход: Резные книжные полки - - e.remove({ id: 'minecraft:chiseled_bookshelf' }) - - //#endregion - - //#region Выход: Книжные полки - - e.remove({ id: 'gtceu:assembler/bookshelf' }) - - //#endregion - //#region Выход: Кисточка e.remove({ id: 'minecraft:brush' }) @@ -4278,12 +4458,6 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Трибуна - - e.remove({ id: 'tfc:crafting/vanilla/lectern' }) - - //#endregion - //#region Выход: Золотое яблоко e.remove({ id: 'minecraft:golden_apple' }) @@ -4529,45 +4703,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Компаратор - - e.remove({id: 'minecraft:comparator'}) - e.remove({id: 'gtceu:shaped/comparator_quartzite'}) - e.remove({id: 'gtceu:shaped/comparator_certus'}) - e.remove({id: 'tfc:crafting/vanilla/redstone/comparator'}) - - // Компаратор - e.shaped('minecraft:comparator', [ - ' A ', - 'ABA', - 'CCC' - ], { - A: 'minecraft:redstone_torch', - B: '#forge:gems/certus_quartz', - C: '#tfc:rock/smooth' - }).id('tfg:shaped/comparator_certus'); - - e.shaped('minecraft:comparator', [ - ' A ', - 'ABA', - 'CCC' - ], { - A: 'minecraft:redstone_torch', - B: '#forge:gems/quartzite', - C: '#tfc:rock/smooth' - }).id('tfg:shaped/comparator_quartzite'); - - e.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 Выход: Крюк @@ -4590,44 +4726,6 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Рамка - - e.remove({ id: 'minecraft:item_frame' }) - - e.recipes.gtceu.assembler('item_frame') - .itemInputs('8x #tfc:lumber', 'minecraft:leather') - .itemOutputs('8x minecraft:item_frame') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Свето-рамка - - e.shapeless('minecraft:glow_item_frame', [ - 'minecraft:item_frame', - '#forge:dusts/glowstone' - ]).id('minecraft:glow_item_frame') - - e.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 Выход: Картина - - e.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 Выход: Огниво e.remove({id: 'tfc:crafting/vanilla/flint_and_steel'}) @@ -4642,11 +4740,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Повторитель - - e.remove({id: 'minecraft:repeater'}) - - //#endregion + //#region Выход: Ведро @@ -4907,12 +5001,6 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Якорь возрождения - - e.remove({ id: 'minecraft:respawn_anchor' }) - - //#endregion - //#region Выход: Элитра // Ну и херь я придумал From 1044e17f00d5aa26b1571afedfaf5569daa4f3b9 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 27 Sep 2024 09:35:06 +0700 Subject: [PATCH 091/266] update gt to 1.4.4 --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index be515ade0..1a14003d7 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit be515ade060f077bbb5ec955bca01991e7d92cfc +Subproject commit 1a14003d7a5b751f5998a728e7a1f36609e52b3c From e74db6f7d088d833a1e565bf36c8fc3496928a2f Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 27 Sep 2024 09:39:07 +0700 Subject: [PATCH 092/266] update gcyr --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index 1a14003d7..689e8ef0c 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 1a14003d7a5b751f5998a728e7a1f36609e52b3c +Subproject commit 689e8ef0c86a1d6520431820e0d09edb62982f3d From d6b7e4128cc54b29ee9904e5dcd42b3f2862c376 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 27 Sep 2024 10:04:50 +0700 Subject: [PATCH 093/266] Update tags.js --- kubejs/server_scripts/gregtech/tags.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 8bd97886a..726604c3e 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -79,6 +79,12 @@ const registerGregTechItemTags = (event) => { event.add('tfg:all_iron_rings', 'gtceu:iron_ring') event.add('tfg:all_iron_rings', 'gtceu:wrought_iron_ring') + event.add('tfg:all_iron_small_gears', 'gtceu:small_iron_gear') + event.add('tfg:all_iron_small_gears', 'gtceu:small_wrought_iron_gear') + + event.add('tfg:all_iron_rods', 'gtceu:iron_rod') + event.add('tfg:all_iron_rods', 'gtceu:wrought_iron_rod') + event.add('tfg:all_iron_bolts', 'gtceu:iron_bolt') event.add('tfg:all_iron_bolts', 'gtceu:wrought_iron_bolt') From 88d0bc736491c8f3b940ae72809821f0af204d6d Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 27 Sep 2024 10:04:54 +0700 Subject: [PATCH 094/266] Update recipes.js --- kubejs/server_scripts/minecraft/recipes.js | 169 +++++++++++++-------- 1 file changed, 109 insertions(+), 60 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index f44b40ab5..f65ba95a9 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3332,7 +3332,7 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'create:haunting/soul_lantern' }) e.recipes.create.haunting('minecraft:soul_lantern', '#tfc:lamps') - .id('tfg:haunting/soul_torch') + .id('tfg:haunting/soul_lantern') //#endregion //#region Стержень энда @@ -3555,9 +3555,9 @@ const registerMinecraftRecipes = (e) => { D: '#forge:smooth_stone_slab', h: '#forge:tools/hammers', s: '#forge:tools/saws' - }).id('tfg:workbench/cauldron') + }).id('tfg:workbench/armor_stand') - e.recipes.gtceu.assembler('tfg:cauldron') + e.recipes.gtceu.assembler('tfg:armor_stand') .itemInputs('#forge:smooth_stone_slab', '2x #forge:rods/wooden', '2x #tfg:all_iron_plates') .circuit(7) .itemOutputs('minecraft:armor_stand') @@ -3700,7 +3700,7 @@ const registerMinecraftRecipes = (e) => { C: '#minecraft:stone_pressure_plates', D: '#tfg:all_iron_screws', s: '#forge:tools/screwdrivers', - }).id('tfg:workbench/comparator_certus'); + }).id('tfg:workbench/comparator_certus') e.shaped('minecraft:comparator', [ 'DAD', @@ -3712,7 +3712,7 @@ const registerMinecraftRecipes = (e) => { C: '#minecraft:stone_pressure_plates', D: '#tfg:all_iron_screws', s: '#forge:tools/screwdrivers', - }).id('tfg:workbench/comparator_quartzite'); + }).id('tfg:workbench/comparator_quartzite') e.shaped('minecraft:comparator', [ 'DAD', @@ -3724,22 +3724,123 @@ const registerMinecraftRecipes = (e) => { C: '#minecraft:stone_pressure_plates', D: '#tfg:all_iron_screws', s: '#forge:tools/screwdrivers', - }).id('tfg:workbench/comparator_nether_quartz'); + }).id('tfg:workbench/comparator_nether_quartz') //#endregion + //#region Калиброванный скалк сенсер + e.remove({ id: 'minecraft:calibrated_sculk_sensor' }) + e.remove({ id: 'gtceu:assembler/calibrated_sculk_sensor' }) + //#endregion + //#region Крюк + e.remove({ id: 'tfc:crafting/vanilla/redstone/tripwire_hook' }) + e.remove({ id: 'gtceu:shaped/tripwire_hook' }) + e.remove({ id: 'gtceu:assembler/tripwire_hook_wrought_iron' }) + e.remove({ id: 'gtceu:assembler/tripwire_hook_iron' }) + e.shaped('minecraft:tripwire_hook', [ + 'ABA', + 'CBC', + ' C ' + ], { + A: '#tfg:all_iron_rings', + B: '#forge:rods/wooden', + C: '#forge:string', + }).id('tfg:workbench/tripwire_hook') + e.shapeless('', [ + '#forge:rings/wrought_iron', + '#forge:small_springs' + ]).id('tfg:shaped/tripwire_hook') + e.recipes.gtceu.assembler('tfg:tripwire_hook') + .itemInputs('2x #tfg:all_iron_rings', '2x #forge:rods/wooden') + .itemOutputs('minecraft:tripwire_hook') + .EUt(4).duration(100) + //#endregion + //#region Нить + e.remove({ id: 'create:crushing/diamond_horse_armor' }) + e.remove({ id: 'create:crushing/golden_horse_armor' }) + e.remove({ id: 'create:crushing/iron_horse_armor' }) + e.remove({ id: 'create:crushing/wool' }) + //#endregion + //#region Детектор света + e.remove({ id: 'tfc:crafting/vanilla/redstone/daylight_detector' }) + //#endregion + //#region Поршень + e.remove({ id: 'tfc:crafting/vanilla/redstone/piston' }) + e.remove({ id: 'gtceu:shaped/piston_iron' }) + e.remove({ id: 'gtceu:assembler/piston_iron' }) + + e.shaped('minecraft:piston', [ + 'AAA', + 'BCB', + 'DED' + ], { + A: '#minecraft:planks', + B: '#tfg:all_iron_small_gears', + C: '#minecraft:wooden_fences', + D: '#forge:cobblestone', + E: 'gtceu:red_alloy_plate', + }).id('tfg:workbench/piston') + e.recipes.gtceu.assembler('tfg:piston_iron') + .itemInputs('#tfg:all_iron_rods', '#tfg:all_iron_small_gears', '#minecraft:wooden_slabs', '#forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 144)) + .itemOutputs('minecraft:piston') + .EUt(7).duration(140) + e.recipes.gtceu.assembler('tfg:unsticky_piston') + .itemInputs('minecraft:sticky_piston') + .circuit(0) + .itemOutputs('minecraft:piston') + .EUt(7).duration(20) + //#endregion + //#region Липкий поршень + e.remove({ id: 'tfc:crafting/vanilla/redstone/sticky_piston' }) + e.shaped('minecraft:sticky_piston', [ + 'A', + 'B', + 'C' + ], { + A: '#forge:tools/hammers', + B: 'gtceu:sticky_resin', + C: 'minecraft:piston' + }).id('tfg:workbench/sticky_piston_from_sticky_resin') + + e.shaped('minecraft:sticky_piston', [ + 'A', + 'B', + 'C' + ], { + A: '#forge:tools/hammers', + B: 'tfc:glue', + C: 'minecraft:piston' + }).id('tfg:workbench/sticky_piston_from_tfc_glue') + + e.recipes.gtceu.assembler('tfg:sticky_piston_from_tfc_glue') + .itemInputs('minecraft:piston', 'tfc:glue') + .itemOutputs('minecraft:sticky_piston') + .EUt(4).duration(100) + //#endregion + + //#region Выход: Раздатчик + + // e.recipes.gtceu.assembler('dispenser') + // .itemInputs('7x #forge:cobblestone', 'minecraft:redstone', 'minecraft:bow') + // .circuit(1) + // .itemOutputs('minecraft:dispenser') + // .duration(100) + // .EUt(30) + + //#endregion //#region 1 //e.remove({ id: '' }) @@ -4705,26 +4806,7 @@ const registerMinecraftRecipes1 = (e) => { - //#region Выход: Крюк - - e.remove({id: 'minecraft:tripwire_hook'}) - e.remove({id: 'tfc:crafting/vanilla/redstone/tripwire_hook'}) - e.remove({id: 'gtceu:assembler/tripwire_hook_wrought_iron'}) - e.remove({id: 'gtceu:assembler/tripwire_hook_iron'}) - - e.shapeless('minecraft:tripwire_hook', [ - '#forge:rods/wood', - '#forge:rings/wrought_iron', - '#forge:small_springs' - ]).id('tfg:shaped/tripwire_hook') - - e.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 Выход: Огниво @@ -4801,11 +4883,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Детектор света - e.remove({ id: 'tfc:crafting/vanilla/redstone/daylight_detector' }) - - //#endregion //#region Выход: Воронка @@ -4827,27 +4905,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Поршень - e.remove({ id: 'minecraft:piston' }) - e.remove({ id: 'gtceu:shaped/piston_titanium' }) - e.remove({ id: 'gtceu:shaped/piston_steel' }) - e.remove({ id: 'gtceu:shaped/piston_bronze' }) - e.remove({ id: 'gtceu:shaped/piston_aluminium' }) - - e.remove({ id: 'gtceu:assembler/piston_titanium' }) - e.remove({ id: 'gtceu:assembler/piston_steel' }) - e.remove({ id: 'gtceu:assembler/piston_iron' }) - e.remove({ id: 'gtceu:assembler/piston_bronze' }) - e.remove({ id: 'gtceu:assembler/piston_aluminium' }) - - e.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 Выход: Кожа @@ -4895,16 +4953,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Раздатчик - - e.recipes.gtceu.assembler('dispenser') - .itemInputs('7x #forge:cobblestone', 'minecraft:redstone', 'minecraft:bow') - .circuit(1) - .itemOutputs('minecraft:dispenser') - .duration(100) - .EUt(30) - - //#endregion + //#region Выход: Выбрасыватель From d7f62ecd55ae33f79fd3bed052b5e5a4b71079d4 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 28 Sep 2024 13:54:16 +0700 Subject: [PATCH 095/266] vanilla recipes 98% --- kubejs/server_scripts/gregtech/recipes.js | 7 +- kubejs/server_scripts/gregtech/tags.js | 11 + kubejs/server_scripts/minecraft/recipes.js | 2493 +++++++++++--------- kubejs/server_scripts/tfc/tags.js | 5 + 4 files changed, 1349 insertions(+), 1167 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 9593b9500..a957b6453 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1885,15 +1885,16 @@ const registerGregTechRecipes1 = (event) => { // TODO: Удалить после фикса GTCEu event.remove({ id: 'gtceu:extractor/extract_raw_rubber_dust' }) - // Пыль звезды незера - // TODO: удалить после имплементации ада - event.recipes.gtceu.chemical_reactor('tfg:gtceu/nether_star_dust') + //#region Пыль звезды незера + // TODO: Нужно ли удалять? + event.recipes.gtceu.chemical_reactor('tfg:nether_star_dust') .itemInputs('2x #forge:dusts/iridium', '#forge:dusts/diamond') .circuit(10) .itemOutputs('gtceu:nether_star_dust') .inputFluids(Fluid.of('gtceu:sulfur_dioxide', 6000), Fluid.of('gtceu:carbon_monoxide', 8000)) .duration(700) .EUt(2720) + //#endregion // Creosote-Treated Wood Planks -> Treated Wood Pulp event.recipes.gtceu.macerator('tfg:gtceu/macerate_treated_wood_planks') diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 726604c3e..555434e6c 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -82,9 +82,15 @@ const registerGregTechItemTags = (event) => { event.add('tfg:all_iron_small_gears', 'gtceu:small_iron_gear') event.add('tfg:all_iron_small_gears', 'gtceu:small_wrought_iron_gear') + event.add('tfg:all_iron_small_springs', 'gtceu:small_iron_spring') + event.add('tfg:all_iron_small_springs', 'gtceu:small_wrought_iron_spring') + event.add('tfg:all_iron_rods', 'gtceu:iron_rod') event.add('tfg:all_iron_rods', 'gtceu:wrought_iron_rod') + event.add('tfg:all_iron_gears', 'gtceu:iron_gear') + event.add('tfg:all_iron_gears', 'gtceu:wrought_iron_gear') + event.add('tfg:all_iron_bolts', 'gtceu:iron_bolt') event.add('tfg:all_iron_bolts', 'gtceu:wrought_iron_bolt') @@ -95,6 +101,11 @@ const registerGregTechItemTags = (event) => { event.add('tfg:all_iron_nuggets', 'gtceu:wrought_iron_nugget') //#endregion + //#region Объединение стеклянных линз ТФК и ГТ + event.add('tfg:all_glass_lenses', 'gtceu:glass_lens') + event.add('tfg:all_glass_lenses', 'rfc:lens') + //#endregion + //#region Скрываем все руды (не используем #forge:ores, потому что будет пересечение) event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/red_granite') //todo: может его удалить? event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/marble') diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index f65ba95a9..b05902b6f 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -2588,6 +2588,10 @@ const registerMinecraftRecipes = (e) => { //#endregion + //#region Блок лазурита + e.remove({ id: 'tfc:crafting/vanilla/lapis_block' }) + //#endregion + //#region Сырой Кварц //#region Блок @@ -2854,6 +2858,113 @@ const registerMinecraftRecipes = (e) => { //#endregion + // 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] + + // e.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) + + // e.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) + + // e.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) + + // e.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] + + // e.recipes.gtceu.assembler(`tfg:minecraft/waxing_block_${element.name}`) + // .itemInputs(element2.block, 'firmalife:beeswax') + // .circuit(1) + // .itemOutputs(element.block) + // .duration(50) + // .EUt(4) + + // e.recipes.gtceu.assembler(`tfg:minecraft/waxing_cutted_${element.name}`) + // .itemInputs(element2.cutted, 'firmalife:beeswax') + // .circuit(1) + // .itemOutputs(element.cutted) + // .duration(50) + // .EUt(4) + + // e.recipes.gtceu.assembler(`tfg:minecraft/waxing_stairs_${element.name}`) + // .itemInputs(element2.stairs, 'firmalife:beeswax') + // .circuit(1) + // .itemOutputs(element.stairs) + // .duration(50) + // .EUt(4) + + // e.recipes.gtceu.assembler(`tfg:minecraft/waxing_slabs_${element.name}`) + // .itemInputs(element2.slabs, 'firmalife:beeswax') + // .circuit(1) + // .itemOutputs(element.slabs) + // .duration(50) + // .EUt(4) + + // } + + // // Обрезанный блок + + // e.stonecutting(element.cutted, element.block) + // .id(`tfg:stonecutting/cutted_${element.name}`) + + // generateCutterRecipe(e, element.block, 4, element.cutted, 100, 8, `cutted_${element.name}`) + + // // Not working, because JS is shit! + // // e.recipes.tfc.chisel(element.cutted, element.block, 'smooth') + // // .id(`tfg:chisel/cutted_${element.name}`) + + // // Ступени + + // e.stonecutting(element.stairs, element.cutted) + // .id(`tfg:stonecutting/stairs_${element.name}`) + + // generateCutterRecipe(e, element.cutted, 0, [element.stairs, 'gtceu:small_copper_dust'], 100, 8, `stairs_${element.name}`) + + // // Not working, because JS is shit! + // // e.recipes.tfc.chisel(element.stair, element.cutted, 'stair') + // // .id(`tfg:chisel/stair_${element.name}`) + + // // Полублоки + + // e.stonecutting(element.slabs, element.cutted) + // .id(`tfg:stonecutting/slabs_${element.name}`) + + // generateCutterRecipe(e, element.cutted, 1, [element.slabs, '2x gtceu:small_copper_dust'], 100, 8, `slabs_${element.name}`) + + // // Not working, because JS is shit! + // // e.recipes.tfc.chisel(element.slab, element.cutted, 'slab') + // // .id(`tfg:chisel/slab_${element.name}`) + + // } + //#endregion //#region Шерсть @@ -2984,6 +3095,11 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'gtceu:create_mixer/mud' }) //#endregion + //#region Мангровые корни в грязи + e.remove({ id: 'minecraft:muddy_mangrove_roots' }) + + //#endregion + //#region Глина e.remove({ id: 'gtceu:compressor/mud_to_clay' }) //#endregion @@ -3749,11 +3865,6 @@ const registerMinecraftRecipes = (e) => { C: '#forge:string', }).id('tfg:workbench/tripwire_hook') - e.shapeless('', [ - '#forge:rings/wrought_iron', - '#forge:small_springs' - ]).id('tfg:shaped/tripwire_hook') - e.recipes.gtceu.assembler('tfg:tripwire_hook') .itemInputs('2x #tfg:all_iron_rings', '2x #forge:rods/wooden') .itemOutputs('minecraft:tripwire_hook') @@ -3776,6 +3887,10 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'tfc:crafting/vanilla/redstone/piston' }) e.remove({ id: 'gtceu:shaped/piston_iron' }) e.remove({ id: 'gtceu:assembler/piston_iron' }) + e.remove({ id: 'gtceu:assembler/piston_stainless_steel' }) + e.remove({ id: 'gtceu:assembler/piston_steel' }) + e.remove({ id: 'gtceu:assembler/piston_aluminium' }) + e.remove({ id: 'gtceu:assembler/piston_titanium' }) e.shaped('minecraft:piston', [ 'AAA', @@ -3795,11 +3910,29 @@ const registerMinecraftRecipes = (e) => { .itemOutputs('minecraft:piston') .EUt(7).duration(140) - e.recipes.gtceu.assembler('tfg:unsticky_piston') - .itemInputs('minecraft:sticky_piston') - .circuit(0) - .itemOutputs('minecraft:piston') - .EUt(7).duration(20) + e.recipes.gtceu.assembler('tfg:piston_steel') + .itemInputs('gtceu:steel_rod', 'gtceu:small_steel_gear', '2x #minecraft:wooden_slabs', '2x #forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 288)) + .itemOutputs('2x minecraft:piston') + .EUt(12).duration(140) + + e.recipes.gtceu.assembler('tfg:piston_aluminium') + .itemInputs('gtceu:aluminium_rod', 'gtceu:small_aluminium_gear', '4x #minecraft:wooden_slabs', '4x #forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 432)) + .itemOutputs('4x minecraft:piston') + .EUt(30).duration(140) + + e.recipes.gtceu.assembler('tfg:piston_stainless_steel') + .itemInputs('gtceu:stainless_steel_rod', 'gtceu:small_stainless_steel_gear', '8x #minecraft:wooden_slabs', '8x #forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 576)) + .itemOutputs('8x minecraft:piston') + .EUt(30).duration(600) + + e.recipes.gtceu.assembler('tfg:piston_titanium') + .itemInputs('gtceu:titanium_rod', 'gtceu:small_titanium_gear', '16x #minecraft:wooden_slabs', '16x #forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 1152)) + .itemOutputs('16x minecraft:piston') + .EUt(30).duration(800) //#endregion //#region Липкий поршень @@ -3826,1070 +3959,53 @@ const registerMinecraftRecipes = (e) => { }).id('tfg:workbench/sticky_piston_from_tfc_glue') e.recipes.gtceu.assembler('tfg:sticky_piston_from_tfc_glue') - .itemInputs('minecraft:piston', 'tfc:glue') + .itemInputs('tfc:glue', 'minecraft:piston') .itemOutputs('minecraft:sticky_piston') .EUt(4).duration(100) //#endregion - //#region Выход: Раздатчик + //#region Раздатчик + e.remove({ id: 'gtceu:shaped/dispenser' }) + e.remove({ id: 'gtceu:assembler/dispenser' }) - // e.recipes.gtceu.assembler('dispenser') - // .itemInputs('7x #forge:cobblestone', 'minecraft:redstone', 'minecraft:bow') - // .circuit(1) - // .itemOutputs('minecraft:dispenser') - // .duration(100) - // .EUt(30) - - //#endregion - - //#region 1 - //e.remove({ id: '' }) - //#endregion -} - -const registerMinecraftRecipes1 = (e) => { - - //#region Выход: Уголь - - e.remove({ id: 'minecraft:coal_from_smelting_coal_ore' }) - e.remove({ id: 'minecraft:coal_from_smelting_deepslate_coal_ore' }) - - e.remove({ id: 'minecraft:coal_from_blasting_coal_ore' }) - e.remove({ id: 'minecraft:coal_from_blasting_deepslate_coal_ore' }) - - //#endregion - - //#region Выход: Медь - - e.remove({ id: 'minecraft:copper_ingot_from_smelting_copper_ore' }) - e.remove({ id: 'minecraft:copper_ingot_from_smelting_deepslate_copper_ore' }) - - e.remove({ id: 'minecraft:copper_ingot_from_blasting_copper_ore' }) - e.remove({ id: 'minecraft:copper_ingot_from_blasting_deepslate_copper_ore' }) - - //#endregion - - //#region Выход: Железо - - e.remove({ id: 'minecraft:iron_ingot_from_smelting_iron_ore' }) - e.remove({ id: 'minecraft:iron_ingot_from_smelting_deepslate_iron_ore' }) - - e.remove({ id: 'minecraft:iron_ingot_from_blasting_iron_ore' }) - e.remove({ id: 'minecraft:iron_ingot_from_blasting_deepslate_iron_ore' }) - - //#endregion - - //#region Выход: Лазурит - - e.remove({ id: 'minecraft:lapis_lazuli_from_smelting_lapis_ore' }) - e.remove({ id: 'minecraft:lapis_lazuli_from_smelting_deepslate_lapis_ore' }) - - e.remove({ id: 'minecraft:lapis_lazuli_from_blasting_lapis_ore' }) - e.remove({ id: 'minecraft:lapis_lazuli_from_blasting_deepslate_lapis_ore' }) - - //#endregion - - //#region Выход: Золото - - e.remove({ id: 'minecraft:gold_ingot_from_smelting_gold_ore' }) - e.remove({ id: 'minecraft:gold_ingot_from_smelting_deepslate_gold_ore' }) - e.remove({ id: 'minecraft:gold_ingot_from_smelting_nether_gold_ore' }) - - e.remove({ id: 'minecraft:gold_ingot_from_blasting_gold_ore' }) - e.remove({ id: 'minecraft:gold_ingot_from_blasting_deepslate_gold_ore' }) - e.remove({ id: 'minecraft:gold_ingot_from_blasting_nether_gold_ore' }) - - //#endregion - - //#region Выход: Золотой самородок - - e.remove({ id: 'minecraft:gold_nugget_from_smelting' }) - - e.remove({ id: 'minecraft:gold_nugget_from_blasting' }) - - //#endregion - - - - //#region Выход: Изумруды - - e.remove({ id: 'minecraft:emerald_from_smelting_emerald_ore' }) - e.remove({ id: 'minecraft:emerald_from_smelting_deepslate_emerald_ore' }) - - e.remove({ id: 'minecraft:emerald_from_blasting_emerald_ore' }) - e.remove({ id: 'minecraft:emerald_from_blasting_deepslate_emerald_ore' }) - - //#endregion - - //#region Выход: Алмазы - - e.remove({ id: 'minecraft:diamond_from_smelting_diamond_ore' }) - e.remove({ id: 'minecraft:diamond_from_smelting_deepslate_diamond_ore' }) - - e.remove({ id: 'minecraft:diamond_from_blasting_diamond_ore' }) - e.remove({ id: 'minecraft:diamond_from_blasting_deepslate_diamond_ore' }) - - //#endregion - - //#region Выход: Кварц - - e.remove({ id: 'minecraft:quartz' }) - e.remove({ id: 'minecraft:quartz_from_blasting' }) - - //#endregion - - //#region Выход: Незеритовый лом - - e.remove({ id: 'minecraft:netherite_scrap' }) - e.remove({ id: 'minecraft:netherite_scrap_from_blasting' }) - - //#endregion - - //#region Выход: Незеритовый слиток - - e.remove({ id: 'minecraft:netherite_ingot' }) - - //#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] - - e.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) - - e.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) - - e.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) - - e.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] - - e.recipes.gtceu.assembler(`tfg:minecraft/waxing_block_${element.name}`) - .itemInputs(element2.block, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.block) - .duration(50) - .EUt(4) - - e.recipes.gtceu.assembler(`tfg:minecraft/waxing_cutted_${element.name}`) - .itemInputs(element2.cutted, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.cutted) - .duration(50) - .EUt(4) - - e.recipes.gtceu.assembler(`tfg:minecraft/waxing_stairs_${element.name}`) - .itemInputs(element2.stairs, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.stairs) - .duration(50) - .EUt(4) - - e.recipes.gtceu.assembler(`tfg:minecraft/waxing_slabs_${element.name}`) - .itemInputs(element2.slabs, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.slabs) - .duration(50) - .EUt(4) - - } - - // Обрезанный блок - - e.stonecutting(element.cutted, element.block) - .id(`tfg:stonecutting/cutted_${element.name}`) - - generateCutterRecipe(e, element.block, 4, element.cutted, 100, 8, `cutted_${element.name}`) - - // Not working, because JS is shit! - // e.recipes.tfc.chisel(element.cutted, element.block, 'smooth') - // .id(`tfg:chisel/cutted_${element.name}`) - - // Ступени - - e.stonecutting(element.stairs, element.cutted) - .id(`tfg:stonecutting/stairs_${element.name}`) - - generateCutterRecipe(e, element.cutted, 0, [element.stairs, 'gtceu:small_copper_dust'], 100, 8, `stairs_${element.name}`) - - // Not working, because JS is shit! - // e.recipes.tfc.chisel(element.stair, element.cutted, 'stair') - // .id(`tfg:chisel/stair_${element.name}`) - - // Полублоки - - e.stonecutting(element.slabs, element.cutted) - .id(`tfg:stonecutting/slabs_${element.name}`) - - generateCutterRecipe(e, element.cutted, 1, [element.slabs, '2x gtceu:small_copper_dust'], 100, 8, `slabs_${element.name}`) - - // Not working, because JS is shit! - // e.recipes.tfc.chisel(element.slab, element.cutted, 'slab') - // .id(`tfg:chisel/slab_${element.name}`) - - } - - //#endregion - - //#region Выход: Кремний - - e.shapeless('minecraft:flint', [ - '#tfc:rock/gravel', - '#forge:tools/mortars' - ]).id('gtceu:shapeless/gravel_to_flint') - - e.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 Выход: Мангровые корни в грязи - - e.remove({ id: 'minecraft:muddy_mangrove_roots' }) - - //#endregion - - //#region Красители - - // White - e.remove({id: 'minecraft:white_dye_from_lily_of_the_valley'}) - e.remove({id: 'gtceu:extractor/lily_of_the_valley_dye'}) - - e.recipes.gtceu.extractor('white_dye') - .itemInputs('1x #tfc:makes_white_dye') - .itemOutputs('2x minecraft:white_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:white_dye', '1x #tfc:makes_white_dye') - .id('tfg:milling/white_dye') - - // Red - e.remove({id: 'minecraft:red_dye_from_tulip'}) - e.remove({id: 'minecraft:red_dye_from_rose_bush'}) - e.remove({id: 'minecraft:red_dye_from_poppy'}) - e.remove({id: 'minecraft:red_dye_from_beetroot'}) - e.remove({id: 'gtceu:extractor/rose_bush_dye'}) - e.remove({id: 'gtceu:extractor/red_tulip_dye'}) - e.remove({id: 'gtceu:extractor/poppy_dye'}) - e.remove({id: 'gtceu:extractor/beetroot_dye'}) - - e.recipes.gtceu.extractor('red_dye') - .itemInputs('1x #tfc:makes_red_dye') - .itemOutputs('2x minecraft:red_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:red_dye', '1x #tfc:makes_red_dye') - .id('tfg:milling/red_dye') - - // Lime - e.remove({id: 'minecraft:lime_dye_from_smelting'}) - - e.recipes.gtceu.extractor('lime_dye') - .itemInputs('1x tfc:plant/moss') - .itemOutputs('2x minecraft:lime_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:lime_dye', '1x #tfc:makes_lime_dye') - .id('tfg:milling/lime_dye') - - // Light Blue - e.remove({id: 'minecraft:light_blue_dye_from_blue_orchid'}) - e.remove({id: 'gtceu:extractor/blue_orchid_dye'}) - - e.recipes.gtceu.extractor('light_blue_dye') - .itemInputs('1x #tfc:makes_light_blue_dye') - .itemOutputs('2x minecraft:light_blue_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:light_blue_dye', '1x #tfc:makes_light_blue_dye') - .id('tfg:milling/light_blue_dye') - - // Green - e.remove({id: 'minecraft:green_dye'}) - - e.recipes.gtceu.extractor('green_dye') - .itemInputs('1x #tfc:makes_green_dye') - .itemOutputs('2x minecraft:green_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:green_dye', '1x #tfc:makes_green_dye') - .id('tfg:milling/green_dye') - - // Magenta - e.remove({id: 'minecraft:magenta_dye_from_lilac'}) - e.remove({id: 'minecraft:magenta_dye_from_allium'}) - e.remove({id: 'gtceu:extractor/lilac_dye'}) - e.remove({id: 'gtceu:extractor/allium_dye'}) - - e.recipes.gtceu.extractor('magenta_dye') - .itemInputs('1x #tfc:makes_magenta_dye') - .itemOutputs('2x minecraft:magenta_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:magenta_dye', '1x #tfc:makes_magenta_dye') - .id('tfg:milling/magenta_dye') - - // Orange - e.remove({id: 'tfc:crafting/vanilla/orange_dye_from_sylvite'}) - e.remove({id: 'minecraft:orange_dye_from_torchflower'}) - e.remove({id: 'minecraft:orange_dye_from_orange_tulip'}) - e.remove({id: 'gtceu:extractor/orange_tulip_dye'}) - - e.recipes.gtceu.extractor('orange_dye') - .itemInputs('1x #tfc:makes_orange_dye') - .itemOutputs('2x minecraft:orange_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:orange_dye', '1x #tfc:makes_orange_dye') - .id('tfg:milling/orange_dye') - - // Purple - e.recipes.gtceu.extractor('purple_dye') - .itemInputs('1x #tfc:makes_purple_dye') - .itemOutputs('2x minecraft:purple_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:purple_dye', '1x #tfc:makes_purple_dye') - .id('tfg:milling/purple_dye') - - // Brown - e.remove({id: 'minecraft:brown_dye' }) - - e.recipes.gtceu.extractor('brown_dye') - .itemInputs('1x #tfc:makes_brown_dye') - .itemOutputs('2x minecraft:brown_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:brown_dye', '1x #tfc:makes_brown_dye') - .id('tfg:milling/brown_dye') - - // Light Gray - e.remove({id: 'minecraft:light_gray_dye_from_white_tulip'}) - e.remove({id: 'minecraft:light_gray_dye_from_azure_bluet'}) - e.remove({id: 'minecraft:light_gray_dye_from_oxeye_daisy'}) - e.remove({id: 'gtceu:extractor/white_tulip_dye'}) - e.remove({id: 'gtceu:extractor/azure_bluet_dye'}) - e.remove({id: 'gtceu:extractor/oxeye_daisy_dye'}) - - e.recipes.gtceu.extractor('light_gray_dye') - .itemInputs('1x tfc:plant/yucca') - .itemOutputs('2x minecraft:light_gray_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:light_gray_dye', '1x #tfc:makes_light_gray_dye') - .id('tfg:milling/light_gray_dye') - - // Yellow - e.remove({id: 'minecraft:yellow_dye_from_sunflower'}) - e.remove({id: 'minecraft:yellow_dye_from_dandelion'}) - e.remove({id: 'gtceu:extractor/sunflower_dye'}) - e.remove({id: 'gtceu:extractor/dandelion_dye'}) - - e.recipes.gtceu.extractor('yellow_dye') - .itemInputs('1x #tfc:makes_yellow_dye') - .itemOutputs('2x minecraft:yellow_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:yellow_dye', '1x #tfc:makes_yellow_dye') - .id('tfg:milling/yellow_dye') - - // Blue - e.remove({id: 'minecraft:blue_dye_from_cornflower'}) - e.remove({id: 'gtceu:extractor/cornflower_dye'}) - - e.recipes.gtceu.extractor('blue_dye') - .itemInputs('1x #tfc:makes_blue_dye') - .itemOutputs('2x minecraft:blue_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:blue_dye', '1x #tfc:makes_blue_dye') - .id('tfg:milling/blue_dye') - - // Pink - e.remove({id: 'minecraft:pink_dye_from_pink_petals'}) - e.remove({id: 'minecraft:pink_dye_from_pink_tulip'}) - e.remove({id: 'minecraft:pink_dye_from_peony'}) - e.remove({id: 'gtceu:extractor/pink_tulip_dye'}) - e.remove({id: 'gtceu:extractor/peony_dye'}) - - e.recipes.gtceu.extractor('pink_dye') - .itemInputs('1x #tfc:makes_pink_dye') - .itemOutputs('2x minecraft:pink_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:pink_dye', '1x #tfc:makes_pink_dye') - .id('tfg:milling/pink_dye') - - // Cyan - e.remove({id: 'minecraft:cyan_dye_from_pitcher_plant'}) - - // Black - e.remove({id: 'minecraft:black_dye_from_wither_rose'}) - e.remove({id: 'gtceu:extractor/wither_rose_dye'}) - - //#endregion - - //#region Выход: Шаблон баннера - - e.shapeless('minecraft:flower_banner_pattern', [ - 'minecraft:paper', - '#forge:dyes/white' - ]).id('minecraft:flower_banner_pattern') - - //#endregion - - //#region Выход: Высушенные водросли - - e.remove({ id: 'minecraft:dried_kelp' }) - e.remove({ id: 'minecraft:dried_kelp_from_smelting' }) - e.remove({ id: 'minecraft:dried_kelp_from_smoking' }) - - //#endregion - - //#region Древесный уголь - - e.remove({ id: 'minecraft:charcoal' }) - - //#endregion - - //#region Выход: Высушенные водросли блок - - e.remove({ id: 'minecraft:dried_kelp_block' }) - - //#endregion - - //#region Выход: Бумага - - e.remove({ id: 'gtceu:shaped/paper' }) - - e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) - e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) - - e.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) - - e.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 Выход: Сахар - - e.remove({ id: 'gtceu:shaped/sugar' }) - e.remove({ id: 'minecraft:sugar_from_honey_bottle' }) - e.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) - - e.recipes.gtceu.centrifuge('sugar') - .itemInputs('tfc:food/sugarcane') - .inputFluids(Fluid.of('minecraft:water', 600)) - .itemOutputs('minecraft:sugar') - .duration(800) - .EUt(6) - - //#endregion - - //#region Выход: Ферментированный паучий глаз - - e.remove({ id: 'minecraft:fermented_spider_eye' }) - e.remove({ id: 'gtceu:mixer/fermented_spider_eye_red' }) - e.remove({ id: 'gtceu:mixer/fermented_spider_eye_brown' }) - e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_red' }) - e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_brown' }) - - //#endregion - - //#region Выход: Калиброванный сенсор Скалка - - e.remove({ id: 'minecraft:calibrated_sculk_sensor' }) - - //#endregion - - //#region Выход: Вагонетка с сундуком - - e.remove({ id: 'gtceu:assembler/chest_minecart' }) - - //#endregion - - //#region Выход: Хлеб - - e.remove({ id: 'minecraft:bread' }) - - //#endregion - - //#region Выход: Жаренная свинина - - e.remove({ id: 'minecraft:cooked_porkchop' }) - e.remove({ id: 'minecraft:cooked_porkchop_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная курятина - - e.remove({ id: 'minecraft:cooked_chicken' }) - e.remove({ id: 'minecraft:cooked_chicken_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная козлятина - - e.remove({ id: 'minecraft:cooked_mutton' }) - e.remove({ id: 'minecraft:cooked_mutton_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная зайчатина - - e.remove({ id: 'minecraft:cooked_rabbit' }) - e.remove({ id: 'minecraft:cooked_rabbit_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная коровятина - - e.remove({ id: 'minecraft:cooked_beef' }) - e.remove({ id: 'minecraft:cooked_beef_from_smoking' }) - - //#endregion - - //#region Выход: Торт - - e.remove({ id: 'minecraft:cake' }) - - //#endregion - - //#region Выход: Печеньки (Нееет) - - e.remove({ id: 'minecraft:cookie' }) - - //#endregion - - - - //#region Выход: Удочки - - e.remove({ id: 'minecraft:warped_fungus_on_a_stick' }) - e.remove({ id: 'minecraft:carrot_on_a_stick' }) - - //#endregion - - //#region Выход: Спасательный компас - - e.remove({ id: 'minecraft:recovery_compass' }) - - //#endregion - - //#region Выход: Компас - - e.remove({ id: 'tfc:crafting/vanilla/compass' }) - e.remove({ id: 'gtceu:assembler/compass' }) - - //#endregion - - //#region Выход: Незеритовый слиток - - e.remove({ id: 'minecraft:netherite_ingot_from_netherite_block' }) - - //#endregion - - //#region Выход: Незеритовый блок - - e.remove({ id: 'minecraft:netherite_block' }) - - //#endregion - - //#region Выход: Жаренный Cod - - e.remove({ id: 'minecraft:cooked_cod' }) - e.remove({ id: 'minecraft:cooked_cod_from_smoking' }) - - //#endregion - - //#region Выход: Жаренный Salmon - - e.remove({ id: 'minecraft:cooked_salmon' }) - e.remove({ id: 'minecraft:cooked_salmon_from_smoking' }) - - //#endregion - - //#region Выход: Светящийся арбуз - - e.shaped('minecraft:glistering_melon_slice', [ - 'AAA', + e.shaped('minecraft:dispenser', [ 'ABA', - 'AAA' + 'CDC', + 'EFE' ], { - A: '#forge:nuggets/gold', - B: 'tfc:food/melon_slice' - }).id('minecraft:glistering_melon_slice') - - e.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) - - e.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) - + A: '#forge:cobblestone', + B: '#tfg:all_iron_rings', + C: '#tfg:all_iron_springs', + D: '#forge:string', + E: '#tfg:all_iron_gears', + F: 'gtceu:red_alloy_rod' + }).id('tfg:workbench/dispenser') //#endregion - //#region Выход: Блок сот + //#region Выбрасыватель + e.remove({ id: 'gtceu:shaped/dropper' }) - e.remove({ id: 'minecraft:honeycomb_block' }) - - //#endregion - - //#region Выход: Пузырек с медом - - e.remove({ id: 'minecraft:honey_bottle' }) - - //#endregion - - //#region Выход: Блок меда - - e.remove({ id: 'minecraft:honey_block' }) - - //#endregion - - //#region Выход: Прожаренный фрукт хоруса - - e.remove({ id: 'minecraft:popped_chorus_fruit' }) - - //#endregion - - //#region Выход: Ножницы - - e.remove({ id: 'minecraft:shears' }) - - //#endregion - - //#region Выход: Пустая карта - - e.recipes.gtceu.assembler('map') - .itemInputs('8x minecraft:paper', 'firmaciv:firmaciv_compass') - .itemOutputs('minecraft:map') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Жаренный картофель - - e.remove({ id: 'minecraft:baked_potato' }) - e.remove({ id: 'minecraft:baked_potato_from_smoking' }) - - //#endregion - - //#region Выход: Кисточка - - e.remove({ id: 'minecraft:brush' }) - - //#endregion - - //#region Выход: Книга - - e.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) - - e.shapeless('minecraft:book', [ - 'minecraft:paper', 'minecraft:paper', 'minecraft:paper', 'minecraft:leather' - ]).id('minecraft:book') - - //#endregion - - //#region Выход: Золотое яблоко - - e.remove({ id: 'minecraft:golden_apple' }) - - e.recipes.gtceu.chemical_reactor('golden_apple') - .itemInputs('tfc:food/green_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - e.recipes.gtceu.large_chemical_reactor('golden_apple') - .itemInputs('tfc:food/green_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - e.recipes.gtceu.chemical_reactor('golden_apple_1') - .itemInputs('tfc:food/red_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - e.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 Выход: Зачарованное золотое яблоко - - e.recipes.gtceu.chemical_reactor('notch_apple') - .itemInputs('tfc:food/green_apple', '8x minecraft:gold_block') - .itemOutputs('minecraft:enchanted_golden_apple') - .duration(50) - .EUt(30) - - e.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) - - e.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) - - e.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 Шаблоны брони - e.remove({id: 'minecraft:wild_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:wayfinder_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:ward_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:vex_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:tide_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:spire_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:snout_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:silence_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:shaper_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:sentry_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:rib_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:raiser_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:host_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:eye_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:dune_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:coast_armor_trim_smithing_template_smithing_trim'}) - //#endregion - - //#region Кольчуга - e.remove({id: 'gtceu:shaped/chainmail_boots'}) - e.remove({id: 'gtceu:shaped/chainmail_leggings'}) - e.remove({id: 'gtceu:shaped/chainmail_chestplate'}) - e.remove({id: 'gtceu:shaped/chainmail_helmet'}) - e.remove({id: 'gtceu:arc_furnace/arc_chainmail_boots'}) - e.remove({id: 'gtceu:arc_furnace/arc_chainmail_leggings'}) - e.remove({id: 'gtceu:arc_furnace/arc_chainmail_chestplate'}) - e.remove({id: 'gtceu:arc_furnace/arc_chainmail_helmet'}) - e.remove({id: 'gtceu:macerator/macerate_chainmail_boots'}) - e.remove({id: 'gtceu:macerator/macerate_chainmail_leggings'}) - e.remove({id: 'gtceu:macerator/macerate_chainmail_chestplate'}) - e.remove({id: 'gtceu:macerator/macerate_chainmail_helmet'}) - e.remove({id: 'minecraft:iron_nugget_from_smelting'}) - e.remove({id: 'minecraft:iron_nugget_from_blasting'}) - //#endregion - - //#region Железная броня - - e.remove({id: 'gtceu:arc_furnace/arc_iron_boots'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_leggings'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_chestplate'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_helmet'}) - e.remove({id: 'gtceu:macerator/macerate_iron_boots'}) - e.remove({id: 'gtceu:macerator/macerate_iron_leggings'}) - e.remove({id: 'gtceu:macerator/macerate_iron_chestplate'}) - e.remove({id: 'gtceu:macerator/macerate_iron_helmet'}) - e.remove({id: 'gtceu:shaped/iron_horse_armor'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_horse_armor'}) - e.remove({id: 'gtceu:macerator/macerate_iron_horse_armor'}) - - //#endregion - - //#region Золотая броня - - e.remove({id: 'gtceu:arc_furnace/arc_golden_boots'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_leggings'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_chestplate'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_helmet'}) - e.remove({id: 'gtceu:macerator/macerate_golden_boots'}) - e.remove({id: 'gtceu:macerator/macerate_golden_leggings'}) - e.remove({id: 'gtceu:macerator/macerate_golden_chestplate'}) - e.remove({id: 'gtceu:macerator/macerate_golden_helmet'}) - e.remove({id: 'gtceu:shaped/golden_horse_armor'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_horse_armor'}) - e.remove({id: 'gtceu:macerator/macerate_golden_horse_armor'}) - e.remove({id: 'minecraft:gold_nugget_from_smelting'}) - e.remove({id: 'minecraft:gold_nugget_from_blasting'}) - - //#endregion - - //#region Алмазная броня - - e.remove({id: 'gtceu:macerator/macerate_diamond_boots'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_leggings'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_chestplate'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_helmet'}) - e.remove({id: 'gtceu:shaped/diamond_horse_armor'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_horse_armor'}) - - //#endregion - - //#region Незеритовая броня - - e.remove({id: 'minecraft:netherite_helmet_smithing'}) - e.remove({id: 'minecraft:netherite_chestplate_smithing'}) - e.remove({id: 'minecraft:netherite_leggings_smithing'}) - e.remove({id: 'minecraft:netherite_boots_smithing'}) - - //#endregion - - //#region Деревянные инструменты - - e.remove({id: 'gtceu:macerator/macerate_wooden_sword'}) - e.remove({id: 'gtceu:macerator/macerate_wooden_pickaxe'}) - e.remove({id: 'gtceu:macerator/macerate_wooden_axe'}) - e.remove({id: 'gtceu:macerator/macerate_wooden_shovel'}) - e.remove({id: 'gtceu:macerator/macerate_wooden_hoe'}) - - //#endregion - - //#region Каменные инстурменты - - e.remove({id: 'gtceu:macerator/macerate_stone_sword'}) - e.remove({id: 'gtceu:macerator/macerate_stone_pickaxe'}) - e.remove({id: 'gtceu:macerator/macerate_stone_axe'}) - e.remove({id: 'gtceu:macerator/macerate_stone_shovel'}) - e.remove({id: 'gtceu:macerator/macerate_stone_hoe'}) - - //#endregion - - //#region Железные инструменты - - e.remove({id: 'gtceu:macerator/macerate_iron_sword'}) - e.remove({id: 'gtceu:macerator/macerate_iron_pickaxe'}) - e.remove({id: 'gtceu:macerator/macerate_iron_axe'}) - e.remove({id: 'gtceu:macerator/macerate_iron_shovel'}) - e.remove({id: 'gtceu:macerator/macerate_iron_hoe'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_sword'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_pickaxe'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_axe'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_shovel'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_hoe'}) - - //#endregion - - //#region Золотые инструменты - - e.remove({id: 'gtceu:macerator/macerate_golden_sword'}) - e.remove({id: 'gtceu:macerator/macerate_golden_pickaxe'}) - e.remove({id: 'gtceu:macerator/macerate_golden_axe'}) - e.remove({id: 'gtceu:macerator/macerate_golden_shovel'}) - e.remove({id: 'gtceu:macerator/macerate_golden_hoe'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_sword'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_pickaxe'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_axe'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_shovel'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_hoe'}) - - //#endregion - - //#region Алмазные инструменты - - e.remove({id: 'gtceu:macerator/macerate_diamond_sword'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_pickaxe'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_axe'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_shovel'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_hoe'}) - e.remove({id: 'gtceu:arc_furnace/arc_diamond_sword'}) - e.remove({id: 'gtceu:arc_furnace/arc_diamond_pickaxe'}) - e.remove({id: 'gtceu:arc_furnace/arc_diamond_axe'}) - e.remove({id: 'gtceu:arc_furnace/arc_diamond_shovel'}) - e.remove({id: 'gtceu:arc_furnace/arc_diamond_hoe'}) - - //#endregion - - //#region Незеритовые инструменты - - e.remove({id: 'minecraft:netherite_sword_smithing'}) - e.remove({id: 'minecraft:netherite_pickaxe_smithing'}) - e.remove({id: 'minecraft:netherite_axe_smithing'}) - e.remove({id: 'minecraft:netherite_shovel_smithing'}) - e.remove({id: 'minecraft:netherite_hoe_smithing'}) - - //#endregion - - //#region Выход: Шаблоны брони - - e.remove({ id: 'minecraft:coast_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:vex_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:host_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:rib_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:spire_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:tide_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:eye_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:raiser_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:wild_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:shaper_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:snout_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:dune_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) - e.remove({ id: 'minecraft:wayfinder_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:ward_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:silence_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:sentry_armor_trim_smithing_template' }) - - //#endregion - - - - - - //#region Выход: Огниво - - e.remove({id: 'tfc:crafting/vanilla/flint_and_steel'}) - e.remove({id: 'ad_astra:recipes/flint_and_steel'}) - - //#endregion - - //#region Выход: Вагонетка с печью - - e.remove({ id: 'minecraft:furnace_minecart' }) - e.remove({ id: 'gtceu:assembler/furnace_minecart' }) - - //#endregion - - - - //#region Выход: Ведро - - e.remove({id: 'gtceu:bender/bucket'}) - e.remove({id: 'gtceu:shaped/iron_bucket'}) - - e.recipes.tfc.welding('minecraft:bucket', 'tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 6) - .id('tfg:anvil/vanilla_bucket') - - e.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 Выход: Седло - - e.remove({id: 'gtceu:shaped/saddle'}) - - //#endregion - - //#region Выход: Блок лазурита - - e.remove({ id: 'tfc:crafting/vanilla/lapis_block' }) - - //#endregion - - //#region Выход: Вагонетка - - e.remove({ id: 'minecraft:minecart' }) - - e.shaped('minecraft:minecart', [ - 'A A', - 'AAA', - 'B B' + e.shaped('minecraft:dropper', [ + 'ABA', + 'CDC', + 'EFE' ], { - A: 'gtceu:wrought_iron_plate', - B: 'gtceu:iron_minecart_wheels' - }).id('tfc:crafting/vanilla/redstone/minecart') - - e.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') - - e.recipes.gtceu.assembler('minecart') - .itemInputs('3x #forge:plates/wrought_iron', '3x #forge:rings/wrought_iron') - .itemOutputs('minecraft:minecart') - .duration(100) - .EUt(2) + A: '#forge:cobblestone', + B: '#tfg:all_iron_rings', + C: '#all_iron_small_springs', + D: '#forge:string', + E: '#tfg:all_iron_gears', + F: 'gtceu:red_alloy_rod' + }).id('tfg:workbench/dropper') //#endregion - - - //#region Выход: Воронка - - e.remove({ id: 'gtceu:assembler/hopper_iron' }) - e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_hopper' }) + //#region Воронка e.remove({ id: 'tfc:crafting/vanilla/redstone/hopper' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_hopper' }) + e.remove({ id: 'gtceu:shaped/hopper' }) + e.remove({ id: 'gtceu:assembler/hopper_iron' }) + e.remove({ id: 'gtceu:assembler/hopper_wrought_iron' }) e.shaped('minecraft:hopper', [ 'ABA', @@ -4901,171 +4017,1220 @@ const registerMinecraftRecipes1 = (e) => { C: '#forge:gears/wrought_iron', D: '#forge:tools/wrenches', E: '#forge:tools/hammers', - }).id('gtceu:shaped/hopper') + }).id('tfg:workbench/hopper') + e.recipes.gtceu.assembler('tfg:hopper') + .itemInputs('#forge:chests/wooden', '5x #tfg:all_iron_plates') + .itemOutputs('minecraft:hopper') + .EUt(2).duration(800) //#endregion - - - //#region Выход: Кожа - - e.remove({ id: 'minecraft:leather' }) - + //#region Сундук-Ловушка + e.remove({ id: 'gtceu:shaped/trapped_chest' }) //#endregion - //#region Выход: Арбалет + //#region Наблюдатель + e.remove({ id: 'tfc:crafting/vanilla/redstone/observer' }) - e.remove({ id: 'minecraft:crossbow' }) - - //#endregion - - //#region Выход: Лук - - e.recipes.gtceu.assembler('bow') - .itemInputs('3x #forge:string', '3x #forge:rods/wooden') - .itemOutputs('minecraft:bow') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Наблюдатель - - e.remove({ id: 'minecraft:observer' }) - - e.recipes.gtceu.assembler('observer_certus_quartz') + e.recipes.gtceu.assembler('tfg:observer_certus_quartz') .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/certus_quartz') .itemOutputs('minecraft:observer') .duration(100) .EUt(30) - e.recipes.gtceu.assembler('observer_nether_quartz') + e.recipes.gtceu.assembler('tfg:observer_nether_quartz') .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/nether_quartz') .itemOutputs('minecraft:observer') .duration(100) .EUt(30) - e.recipes.gtceu.assembler('observer_quartzite') + e.recipes.gtceu.assembler('tfg:observer_quartzite') .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/quartzite') .itemOutputs('minecraft:observer') .duration(100) .EUt(30) - //#endregion + e.shaped('minecraft:observer', [ + 'ABA', + 'BCB', + 'DED' + ], { + A: '#tfg:all_iron_rings', + B: '#forge:cobblestone', + C: '#forge:plates/certus_quartz', + D: '#tfg:all_iron_gears', + E: 'gtceu:red_alloy_rod', + }).id('tfg:workbench/observer_certus_quartz') - + e.shaped('minecraft:observer', [ + 'ABA', + 'BCB', + 'DED' + ], { + A: '#tfg:all_iron_rings', + B: '#forge:cobblestone', + C: '#forge:plates/nether_quartz', + D: '#tfg:all_iron_gears', + E: 'gtceu:red_alloy_rod', + }).id('tfg:workbench/observer_nether_quartz') - //#region Выход: Выбрасыватель - - e.recipes.gtceu.assembler('dropper') - .itemInputs('7x #forge:cobblestone', '2x minecraft:redstone') - .circuit(2) - .itemOutputs('minecraft:dropper') - .duration(100) - .EUt(30) + e.shaped('minecraft:observer', [ + 'ABA', + 'BCB', + 'DED' + ], { + A: '#tfg:all_iron_rings', + B: '#forge:cobblestone', + C: '#forge:plates/quartzite', + D: '#tfg:all_iron_gears', + E: 'gtceu:red_alloy_rod', + }).id('tfg:workbench/observer_quartzite') //#endregion - //#region Выход: Рельсы - + //#region Рельсы + e.remove({ id: 'tfc:crafting/vanilla/redstone/rail' }) e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_rail' }) + e.remove({ id: 'gtceu:shaped/rail' }) + e.remove({ id: 'gtceu:assembler/rail' }) - e.recipes.gtceu.assembler('rail') - .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden') + e.shaped('8x minecraft:rail', [ + 'AhA', + 'BCB', + 'BsB' + ], { + A: '#tfg:all_iron_screws', + B: '#tfg:all_iron_rods', + C: '#forge:rods/wooden', + s: '#forge:tools/screwdrivers', + h: '#forge:tools/hammers', + }).id('tfg:workbench/rail') + + e.recipes.gtceu.assembler('tfg:rail') + .itemInputs('12x #tfg:all_iron_rods', '#forge:rods/wooden') .circuit(1) .itemOutputs('32x minecraft:rail') - .duration(100) - .EUt(30) - + .EUt(30).duration(100) //#endregion - //#region Выход: Заряженные рельсы - - e.remove({ id: 'minecraft:powered_rail' }) - - e.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) + //#region Заряженные рельсы + e.remove({ id: 'tfc:crafting/vanilla/redstone/powered_rail' }) + e.remove({ id: 'gtceu:shaped/powered_rail' }) + e.shaped('6x minecraft:powered_rail', [ + 'ABA', + 'CDC', + 'EsE' + ], { + A: 'gtceu:steel_screw', + B: 'gtceu:red_alloy_plate', + C: '#tfg:all_iron_rods', + D: '#forge:rods/wooden', + E: 'gtceu:gold_rod', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/powered_rail') //#endregion - //#region Выход: Активаторные рельсы - - e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_activator_rail' }) - e.remove({ id: 'minecraft:activator_rail' }) - - e.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 Выход: Нажимные рельсы - + //#region Нажимные рельсы + e.remove({ id: 'tfc:crafting/vanilla/redstone/detector_rail' }) e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_detector_rail' }) - e.remove({ id: 'minecraft:detector_rail' }) + e.remove({ id: 'gtceu:shaped/detector_rail' }) + e.remove({ id: 'gtceu:assembler/detector_rail' }) - e.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) + e.shaped('6x minecraft:detector_rail', [ + 'ADA', + 'BCB', + 'BsB' + ], { + A: '#tfg:all_iron_screws', + B: '#tfg:all_iron_rods', + C: '#forge:rods/wooden', + D: 'minecraft:heavy_weighted_pressure_plate', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/detector_rail') + e.recipes.gtceu.assembler('tfg:detector_rail') + .itemInputs('12x #tfg:all_iron_rods', '#forge:rods/wooden', '#forge:dusts/redstone') + .circuit(5) + .itemOutputs('12x minecraft:detector_rail') + .EUt(30).duration(100) //#endregion - //#region Выход: Веревка + //#region Активаторные рельсы + e.remove({ id: 'tfc:crafting/vanilla/redstone/activator_rail' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_activator_rail' }) + e.remove({ id: 'gtceu:shaped/activator_rail' }) + e.remove({ id: 'gtceu:assembler/activator_rail' }) + e.shaped('6x minecraft:activator_rail', [ + 'ADA', + 'BCB', + 'BsB' + ], { + A: '#tfg:all_iron_screws', + B: '#tfg:all_iron_rods', + C: '#forge:rods/wooden', + D: 'minecraft:redstone_torch', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/activator_rail') + + e.recipes.gtceu.assembler('tfg:activator_rail') + .itemInputs('12x #tfg:all_iron_rods', '2x #forge:rods/wooden', 'minecraft:redstone_torch') + .circuit(5) + .itemOutputs('12x minecraft:activator_rail') + .EUt(30).duration(100) + //#endregion + + //#region Вагонетка + e.remove({ id: 'tfc:crafting/vanilla/redstone/minecart' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_minecart' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/minecart' }) + e.remove({ id: 'gtceu:shaped/minecart_iron' }) + e.remove({ id: 'gtceu:assembler/minecart' }) + + e.shaped('minecraft:minecart', [ + ' h ', + 'AwA', + 'BAB' + ], { + A: 'gtceu:wrought_iron_plate', + B: 'gtceu:iron_minecart_wheels', + h: '#forge:tools/hammers', + w: '#forge:tools/wrenches', + }).id('tfg:workbench/minecart_iron') + + e.recipes.gtceu.assembler('tfg:minecart') + .itemInputs('3x #tfg:all_iron_plates', '4x #tfg_all_iron_rings') + .itemOutputs('minecraft:minecart') + .EUt(4).duration(100) + //#endregion + + //#region Выход: Вагонетка с сундуком + e.remove({ id: 'gtceu:assembler/chest_minecart' }) + //#endregion + + //#region Выход: Вагонетка с печью + e.remove({ id: 'create:crafting/kinetics/furnace_minecart_from_contraption_cart' }) + e.remove({ id: 'gtceu:shaped/furnace_minecart' }) + e.remove({ id: 'gtceu:assembler/furnace_minecart' }) + //#endregion + + //#region Деревянные инструменты + // Нечего удалять + //#endregion + + //#region Каменные инстурменты + // Нечего удалять + //#endregion + + //#region Железные инструменты + e.remove({ id: 'gtceu:shaped/iron_sword' }) + e.remove({ id: 'gtceu:shaped/iron_pickaxe' }) + e.remove({ id: 'gtceu:shaped/iron_axe' }) + e.remove({ id: 'gtceu:shaped/iron_shovel' }) + e.remove({ id: 'gtceu:shaped/iron_hoe' }) + //#endregion + + //#region Золотые инструменты + e.remove({ id: 'gtceu:shaped/golden_sword' }) + e.remove({ id: 'gtceu:shaped/golden_pickaxe' }) + e.remove({ id: 'gtceu:shaped/golden_axe' }) + e.remove({ id: 'gtceu:shaped/golden_shovel' }) + e.remove({ id: 'gtceu:shaped/golden_hoe' }) + //#endregion + + //#region Алмазные инструменты + e.remove({ id: 'gtceu:shaped/diamond_sword' }) + e.remove({ id: 'gtceu:shaped/diamond_pickaxe' }) + e.remove({ id: 'gtceu:shaped/diamond_axe' }) + e.remove({ id: 'gtceu:shaped/diamond_shovel' }) + e.remove({ id: 'gtceu:shaped/diamond_hoe' }) + //#endregion + + //#region Незеритовые инструменты + e.remove({ id: 'minecraft:netherite_sword_smithing' }) + e.remove({ id: 'minecraft:netherite_pickaxe_smithing' }) + e.remove({ id: 'minecraft:netherite_axe_smithing' }) + e.remove({ id: 'minecraft:netherite_shovel_smithing' }) + e.remove({ id: 'minecraft:netherite_hoe_smithing' }) + //#endregion + + //#region Ведро + e.remove({ id: 'gtceu:shaped/iron_bucket' }) + e.remove({ id: 'gtceu:bender/bucket' }) + + e.recipes.tfc.welding('minecraft:bucket', 'tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 6) + .id('tfg:anvil/bucket') + + e.recipes.gtceu.assembler('tfg:bucket') + .itemInputs('#forge:plates/red_steel', '#forge:plates/blue_steel') + .circuit(21) + .itemOutputs('minecraft:bucket') + .EUt(4).duration(100) + //#endregion + + //#region Удочка + e.remove({ id: 'gtceu:shaped/fishing_rod' }) + //#endregion + + //#region Огниво + e.remove({ id: 'tfc:crafting/vanilla/flint_and_steel' }) + //#endregion + + //#region Костная мука + e.remove({ id: 'create:milling/calcite' }) + //#endregion + + //#region Ножницы + e.remove({ id: 'gtceu:shaped/shears' }) + //#endregion + + //#region Кисточка + e.remove({ id: 'gtceu:shaped/brush' }) + e.remove({ id: 'gtceu:assembler/brush' }) + //#endregion + + //#region Поводок + e.remove({ id: 'gtceu:shaped/lead' }) e.remove({ id: 'gtceu:assembler/lead' }) - e.shaped('minecraft:lead', [ - ' AA', - ' BA', - 'A ' + e.recipes.gtceu.assembler('tfg:lead_slimeball') + .itemInputs('2x #forge:string', 'minecraft:slime_ball') + .circuit(0) + .itemOutputs('2x minecraft:lead') + .EUt(2).duration(100) + + e.recipes.gtceu.assembler('tfg:lead_glue') + .itemInputs('2x #forge:string', 'tfc:glue') + .circuit(0) + .itemOutputs('2x minecraft:lead') + .EUt(2).duration(100) + + e.recipes.gtceu.assembler('tfg:lead_sticky_resin') + .itemInputs('2x #forge:string', 'gtceu:sticky_resin') + .circuit(0) + .itemOutputs('2x minecraft:lead') + .EUt(2).duration(100) + //#endregion + + //#region Компас + e.remove({ id: 'tfc:crafting/vanilla/compass' }) + e.remove({ id: 'gtceu:shaped/compass' }) + e.remove({ id: 'gtceu:assembler/compass' }) + + e.shaped('minecraft:compass', [ + 'ABC', + 'DED', + 'FsA' ], { - A: '#forge:string', - B: '#forge:rings/wrought_iron' - }).id('minecraft:lead') + A: '#tfg:all_iron_screws', + B: '#forge:glass_panes/colorless', + C: 'gtceu:tiny_magnetite_dust', + D: 'gtceu:zinc_ring', + E: '#tfg:all_iron_plates', + F: 'gtceu:red_alloy_bolt', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/compass') + e.recipes.gtceu.assembler('tfg:compass') + .itemInputs('2x #tfg:all_iron_screws', '#forge:glass_panes/colorless', 'gtceu:magnetic_iron_bolt', '2x gtceu:zinc_ring', '#tfg:all_iron_plates', 'gtceu:red_alloy_bolt') + .itemOutputs('minecraft:compass') + .EUt(16).duration(100) //#endregion - //#region Выход: Кирпич - - // e.remove({ id: 'minecraft:brick' }) - - // e.shaped('minecraft:bricks', [ - // 'BAB', - // 'ABA', - // 'BAB' - // ], { - // A: 'tfc:mortar', - // B: 'minecraft:brick' - // }).id('tfc:crafting/bricks') - + //#region Часы + e.remove({ id: 'tfc:crafting/vanilla/clock' }) //#endregion - //#region Выход: Элитра + //#region Подзорная труба + e.remove({ id: 'tfc:crafting/vanilla/spyglass' }) + e.remove({ id: 'gtceu:shaped/spyglass' }) + e.remove({ id: 'gtceu:assembler/spyglass' }) - // Ну и херь я придумал - e.recipes.gtceu.assembler('tfg:minecraft/elytra') + e.shaped('minecraft:spyglass', [ + 'hAs', + 'BCD', + 'fE ' + ], { + A: '#tfg:all_glass_lenses', + B: '#forge:leather', + C: '#forge:rings/gold', + D: '#tfg:all_iron_screws', + E: '#forge:plates/copper', + h: '#forge:tools/hammers', + s: '#forge:tools/screwdrivers', + f: '#forge:tools/files', + }).id('tfg:workbench/spyglass') + + e.recipes.gtceu.assembler('tfg:spyglass') + .itemInputs('#tfg:all_glass_lenses', '#forge:rings/gold', '#forge:plates/copper', '#forge:leather') + .itemOutputs('minecraft:spyglass') + .EUt(4).duration(100) + //#endregion + + //#region Элитра + e.recipes.gtceu.assembler('tfg: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) - e.recipes.gtceu.assembler('tfg:minecraft/elytra_repairing') + e.recipes.gtceu.assembler('tfg: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 Седло + e.remove({ id: 'gtceu:shaped/saddle' }) + + e.shaped('minecraft:saddle', [ + 'AAA', + 'ABA', + 'CDC' + ], { + A: '#forge:leather', + B: '#minecraft:wool_carpets', + C: '#tfg:all_iron_rings', + D: '#forge:string' + }).id('tfg:workbench/saddle') + //#endregion + + //#region Удочка с морковкой + e.remove({ id: 'minecraft:carrot_on_a_stick' }) + //#endregion + + //#region Удочка с грибом + e.remove({ id: 'minecraft:warped_fungus_on_a_stick' }) + //#endregion + + //#region Щит + e.remove({ id: 'gtceu:shaped/shield' }) + //#endregion + + //#region Кольчужная броня + e.remove({ id: 'gtceu:shaped/chainmail_boots'}) + e.remove({ id: 'gtceu:shaped/chainmail_leggings'}) + e.remove({ id: 'gtceu:shaped/chainmail_chestplate'}) + e.remove({ id: 'gtceu:shaped/chainmail_helmet'}) + //#endregion + + //#region Железная броня + e.remove({ id: 'gtceu:shaped/iron_helmet' }) + e.remove({ id: 'gtceu:shaped/iron_chestplate' }) + e.remove({ id: 'gtceu:shaped/iron_leggings' }) + e.remove({ id: 'gtceu:shaped/iron_boots' }) + + e.remove({ id: 'gtceu:shaped/iron_horse_armor' }) + //#endregion + + //#region Золотая броня + e.remove({ id: 'gtceu:shaped/golden_helmet' }) + e.remove({ id: 'gtceu:shaped/golden_chestplate' }) + e.remove({ id: 'gtceu:shaped/golden_leggings' }) + e.remove({ id: 'gtceu:shaped/golden_boots' }) + + e.remove({ id: 'gtceu:shaped/golden_horse_armor' }) + //#endregion + + //#region Алмазная броня + e.remove({ id: 'gtceu:shaped/diamond_helmet' }) + e.remove({ id: 'gtceu:shaped/diamond_chestplate' }) + e.remove({ id: 'gtceu:shaped/diamond_leggings' }) + e.remove({ id: 'gtceu:shaped/diamond_boots' }) + + e.remove({ id: 'gtceu:shaped/diamond_horse_armor' }) + //#endregion + + //#region Незеритовая броня + e.remove({ id: 'minecraft:netherite_helmet_smithing' }) + e.remove({ id: 'minecraft:netherite_chestplate_smithing' }) + e.remove({ id: 'minecraft:netherite_leggings_smithing' }) + e.remove({ id: 'minecraft:netherite_boots_smithing' }) + //#endregion + + //#region Лук + e.remove({ id: 'gtceu:shaped/bow' }) + e.remove({ id: 'gtceu:assembler/bow' }) + + e.recipes.gtceu.assembler('tfg:bow') + .itemInputs('3x #forge:string', '3x #forge:rods/wooden') + .itemOutputs('minecraft:bow') + .EUt(4).duration(100) + //#endregion + + //#region Арбалет + e.remove({ id: 'minecraft:crossbow' }) + e.remove({ id: 'tfc:crafting/vanilla/crossbow' }) + + e.shaped('6x minecraft:activator_rail', [ + 'ABA', + 'CAC', + 'sAf' + ], { + A: '#forge:rods/long/wood', + B: '#tfg:all_iron_rings', + C: '#forge:string', + s: '#forge:tools/screwdrivers', + f: '#forge:tools/files', + }).id('tfg:workbench/crossbow') //#endregion -} \ No newline at end of file + + //#region Золотое яблоко + e.remove({ id: 'gtceu:chemical_reactor/golden_apple' }) + + e.recipes.gtceu.chemical_reactor('tfg:golden_apple') + .itemInputs('#tfg:all_apples', '8x #forge:ingots/gold') + .itemOutputs('minecraft:golden_apple') + .EUt(30).duration(50) + //#endregion + + //#region Зачарованное золотое яблоко + e.remove({ id: 'gtceu:chemical_reactor/notch_apple' }) + + e.recipes.gtceu.chemical_reactor('tfg:notch_apple') + .itemInputs('#tfg:all_apples', '8x minecraft:gold_block') + .itemOutputs('minecraft:enchanted_golden_apple') + .EUt(30).duration(50) + //#endregion + + //#region Золотая морковь + e.remove({ id: 'gtceu:chemical_reactor/golden_carrot' }) + + e.recipes.gtceu.chemical_reactor('tfg:golden_carrot') + .itemInputs('tfc:food/carrot', '#forge:nuggets/gold') + .itemOutputs('minecraft:golden_carrot') + .EUt(30).duration(50) + //#endregion + + //#region Жаренная картошка + e.remove({ id: 'minecraft:baked_potato' }) + e.remove({ id: 'minecraft:baked_potato_from_smoking' }) + //#endregion + + //#region Гнилая картошка + e.remove({ id: 'create:haunting/poisonous_potato' }) + //#endregion + + //#region Высушенные водросли + e.remove({ id: 'minecraft:dried_kelp' }) + e.remove({ id: 'minecraft:dried_kelp_from_smelting' }) + e.remove({ id: 'minecraft:dried_kelp_from_smoking' }) + //#endregion + + //#region Жаренная коровятина + e.remove({ id: 'minecraft:cooked_beef' }) + e.remove({ id: 'minecraft:cooked_beef_from_smoking' }) + //#endregion + + //#region Жаренная свинина + e.remove({ id: 'minecraft:cooked_porkchop' }) + e.remove({ id: 'minecraft:cooked_porkchop_from_smoking' }) + //#endregion + + //#region Жаренная курятина + e.remove({ id: 'minecraft:cooked_chicken' }) + e.remove({ id: 'minecraft:cooked_chicken_from_smoking' }) + //#endregion + + //#region Жаренная козлятина + e.remove({ id: 'minecraft:cooked_mutton' }) + e.remove({ id: 'minecraft:cooked_mutton_from_smoking' }) + //#endregion + + //#region Жаренный зайчатина + e.remove({ id: 'minecraft:cooked_rabbit' }) + e.remove({ id: 'minecraft:cooked_rabbit_from_smoking' }) + //#endregion + + //#region Жаренный Cod + e.remove({ id: 'minecraft:cooked_cod' }) + e.remove({ id: 'minecraft:cooked_cod_from_smoking' }) + //#endregion + + //#region Жаренный Salmon + e.remove({ id: 'minecraft:cooked_salmon' }) + e.remove({ id: 'minecraft:cooked_salmon_from_smoking' }) + //#endregion + + //#region Хлеб + e.remove({ id: 'minecraft:bread' }) + e.remove({ id: 'create:smelting/bread' }) + //#endregion + + //#region Печеньки + e.remove({ id: 'minecraft:cookie' }) + //#endregion + + //#region Торт + e.remove({ id: 'minecraft:cake' }) + e.remove({ id: 'create:crafting/curiosities/cake' }) + //#endregion + + //#region Грибной суп + e.remove({ id: 'createlowheated:mixing/minecraft/mushroom_stew' }) + //#endregion + + //#region Свекольный суп + e.remove({ id: 'createlowheated:mixing/minecraft/beetroot_soup' }) + //#endregion + + //#region Кроличий суп + e.remove({ id: 'createlowheated:mixing/minecraft/rabbit_stew' }) + //#endregion + + //#region Уголь + e.remove({ id: 'minecraft:coal_from_smelting_coal_ore' }) + e.remove({ id: 'minecraft:coal_from_smelting_deepslate_coal_ore' }) + + e.remove({ id: 'minecraft:coal_from_blasting_coal_ore' }) + e.remove({ id: 'minecraft:coal_from_blasting_deepslate_coal_ore' }) + //#endregion + + //#region Сырая железная руда + e.remove({ id: 'minecraft:raw_iron' }) + //#endregion + + //#region Сырая медная руда + e.remove({ id: 'minecraft:raw_copper' }) + //#endregion + + //#region Сырая золотая руда + e.remove({ id: 'minecraft:raw_gold' }) + //#endregion + + //#region Изумруды + e.remove({ id: 'minecraft:emerald_from_smelting_emerald_ore' }) + e.remove({ id: 'minecraft:emerald_from_smelting_deepslate_emerald_ore' }) + + e.remove({ id: 'minecraft:emerald_from_blasting_emerald_ore' }) + e.remove({ id: 'minecraft:emerald_from_blasting_deepslate_emerald_ore' }) + //#endregion + + //#region Лазурит + e.remove({ id: 'minecraft:lapis_lazuli_from_smelting_lapis_ore' }) + e.remove({ id: 'minecraft:lapis_lazuli_from_smelting_deepslate_lapis_ore' }) + + e.remove({ id: 'minecraft:lapis_lazuli_from_blasting_lapis_ore' }) + e.remove({ id: 'minecraft:lapis_lazuli_from_blasting_deepslate_lapis_ore' }) + //#endregion + + //#region Алмазы + e.remove({ id: 'minecraft:diamond_from_smelting_diamond_ore' }) + e.remove({ id: 'minecraft:diamond_from_smelting_deepslate_diamond_ore' }) + + e.remove({ id: 'minecraft:diamond_from_blasting_diamond_ore' }) + e.remove({ id: 'minecraft:diamond_from_blasting_deepslate_diamond_ore' }) + //#endregion + + //#region Кварц + e.remove({ id: 'minecraft:quartz' }) + e.remove({ id: 'minecraft:quartz_from_blasting' }) + //#endregion + + //#region Железный самородок + e.remove({ id: 'minecraft:iron_nugget_from_smelting' }) + e.remove({ id: 'minecraft:iron_nugget_from_blasting' }) + e.remove({ id: 'create:crushing/crimsite' }) + e.remove({ id: 'create:crushing/tuff_recycling' }) + e.remove({ id: 'create:crushing/crimsite_recycling' }) + e.remove({ id: 'create:crushing/tuff' }) + e.remove({ id: 'create:splashing/crushed_raw_iron' }) + e.remove({ id: 'create:splashing/gravel' }) + //#endregion + + //#region Золотой самородок + e.remove({ id: 'minecraft:gold_nugget_from_smelting' }) + e.remove({ id: 'minecraft:gold_nugget_from_blasting' }) + e.remove({ id: 'create:crushing/ochrum_recycling' }) + e.remove({ id: 'create:crushing/tuff_recycling' }) + e.remove({ id: 'create:crushing/tuff' }) + e.remove({ id: 'create:crushing/ochrum' }) + e.remove({ id: 'create:splashing/crushed_raw_gold' }) + //#endregion + + //#region Железо + e.remove({ id: 'minecraft:iron_ingot_from_smelting_iron_ore' }) + e.remove({ id: 'minecraft:iron_ingot_from_smelting_deepslate_iron_ore' }) + + e.remove({ id: 'minecraft:iron_ingot_from_blasting_iron_ore' }) + e.remove({ id: 'minecraft:iron_ingot_from_blasting_deepslate_iron_ore' }) + //#endregion + + //#region Медь + e.remove({ id: 'minecraft:copper_ingot_from_smelting_copper_ore' }) + e.remove({ id: 'minecraft:copper_ingot_from_smelting_deepslate_copper_ore' }) + + e.remove({ id: 'minecraft:copper_ingot_from_blasting_copper_ore' }) + e.remove({ id: 'minecraft:copper_ingot_from_blasting_deepslate_copper_ore' }) + //#endregion + + //#region Золото + e.remove({ id: 'minecraft:gold_ingot_from_smelting_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_smelting_deepslate_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_smelting_nether_gold_ore' }) + + e.remove({ id: 'minecraft:gold_ingot_from_blasting_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_blasting_deepslate_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_blasting_nether_gold_ore' }) + //#endregion + + //#region Незеритовый лом + e.remove({ id: 'minecraft:netherite_scrap' }) + e.remove({ id: 'minecraft:netherite_scrap_from_blasting' }) + //#endregion + + //#region Незеритовый слиток + e.remove({ id: 'minecraft:netherite_ingot' }) + //#endregion + + //#region Палки + e.remove({ id: 'gtceu:shaped/stick_normal' }) + e.remove({ id: 'minecraft:stick_from_bamboo_item' }) + //#endregion + + //#region Кремний + e.remove({ id: 'gtceu:shapeless/gravel_to_flint' }) + e.remove({ id: 'gtceu:sifter/gravel_sifting' }) + + e.shapeless('minecraft:flint', [ + '#tfc:rock/gravel', + '#forge:tools/mortars' + ]).id('tfg:workbench/gravel_to_flint') + + e.recipes.gtceu.sifter('tfg: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 Кожа + e.remove({ id: 'minecraft:leather' }) + e.remove({ id: 'create:crushing/leather_horse_armor' }) + e.remove({ id: 'create:milling/saddle' }) + //#endregion + + //#region Светящийся мешок с чернилами + e.recipes.gtceu.assembler('tfg:glow_ink_sac') + .itemInputs('minecraft:ink_sac') + .inputFluids(Fluid.of('gtceu:glowstone', 144)) + .itemOutputs('minecraft:glow_ink_sac') + .EUt(16).duration(100) + //#endregion + + //#region Слаймболл + e.remove({ id: 'create:crafting/appliances/slime_ball' }) + //#endregion + + //#region Глина + e.remove({ id: 'create:milling/dripstone_block' }) + e.remove({ id: 'create:splashing/sand' }) + e.remove({ id: 'create:splashing/crushed_raw_copper' }) + //#endregion + + //#region Призмарин + e.remove({ id: 'create:haunting/lapis_recycling' }) + //#endregion + + //#region Прожаренный фрукт хоруса + e.remove({ id: 'minecraft:popped_chorus_fruit' }) + //#endregion + + //#region Красители + + //#region Белый + e.remove({ id: 'minecraft:white_dye_from_lily_of_the_valley' }) + + e.remove({ id: 'gtceu:extractor/lily_of_the_valley_dye' }) + + e.remove({ id: 'create:milling/lily_of_the_valley' }) + e.remove({ id: 'create:milling/azure_bluet' }) + e.remove({ id: 'create:milling/compat/botania/white_petal' }) + e.remove({ id: 'create:milling/white_tulip' }) + e.remove({ id: 'create:milling/oxeye_daisy' }) + + e.recipes.gtceu.extractor('tfg:white_dye') + .itemInputs('#tfc:makes_white_dye') + .itemOutputs('2x minecraft:white_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:white_dye', '#tfc:makes_white_dye') + .id('tfg:milling/white_dye') + //#endregion + + //#region Светло-серый + e.remove({ id: 'minecraft:light_gray_dye_from_azure_bluet' }) + e.remove({ id: 'minecraft:light_gray_dye_from_white_tulip' }) + e.remove({ id: 'minecraft:light_gray_dye_from_oxeye_daisy' }) + + e.remove({ id: 'tfc:crafting/vanilla/light_gray_dye_from_native_silver' }) + + e.remove({ id: 'gtceu:extractor/white_tulip_dye' }) + e.remove({ id: 'gtceu:extractor/azure_bluet_dye' }) + e.remove({ id: 'gtceu:extractor/oxeye_daisy_dye' }) + + e.remove({ id: 'create:milling/blue_orchid' }) + e.remove({ id: 'create:milling/azure_bluet' }) + e.remove({ id: 'create:milling/compat/botania/light_gray_petal' }) + e.remove({ id: 'create:milling/oxeye_daisy' }) + + e.recipes.gtceu.extractor('tfg:light_gray_dye') + .itemInputs('#tfc:makes_light_gray_dye') + .itemOutputs('2x minecraft:light_gray_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:light_gray_dye', '#tfc:makes_light_gray_dye') + .id('tfg:milling/light_gray_dye') + //#endregion + + //#region Серый + e.remove({ id: 'tfc:crafting/vanilla/gray_dye_from_cassiterite' }) + e.remove({ id: 'tfc:crafting/vanilla/gray_dye_from_magnetite' }) + e.remove({ id: 'tfc:crafting/vanilla/gray_dye_from_sphalerite' }) + e.remove({ id: 'tfc:crafting/vanilla/gray_dye_from_tetrahedrite' }) + e.remove({ id: 'create:milling/compat/botania/gray_petal' }) + //#endregion + + //#region Черный + e.remove({ id: 'minecraft:black_dye_from_wither_rose' }) + e.remove({ id: 'gtceu:extractor/wither_rose_dye' }) + e.remove({ id: 'tfc:crafting/vanilla/black_dye_from_charcoal' }) + e.remove({ id: 'tfc:crafting/vanilla/black_dye_from_coke' }) + e.remove({ id: 'create:milling/compat/botania/black_petal' }) + e.remove({ id: 'create:milling/wither_rose' }) + //#endregion + + //#region Коричневый + e.remove({ id: 'minecraft:brown_dye' }) + e.remove({ id: 'tfc:crafting/vanilla/brown_dye_from_garnierite' }) + e.remove({ id: 'create:milling/compat/botania/brown_petal' }) + e.remove({ id: 'create:milling/cocoa_beans' }) + + e.recipes.gtceu.extractor('tfg:brown_dye') + .itemInputs('#tfc:makes_brown_dye') + .itemOutputs('2x minecraft:brown_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:brown_dye', '#tfc:makes_brown_dye') + .id('tfg:milling/brown_dye') + //#endregion + + //#region Красный + e.remove({ id: 'minecraft:red_dye_from_poppy' }) + e.remove({ id: 'minecraft:red_dye_from_tulip' }) + e.remove({ id: 'minecraft:red_dye_from_rose_bush' }) + e.remove({ id: 'minecraft:red_dye_from_beetroot' }) + + e.remove({ id: 'tfc:crafting/vanilla/red_dye_from_hematite' }) + + e.remove({ id: 'gtceu:extractor/rose_bush_dye' }) + e.remove({ id: 'gtceu:extractor/red_tulip_dye' }) + e.remove({ id: 'gtceu:extractor/poppy_dye' }) + e.remove({ id: 'gtceu:extractor/beetroot_dye' }) + + e.remove({ id: 'coralstfc:milling/coral_block_red' }) + e.remove({ id: 'create:milling/red_tulip' }) + e.remove({ id: 'create:milling/rose_bush' }) + e.remove({ id: 'coralstfc:milling/coral_red' }) + e.remove({ id: 'create:milling/poppy' }) + e.remove({ id: 'create:milling/compat/botania/red_petal' }) + + e.recipes.gtceu.extractor('tfg:red_dye') + .itemInputs('1x #tfc:makes_red_dye') + .itemOutputs('2x minecraft:red_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:red_dye', '#tfc:makes_red_dye') + .id('tfg:milling/red_dye') + //#endregion + + //#region Оранжевый + e.remove({ id: 'minecraft:orange_dye_from_orange_tulip' }) + e.remove({ id: 'minecraft:orange_dye_from_torchflower' }) + + e.remove({ id: 'tfc:crafting/vanilla/orange_dye_from_sylvite' }) + e.remove({ id: 'tfc:crafting/vanilla/orange_dye_from_native_copper' }) + + e.remove({ id: 'gtceu:extractor/orange_tulip_dye' }) + e.remove({ id: 'gtceu:extractor/torchflower_dye' }) + + e.remove({ id: 'create:milling/orange_tulip' }) + e.remove({ id: 'create:milling/compat/botania/orange_petal' }) + e.remove({ id: 'create:milling/sunflower' }) + + e.recipes.gtceu.extractor('tfg:orange_dye') + .itemInputs('#tfc:makes_orange_dye') + .itemOutputs('2x minecraft:orange_dye') + .duration(200) + .EUt(2) + + e.recipes.createMilling('2x minecraft:orange_dye', '#tfc:makes_orange_dye') + .id('tfg:milling/orange_dye') + //#endregion + + //#region Желтый + e.remove({ id: 'minecraft:yellow_dye_from_sunflower' }) + e.remove({ id: 'minecraft:yellow_dye_from_dandelion' }) + + e.remove({ id: 'tfc:crafting/vanilla/yellow_dye_from_limonite' }) + + e.remove({ id: 'gtceu:extractor/sunflower_dye' }) + e.remove({ id: 'gtceu:extractor/dandelion_dye' }) + + e.remove({ id: 'coralstfc:milling/coral_block_yellow' }) + e.remove({ id: 'create:milling/compat/botania/yellow_petal' }) + e.remove({ id: 'coralstfc:milling/coral_yellow' }) + e.remove({ id: 'create:milling/sunflower' }) + e.remove({ id: 'create:milling/dandelion' }) + e.remove({ id: 'create:milling/oxeye_daisy' }) + + e.recipes.gtceu.extractor('tfg:yellow_dye') + .itemInputs('#tfc:makes_yellow_dye') + .itemOutputs('2x minecraft:yellow_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:yellow_dye', '#tfc:makes_yellow_dye') + .id('tfg:milling/yellow_dye') + + + //#endregion + + //#region Лаймовый + e.remove({ id: 'minecraft:lime_dye_from_smelting' }) + + e.remove({ id: 'gtceu:extractor/sea_pickle_dye' }) + + e.remove({ id: 'create:milling/pink_tulip' }) + e.remove({ id: 'create:milling/compat/botania/lime_petal' }) + e.remove({ id: 'create:milling/red_tulip' }) + e.remove({ id: 'create:milling/lily_of_the_valley' }) + e.remove({ id: 'create:milling/orange_tulip' }) + e.remove({ id: 'create:milling/white_tulip' }) + e.remove({ id: 'create:milling/sea_pickle' }) + + e.recipes.gtceu.extractor('tfg:lime_dye') + .itemInputs('#tfc:makes_lime_dye') + .itemOutputs('2x minecraft:lime_dye') + .duration(200) + .EUt(2) + + e.recipes.createMilling('2x minecraft:lime_dye', '#tfc:makes_lime_dye') + .id('tfg:milling/lime_dye') + //#endregion + + //#region Зеленый + e.remove({ id: 'tfc:crafting/vanilla/green_dye_from_bismuthinite' }) + e.remove({ id: 'tfc:crafting/vanilla/green_dye_from_malachite' }) + + e.remove({ id: 'minecraft:green_dye' }) + + e.remove({ id: 'create:milling/rose_bush' }) + e.remove({ id: 'create:milling/compat/botania/green_petal' }) + e.remove({ id: 'create:milling/cactus' }) + e.remove({ id: 'create:milling/poppy' }) + e.remove({ id: 'create:milling/sea_pickle' }) + + e.recipes.gtceu.extractor('tfg:green_dye') + .itemInputs('#tfc:makes_green_dye') + .itemOutputs('2x minecraft:green_dye') + .duration(200) + .EUt(2) + + e.recipes.createMilling('2x minecraft:green_dye', '#tfc:makes_green_dye') + .id('tfg:milling/green_dye') + //#endregion + + //#region Бирюзовый + e.remove({ id: 'minecraft:cyan_dye_from_pitcher_plant' }) + e.remove({ id: 'gtceu:extractor/pitcher_dye' }) + e.remove({ id: 'create:milling/compat/botania/cyan_petal' }) + //#endregion + + //#region Светло-синий + e.remove({ id: 'minecraft:light_blue_dye_from_blue_orchid' }) + e.remove({ id: 'gtceu:extractor/blue_orchid_dye' }) + e.remove({ id: 'create:milling/blue_orchid' }) + e.remove({ id: 'create:milling/compat/botania/light_blue_petal' }) + e.remove({ id: 'gtceu:extractor/blue_orchid_dye' }) + + e.recipes.gtceu.extractor('tfg:light_blue_dye') + .itemInputs('#tfc:makes_light_blue_dye') + .itemOutputs('2x minecraft:light_blue_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:light_blue_dye', '#tfc:makes_light_blue_dye') + .id('tfg:milling/light_blue_dye') + //#endregion + + //#region Синий + e.remove({ id: 'minecraft:blue_dye_from_cornflower' }) + e.remove({ id: 'minecraft:blue_dye' }) + e.remove({ id: 'tfc:crafting/vanilla/blue_dye_from_lapis_lazuli' }) + e.remove({ id: 'tfc:crafting/vanilla/blue_dye_from_graphite' }) + e.remove({ id: 'gtceu:extractor/cornflower_dye' }) + + e.remove({ id: 'create:milling/cornflower' }) + e.remove({ id: 'create:milling/compat/botania/blue_petal' }) + e.remove({ id: 'create:milling/lapis_lazuli' }) + e.remove({ id: 'coralstfc:milling/coral_blue' }) + e.remove({ id: 'coralstfc:milling/coral_block_blue' }) + + e.recipes.gtceu.extractor('tfg:blue_dye') + .itemInputs('#tfc:makes_blue_dye') + .itemOutputs('2x minecraft:blue_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:blue_dye', '#tfc:makes_blue_dye') + .id('tfg:milling/blue_dye') + //#endregion + + //#region Фиолетовый + e.remove({ id: 'create:milling/allium' }) + e.remove({ id: 'create:milling/lilac' }) + e.remove({ id: 'create:milling/compat/botania/purple_petal' }) + e.remove({ id: 'coralstfc:milling/coral_purple' }) + e.remove({ id: 'coralstfc:milling/coral_block_purple' }) + + e.recipes.gtceu.extractor('tfg:purple_dye') + .itemInputs('#tfc:makes_purple_dye') + .itemOutputs('2x minecraft:purple_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:purple_dye', '#tfc:makes_purple_dye') + .id('tfg:milling/purple_dye') + //#endregion + + //#region Пурпурный + e.remove({ id: 'minecraft:magenta_dye_from_allium' }) + e.remove({ id: 'minecraft:magenta_dye_from_lilac' }) + + e.remove({ id: 'gtceu:extractor/lilac_dye' }) + e.remove({ id: 'gtceu:extractor/allium_dye' }) + + e.remove({ id: 'create:milling/compat/botania/magenta_petal' }) + e.remove({ id: 'create:milling/peony' }) + e.remove({ id: 'create:milling/allium' }) + e.remove({ id: 'create:milling/lilac' }) + + e.recipes.gtceu.extractor('tfg:magenta_dye') + .itemInputs('#tfc:makes_magenta_dye') + .itemOutputs('2x minecraft:magenta_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:magenta_dye', '#tfc:makes_magenta_dye') + .id('tfg:milling/magenta_dye') + //#endregion + + //#region Розовый + e.remove({ id: 'minecraft:pink_dye_from_pink_tulip' }) + e.remove({ id: 'minecraft:pink_dye_from_pink_petals' }) + e.remove({ id: 'minecraft:pink_dye_from_peony' }) + + e.remove({ id: 'tfc:crafting/vanilla/pink_dye_from_kaolinite' }) + + e.remove({ id: 'gtceu:extractor/pink_petals_dye' }) + e.remove({ id: 'gtceu:extractor/peony_dye' }) + e.remove({ id: 'gtceu:extractor/pink_tulip_dye' }) + + e.remove({ id: 'create:milling/pink_tulip' }) + e.remove({ id: 'create:milling/peony' }) + e.remove({ id: 'create:milling/compat/botania/pink_petal' }) + e.remove({ id: 'create:milling/allium' }) + + e.remove({ id: 'coralstfc:milling/coral_pink' }) + e.remove({ id: 'coralstfc:milling/coral_block_pink' }) + + e.recipes.gtceu.extractor('tfg:pink_dye') + .itemInputs('#tfc:makes_pink_dye') + .itemOutputs('2x minecraft:pink_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:pink_dye', '#tfc:makes_pink_dye') + .id('tfg:milling/pink_dye') + //#endregion + + //#endregion + + + + + + + + + + + + + + + + + + + + + + + + + + + // e.shaped('minecraft:', [ + // 'ABA', + // 'BCB', + // 'DED' + // ], { + // A: '', + // B: '', + // C: '', + // D: '', + // E: '', + // }).id('tfg:workbench/') + + + //#region 1 + //e.remove({ id: '' }) + //#endregion + + //#region + //#endregion + + //#region 1 + //e.remove({ id: '' }) + //#endregion + + //#region Выход: Бумага + + // e.remove({ id: 'gtceu:shaped/paper' }) + + // e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) + // e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) + + // e.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) + + // e.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 Выход: Сахар + + // e.remove({ id: 'gtceu:shaped/sugar' }) + // e.remove({ id: 'minecraft:sugar_from_honey_bottle' }) + // e.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) + + // e.recipes.gtceu.centrifuge('sugar') + // .itemInputs('tfc:food/sugarcane') + // .inputFluids(Fluid.of('minecraft:water', 600)) + // .itemOutputs('minecraft:sugar') + // .duration(800) + // .EUt(6) + + //#endregion + + //#region Выход: Ферментированный паучий глаз + + // e.remove({ id: 'minecraft:fermented_spider_eye' }) + // e.remove({ id: 'gtceu:mixer/fermented_spider_eye_red' }) + // e.remove({ id: 'gtceu:mixer/fermented_spider_eye_brown' }) + // e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_red' }) + // e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_brown' }) + + //#endregion + + //#region Выход: Светящийся арбуз + + // e.shaped('minecraft:glistering_melon_slice', [ + // 'AAA', + // 'ABA', + // 'AAA' + // ], { + // A: '#forge:nuggets/gold', + // B: 'tfc:food/melon_slice' + // }).id('minecraft:glistering_melon_slice') + + // e.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) + + // e.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 Выход: Книга + + // e.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) + + // e.shapeless('minecraft:book', [ + // 'minecraft:paper', 'minecraft:paper', 'minecraft:paper', 'minecraft:leather' + // ]).id('minecraft:book') + + //#endregion + + //#region Шаблоны брони + // e.remove({id: 'minecraft:wild_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:wayfinder_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:ward_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:vex_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:tide_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:spire_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:snout_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:silence_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:shaper_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:sentry_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:rib_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:raiser_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:host_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:eye_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:dune_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:coast_armor_trim_smithing_template_smithing_trim'}) + + // e.remove({ id: 'minecraft:coast_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:vex_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:host_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:rib_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:spire_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:tide_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:eye_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:raiser_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:wild_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:shaper_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:snout_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:dune_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) + // e.remove({ id: 'minecraft:wayfinder_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:ward_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:silence_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:sentry_armor_trim_smithing_template' }) + //#endregion +} + diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 5069ac6bb..e40db939d 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -227,6 +227,11 @@ const registerTFCItemTags = (event) => { }) //#endregion + //#region Теги для обхединения яблок + event.add(`tfg:all_apples`, `tfc:food/red_apple`) + event.add(`tfg:all_apples`, `tfc:food/green_apple`) + //#endregion + //#region Удаление тегов и скрытие руд const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds From 7c73f7166b4b036c3442dc7c72c37547a9836471 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 28 Sep 2024 13:54:44 +0700 Subject: [PATCH 096/266] update tfg + gregtech --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index 689e8ef0c..2ee68cb65 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 689e8ef0c86a1d6520431820e0d09edb62982f3d +Subproject commit 2ee68cb6507d196121e209f053453da8ea439f08 From 9a96dc0ba58108c8ed678a0887f7949bcef781dd Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 28 Sep 2024 16:55:40 +0700 Subject: [PATCH 097/266] add ftb backups --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index 2ee68cb65..e9acdf769 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 2ee68cb6507d196121e209f053453da8ea439f08 +Subproject commit e9acdf7697eb8dd8fcf54ce4d82e6bacc0d61a4f From d2b761c02b5ad8f05bfb996b6a88926da3c05cf0 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 28 Sep 2024 16:58:13 +0700 Subject: [PATCH 098/266] Create ftbbackups2.json --- config/ftbbackups2.json | 71 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 config/ftbbackups2.json diff --git a/config/ftbbackups2.json b/config/ftbbackups2.json new file mode 100644 index 000000000..0e872ef20 --- /dev/null +++ b/config/ftbbackups2.json @@ -0,0 +1,71 @@ +{ + // Allow the creation of backups automatically + "enabled": true, + // Permission level to use the /backup command + "command_permission_level": 3, + // Only send backup status to server ops + "notify_op_only": true, + // Don't send backup status at all + "do_not_notify": false, + /* Backup retention mode. Valid Modes: MAX_BACKUPS, TIERED + Note: TIERED mode is an experimental feature, Use at your own risk. + */ + "retention_mode": "MAX_BACKUPS", + // Applies to retention_mode:MAX_BACKUPS, Sets the maximum number of backups to keep + "max_backups": 5, + // Applies to retention_mode:TIERED, The latest x number of backups will be retained + "keep_latest": 5, + // Applies to retention_mode:TIERED, Sets number of hourly backups to keep + "keep_hourly": 1, + // Applies to retention_mode:TIERED, Sets number of daily backups to keep + "keep_daily": 1, + // Applies to retention_mode:TIERED, Sets number of weekly backups to keep + "keep_weekly": 1, + // Applies to retention_mode:TIERED, Sets number of monthly backups to keep + "keep_monthly": 1, + /* This is done with an implementation of cron from the Quartz java library. + More info here + (http://www.cronmaker.com) + */ + "backup_cron": "0 */30 * * * ?", + // Time between manual backups using the command + "manual_backups_time": 0, + // Only run a backup if a player has been online since the last backup + "only_if_players_been_online": true, + // Additional directories to include in backup + "additional_directories": [], + /* Additional files and directories to include in backup. + Can specify a file name, path relative to server directory or wildcard file path + Examples: (All file paths are relative to server root) + fileName.txt Any/all file named "fileName.txt" + folder/file.txt Exact file path + folder/ Everything in this folder + path/starts/with* Any files who's path starts with + *path/ends/with.txt Any files who's path ends with + *path/contains* Any files who's path contains + */ + "additional_files": [], + // Display file size in backup message + "display_file_size": false, + // backup location + "backup_location": ".", + // Specify the backup format. Valid options are ZIP and DIRECTORY + "backup_format": "ZIP", + // Minimum free disk space in MB. If a backup's creation would leave less than this amount of disk space remaining, the backup will be aborted. + "minimum_free_space": 0, + // If the previous backup failed due to lack of space, the oldest backup will be deleted to free space. + "free_space_if_needed": false, + /* Specify files or folders to be excluded. + Can specify a file name, path relative to server directory or wildcard file path + Examples: (All file paths are relative to server root) + fileName.txt Any/all file named "fileName.txt" + folder/file.txt Exact file path + folder/ Everything in this folder + path/starts/with* Any files who's path starts with + *path/ends/with.txt Any files who's path ends with + *path/contains* Any files who's path contains + */ + "excluded": [], + // The dimension used when creating backup preview image, specify "all" to enable automatic detection of primary dimension (can be very slow) + "preview_dimension": "minecraft:overworld" +} \ No newline at end of file From 786123b42c3b064f6338c8fe582ca4faa5a340c7 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 28 Sep 2024 16:58:19 +0700 Subject: [PATCH 099/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index e9acdf769..fda6d71d0 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit e9acdf7697eb8dd8fcf54ce4d82e6bacc0d61a4f +Subproject commit fda6d71d0de9344b87ce5c0f71d32ec09abb915a From 2d26c1373e6ede04bdd404956027b377bbd65a85 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:51:31 +0700 Subject: [PATCH 100/266] configs --- config/alekiships-client.toml | 4 + config/emi.css | 10 +- config/everycomp-common.toml | 53 ------ config/everycomp-entries.toml | 45 +++++ config/everycomp-hazardous.properties | 2 +- config/forgivingworld.json | 27 +++ config/gcyr.yaml | 13 +- config/gtceu.yaml | 195 ++++++++++++++++++++-- config/icterine.yml | 36 ++++ config/inventoryhud-client.toml | 2 +- config/jade/plugins.json | 30 +++- config/jade/sort-order.json | 21 +++ config/jei/jei-client.ini | 110 +++++++++--- config/jei/jei-debug.ini | 10 ++ config/jei/recipe-category-sort-order.ini | 1 - config/lmft.json | 3 + config/modernfix-mixins.properties | 1 + config/packetfixer.properties | 3 +- config/resourceful-config-web.json | 12 ++ mods | 2 +- 20 files changed, 478 insertions(+), 102 deletions(-) create mode 100644 config/alekiships-client.toml create mode 100644 config/everycomp-entries.toml create mode 100644 config/forgivingworld.json create mode 100644 config/icterine.yml create mode 100644 config/lmft.json create mode 100644 config/resourceful-config-web.json 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/emi.css b/config/emi.css index 45f5f26a0..658e23730 100644 --- a/config/emi.css +++ b/config/emi.css @@ -96,9 +96,10 @@ empty-search-sidebar-focus: none; /** - * The amount of vertical margin to give in the recipe screen. + * The maximum height the recipe screen will grow to be if space is available in + * pixels. */ - vertical-margin: 20; + maximum-recipe-screen-height: 256; /** * The minimum width of the recipe screen in pixels. Controls how many tabs there @@ -107,6 +108,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 */ diff --git a/config/everycomp-common.toml b/config/everycomp-common.toml index 866518931..53915b7bd 100644 --- a/config/everycomp-common.toml +++ b/config/everycomp-common.toml @@ -19,56 +19,3 @@ #Only show on advanced settings show_on_advanced_tooltips = false - #Disables certain types - [general.types] - - [general.types.leaves_type] - - [general.types.leaves_type.gtceu] - rubber = false - - [general.types.wood_type] - - [general.types.wood_type.gtceu] - rubber = false - - [general.types.wood_type.tfc] - acacia = true - ash = true - aspen = true - birch = true - blackwood = true - chestnut = true - douglas_fir = true - hickory = true - kapok = true - mangrove = true - maple = true - oak = true - palm = true - pine = true - rosewood = true - sequoia = true - spruce = true - sycamore = true - white_cedar = true - willow = true - - #Disables specific entries - [general.entries] - - [general.entries.wood_type] - - [general.entries.wood_type.storagedrawers] - full_drawers_2 = true - half_drawers_1 = true - full_drawers_4 = true - half_drawers_4 = true - trim = true - half_drawers_2 = true - full_drawers_1 = true - - [general.entries.wood_type.create] - window_pane = true - window = true - diff --git a/config/everycomp-entries.toml b/config/everycomp-entries.toml new file mode 100644 index 000000000..f56fa413f --- /dev/null +++ b/config/everycomp-entries.toml @@ -0,0 +1,45 @@ + +#Disables certain types. Note that all these configs, like in any other mod, only hide stuff from tabs and disable their recipes +[types] + + [types.leaves_type] + + [types.leaves_type.gtceu] + rubber = false + + [types.wood_type] + + [types.wood_type.tfc] + acacia = true + ash = true + aspen = true + birch = true + blackwood = true + chestnut = true + douglas_fir = true + hickory = true + kapok = true + mangrove = true + maple = true + oak = true + palm = true + pine = true + rosewood = true + sequoia = true + spruce = true + sycamore = true + white_cedar = true + willow = true + + [types.wood_type.gtceu] + rubber = false + +#Disables specific entries +[entries] + + [entries.wood_type] + + [entries.wood_type.create] + window_pane = true + window = true + diff --git a/config/everycomp-hazardous.properties b/config/everycomp-hazardous.properties index 20072f7ba..d00b0d730 100644 --- a/config/everycomp-hazardous.properties +++ b/config/everycomp-hazardous.properties @@ -1,2 +1,2 @@ #Hard disable entire modules. Use at your own risk and don't ask for support if you use this -#Mon Apr 22 18:18:22 NOVT 2024 +#Tue Aug 27 09:45:44 NOVT 2024 diff --git a/config/forgivingworld.json b/config/forgivingworld.json new file mode 100644 index 000000000..473941821 --- /dev/null +++ b/config/forgivingworld.json @@ -0,0 +1,27 @@ +{ + "disableVanillaPortals": { + "desc:": "Disables vanilla portals, default:false", + "disableVanillaPortals": false + }, + "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": [] +} \ No newline at end of file diff --git a/config/gcyr.yaml b/config/gcyr.yaml index 0d7c2db45..7253ab308 100644 --- a/config/gcyr.yaml +++ b/config/gcyr.yaml @@ -32,6 +32,11 @@ server: # Default: -270.0 spaceTemperature: -270.0 + # The Maximum size of a single space station. + # DO NOT CHANGE AFTER LOADING THE SPACE STATION WORLD, THAT WILL BREAK THE WORLD BORDER + # Default: 512 + spaceStationMaxSize: 512 + machine: # Damage caused by standing in an active dyson system controller's beam. (per tick) # Default: 5.0 @@ -39,25 +44,25 @@ machine: 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 + # Do rockets explode if landing is executed improperly? + # Default: true. + doCrashLandingExplosion: true + client: # Offset of the oxygen bar from the left side of the screen. # Default: 32 diff --git a/config/gtceu.yaml b/config/gtceu.yaml index 613f02ac1..693db866b 100644 --- a/config/gtceu.yaml +++ b/config/gtceu.yaml @@ -14,16 +14,16 @@ recipes: # 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 @@ -79,10 +79,14 @@ recipes: # Whether to nerf the output amounts of the first circuit in a set to 1 (from 2) and SoC to 2 (from 4). # Default: false - harderCircuitRecipes: false + harderCircuitRecipes: true + + # 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 @@ -107,11 +111,11 @@ worldgen: oreVeins: # The grid size (in chunks) for ore vein generation # Default: 3 - oreVeinGridSize: 3 + oreVeinGridSize: 5 # The maximum random offset (in blocks) from the grid for generating an ore vein. # Default: 12 - oreVeinRandomOffset: 12 + oreVeinRandomOffset: 32 # Prevents regular vanilla ores from being generated outside GregTech ore veins # Default: true @@ -252,7 +256,85 @@ machines: # This is intended for modpack developers only, and is not playable without custom tweaks or addons. # Other mods can override this to true, regardless of the config file. # Default: false - highTierContent: false + highTierContent: true + + # 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: true + + # Let Dual Hatch has more ability. + # When enabled it, Dual Hatch will can used to assemble line and so on. + # Need restart Minecraft to apply. + enableMoreDualHatchAbility: true + + # 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. @@ -273,12 +355,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 @@ -317,12 +399,74 @@ tools: # Default: 16 sprayCanChainLength: 16 + # 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: true + + # 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 + + # Whether the GTCEu's ingame guidebook, 'Compass', be enabled. + # WARNING: INCOMPLETE + # Default: false + enableCompass: false + # Config options for Mod Compatibility compat: # Config options regarding GTEU compatibility with other energy systems @@ -346,6 +490,17 @@ compat: # Default: 4 FE/Energy == 1 EU euToPlatformRatio: 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 + # Whether to hide facades of all blocks in JEI and creative search menu. # Default: true hideFacadesInJEI: true @@ -354,12 +509,20 @@ compat: # Default: true hideFilledCellsInJEI: 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 marker should show dimension tier. + # 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 diff --git a/config/icterine.yml b/config/icterine.yml new file mode 100644 index 000000000..87836718f --- /dev/null +++ b/config/icterine.yml @@ -0,0 +1,36 @@ +# Report issues on Github https://github.com/Mephodio/Icterine/issues +# Discuss, get help or report issues on Discord https://discord.gg/2SpfwvM7dm + +# Enables debug logs +# Will worsen your performance, please do not enable if you don't need it! +debug_mode: false + +# Cancels advancement check when stack becomes empty (for example, when player throws out the whole stack). +# Injects into InventoryChangeTrigger. +# Disable if you have mixin conflict or some advancements became unobtainable (and also report on github/discord!). +ignore_triggers_for_emptied_stacks: true + +# Cancels advancement check when stack size decreases (for example, when player throws out one item from stack). +# Injects into InventoryChangeTrigger, ItemStack, AbstractContainerMenu. +# Disable if you have mixin conflict or some advancements became unobtainable (and also report on github/discord!). +ignore_triggers_for_decreased_stacks: true + +# Optimizes advancement check for advancements that require multiple items (for example, "Cover me in debris" requires full netherite armor set). +# Injects into InventoryChangeTriggerInstance. +# Disable if you have mixin conflict or some advancements became unobtainable (and also report on github/discord!). +optimize_multiple_predicate_trigger: true + +# Disables advancement check when you just open any container (for example, chest or backpack). +# Injects into AbstractContainerMenu. +# Disable if you have mixin conflict or problems with any container (and also report on github/discord!). +initialize_inventory_last_slots: true + +# Skips advancement check when you pick up or otherwise increase stack size if this change doesn't pass any advancement threshold. +# For example, dirt stack size increased from 52 to 53, but there's no advancement for getting 53 dirt in your modpack. +optimize_triggers_for_increased_stacks: true + +# When checking each item criterion, first check the count requirement and see if it was fulfilled before. +# For example, there is advancement for getting stone block, any amount. You have 52 dirt, and you pick up one more. There is +# no way you can the get stone advancement from this action, because it requires any amount of item, and you already had some. +# Another example: there is no way you can get the advancement for 64 emerald blocks if you don't have dirt and you pick up 5 dirt. +check_count_before_item_predicate_match: true \ No newline at end of file diff --git a/config/inventoryhud-client.toml b/config/inventoryhud-client.toml index 3964470b7..7c8b246a5 100644 --- a/config/inventoryhud-client.toml +++ b/config/inventoryhud-client.toml @@ -217,7 +217,7 @@ #Notification settings [notification] #Last notified mod version - lastNotifiedVersion = "3.4.22" + lastNotifiedVersion = "3.4.26" #Notify more than once keepNotifying = true diff --git a/config/jade/plugins.json b/config/jade/plugins.json index 8df2f645f..8dcb00930 100644 --- a/config/jade/plugins.json +++ b/config/jade/plugins.json @@ -54,10 +54,24 @@ "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 + "recipe_output_info": true, + "stained_color": true, + "hazard_cleaner_provider": true, + "cable_info": true, + "parallel_info": true }, "jade": { "coordinates.rel": false, @@ -67,6 +81,13 @@ "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 @@ -127,6 +148,7 @@ "sheet_pile": true, "quern": true, "pit_kiln_above": true, + "hot_poured_glass": true, "gearbox": true, "axle": true, "chested_horse": true, @@ -149,6 +171,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 2fdfcc63d..bd9d8dfda 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:cheese": null, "firmalife:drying_mat": null, "firmalife:fruit_tree_sapling": null, @@ -52,10 +59,24 @@ "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: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:transformer": null, "gtceu:workable_provider": null, "jade:block_face": null, "jade:distance": null, diff --git a/config/jei/jei-client.ini b/config/jei/jei-client.ini index b0fbe9a60..dfb253e13 100644 --- a/config/jei/jei-client.ini +++ b/config/jei/jei-client.ini @@ -1,9 +1,56 @@ -[advanced] +[appearance] # Description: Display search bar in the center # Valid Values: [true, false] # Default Value: false CenterSearch = false + # Description: Max. recipe gui height + # Valid Values: Any integer greater than or equal to 175 + # Default Value: 350 + RecipeGuiHeight = 350 + + +[cheat_mode] + # Description: How items should be handed to you + # Valid Values: [INVENTORY, MOUSE_PICKUP] + # Default Value: MOUSE_PICKUP + GiveMode = MOUSE_PICKUP + + # Description: Enable cheating items into the hotbar by using the shift+number 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 @@ -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,15 +71,22 @@ # 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 + +[input] + # Description: Number of milliseconds before a long mouse click is considered to become 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] @@ -52,6 +96,24 @@ # 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: @) @@ -84,6 +146,16 @@ # 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 + [IngredientList] # Description: Max number of rows shown diff --git a/config/jei/jei-debug.ini b/config/jei/jei-debug.ini index f2171e61e..30ff2591f 100644 --- a/config/jei/jei-debug.ini +++ b/config/jei/jei-debug.ini @@ -4,11 +4,21 @@ # Default Value: false DebugMode = false + # 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 diff --git a/config/jei/recipe-category-sort-order.ini b/config/jei/recipe-category-sort-order.ini index 85146b9e5..21e393e53 100644 --- a/config/jei/recipe-category-sort-order.ini +++ b/config/jei/recipe-category-sort-order.ini @@ -83,5 +83,4 @@ ftbquests:loot_crate ftbquests:quest firmalife:bowl_pot firmalife:stinky_soup -framedblocks:framing_saw tfc:sewing 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/modernfix-mixins.properties b/config/modernfix-mixins.properties index 3986f867a..5b64dd174 100644 --- a/config/modernfix-mixins.properties +++ b/config/modernfix-mixins.properties @@ -52,6 +52,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) diff --git a/config/packetfixer.properties b/config/packetfixer.properties index fae0cdfe4..a73a08a48 100644 --- a/config/packetfixer.properties +++ b/config/packetfixer.properties @@ -1,8 +1,7 @@ #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. -#Mon Sep 30 23:09:25 YEKT 2024 -nbtMaxSize=209715200 decoderSize=838860800 +nbtMaxSize=209715200 packetSize=104857600 varInt21=8 diff --git a/config/resourceful-config-web.json b/config/resourceful-config-web.json new file mode 100644 index 000000000..6eadf185b --- /dev/null +++ b/config/resourceful-config-web.json @@ -0,0 +1,12 @@ +{ + "enabled": false, + "port": 7903, + "validator": { + "uuids": [], + "if": { + "password": "bb4ee1f6-ea54-434a-b4e4-d538be159dd1", + "type": "password" + }, + "type": "if" + } +} \ No newline at end of file diff --git a/mods b/mods index 07011a708..e9acdf769 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 07011a70855e845bdb11c0896c61467109f0d58f +Subproject commit e9acdf7697eb8dd8fcf54ce4d82e6bacc0d61a4f From 7e77db9f5a54b2a697d6199f4c4a7f5dda2dbd74 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:51:50 +0700 Subject: [PATCH 101/266] port some vanilla textures from tfg-core --- .../minecraft/textures/item/raw_copper.png | Bin 0 -> 2751 bytes .../assets/minecraft/textures/item/raw_gold.png | Bin 0 -> 2754 bytes .../assets/minecraft/textures/item/raw_iron.png | Bin 0 -> 2802 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/minecraft/textures/item/raw_copper.png create mode 100644 kubejs/assets/minecraft/textures/item/raw_gold.png create mode 100644 kubejs/assets/minecraft/textures/item/raw_iron.png diff --git a/kubejs/assets/minecraft/textures/item/raw_copper.png b/kubejs/assets/minecraft/textures/item/raw_copper.png new file mode 100644 index 0000000000000000000000000000000000000000..afa9c5dc885a887be173a103499002db56b89515 GIT binary patch literal 2751 zcmcImU2GIp6kZewVlYIa7D#j$qEcjbes*SOcfty#TWk{+YFVX?FW$NLPCMz&+;L{w z-SQ$K!B7>0N)!nCV1qv|z6jB1RES0+HHs!;f)75JnCOGX5MrW|dS+*L+CrDsze(or zobR6hbM77Q-Esf&WviE^QmN%V-Nin5uZZrYOW=9u#VG`@8@=vtsIV@@ZMXk|c9Fe5qL_m(OqH6iLa5QdU$nL6HneHZ+ZETs)}riDmQ^w>6Z(Ux6PA zL(dS!YPFiKX41?b6yl#CO$kLBVBhvao4H&h5t(cxEbw4z z?1SSaV%?w-Cy1C>L!Kz7rO2l`kl+O8jrf(ia)L!#p$>J!0I+g`g)o&$34Bhmj+3B+ zuxk`7YWOxMIw+5MRP3Vx8}Tvi8U>B(nuY~oADs@(0+s_jS?mq5kOf1mMGzA9tWbou z)k0y!nFXaay9G4jBv8-j^eGCNUuLY*ES}z`ZJeT}b#DD`+a;_Tv`3CN7SJLJX@Q4A zQUysCB)u%>po$DhzgN-?Ns6H*s7-=GbQM^U4Mj5)c@~%v+Zvk}O0Z!u-$9T#+d+d= z^xVO^wo=LHaf1-KnD!J4JeZocZDPo>MdU0tp$jZsP>CuFh-7pjlhsL1BShEa*jiX$ zWOyVhs%U-OV1!|ikz~Wb5-}~4$O6%@Bxpp{g&fg|AnP)+R4t>L)NER_)3>3=QDvso z$SML76<3*NLagvyR4+zd|1OwaU_e&WGFpS)Yu9L{ zzi30$g4mGkOwPb;PBhA*4mG;%0BUZmF>7|wM;l)io2xgafpF{sj;fOqzCpIryYY3;d#44Y-N0aMz3wUWU5%onwnr@q6((2QXy}ltYE1~ zwNw*HG=rP2UuF80J@ijZZ-f;OA$O3%E+q0Tox#i*bywxu3IeS1dOW@<@H;Qm8>^CoFw1EfWL{eMXkqdhh59P!Gg zivNpoB)3Jmsqaa8idWufN7Y_$GW8=rdK#IKz^dG74l zb!`m2z5k`HV)pm*e=a81-_j|s{p0A=58|Ye38oGY-|8J-Ui!Li?~m^s{r3CA7cL*F zbsIlFENof%#it*wY414q{@OFIzjgVm(O*w*KDFeKbNgN0XSRQMv2gJ2)RBuHPyRHq zbHZ)gQZAi%V0`g2w=G`rr1i@BMaQ1q|Jez4dh*ix4MzqhK6&ryZ#FF2x3swW#V5|6 z+Pmq%_>sep3lH6am%jYib(!|n-`(KcL)_Fd|OC4WEN6enC9mO}cKC^SA literal 0 HcmV?d00001 diff --git a/kubejs/assets/minecraft/textures/item/raw_gold.png b/kubejs/assets/minecraft/textures/item/raw_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..31b9965a41c68e85dae28e036bcf5b5b24ce30fa GIT binary patch literal 2754 zcmcImTWB0r7@iQVwKY&tN=P3%PN{h5>|Ay(J43fgn%%mAZW_|qCQu}2&z#vEvO8y- znPfM8Y8$AC6;zOhR!|Vs2PqYyKKP))7KExOB1*kH^g$m43kp(Di2v-)PLej;#M{8m zo;l|`|K@14IbA^5x3D@+Cqv-N@K*TtNB zr5EPTI^z@JMDd`BX)T2;S|X`N%>y*U?Co!O2v3ucEs?V0X1N>hf55ShmF14AMX~4& zk&06|?vumEN5=8-X>3?r|2}qa!vp~}5+b%ytGa>N$Z}1&CXAzLfn%GHa5~EkMhe-9 z;wU>reZm?kiN~TSu{w+tP0kp`9#$6Rv>sgfFT!vL^Sf(4q2#RR^l*jg<$W}l~qvEa5_Mvl?3XULq0(v^~Wi#wv%VHZ5t~qDV=@fsN-6+9y}U39&aEy6p}0l ziKOtN#Ebg4lz}WVMg4J6H$|}pEkbTuC`7k`WyzFPGcBzGQ_HdE)`eQww5eZ15ICoX z%0%$oa#LHeXb!tUh+IsDb6E~dO*xKbN`|Q0iY4)iVX3?*Dj6P0dWOfgu4o$86{O4U z{W*$fqNIxUw+hUn7-S^TFeL?p&z8n38QtKGl49|hv?1}bRg%TDBHK1fx1}BO9jI|s zT`4uP$^wb9Bxf|0lz3eN`gC29`H~32G;HZsMovqH4sw?D4$&(0i_`+nVLpns3F5(2 z6xCOjlj6yVC{?R7tw~)L;Sr?h9j{NWv%b9ir0W31Kuwe{W>f!R=v`odrmAT*o*#7@ zq&ksvfVH4yh_-TNa`j5o%AyK23r+wzHy8Js!{q6BRCU;9QJM(1T)lFfI-63mRuz=cO9rK%SC$%ZYE3bur(J)%`dXK`S(l6Jp|K7jvz}*Kwy2*BL|LmPb z@veNju=rKbHI-+(2hP2yUefwbUMW7Gzqo_(AN%CU3;P$In>zjB<%@lczr7%RynSKo zKuJ7{zC3gPCU$tIF!|u8?7qTx-;DO|IsG-W@Q^q^aN*>YEoTmW&RFvU+9_r6Sog2o x50%UI<~_v|%KWiG|EUvm_nfz{l^-sN%zNLyzJLBLdLz1J4(CU57xqt``U{lFcU}Mh literal 0 HcmV?d00001 diff --git a/kubejs/assets/minecraft/textures/item/raw_iron.png b/kubejs/assets/minecraft/textures/item/raw_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..a532bc3b5e5a438d4322e5d147c46f0b980bcba4 GIT binary patch literal 2802 zcmcImTWl0n7@k5SSU^kKL}Mt9Q%EE*JD1(r**&sA+g){m*_cc%ywIbV@?ji3+|6Y0rdES5hPe@*O+MNR~MJ;Rc?>g$> zp?k^L8%AHh*RN~?DmEif!#NZwnKnUF)W*#v8>%D7qjPA;uu{yGQ=c%jp{1BzlEN!? z2O2gy#~su=-qoj$kEltF*}RF~SOP?Vi9AS`%)I4-Qi>_d1?1Zw<`}vR@kUZio3D`W zSGwsA>>xTB5m=Sy1zILwvACE>CO6O`FGe{&&WRE$@_-kBB+ei;-e9f}J5wNG6jUFLI*D5(MjxSspC0mfKpDkVdZR7`A6%i}oeL94>e% zhL~FM!L&oMmK(&0M2sszn-e0u?^7A5sUglTIQg=2P32G?naJ{7f)zq636r9P@Hxer zW{7sZ%qX!a@NG`C+c#z-t_Qie;HW4wN;I}s4RgI7G##1+EGO`Au|14E><;4^K?tX3 zg~BuR8VdcHSx{6mYC!#&5Nd-C2SE=zeHiDfa75j4&G@&I@r~*Gb)oyw2uiA}y(-7>g3JmP>+QgK>?l|xF(>1G zwgC}OOoe`Zr5GU??DwgfFH{C)ktY`?_|IT|V4nHu=^d6qLM$@0&lgbE-%ENIF(58U zQ7IVjHcBYppEgL;+=?N@{qlBH)E1Y2rBSMlBIZ3&sAN&#q^tN=%1J#gjF4e)(|4Q5XaPXM#a`Ba%SYhh7Kf~ z4|3cTqdVB7p>5|4wMzTxx7@|mm6J6BJ(Dy79u?agb~tlQi2&F}b+vzGyLaZl6PC+l{vTK3ACeS7Mc zp6Sk9-#B%`1lL;XpS!TAQC3>V4o{st)^PrpCmuiptLY_MnllXtj%3f!=^Z=1o+w@& z=_)+_p}GF_m8o?TPxq|+F7Yy8zW89=Tv_rW9Q3U6(gdRu+8`9*zG z-Qn+#PEwcZzg)Gqt>xSL$)k&@Lll!g$DdkqX=3@0Coiv@+)mZ=@6w;G{Q2nq12=jn zJ{o-Wt3l!QpHA)+jxB%YsV4KG6Kh8 Date: Tue, 27 Aug 2024 09:52:18 +0700 Subject: [PATCH 102/266] fix firmaciv drop from wood blocks --- .../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 ++++++++++++++++++ 40 files changed, 10760 insertions(+) create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/acacia.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/ash.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/aspen.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/birch.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/blackwood.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/chestnut.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/douglas_fir.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/hickory.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/kapok.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/mangrove.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/maple.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/oak.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/palm.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/pine.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/rosewood.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sequoia.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/spruce.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sycamore.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/white_cedar.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/willow.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/acacia.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/ash.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/aspen.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/birch.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/blackwood.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/chestnut.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/douglas_fir.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/hickory.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/kapok.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/mangrove.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/maple.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/oak.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/palm.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/pine.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/rosewood.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sequoia.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/spruce.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sycamore.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/white_cedar.json create mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/willow.json 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 new file mode 100644 index 000000000..353ebbb62 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/acacia.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..19284251a --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/ash.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..f3b2d9b5f --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/aspen.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..20f54ccf5 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/birch.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..020990dbe --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/blackwood.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..ca770d7db --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/chestnut.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..169f303c7 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/douglas_fir.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..714e59b86 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/hickory.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..7d9c7c129 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/kapok.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..9c6c9ca8d --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/mangrove.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..343ecc373 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/maple.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..8d37c7e78 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/oak.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..8f5d172b1 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/palm.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..d110788a1 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/pine.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..38b33ecb6 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/rosewood.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..72c6b7452 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sequoia.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..d47e81a0e --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/spruce.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..b84e5d14f --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sycamore.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..4d3495adb --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/white_cedar.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..6a6c190ca --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/willow.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..0bd7f40eb --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/acacia.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..7cbebb491 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/ash.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..6d602f7ee --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/aspen.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..8ab6c3c52 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/birch.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..01ce90f96 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/blackwood.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..0af106297 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/chestnut.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..ec8861408 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/douglas_fir.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..8e0c736f2 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/hickory.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..cfb56f03c --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/kapok.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..383377de1 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/mangrove.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..c78cebc60 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/maple.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..d728fb43a --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/oak.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..2ff8e6057 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/palm.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..3f02f20c2 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/pine.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..2bf6d17f2 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/rosewood.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..953c853a2 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sequoia.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..c69146c74 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/spruce.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..2138d1327 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sycamore.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..54a39a172 --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/white_cedar.json @@ -0,0 +1,269 @@ +{ + "__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 new file mode 100644 index 000000000..879ab55ec --- /dev/null +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/willow.json @@ -0,0 +1,269 @@ +{ + "__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 From 8c68b41deb67d5f323dc5b17eaa9b851eb32d63d Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:52:37 +0700 Subject: [PATCH 103/266] remove old firmaciv loot_table fix files --- .../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 ------------------ 40 files changed, 10760 deletions(-) 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 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 From 5a4a46d86cc8287c3476ba635a53183c8e313033 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:52:52 +0700 Subject: [PATCH 104/266] remove cringe fix for tfc powders --- kubejs/data/forge/tags/items/dusts.json | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 kubejs/data/forge/tags/items/dusts.json diff --git a/kubejs/data/forge/tags/items/dusts.json b/kubejs/data/forge/tags/items/dusts.json deleted file mode 100644 index e2ad84af9..000000000 --- a/kubejs/data/forge/tags/items/dusts.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "replace": true, - "values": [] -} \ No newline at end of file From 917be4fbae44e3b75d4bcc4a63ac5947d125c068 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:53:20 +0700 Subject: [PATCH 105/266] drop old tfc ore gen files --- .../worldgen/configured_feature/geode.json | 0 .../vein/deep_garnet_amethyst.json | 313 ------------ .../vein/deep_garnet_opal.json | 175 ------- .../configured_feature/vein/deep_gold.json | 174 ------- .../vein/deep_hematite.json | 121 ----- .../vein/deep_limonite.json | 59 --- .../vein/deep_magnetite.json | 202 -------- .../vein/deep_molybdenum.json | 174 ------- .../vein/deep_naquadah.json | 103 ---- .../vein/deep_pitchblende.json | 148 ------ .../vein/deep_sapphire.json | 106 ---- .../vein/deep_scheelite.json | 70 --- .../vein/deep_sheldonite.json | 151 ------ .../configured_feature/vein/deep_topaz.json | 152 ------ .../vein/normal_apatite_.json | 184 ------- .../vein/normal_basaltic_sands.json | 60 --- .../vein/normal_bauxite.json | 146 ------ .../vein/normal_beryllium.json | 95 ---- .../vein/normal_bismuthinite.json | 215 -------- .../vein/normal_cassiterite.json | 70 --- .../vein/normal_certus_quartz.json | 105 ---- .../configured_feature/vein/normal_coal.json | 90 ---- .../vein/normal_copper.json | 117 ----- .../vein/normal_garnet_tin.json | 473 ------------------ .../vein/normal_garnierite.json | 52 -- .../configured_feature/vein/normal_gold.json | 187 ------- .../vein/normal_graphite.json | 38 -- .../vein/normal_hematite.json | 117 ----- .../configured_feature/vein/normal_lapis.json | 151 ------ .../vein/normal_limonite.json | 71 --- .../vein/normal_lubricant.json | 94 ---- .../vein/normal_magnetite.json | 158 ------ .../vein/normal_manganese.json | 266 ---------- .../configured_feature/vein/normal_mica.json | 220 -------- .../vein/normal_monazite.json | 70 --- .../vein/normal_oilsands.json | 90 ---- .../vein/normal_olivine.json | 174 ------- .../vein/normal_redstone.json | 32 -- .../configured_feature/vein/normal_salt.json | 83 --- .../vein/normal_saltpeter.json | 220 -------- .../vein/normal_silver.json | 63 --- .../vein/normal_sphalerite.json | 215 -------- .../vein/normal_spodumene.json | 221 -------- .../vein/normal_sulfur.json | 89 ---- .../vein/normal_tetrahedrite.json | 139 ----- .../vein/surface_bismuthinite.json | 215 -------- .../vein/surface_cassiterite.json | 70 --- .../vein/surface_copper.json | 117 ----- .../vein/surface_sphalerite.json | 215 -------- .../vein/surface_tetrahedrite.json | 139 ----- .../tfg/worldgen/placed_feature/geode.json | 28 -- .../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 - 100 files changed, 7233 deletions(-) rename kubejs/data/{tfg => tfc}/worldgen/configured_feature/geode.json (100%) 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_basaltic_sands.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_lubricant.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_mica.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_saltpeter.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_cassiterite.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 delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/geode.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 diff --git a/kubejs/data/tfg/worldgen/configured_feature/geode.json b/kubejs/data/tfc/worldgen/configured_feature/geode.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/geode.json rename to kubejs/data/tfc/worldgen/configured_feature/geode.json 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 5c182435e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_amethyst.json +++ /dev/null @@ -1,313 +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 - } - ] - } - ] - } -} \ 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 4d44ad915..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_opal.json +++ /dev/null @@ -1,175 +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 - } - ] - } - ] - } -} \ 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 ddab0f5d8..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_gold.json +++ /dev/null @@ -1,174 +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 - } - ] - } - ] - } -} \ 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 c354a8d12..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_hematite.json +++ /dev/null @@ -1,121 +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 - } - ] - } - ] - } -} \ 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 186db84af..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_limonite.json +++ /dev/null @@ -1,59 +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 - } - ] - } - ] - } -} \ 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 a9f375c72..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_magnetite.json +++ /dev/null @@ -1,202 +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 - } - ] - } - ] - } -} \ 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 5c616d03e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_molybdenum.json +++ /dev/null @@ -1,174 +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 - } - ] - } - ] - } -} \ 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 ae246bac5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_naquadah.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 310, - "density": 0.25, - "min_y": -64, - "max_y": -20, - "size": 22, - "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 - } - ] - } - ] - } -} \ 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 2ce0d37b3..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_pitchblende.json +++ /dev/null @@ -1,148 +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 - } - ] - } - ] - } -} \ 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 4f38d2fc0..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sapphire.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 280, - "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 - } - ] - } - ] - } -} \ 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 60dad99ed..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_scheelite.json +++ /dev/null @@ -1,70 +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 - } - ] - } - ] - } -} \ 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 6a61d6e5b..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sheldonite.json +++ /dev/null @@ -1,151 +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 - } - ] - } - ] - } -} \ 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 bbbefa97b..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_topaz.json +++ /dev/null @@ -1,152 +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 - } - ] - } - ] - } -} \ 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 e55526af6..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_apatite_.json +++ /dev/null @@ -1,184 +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 - } - ] - } - ] - } -} \ 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/vein/normal_basaltic_sands.json deleted file mode 100644 index 630d2171c..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_basaltic_sands.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 160, - "density": 0.3, - "min_y": -32, - "max_y": 60, - "size": 48, - "random_name": "normal_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 - } - ] - }, - { - "replace": [ - "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 - } - ] - } - ] - } -} \ 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 4c96d330b..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bauxite.json +++ /dev/null @@ -1,146 +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 - } - ] - } - ] - } -} \ 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 0ff3e26c5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_beryllium.json +++ /dev/null @@ -1,95 +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 - } - ] - } - ] - } -} \ 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 b8c2b9826..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": 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/normal_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_cassiterite.json deleted file mode 100644 index c0571a68e..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": 1, - "underground_count": 0, - "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 974fd99e3..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_certus_quartz.json +++ /dev/null @@ -1,105 +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 - } - ] - } - ] - } -} \ 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 93c69ee0d..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_coal.json +++ /dev/null @@ -1,90 +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 - } - ] - } - ] - } -} \ 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 9ac3958d5..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": 1, - "underground_count": 0, - "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 cd8a87579..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnet_tin.json +++ /dev/null @@ -1,473 +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 - } - ] - } - ] - } -} \ 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 3002932eb..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": 1, - "underground_count": 0, - "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 c3baaa13e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_gold.json +++ /dev/null @@ -1,187 +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": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_native_gold", - "weight": 100 - } - ] - } - } -} \ 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 c31c1d0fe..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_graphite.json +++ /dev/null @@ -1,38 +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 - } - ] - } - ] - } -} \ 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 cf40974c8..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_hematite.json +++ /dev/null @@ -1,117 +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": 35, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_hematite", - "weight": 100 - } - ] - } - } -} \ 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 5d287c649..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lapis.json +++ /dev/null @@ -1,151 +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 - } - ] - } - ] - } -} \ 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 b0e3a01e3..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_limonite.json +++ /dev/null @@ -1,71 +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": 35, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_limonite", - "weight": 100 - } - ] - } - } -} \ 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/vein/normal_lubricant.json deleted file mode 100644 index 5248cc9bf..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lubricant.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 190, - "density": 0.25, - "min_y": -40, - "max_y": 56, - "size": 36, - "random_name": "normal_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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - } - ] - } -} \ 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 74b7fc550..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_magnetite.json +++ /dev/null @@ -1,158 +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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_magnetite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file 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 7f3d2ceb6..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_manganese.json +++ /dev/null @@ -1,266 +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 - } - ] - } - ] - } -} \ 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/vein/normal_mica.json deleted file mode 100644 index bd96dcf05..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_mica.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 190, - "density": 0.25, - "min_y": 0, - "max_y": 210, - "size": 36, - "random_name": "normal_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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_pollucite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_pollucite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_pollucite_ore", - "weight": 15 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_pollucite_ore", - "weight": 15 - } - ] - } - ] - } -} \ 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 0086b72f3..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_monazite.json +++ /dev/null @@ -1,70 +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 - } - ] - } - ] - } -} \ 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 b90e0ee33..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_oilsands.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 155, - "density": 0.25, - "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 - } - ] - } - ] - } -} \ 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 11114ea15..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_olivine.json +++ /dev/null @@ -1,174 +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 - } - ] - } - ] - } -} \ 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 ebe0c1a5f..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_redstone.json +++ /dev/null @@ -1,32 +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 - } - ] - } - ] - } -} \ 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 6fc2e582e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_salt.json +++ /dev/null @@ -1,83 +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 - } - ] - } - ] - } -} \ 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/vein/normal_saltpeter.json deleted file mode 100644 index 7228aafc5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_saltpeter.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 210, - "density": 0.3, - "min_y": -32, - "max_y": 60, - "size": 50, - "random_name": "normal_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 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_alunite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_alunite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_alunite_ore", - "weight": 15 - } - ] - }, - { - "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 - } - ] - }, - { - "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 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_alunite_ore", - "weight": 15 - } - ] - } - ] - } -} \ 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 5a6a4031c..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": 1, - "underground_count": 0, - "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 c283fe420..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": 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/normal_spodumene.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_spodumene.json deleted file mode 100644 index 71d98f782..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_spodumene.json +++ /dev/null @@ -1,221 +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 - } - ] - } - ] - } -} \ 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 464d1f9cd..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sulfur.json +++ /dev/null @@ -1,89 +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 - } - ] - } - ] - } -} \ 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 a740d6ff4..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_tetrahedrite.json +++ /dev/null @@ -1,139 +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": 35 - }, - { - "block": "gtceu:quartzite_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:quartzite_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:slate_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:phyllite_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:schist_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:gneiss_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:marble_stibnite_ore", - "weight": 25 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_tetrahedrite", - "weight": 100 - } - ] - } - } -} \ 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_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/surface_cassiterite.json deleted file mode 100644 index 4f93ee411..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_cassiterite.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 135, - "density": 0.25, - "min_y": 60, - "max_y": 210, - "size": 50, - "random_name": "surface_cassiterite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_cassiterite_ore", - "weight": 60 - }, - { - "block": "gtceu:granite_tin_ore", - "weight": 40 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_cassiterite_ore", - "weight": 60 - }, - { - "block": "gtceu:diorite_tin_ore", - "weight": 40 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_cassiterite_ore", - "weight": 60 - }, - { - "block": "gtceu:gabbro_tin_ore", - "weight": 40 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_cassiterite", - "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 8e6f8ace9..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_copper.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 140, - "density": 0.25, - "min_y": 60, - "max_y": 210, - "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": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "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/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 78e7e3b16..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_tetrahedrite.json +++ /dev/null @@ -1,139 +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": 10 - }, - { - "block": "gtceu:quartzite_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:slate_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:slate_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:phyllite_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:phyllite_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:schist_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:schist_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:gneiss_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:gneiss_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:marble_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:marble_stibnite_ore", - "weight": 30 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_tetrahedrite", - "weight": 100 - } - ] - } - } -} \ 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/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 From a934fb455e223d2eeb572602920eb2a0b612d10f Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:53:38 +0700 Subject: [PATCH 106/266] refactor firmalife ore removing --- kubejs/server_scripts/firmalife/tags.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 49e685f98..1216e8ee6 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -32,10 +32,16 @@ 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) => { - event.remove('tfc:in_biome/veins', 'firmalife:vein/normal_chromite') - event.remove('tfc:in_biome/veins', 'firmalife:vein/deep_chromite') + const ALL_DISABLED_FIRMALIFE_VEINS = [ + 'firmalife:vein/normal_chromite', + 'firmalife:vein/deep_chromite' + ] + + // Удаление + ALL_DISABLED_FIRMALIFE_VEINS.forEach(vein => { + event.remove('tfc:in_biome/veins', vein) + }) } \ No newline at end of file From 2f450757e38334bc738dd1f5b703736a8d22c996 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:54:14 +0700 Subject: [PATCH 107/266] add custom fresh water vein for GTM --- kubejs/server_scripts/gregtech/fluid_veins.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 kubejs/server_scripts/gregtech/fluid_veins.js diff --git a/kubejs/server_scripts/gregtech/fluid_veins.js b/kubejs/server_scripts/gregtech/fluid_veins.js new file mode 100644 index 000000000..db71d4360 --- /dev/null +++ b/kubejs/server_scripts/gregtech/fluid_veins.js @@ -0,0 +1,15 @@ +// priority: 0 + +const registerGTMFluidVeins = (event) => { + + event.add('tfg:fresh_water', vein => { + vein.dimensions('minecraft:overworld') + vein.fluid(() => Fluid.of('minecraft:water').fluid) + vein.weight(5) + vein.minimumYield(250) + vein.maximumYield(300) + vein.depletionAmount(1) + vein.depletionChance(100) + vein.depletedYield(15) + }) +} \ No newline at end of file From 04879e1d6a7b087e709763bb2776e2f906afbfa1 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:54:27 +0700 Subject: [PATCH 108/266] small refactor for loot.js --- kubejs/server_scripts/gregtech/loot.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/gregtech/loot.js index e7f04f58f..84d79ac51 100644 --- a/kubejs/server_scripts/gregtech/loot.js +++ b/kubejs/server_scripts/gregtech/loot.js @@ -2,11 +2,11 @@ const registerGTCEULoots = (event) => { - global.TFC_STONE_TYPES.forEach(stoneType => { + global.TFC_STONE_TYPES.forEach(stoneTypeName => { GTMaterialRegistry.getRegisteredMaterials().forEach(material => { if (material.hasProperty(PropertyKey.ORE)) { - let stoneTypeMaterial = TFGHelpers.getMaterial(stoneType) + let stoneTypeMaterial = TFGHelpers.getMaterial(stoneTypeName) let stoneTypeDust = null if (stoneTypeMaterial != null) stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1) @@ -17,7 +17,7 @@ const registerGTCEULoots = (event) => { let crushedOre = ChemicalHelper.get(TagPrefix.crushed, material, 1) - let blockName = `gtceu:${stoneType}_${material.getName()}_ore` + let blockName = `gtceu:${stoneTypeName}_${material.getName()}_ore` if (!richRawOre.isEmpty() && !normalRawOre.isEmpty() && !poorRawOre.isEmpty()) { From 040b74f15b653f7da7d80e3b625da064f989b941 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:54:43 +0700 Subject: [PATCH 109/266] add all ores from gtm to tfc world --- kubejs/server_scripts/gregtech/ore_veins.js | 302 ++++++++++++++++++++ 1 file changed, 302 insertions(+) create mode 100644 kubejs/server_scripts/gregtech/ore_veins.js diff --git a/kubejs/server_scripts/gregtech/ore_veins.js b/kubejs/server_scripts/gregtech/ore_veins.js new file mode 100644 index 000000000..515ecaeac --- /dev/null +++ b/kubejs/server_scripts/gregtech/ore_veins.js @@ -0,0 +1,302 @@ +// priority: 0 + +// Я правда не тупой, я знаю, что это можно было сделать перебором списка, но это сделано +// для удобного изменения значения каждой жилы, допустим редкости спавна и тд. + +const registerGTMOreVeins = (event) => { + + // Перемещение - End -> Overworld + + event.modify("gtceu:bauxite_vein_end", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + + vein.layeredVeinGenerator(generator => generator + .buildLayerPattern(pattern => pattern + .layer(l => l.weight(2).mat(GTMaterials.Bauxite).size(1, 4)) + .layer(l => l.weight(2).mat(GTMaterials.Ilmenite).size(1, 2)) + .layer(l => l.weight(1).mat(GTMaterials.Aluminium).size(1, 1)) + ) + ) + }) + + event.modify("gtceu:magnetite_vein_end", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:naquadah_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:pitchblende_vein_end", vein => { + vein.layer('tfg_tfc_ii_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:scheelite_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:sheldonite_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + // Nether -> Overworld + + event.modify("gtceu:banded_iron_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:beryllium_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:certus_quartz", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:manganese_vein", vein => { + vein.layer('tfg_tfc_ie_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:molybdenum_vein", vein => { + vein.layer('tfg_tfc_ie_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:monazite_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:nether_quartz_vein", vein => { + vein.layer('tfg_tfc_s_q_s_g') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:redstone_vein", vein => { + vein.layer('tfg_tfc_granite') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:saltpeter_vein", vein => { + vein.layer('tfg_tfc_ie_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + + vein.layeredVeinGenerator(generator => generator + .buildLayerPattern(pattern => pattern + .layer(l => l.weight(3).mat(GTMaterials.Saltpeter).size(2, 4)) + .layer(l => l.weight(2).mat(GTMaterials.Diatomite).size(1, 1)) + .layer(l => l.weight(2).mat(GTMaterials.Electrotine).size(1, 1)) + .layer(l => l.weight(1).mat(GTMaterials.Alunite).size(1, 1)) + ) + ) + }) + + event.modify("gtceu:sulfur_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:tetrahedrite_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:topaz_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + // Перемещение - Overworld -> Overworld + + event.modify("gtceu:apatite_vein", vein => { + vein.layer('tfg_tfc_ii_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:cassiterite_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:coal_vein", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:copper_tin_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:galena_vein", vein => { + vein.layer('tfg_tfc_g_g') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:garnet_tin_vein", vein => { + vein.layer('tfg_tfc_all') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:garnet_vein", vein => { + vein.layer('tfg_tfc_m_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + event.modify("gtceu:iron_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:lubricant_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:magnetite_vein_ow", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:mineral_sand_vein", vein => { + vein.layer('tfg_tfc_g_b') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:nickel_vein", vein => { + vein.layer('tfg_tfc_gabbro') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:salts_vein", vein => { + vein.layer('tfg_tfc_s_c_l') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:oilsands_vein", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + // Перемещение - Deepslate Overworld -> Overworld + + event.modify("gtceu:copper_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:diamond_vein", vein => { + vein.layer('tfg_tfc_gabbro') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:lapis_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:manganese_vein_ow", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:mica_vein", vein => { + vein.layer('tfg_tfc_ii_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:olivine_vein", vein => { + vein.layer('tfg_tfc_ie_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:redstone_vein_ow", vein => { + vein.layer('tfg_tfc_granite') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:sapphire_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + // Перемещение - Custom + + event.add("tfg:bismuth", vein => { + vein.weight(80) + vein.clusterSize(40) + vein.density(0.25) + vein.discardChanceOnAirExposure(0) + + vein.layer('tfg_tfc_ii_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + + vein.heightRangeUniform(0, 60) + + vein.layeredVeinGenerator(generator => generator + .buildLayerPattern(pattern => pattern + .layer(l => l.weight(1).mat(GTMaterials.Cobalt).size(1, 1)) + .layer(l => l.weight(2).mat(GTMaterials.Nickel).size(1, 1)) + .layer(l => l.weight(3).mat(GTMaterials.Bismuth).size(2, 4)) + .layer(l => l.weight(1).mat(GTMaterials.Silver).size(1, 1)) + ) + ) + + vein.surfaceIndicatorGenerator(indicator => indicator + .surfaceRock(GTMaterials.Bismuth) + .placement("above") + .density(0.4) + .radius(5) + ) + }) +} \ No newline at end of file From 84a3b02ad7e9c6ece0196ca9286bd55d936c4d75 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:54:56 +0700 Subject: [PATCH 110/266] latex heating from tfg-core --- kubejs/server_scripts/gregtech/recipes.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 8d51fb775..045fe6a20 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1277,6 +1277,13 @@ const registerGTCEURecipes = (event) => { .EUt(24) //#endregion + event.recipes.gtceu.fluid_solidifier('tfg:latex_heating') + .itemInputs('gtceu:sulfur_dust') + .inputFluids(Fluid.of('tfg:latex', 1000)) + .itemOutputs('gtceu:sticky_resin') + .duration(480) + .EUt(7) + //#region Рецепты, которые итерируются по всем материалам From 34d2fea544a7b2f0717313be5dc2249aeb6b62d3 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:55:09 +0700 Subject: [PATCH 111/266] disable most of recipes (tests) --- kubejs/server_scripts/main_server_script.js | 187 +++++++++++--------- 1 file changed, 100 insertions(+), 87 deletions(-) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 5adb7f640..e8e538495 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -4,60 +4,67 @@ * Событие регистрации предмет-тэгов. */ ServerEvents.tags('item', event => { - registerAE2ItemTags(event) - registerAsticorCartsItemTags(event) - registerChiselAndBitsItemTags(event) - registerComputerCraftItemTags(event) - registerCreateItemTags(event) - registerCreateAdditionsItemTags(event) - registerExtendedAE2ItemTags(event) - registerFirmaCivItemTags(event) - registerFirmaLifeItemTags(event) - registerFramedBlocksItemTags(event) - registerFTBQuestsItemTags(event) - registerGTCEUItemTags(event) - registerMegaCellsItemTags(event) - registerMinecraftItemTags(event) - registerMoreRedItemTags(event) - registerHotOrNotItemTags(event) - registerRailWaysItemTags(event) - registerSophisticatedBackpacksItemTags(event) - registerTFCItemTags(event) + // registerAE2ItemTags(event) + // registerAsticorCartsItemTags(event) + // registerChiselAndBitsItemTags(event) + // registerComputerCraftItemTags(event) + // registerCreateItemTags(event) + // registerCreateAdditionsItemTags(event) + // registerExtendedAE2ItemTags(event) + // registerFirmaCivItemTags(event) + // registerFirmaLifeItemTags(event) + // registerFramedBlocksItemTags(event) + // registerFTBQuestsItemTags(event) + // registerGTCEUItemTags(event) + // registerMegaCellsItemTags(event) + // registerMinecraftItemTags(event) + // registerMoreRedItemTags(event) + // registerHotOrNotItemTags(event) + // registerRailWaysItemTags(event) + // registerSophisticatedBackpacksItemTags(event) + // registerTFCItemTags(event) }) /** * Событие регистрации блок-тэгов. */ ServerEvents.tags('block', event => { - registerAE2BlockTags(event) - registerAsticorCartsBlockTags(event) - registerChiselAndBitsBlockTags(event) - registerComputerCraftBlockTags(event) - registerCreateBlockTags(event) - registerCreateAdditionsBlockTags(event) - registerExtendedAE2BlockTags(event) - registerFirmaCivBlockTags(event) - registerFirmaLifeBlockTags(event) - registerFramedBlocksBlockTags(event) - registerFTBQuestsBlockTags(event) - registerGTCEUBlockTags(event) - registerMegaCellsBlockTags(event) - registerMinecraftBlockTags(event) - registerMoreRedBlockTags(event) - registerHotOrNotBlockTags(event) - registerRailWaysBlockTags(event) - registerSophisticatedBackpacksBlockTags(event) - registerTFCBlockTags(event) + // registerAE2BlockTags(event) + // registerAsticorCartsBlockTags(event) + // registerChiselAndBitsBlockTags(event) + // registerComputerCraftBlockTags(event) + // registerCreateBlockTags(event) + // registerCreateAdditionsBlockTags(event) + // registerExtendedAE2BlockTags(event) + // registerFirmaCivBlockTags(event) + // registerFirmaLifeBlockTags(event) + // registerFramedBlocksBlockTags(event) + // registerFTBQuestsBlockTags(event) + // registerGTCEUBlockTags(event) + // registerMegaCellsBlockTags(event) + // registerMinecraftBlockTags(event) + // registerMoreRedBlockTags(event) + // registerHotOrNotBlockTags(event) + // registerRailWaysBlockTags(event) + // registerSophisticatedBackpacksBlockTags(event) + // registerTFCBlockTags(event) }) /** * Событие регистрации жидкость-тэгов. */ ServerEvents.tags('fluid', event => { - registerCreateFluidTags(event) - registerCreateAdditionsFluidTags(event) - registerFirmaLifeBlockTags(event) - registerTFCFluidTags(event) + // registerCreateFluidTags(event) + // registerCreateAdditionsFluidTags(event) + // registerFirmaLifeBlockTags(event) + // registerTFCFluidTags(event) +}) + +/** + * Событие регистрации тегов биомов. + */ +ServerEvents.tags('worldgen/biome', event => { + registerTFCBiomeTags(event) }) /** @@ -73,7 +80,7 @@ ServerEvents.tags('worldgen/placed_feature', event => { * Срабатывает до инициализации рецептов, но после тегов. */ ServerEvents.highPriorityData(event => { - registerComputerCraftData(event) + // registerComputerCraftData(event) }) /** @@ -81,10 +88,10 @@ ServerEvents.highPriorityData(event => { * Срабатывает до инициализации рецептов, но после тегов. */ TFCEvents.data(event => { - registerTFCDataForGTCEU(event) - registerTFCDataForTFC(event) - registerTFCDataForTreeTap(event) - registerTFCDataForWaterFlasks(event) + // registerTFCDataForGTCEU(event) + // registerTFCDataForTFC(event) + // registerTFCDataForTreeTap(event) + // registerTFCDataForWaterFlasks(event) }) /** @@ -95,49 +102,55 @@ LootJS.modifiers((event) => { registerGTCEULoots(event) }); -/** - * Событие регистрации рудных жил. - * Не представляю когда срабатывает, но явно после тегов и датапаков. - */ -GTCEuServerEvents.oreVeins(event => { - // event.removeAll() -}) - /** * Событие регистрации рецептов. * Срабатывает после инициализации датапаков и тегов. */ ServerEvents.recipes(event => { - registerAE2Recipes(event) - registerAsticorCartsRecipes(event) - registerAE2InsertExportCardRecipes(event) - registerAE2NetworkAnalyzerRecipes(event) - registerAE2WTLibRecipes(event) - registerChiselAndBitsRecipes(event) - registerComputerCraftRecipes(event) - registerCreateRecipes(event) - registerCreateAdditionsRecipes(event) - registerCreateConnectedRecipes(event) - registerExtendedAE2Recipes(event) - registerExposureRecipes(event) - registerEtchedRecipes(event) - registerFirmaCivRecipes(event) - registerFirmaLifeRecipes(event) - registerFramedBlocksRecipes(event) - registerFTBQuestsRecipes(event) - registerGTCEURecipes(event) - registerHandGliderRecipes(event) - registerHotOrNotRecipes(event) - registerMegaCellsRecipes(event) - registerMERequesterRecipes(event) - registerMinecraftRecipes(event) - registerMoreRedRecipes(event) - registerRailWaysRecipes(event) - registerSophisticatedBackpacksRecipes(event) - registerTfceaRecipes(event) - registerTFCRecipes(event) - registerTFCGroomingStationRecipes(event) - registerToolBeltRecipes(event) - registerTreeTapRecipes(event) - registerWaterFlasksRecipes(event) + // registerAE2Recipes(event) + // registerAsticorCartsRecipes(event) + // registerAE2InsertExportCardRecipes(event) + // registerAE2NetworkAnalyzerRecipes(event) + // registerAE2WTLibRecipes(event) + // registerChiselAndBitsRecipes(event) + // registerComputerCraftRecipes(event) + // registerCreateRecipes(event) + // registerCreateAdditionsRecipes(event) + // registerCreateConnectedRecipes(event) + // registerExtendedAE2Recipes(event) + // registerExposureRecipes(event) + // registerEtchedRecipes(event) + // registerFirmaCivRecipes(event) + // registerFirmaLifeRecipes(event) + // registerFramedBlocksRecipes(event) + // registerFTBQuestsRecipes(event) + // registerGTCEURecipes(event) + // registerHandGliderRecipes(event) + // registerHotOrNotRecipes(event) + // registerMegaCellsRecipes(event) + // registerMERequesterRecipes(event) + // registerMinecraftRecipes(event) + // registerMoreRedRecipes(event) + // registerRailWaysRecipes(event) + // registerSophisticatedBackpacksRecipes(event) + // registerTfceaRecipes(event) + // registerTFCRecipes(event) + // registerTFCGroomingStationRecipes(event) + // registerToolBeltRecipes(event) + // registerTreeTapRecipes(event) + // registerWaterFlasksRecipes(event) +}) + +/** + * Событие регистрации рудных жил GTM. +*/ +GTCEuServerEvents.oreVeins(event => { + registerGTMOreVeins(event) +}) + +/** + * Событие регистрации жидкостных жил GTM. +*/ +GTCEuServerEvents.fluidVeins(event => { + registerGTMFluidVeins(event) }) \ No newline at end of file From c43e75b82c3ad6a28cd1db932f3d52f3a4e83e56 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:55:37 +0700 Subject: [PATCH 112/266] proper removing #dust tag from tfc powders + tfc biome tag + vein removing --- kubejs/server_scripts/tfc/tags.js | 181 +++++++++++++++--------------- 1 file changed, 90 insertions(+), 91 deletions(-) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 2f026964f..bec616794 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,8 +1,8 @@ // priority: 0 const registerTFCItemTags = (event) => { - // Теги для соответствия инструментов TFC и GT + // Теги для соответствия инструментов TFC и GT GTMaterialRegistry.getRegisteredMaterials().forEach(material => { if (material.hasProperty(PropertyKey.TOOL)) { for (let [key, value] of Object.entries(global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS)) { @@ -30,6 +30,9 @@ const registerTFCItemTags = (event) => { event.add('tfc:usable_on_tool_rack', '#forge:tools/buzzsaws') event.add('tfc:usable_on_tool_rack', '#forge:tools/drills') + // Удаление у всех powders тэга dusts + event.remove('forge:dusts', '#tfc:powders') + // Для складывания event.add('tfc:pileable_ingots', '#forge:ingots') event.add('tfc:pileable_sheets', '#forge:plates') @@ -228,9 +231,13 @@ const registerTFCBlockTags = (event) => { event.add('tfc:can_start_collapse', '#forge:ores') event.add('tfc:can_trigger_collapse', '#forge:ores') + // Разрешить спавн мобов на руде 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') @@ -369,96 +376,88 @@ const registerTFCFluidTags = (event) => { 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') +const registerTFCBiomeTags = (event) => { + const ALL_TFC_BIOMES = [ + "tfc:badlands", + "tfc:canyons", + "tfc:deep_ocean", + "tfc:deep_ocean_trench", + "tfc:highlands", + "tfc:hills", + "tfc:inverted_badlands", + "tfc:lake", + "tfc:low_canyons", + "tfc:lowlands", + "tfc:mountain_lake", + "tfc:mountains", + "tfc:ocean", + "tfc:ocean_reef", + "tfc:oceanic_mountain_lake", + "tfc:oceanic_mountains", + "tfc:old_mountain_lake", + "tfc:old_mountains", + "tfc:plains", + "tfc:plateau", + "tfc:plateau_lake", + "tfc:river", + "tfc:rolling_hills", + "tfc:salt_marsh", + "tfc:shore", + "tfc:tidal_flats", + "tfc:volcanic_mountain_lake", + "tfc:volcanic_mountains", + "tfc:volcanic_oceanic_mountain_lake", + "tfc:volcanic_oceanic_mountains" + ] // Добавление - 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_oil_sands') - 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') + ALL_TFC_BIOMES.forEach(biome => { + event.add('tfg:is_tfc_overworld', biome) + }) +} + +const registerTFCPlacedFeatures = (event) => { + const ALL_DISABLED_TFC_VEINS = [ + 'tfc:vein/surface_native_copper', + 'tfc:vein/surface_malachite', + 'tfc:vein/surface_tetrahedrite', + 'tfc:vein/normal_malachite', + 'tfc:vein/normal_tetrahedrite', + 'tfc:vein/normal_native_gold', + 'tfc:vein/rich_native_gold', + 'tfc:vein/fake_native_gold', + 'tfc:vein/surface_native_silver', + 'tfc:vein/normal_native_silver', + 'tfc:vein/surface_cassiterite', + 'tfc:vein/surface_bismuthinite', + 'tfc:vein/normal_bismuthinite', + 'tfc:vein/surface_sphalerite', + 'tfc:vein/normal_sphalerite', + 'tfc:vein/surface_hematite', + 'tfc:vein/surface_magnetite', + 'tfc:vein/surface_limonite', + 'tfc:vein/normal_garnierite', + 'tfc:vein/gabbro_garnierite', + 'tfc:vein/graphite', + 'tfc:vein/lignite', + 'tfc:vein/bituminous_coal', + 'tfc:vein/sulfur', + 'tfc:vein/cryolite', + 'tfc:vein/cinnabar', + 'tfc:vein/saltpeter', + 'tfc:vein/sylvite', + 'tfc:vein/borax', + 'tfc:vein/gypsum', + 'tfc:vein/halite', + 'tfc:vein/lapis_lazuli', + 'tfc:vein/diamond', + 'tfc:vein/emerald', + 'tfc:vein/amethyst', + 'tfc:vein/opal' + ] + + // Удаление + ALL_DISABLED_TFC_VEINS.forEach(vein => { + event.remove('tfc:in_biome/veins', vein) + }) } From 6d70931d86de5e6e3e24fc1f6c63292444456d2e Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:55:46 +0700 Subject: [PATCH 113/266] wg layers for GTM --- .../startup_scripts/gtceu/world_gen_layers.js | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 kubejs/startup_scripts/gtceu/world_gen_layers.js diff --git a/kubejs/startup_scripts/gtceu/world_gen_layers.js b/kubejs/startup_scripts/gtceu/world_gen_layers.js new file mode 100644 index 000000000..b2b08d719 --- /dev/null +++ b/kubejs/startup_scripts/gtceu/world_gen_layers.js @@ -0,0 +1,141 @@ +// priority: 0 + +const registerGTMWorldGenLayers = (event) => { + + const ALL = ['#tfc:rock/raw'] + + const IE = [ + 'tfc:rock/raw/rhyolite', + 'tfc:rock/raw/basalt', + 'tfc:rock/raw/andesite', + 'tfc:rock/raw/dacite' + ] + + const II = [ + 'tfc:rock/raw/granite', + 'tfc:rock/raw/diorite', + 'tfc:rock/raw/gabbro' + ] + + const M = [ + 'tfc:rock/raw/quartzite', + 'tfc:rock/raw/slate', + 'tfc:rock/raw/phyllite', + 'tfc:rock/raw/schist', + 'tfc:rock/raw/gneiss', + 'tfc:rock/raw/marble' + ] + + const S = [ + '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' + ] + + const SQSG = [ + 'tfc:rock/raw/shale', + 'tfc:rock/raw/quartzite', + 'tfc:rock/raw/schist', + 'tfc:rock/raw/gneiss', + ] + + const GG = [ + 'tfc:rock/raw/granite', + 'tfc:rock/raw/gneiss', + ] + + const GB = [ + 'tfc:rock/raw/granite', + 'tfc:rock/raw/basalt' + ] + + const SCL = [ + 'tfc:rock/raw/shale', + 'tfc:rock/raw/claystone', + 'tfc:rock/raw/limestone', + ] + + const Granite = [ + 'tfc:rock/raw/granite' + ] + + const Gabbro = [ + 'tfc:rock/raw/gabbro' + ] + + // Слои + + event.create('tfg_tfc_all') + .targets(ALL) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ie') + .targets(IE) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ii') + .targets(II) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_m') + .targets(M) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_s') + .targets(S) + .dimensions('minecraft:overworld') + + // Кастомные + + event.create('tfg_tfc_ii_m') + .targets([].concat(II, M)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ii_s') + .targets([].concat(II, S)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ie_m') + .targets([].concat(IE, M)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ie_s') + .targets([].concat(IE, S)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ie_ii') + .targets([].concat(IE, II)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_m_s') + .targets([].concat(M, S)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_s_q_s_g') + .targets(SQSG) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_g_g') + .targets(GG) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_g_b') + .targets(GB) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_gabbro') + .targets(Gabbro) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_s_c_l') + .targets(SCL) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_granite') + .targets(Granite) + .dimensions('minecraft:overworld') +} \ No newline at end of file From 4065b4c6a346cfe0a078f5636d95810b3f5712a6 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 27 Aug 2024 09:55:58 +0700 Subject: [PATCH 114/266] disable most of this, because reasons --- kubejs/startup_scripts/main_startup_script.js | 68 +++++++++++++++++-- 1 file changed, 62 insertions(+), 6 deletions(-) diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index b36fa8b48..0f0db450e 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -4,14 +4,14 @@ * Событие регистрации предметов. */ StartupEvents.registry('item', event => { - registerGTCEuItems(event) + // registerGTCEuItems(event) }) /** * Событие регистрации блоков. */ StartupEvents.registry('block', event => { - registerGTCEuBlocks(event) + // registerGTCEuBlocks(event) }) @@ -20,7 +20,7 @@ StartupEvents.registry('block', event => { * Событие изменения блоков. */ BlockEvents.modification(event => { - modifyFirmaCivBlocks(event) + // modifyFirmaCivBlocks(event) }) /** @@ -37,14 +37,21 @@ StartupEvents.registry('fluid', event => {}) * Событие регистрации типов рецептов. */ GTCEuStartupEvents.registry('gtceu:recipe_type', event => { - registerGTCEuRecipeTypes(event) + // registerGTCEuRecipeTypes(event) }) /** * Событие регистрации механизмов. */ GTCEuStartupEvents.registry('gtceu:machine', event => { - registerGTCEuMachines(event) + // registerGTCEuMachines(event) +}) + +/** + * Событие регистрации слоев пород GTM. + */ +GTCEuStartupEvents.registry('gtceu:world_gen_layer', event => { + registerGTMWorldGenLayers(event) }) /** @@ -52,4 +59,53 @@ GTCEuStartupEvents.registry('gtceu:machine', event => { */ // TFGStartupEvents.materialInfo(event => { // registerGTCEuMaterialInfo(event) -// }) \ No newline at end of file +// }) + + +// /** +// * Отключение рецепта генерации nugget'ов из слитков, если nugget'а нет. +// */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 3), remap = false) +// private static void tfg$processIngot$gtRecipeBuilder$save$nugget(GTRecipeBuilder instance, Consumer consumer, TagPrefix ingotPrefix, Material material, IngotProperty property) { +// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { +// instance.save(consumer); +// } +// } +// +// /** +// * В GT при добавлении предмета в output или input сразу проверяется empty ли он, +// * чтобы отключить рецепт не хватит просто его не сохранять в некоторых случаях. +// * Если output'а или input'а нет, то нужно будет еще задать условие и какой-то предмет который существует, +// * собственно это мы тут и делаем. +// */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;outputItems(Lcom/gregtechceu/gtceu/api/data/tag/TagPrefix;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;I)Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;", ordinal = 1), remap = false) +// private static GTRecipeBuilder tfg$processIngot$gtRecipeBuilder$outputItems(GTRecipeBuilder instance, TagPrefix orePrefix, Material material, int count) { +// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { +// instance.outputItems(TagPrefix.nugget, material, 9); +// } +// return instance; +// } +// +// /** +// * Отключение генерации рецептов: 2 слитка + молот = пластина (верстак). +// * */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 2), remap = false) +// private static void tfg$processIngot$addShapedRecipe$plate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} +// +// /** +// * Отключение генерации рецептов: 9 слитков -> блок. (Компрессор) +// */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 5), remap = false) +// private static void tfg$processIngot$gtRecipeBuilder$save$block(GTRecipeBuilder instance, Consumer consumer) {} + +// /** +// * Отключение генерации рецептов: 2 пластины + молот = двойная пластина (верстак). +// * */ +// @Redirect(method = "processPlateDouble", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V"), remap = false) +// private static void tfg$processPlateDouble$vanillaRecipeHelper$addShapedRecipe$doublePlate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} +// +// /** +// * Отключение генерации рецептов: 2 стержня + молот = длинный стержень (верстак). +// * */ +// @Redirect(method = "processLongStick", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 3), remap = false) +// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer provider, String regName, ItemStack result, Object[] recipe) {} \ No newline at end of file From 0bd14f66a9a29b7ebb09514a532978e04e53227d Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 09:54:35 +0700 Subject: [PATCH 115/266] advanced peripherals cfgs --- config/Advancedperipherals/general.toml | 6 ++++++ config/Advancedperipherals/peripherals.toml | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) 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 From 4571ab82a35c75b860ace4540dcea7258104c91c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 09:54:42 +0700 Subject: [PATCH 116/266] Update forgivingworld.json --- config/forgivingworld.json | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/config/forgivingworld.json b/config/forgivingworld.json index 473941821..67f90ae32 100644 --- a/config/forgivingworld.json +++ b/config/forgivingworld.json @@ -23,5 +23,29 @@ "desc:": "Enable debug logging, default:false", "debuglogging": false }, - "dimensionconnections": [] + "dimensionconnections": [ + { + "from": "minecraft:overworld", + "to": "minecraft:the_nether", + "xcoordmultiplier": 0.125, + "zcoordmultiplier": 0.125, + "teleporttype": { + "teleporttype": "AIR", + "teleport_to_y": 125 + }, + "belowy": -60, + "slowfallticks": 400 + }, + { + "from": "minecraft:the_nether", + "to": "minecraft:overworld", + "xcoordmultiplier": 8.0, + "zcoordmultiplier": 8.0, + "teleporttype": { + "teleporttype": "CAVE", + "teleport_to_y": -60 + }, + "abovey": 121 + } + ] } \ No newline at end of file From abcdbdb2c81a833978889bb846fb3097e1bd7772 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 09:54:54 +0700 Subject: [PATCH 117/266] rnmgs --- kubejs/assets/gtceu/lang/en_us.json | 2 +- kubejs/assets/gtceu/lang/ru_ru.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index c655b848f..9d2abe646 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -1,5 +1,5 @@ { - "gtceu.jei.bedrock_fluid.tfc_salt_water_deposit": "Sea Water Deposit", + "gtceu.jei.bedrock_fluid.fresh_water": "Fresh Water Deposit", "block.gtceu.greenhouse": "Electric Greenhouse", "gtceu.greenhouse": "Electric Greenhouse", diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index 0b2d775e3..6972660ba 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -1,5 +1,5 @@ { - "gtceu.jei.bedrock_fluid.tfc_salt_water_deposit": "Sea Water Deposit", + "gtceu.jei.bedrock_fluid.fresh_water": "Отложение пресной воды", "block.gtceu.greenhouse": "Электрическая теплица", "gtceu.greenhouse": "Электрическая теплица", From 1993b7a2765205eaa9a55efd75e4131fd491fadc Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 11:19:26 +0700 Subject: [PATCH 118/266] move item-reg from TFGCore to KJS --- kubejs/assets/tfg/lang/en_us.json | 24 +++++++++++++++++ kubejs/assets/tfg/lang/ru_ru.json | 24 +++++++++++++++++ .../textures/item/axe_head_extruder_mold.png | Bin 0 -> 580 bytes .../tfg/textures/item/bell_casting_mold.png | Bin 0 -> 1886 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 .../textures/item/file_head_extruder_mold.png | Bin 0 -> 2265 bytes .../item/hammer_head_extruder_mold.png | Bin 0 -> 563 bytes .../textures/item/hoe_head_extruder_mold.png | Bin 0 -> 585 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 .../textures/item/mace_head_extruder_mold.png | Bin 0 -> 2125 bytes .../item/mining_hammer_head_extruder_mold.png | Bin 0 -> 2235 bytes .../item/pickaxe_head_extruder_mold.png | Bin 0 -> 591 bytes .../item/propick_head_extruder_mold.png | Bin 0 -> 2069 bytes .../textures/item/saw_head_extruder_mold.png | Bin 0 -> 596 bytes .../item/scythe_head_extruder_mold.png | Bin 0 -> 2260 bytes .../item/shovel_head_extruder_mold.png | Bin 0 -> 3223 bytes .../item/spade_head_extruder_mold.png | Bin 0 -> 2083 bytes .../item/sword_head_extruder_mold.png | Bin 0 -> 3223 bytes .../textures/item/trapdoor_casting_mold.png | Bin 0 -> 2034 bytes kubejs/startup_scripts/gtceu/items.js | 25 ++++++++++++++++++ kubejs/startup_scripts/main_startup_script.js | 2 +- 25 files changed, 74 insertions(+), 1 deletion(-) 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/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/file_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/hammer_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/hoe_head_extruder_mold.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/mace_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/pickaxe_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/propick_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/saw_head_extruder_mold.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/spade_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/sword_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/trapdoor_casting_mold.png diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index dfc5db90d..fd35ece85 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1,4 +1,28 @@ { + "item.tfg.mining_hammer_head_extruder_mold": "Extruder Mold (Mining Hammer)", + "item.tfg.sword_head_extruder_mold": "Extruder Mold (Sword Head)", + "item.tfg.pickaxe_head_extruder_mold": "Extruder Mold (Pickaxe Head)", + "item.tfg.shovel_head_extruder_mold": "Extruder Mold (Shovel Head)", + "item.tfg.axe_head_extruder_mold": "Extruder Mold (Axe Head)", + "item.tfg.hoe_head_extruder_mold": "Extruder Mold (Hoe Head)", + "item.tfg.scythe_head_extruder_mold": "Extruder Mold (Scythe Head)", + "item.tfg.file_head_extruder_mold": "Extruder Mold (File Head)", + "item.tfg.hammer_head_extruder_mold": "Extruder Mold (Hammer Head)", + "item.tfg.saw_head_extruder_mold": "Extruder Mold (Saw Head)", + "item.tfg.knife_head_extruder_mold": "Extruder Mold (Knife Head)", + "item.tfg.butchery_knife_head_extruder_mold": "Extruder Mold (Butchery Knife Head)", + "item.tfg.propick_head_extruder_mold": "Extruder Mold (Propick Head)", + "item.tfg.javelin_head_extruder_mold": "Extruder Mold (Javelin Head)", + "item.tfg.chisel_head_extruder_mold": "Extruder Mold (Chisel Head)", + "item.tfg.mace_head_extruder_mold": "Extruder Mold (Mace Head)", + + "item.tfg.lamp_casting_mold": "Casting Mold (Lamp)", + "item.tfg.trapdoor_casting_mold": "Casting Mold (Trapdoor)", + "item.tfg.chain_casting_mold": "Casting Mold (Chain)", + "item.tfg.bell_casting_mold": "Casting Mold (Bell)", + + "quests.placeholder.delimiter": "=== QUEST SECTION ===", + "quests.naming-1": "t - Title", "quests.naming-2": "st - Subtitle", "quests.naming-3": "d* - Description, where * description number, for example: d1, d2, d3, d4...", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index a5915d9c4..ffbf68df0 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1,4 +1,28 @@ { + "item.tfg.mining_hammer_head_extruder_mold": "Форма экструдера (Оголовье шахтерского молота)", + "item.tfg.sword_head_extruder_mold": "Форма экструдера (Оголовье меча)", + "item.tfg.pickaxe_head_extruder_mold": "Форма экструдера (Оголовье кирки)", + "item.tfg.shovel_head_extruder_mold": "Форма экструдера (Оголовье лопаты)", + "item.tfg.axe_head_extruder_mold": "Форма экструдера (Оголовье топора)", + "item.tfg.hoe_head_extruder_mold": "Форма экструдера (Оголовье мотыги)", + "item.tfg.scythe_head_extruder_mold": "Форма экструдера (Оголовье косы)", + "item.tfg.file_head_extruder_mold": "Форма экструдера (Оголовье напильника)", + "item.tfg.hammer_head_extruder_mold": "Форма экструдера (Оголовье кувалды)", + "item.tfg.saw_head_extruder_mold": "Форма экструдера (Оголовье пилы)", + "item.tfg.knife_head_extruder_mold": "Форма экструдера (Оголовье меча)", + "item.tfg.butchery_knife_head_extruder_mold": "Форма экструдера (Оголовье тесака)", + "item.tfg.propick_head_extruder_mold": "Форма экструдера (Оголовье геологической кирки)", + "item.tfg.javelin_head_extruder_mold": "Форма экструдера (Оголовье копья)", + "item.tfg.chisel_head_extruder_mold": "Форма экструдера (Оголовье стамески)", + "item.tfg.mace_head_extruder_mold": "Форма экструдера (Оголовье биты)", + + "item.tfg.lamp_casting_mold": "Отливная форма (Лампа)", + "item.tfg.trapdoor_casting_mold": "Отливная форма (Люк)", + "item.tfg.chain_casting_mold": "Отливная форма (Цепь)", + "item.tfg.bell_casting_mold": "Отливная форма (Колокол)", + + "quests.placeholder.delimiter": "=== QUEST SECTION ===", + "quests.naming-1": "t - Заголовок", "quests.naming-2": "st - Подзаголовок", "quests.naming-3": "d* - Описание, где * номер описания, например: d1, d2, d3, d4...", 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 zcmV-K0=xZ*P)jKvJYaVZrvi zBC-`C-gK76zH`r93;(I-=Vy&E=JV_8t6b|7fU2q#pwsC9V6CMrO8`_A?>+ndo)7}6 ziZKT7J@ffoYk(rl#)vV7-EQ|I1~8w`1<>JeNQ@Cx z1;BfcF$PsdMDhclpPwui3jr_ylgUJf!yzJqh@h&dD(~;_G);rG7VkYF1OU3-ZnkZb zPk{6JOaj+54YS!yX0w^x-QE2F6Tvx0Q4|?sW)MOk#)ydI%YTU{Hl0o<3z?*xCfRPc zS1%{k-xe<{B=u|c^70~s!GNMD2q9#_oP(#QC%wJB%@5q)-vh8(tuCgSPN%xrY-rn- zudgqb%cYpKt~5!q(KHQZSu!4v_4hQV(f$4Or0PFRdl-R@| zk5^Td-rU^e;5g@UY|rO2ZQD{51>So;K0c`HS}y)Vx7*FDDvAPYEzY?N%zK|VV6CNT z8tS_K`3v9Q-vG32n?d&beGZ2M&N)H|>~^~x>6DoZ3x8`g8Yz$)-`?J?_WlEf&?SYG S=`=F{0000K9BlZ# z5)8ZdD<#-&w+FU}lCHXdtam_HTs06H!)i9h4Ip(w8}EQ&Me`DWOiU8EB72FpssJ4@ zYGFjF?=fL(Pg79p>68SS*th|&iHnFpg*L$BYE-ktxR*%rifHXTrU*O*u{*tl&k@Ai z1I>7?ZbDpeF{DJ(4DLZI&du_IupVb=wvwXV6kA2Iv`8~zRTZB35lGIILt=}6b4Co^ zd5MT^8zM!;Vlh{&(xsbWiV*~XqFIV%NrWJ+gl2;{sad7-41Q=yrefHNuHgk?R5gyI8Ir9EvW&>FB1f;IJt9q~p#fc1 zLWzY?j%1l2!;2g*vX!?%QP0T021|lvNetwv@n5Z(1d7?EC^GWs7FY;)Qsx0iGAt*PLPtm@0mDL$7i2dF(@~)PeqHKv zD(mb|ce$)fh~pnsniCjLD8!R)t^<%AGKWrr2ap^m3v!5MD}lhyyV+_g=tBe1g{+P% z*>MGc6mkO(S?TdGBy=NJz|C7LxAc%5119u^QSO#(F6vI^EzrG$^}8x% z+S5Yoi#Fr`v7Skb6aiWoqRB}SPB4@+V$wyS{#~!sy9MKD9*$<5v&>Fcbd#OWP(#!v zn!ZN{L(>?RQ{CYA1^G7*z1{d$vbo^3xw_wcG@h(Em3-sM_P&b9xm$X*a2P+cn&r#N z2RZMwsvPL6f1$PTo(qYy+d73C=RW^yA-M#_n>pK}gzPcu`$C-ROS+xr7|IES9rJgyVUaA4B_JoC)6Me^{I4PTx= zpx-Ro`RLG8Zts2XB=KX{igp&y@HcaJjFwCdB=UBxo+%#nUV9Mx`PcCcTXPyO?@8oM zacb`SgR^rt&W=y+J6*Or|NCWMCl8j*efmXXX>p!Zw6^)VL#vki_CK*N|K&%@w_N{g ux7SuzD>3 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 zcmbVN4RF(B7*6dr#;;RuAczn%(QY$Mnzm~jDX_I09iuR3l`(hN{Cw>KYg3Y}?Kr`8 z{=huOA#fWLIVT5r{-NUVZ_0*<4jsQDc#5*qxq;|$$}#agz%N@@!5cqk@6vopp6_{| z_kG^HsVkm4YxIbTBM<}`UFdR_z;l{vdV0BTv+Pqno~K;{nZ%{IxrF|2i5C zKj>OxT(c~xqo-)aTW{8UQ<&B_Hmx=F)Nu6gk*;O*hW(#va)y1%0@gQfkwlZch6O zS=4ffZ>EsF+NaLj(kAU%#ro6O)HUU0o)kb)6UO#rbZ*Gl-QLxP9fcI<3x8-@zJ9h+}$c$QLYfLL7jMf zRRCC9w>uGING*XtB805uhhZA=f((h4J=GyVlmJ<*k~okbhB7nMY(lg{0*oR`9#O0u zbgFnzGD=Z;Gpd^}1bHzcXI`-ZI2i@lG3c5RHyCgO=`q-7qnS35*`$Rg$pNTaXy^SSd;{FjQykSK)Tkg+WX6uBzZS#|$F zm-8YAIsT2xaz55)Wv#f??90Jzyotvd3uVKN44=c16uiqN*yc$Be9@T7D_K=lJY@7S z09dRx1}Cis3a1PvGtTh51-Am$$eS4!Sj>#t&HW8Ry960pR~>&p9s*0^t4aaw?+KdW z)Lyq^oN6-QvG{Fah{j(=U;g4sH{bYE;KjSPRvg_dg^jpUytdPj(Qih zAbfhx%isTKz3U+R_8Q%@KZKUsfBL<&CYfj~dgayG4>oM=uHN4J)oIVY>*_jv#(Hu1 zM+=GSX_HHi?>uofGId8=xn80-bw{UtvAnI(&Ry5g^tG$^ z+=7$uefI{ITKg`-Q+GCX-T$TTbIr#61>x3BYv;fAaBI>pj;^I2XN_60XXAxB>+185 zuDz!o>E5g}WuO1!QqzQ$uA)y*j9%eb@(FqL^<%%yqnz6M7I{+fGku!uhNhiG?Qbo7 zb7#^c>0NU_*nGLK?KuHGdAAnd-GgZMSZ)i}e0y5cx9p@CjJ?#{dQ_Xuxx98yoHh8Ryt=347PR-qqc;we5Dd znUD=)1}Y@}3W~!ZCL}r{3K7JClRpUjr6x!wA!bG})5tOvF`8)R>)q`bX8eek^!nO< z-skiA{&?^0Sl_T_?wloaJRZ;7y4qkPy3cp7Sq13-!K)Jh-DaD$Ew;x~SnOVTo<02~ z9!~+#!p%-|s9utdgcm4A1bR~m6QMnx@>MAl$nDU?8C zJyvB{5EH#LAyX8M324Ofj9(PXFot4$B*l{qM=+E`(GtgD*&mMNEJc+XgEd((^c28j zj$=wBnM@|VNuSrSq9iSfB1thM!w?8T*j>5C5+=fCqjcL6k5;+OmsqRE!WD_zi+75S_kZgpu(P7E3x)a%4=0;;mRTcz}VTBDN zK3S>tla?`t^$OUEjhe0)Nqgm#2`~s87{F20Sc0Mnh6^*a#4-{~Jw^!}|;^PRYvMk|Od@RBH1d-x-Ao^h@3N$}x$Q^EF z-T9d=R}2|(Tvuf|1@MswMF=#<6Mo1tgvj^-8YwJb7{~!ynRK(x($GQ!@u{q?D+Mv~ zT!fZIAP}k$;R!}&MIs^yD#6Ku!qO4i2N}xk=IhFnER`re8x_*du9npxnjOWpil~Mv zo$;I=iX5O+j^_!Q1%P0Anj%D%qX zrYCP^-UgkwwtiE;%+eMx@L+({iEdGb-eYp+UWMz*H)iO?m4iw|I5)Ang*V_x2JwI`P=4~Pe7ahI2V0`ykrzpjb7Vmpp*>_KTUfIO4S?7KVj|oe5 z{=Kkdj=sA$ue5EOGSa-J=f#7=KOgtBoK-h8m405-c7N~IyYRNcuXg+jMr5+ K1V32aw)I~zg}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 zcmbVOe{9rb7`_dV$;52H9|K7&Ma-7*U4LJD%?=p5jh%2~up=A%Vf@;Dy*2FG(ssMs z5|u1yfcOJO6eSu7A(9w^1|vj?4#xz;{s3JJF`!7IpdkdwOfV3fU+-?mzyXVw^!l}Z zzUO`3=l$M(-PYW+V&;r_GXjCY%vfV|Ek2j|N6BOO|LKuYh)<8(jqBY&pmer>6b1IY zR}lzIUuh)Tyteo%S+!C@s96dMW>Pjr2Ld%qGd5H=B9Bl|(l8_B^<(`cVQ3MuRfyAZ zyAHJ*jXe%(>1j%+JsZ`qMlM}K)MR8#kU}0LGN}&Jl`|1C%PZrtf14tSEX3OwA#44B zL|eR>sIweIgo6xFX__HKJmN#F6b>&YSeoT1Iz+JoU}>3VWI-VEKN5#?G+kaBZO8}1 zR}r$^^K6--(&=^wdNipGYn4(#VWdTM2x7+k!2AJ-`F@`8|RmZSB!!ik<5h_-v z7a_6KTn;I_Kx?{rpRi+82HF%8r2U+-Kus;+>`td68(dQ<)PYjS^jwT(3Rt_{@+`OA zdH{9d@jU^sxAAx(#)Mi@sX_?XtM9^TYtW2{omW0DD$4~j%(t6^$Z+N~Nl0Y#yQA|$RF4`>E3Oo9<*Mvxh{nigf6&Ozgr zX6W7bLAeBjt4qrqe-9L|84Y^ykzh@gb<0UXoUoCCNkrLZk|YW?%5_$U<>0_r9hX%R zkIOOB^`NPuSTsW7oP&m;$p~?(f-KK;U^6Kpm^%MaUu;(n3gL{ndOo@)%1k&dh{t7wAzlL#&5A%*#Sq7`tiVfb4dpiqrpWc+1Gz*_6*)$r0aU^q;2E9)Qb-B| z2pJR>I1~~TeX?AVr0|l$s({t7I8NllK*B}>o>mnhBtTx(>B({_C`{wB^0*u!2{1g* z0fpAEtBS(#ETidRO&rIS%{FHp^>B}~Eh;w}zUSR}cUsV62@woTmGv|Mzw9 zf28MaQQM)JM0oF_NI#iuHFHIw?ypz&*|-g1432jhe^}Vx@I_&VL?)(o@cwuB+Pl4h zKv66ftxZU;ztVF4Q17xQ{yJJle_LOCa(daCHKtR#ZFF=47yl^PdSb!c)6eVgbRDZE zH{2O`ssBLb_Mgw5yI~IwjnoutBbV&Gu%hC{i!H-^P5=38l_kY9PVBf@U3})suFKsY zZkk^eoAs=6;Rsl_uKwoj_qXrcJM`PYcbz}Ixq0iV;X&=S@=JTK%3aOpgxMoCSNf}~ z1~(ntF|Fc6(S-}9D1UHf@#gMD(|$d$tFyf1_!8x9bg}sFp}vx>jYYw-qvx-!IDYd^ z`m^29{aepneQW-yHLEY($b7PHaM8};KL)ERi>1~DQ%1wF;Y7UXNrEU7SCU6kFHb!? zr*hW3hEr7eobL}Gyx!0ktlPOPIMnyl?;n?ZRr}8urEP&XPAwEmx9q zFP}XAj5Fnz;vX8O8lV37XU#rik5=*Op57bbKJ&89ex zoq-_P?};@vbXZ>;0TXL#dU|tbq(&M%D_5@e)a1X{eYE>HlDz8Jk)$U~raZL1`l0F^ zbMmkCk2hcMTJUkw#v=t;XYaCP=a@cxxapJZX|J*yo0~sCdQMn~8OWo|2~%hBn$APt zrlIxsl(aEzOGo#dzk9`=-A$jArvEZ2eSgX~W6^FT9W8Q2x?Y-NRTks3b z_GNlA!1lnp?3?D#pP$2S|LTqxb4Jh2SikLjMsD={w7$$6zsj7}zHK{ls_@L1pe&@3(;!e16S#0)Bsdsc5(y9lA)x3Q#8L@txK`CwtycXT z>crz~0zhxw?nI0cwS+>65Sm_G57USnG9p^@#=?N`08Oonh@iM0%A8_k6XuH|K+x5Q zS56>c|Q zs%W~Ph@jNv#9+=AS(bRe-$qdq>%eK7kHUe?3UHrQwBaJ_urYo~qB*~Pc)v>(>x{}8 z`-i$*Qbow|XH<^$v38MWahf3++)i3aoU{6@xYg!h84^$qE8`z#tBA<(MH7Novl^-- z$jC7^iD4ub_i?lx7ip^rPBGiVP$yep?>FkN*@ozQ3UsK+=CG{!nyH_3I5n1k4UV@BX#9h`$rB3HARh z{lArRNYhBtuW82rBRy`5SSu(204FDb8OadFh#4vh@z;6{KD%lh4a4D#GnR?z3NI4# z87PoC0;lg!UBAJPrKz>lHQUR+yL9b^j+V;ttucJ@f(;FPfd^0Y?fYy(viU;)z?ZS- zKF&<(oVm7t0N;7)uIkB%fXsUOF9^2Ws85)Rb?o+fX^~wK2%dvNYtQ zJx{f@Eki3W{oLq$IH|qm_AmC`eEgAHYR2_WT=w#*g`BDSd;k59lyztCNqT{Kd{giC z1FqSojJD#+o=$|`6WWYV>}wfyx~`6Ty>(+j(#h%Oh1RUbijI4CdS3EAbY;sN7xlxg a?lcR_htZ9RSBR)Q4nK9RoU%! z0Q7o2R230P0;ki7#bO}<24FNAX;Bo22qMCEyJbF~%X~hUJkPP#;=Lz?06??ZOtww! z6X15crOUOo>2xZcPUj9x1m_%CmL-U$-h>d?@AnUv{}m~UBC%;S8q^aqb?5)B>2xY@ zZ*PbQs+wM%EW{Ye^PJ&usK1H4zrQ~;H1*tT(%o+NR}p|1BO>xwz6R_5@-|ty2m-oN${rwHV<#I`I@;vA3 z>kH=`Ap{PGLjoN_NI8&aqz8k6*2Do;tJROSe*nc64zK39qTv7l002ovPDHLkV1g6Z B^A-RA literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/hoe_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/hoe_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..152bb6f93f2a89354abc301afc7178b01461b19d GIT binary patch literal 585 zcmV-P0=E5$P)r;Y+A3!QpV=<>f^H0>ErGv+;P0h#(@E8D>UGiJUVrMpTuQ5&->v-)+avC&2l924J(< zcu4p6_x_`Z5M$(bxSm0$)-(-uU0=ovf#GmytJR9`uB!BUJtqmjmCcO0uBq$V-rwIX zrNnBrl81)}ilXo-I*U$VX5^d^xm4XW4a4D(rfKZQl9QyAT+j((jGlC7M?|QqijR*E z6A|9t-efcyc?KOec6I#@v#U;3xx2fgswx9`eSM{ETmN>|Lff|P)7SK;*7bUgs?xSC z-NtrezTea7)NXEWT)iwyU)%Hf%;|KZC<;`S{eI74v5>2`(C_zs{Gup`F;bSL2d1jt zK#Y;iX2W8!xV(k0uP*>jr;~?MRTZC~pOj@uN{Q`u>p^!rb7kS*^Z58^fCHDy<)7GZ XRZlcF|5~x#00000NkvXXu0mjfi4G1v 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 zcmbVOeQeZZ9KJ0G6D3R`Wa1KP7ZZW?`fsf`k|{0q5KMV&M3Qm-PC! zectEy{J#2Y_lnRjI} z%N&lW<65}cY7V|4DSF%qpe`e4I-bO6hofpyIti3@$RcDE(GouLYX4!9(4dcOatE1U zvKB?PK!<@=c7(!8$2vuXi(Fl=hJsUJ0-5+cZgJAl5n`Sz{X{ znu9BdTHQc|=wvB{VOYY8SGCR#KwrR4V06xtzKYp;=KBX@;XYj=~7aY)@DqO(o2VJcA#ZilHSfO-~RuBaro0 z%SU3VSs&ub0&T*~#R*4@PJ<-PIvLxi3=k>>T(Z@OWsF0GMllpe3CqM-wt!7WbxSv+ z`hBPikMA;oV;c+>Y)q;p9xs?Mt-3bsMlK+eqRnu7644FF)LRV&)wN-n6}C4?sn$Ti z(v7gL$MTt4k(W$xywgj((4-}xo-*f8*ns@NLOv2_ji(rvV%ae3l~}jLatj%+#4uTC zP=}h@eh<_YW?6|BCAa4;D6Sa@Ebve;R3ue5;s86W#X$to$wY)C3SpFL^_Xs8!&sdw zqaqlT>Jz2~5(=vK`$+7wQ`4X%0}m9uP@sV75h=j%kP;!!QnHMAAh<;cU21;6Usqb~ z%-Z|2RStCpbKJ4Y0VF_`XK-P=Rmux65%91A#ib7sqjKUf`-|yHPMjwg>OaB?vMv$ecoP5EHt*yhsVG zEK)q9$Zn4t@QTVjDwm8z#*NcJ3CM$k!1FFjW*|oaS!Q{Tg{la>6Sy)8v+mLlj!UMk zq=06}sXgb>O0>S<8Egm`V7eFx5~3QyX|@{knIH+u-{xhVYu`Cp`M=>Kk0u)3%TB6cW(b< zX7gjul@^T-hPuAp8XO%zu)FHz&@ZJM!_D8XIsaY%{O-X1lFdIZ?igr!`+`|LcWmvU z)5Tw>h4SNL8yb(Sue^D?<@!jXN&2K`O3j|XdIry4d++9L=g#4}#GzeJk97*=uz%#Z zdT{%xwa*WqZ}{Rudv90w>H|&BuZoObvUZ$|p6gl_+4AP$15kQaT)tNwXc?#GymRJ< zz=FXIC5wwo%Ghm3{+T&;$@+VNqq}|EQDs@kII}cVzM)i9ru8*0ob_ktqLH?qTVq$c zTpyHe{fyrgyfNqEyPL_&?HhlKeOVzC|9<&kXYJ^@;bX7P)^1!&U+L-EoEjOrKIg+u zt~a`7pykAr^z5M>sw+!okZ`pPo2XeQxLYrlq4NnWdF%%ba!)KX=>gz)OZ0hyO0%gNamr1|w6C8-uZVy`TQ9Jt>T}lMX1%Q5jCaUGKi@PTF3%-qu2x zQhsDpekLp%AOh-KM2Vt6OeBFJf)M^e8HB$Xanp=HC8&gu`Q6r4FawNDuJ_&D^F8nL zKJR<)RTWH`(68^Xz6gT!%Xc~o;aR61i3#xk*<0-_f@nsHc6-5iUh)96a6&GcL0PSq z(Fl@poGU4zgUVbP3@9l%crem}8oV_bLyL=xGc65QMtzjovnaW)z9l&;(vsdfWbl9zF@$Pc*}dM7N>E#0g; zjl8zw1izU^_G_2iw(3%MFZXzLp2X^z#qI<^(&i*yC;pj33um%+68 zQ{3GAIh>Wp#*IbCL>Nfm2MUWu{JubliP*3XUIwn!+XRMoK$JN)th0VITm`6Ik^!2n zr*MuWNi^H4&-SnaCy>vfG)YqgMG}+&CrQRgF|-AZ{V*6#<^`tE@j@&Zys}}XiV|c9 zA{-9u!v?)1dkNSaR)VAnn#Lgl56ufGYy=O4(z+NNAjHXHP!Xj7sxq=3sZ6n9P-gs;~_#yUO7x7W=OZ_kb7Pb5QQKlmB}2)D~B@E)NF!`T?VWo$!7V8dY53^+yM6zQg{jKRbh$t*IPA<0gtOX5Xg zUUyKVg(2w&ps;6nR$(6t<~c@?WIqcN7X7Rj5W#>KL*q6wcF8BnFfdeS=uqKuG5LXz z!Ui~y@33JoXT2!$3~6Bvz-l$(*#?glH=B$U?(rB+xRK7bn1R(J(B{r8;C_e1m8q3g z_jh(VFL99LpQx~LplRMj;f8D>8>h`i4p*shBWDB#mNm0bo!ZSE4Z=9Z5G>ui*!wXJ%#E#lBHGat z49ls#Zo@dW$biRUx5aM!_)n2z`@^LGl0KsNozX**poCc&jQ2wC9@|{R!^DT!@<&Vm zZ>8+i)SdJPn(_ZgkJ-YNvH>rElas*IWC(S{bQXp9cfC5E-8YW9;BdyN%lLGK7xDQF z0+3pU)AxFAQ4Rby&d+y@cUulutU0%GQGw2J2OnRRx=0uh@|Rq^7d@&&jEc z6}2F9dQwiqz!6{1?f;A5K&le2ZXcPCE#8~6;kU@laC+7ip=jI1z-_dtZRhUAlb^8l z-a5m3rv1I)=kMNoofz|zu(SAHpPQ~bj_KbIYQBWM^R(t`d&022El9LMJ3aB+?JuLx zQ`;`L-M;i{^!?4+yhd7k?9G&Irzar41-`nQj3$kEm-gizi1yPt1f(r-N2*TqN@L&Q zDd$F>NT_P9)i#xtk!Kw#%{>lptzK}ssbc!^TlJ@ZUC?fKReEl2x!!xywY3=+);N>Y P4`_bg6vt<|C5!$BbO{tL 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 zcmbVNe{9rL9Pbp!gkdlS!uSJgA#sAe{=6TpJJ{F_H?y0|xXBbn-o3uNt6YE3c6Yal zxJ_d+5i%e`f;b2g-9JJyWfGUj42d%FM?i^&#UKGfK#)vSf{6HfcRPj|KVp-%ukGi3 zKA-Q8_uAD^|HRbEvnCS+F}1cP)QIoX+_QKRzCLv6I>5L4%$jFxf|&B4dlnH}x6LGo zNkEM>JI&!b85)`gC`J@{GMb6e1W~>)V*u9N15hsuHA@dc$nktU?L3 zrp-c2+Ug^)Z6%ZxYT*L1JR@TQ4LN|!Xi43cGeIiLE90^InxV)n#90}nDqTUcIov>2 z85SZX4@X0mgqB zOqpTQ>9i*;cnmAfaFQf3EYI*fjS;lnsyiS<>-L;ch7hu$rJ9av=%mXCqDG4oq_EXo z44PS>)$M$qaK@MnFd5Fnx-n&e3M}Bv7Au(*S0ICuNJF|~V=Py|nhC=(?1XU(>cZ!n z1aNM{;ey7vUNo&BVLR0+97aANxmsvIk4I7FYYaI&} zX`YL4KAB@>fxiigdqx2cxFcABa?G$afCE-F5J!xu$0@RqM!CvJ8WtAD?u4w1a9FO@ zZ3pNO)rNu;j@hHCiVP(PqEW!ofv5y%=o1Ax3KU3t@u39#k`jfvDDeD{0bAV4y7O~g zt{4z=+)#}L1VQxsAdLb(k&gOAL`z=8(SZOjiXwtBC=}S9vQ)g#Kyoar>q^0lfRh00 z_xotCfGF%hJ5W#zckXct7tiXWS)%CzH8Rj*z*%a<*~h8r5~un%7@~ zRu!C(*6u%Z zw?XRm*6*&xa-POoA9s=bAM5$Fzy#3a2=C|&aCzOAef9=w8+Hb!_9@u5+n@p)0GO zzM3iDd^j<8(@^Nz{Pyy1PhVO6~)>iMG_}9JDz8INO(S=F}*X-YN z^u;Ek_|xTkjtSQ`7b%O-VC=)grLTdqYinMZwf_TeovcZnCeQe7Q#qE_T`JHMvxCt2;$qj+c9u_#3pUuw$J5688KKU6yo(|YJwnYE;%wZmLoG&Z zp@W(iHYT)%t(vS;Q>T#CIRz7BkO#?JCT+S(E<)vb6}BZwJedS62r+D!0RjzJh2<1MAd3fu%{h8fnH7DaXbe9^s20z& z6^6-Xv%zdAXgMi{lVzD<0RsSy5wzQGdN4vNuLp_R+|^0u+)MN z8M{Ply2Uu*h%q^6GhC4MeaZuMt%S4NoOIr}t}!T$GRX8?jO9vLyT$S>x5c^zb?NgB z25@ZS@sf>xwPZ3S6Ruak0J~8PNWW+|(QYGV7ILjNM?>`su*~tkH?~seAm~|6!m`r6 znQH2lOaeYAl2x+}Q@672V|_NDDD+T-!dc^KmZLc?!HEhdC>)r?iVDjXpm9q#lI=G^ zLkW&kcu5J#H$ZXC=+J|A1nZiTw44mY4jUPmLX2&uD6$krrOrxQ4mOO{h4L!maizg@ zJ!opEAsV5u&q2e`6)_nO1E6YjSXRR{()kcAb1Fx(lAwx6*K}6pdiO^ytsA4REYt*!20+wkpkg*CNIEU?Kva>$3u-YYSj|(8fg25``?C6~bj-+tFwzl@ zXgHa~6nP$wS7}a05|DL46m{0G=IfSwS!%I=E>5Id?3QUTRa~WwDgBEMB{?ApG>H!L zIE^sOW4$a8>7*uxLjVAQmq0b+HwvaG^x!SIBuV8Z6=2_WOc)Y*nU*+Jrg>IVg|Gm5 zEy?!b%Ci@OM1wB^(#>GyE;N?emNtZD!w-Q$^2c#xVS&t zf-vcA%DiCRwUS;II;b{b@$1wI;VOs9z;R70K296y5&$VsI4I>XxCvvf6Yci?sA3u1U`XMuJXr0n^IP~rO z>Q9dUx-%H)98>?`#YKlt?p$f^c=*iNRnyNc>S}y{#ED5|NBFO#l^0%~VvHIz@%WWj zb~TULzx?#Y8TB*Io{|nxB(>$cw>pkbj()M{O!eXKpEJglmrdOJ_oMBn)8wn`zb?D{ zTFtTT%eS2$J$LP*!MmTne04?D?#iRvKP}H~6ubTu1N#ncop5mLH}i7Uk6d%6-~UY0 z0DH?%2iCbuUh16i;*d>5+2W4R$Gm48kh_gw*{C-+Z{F0?`q|~*1N&ww1A^;@R4)5N zjsaBF{6_r9mxtB|RzGlV|Ki&6&hpN;1HbK=tIimBtB!SJ25rm+iMk&T>siSOm|B#eqH*OXZuquew zqv|-+Dq630EVepcs8by;uxhc2c+}QTwc|Lbb<`?V!KtGC7ecBXtWI}kH~;Q_|M$N4 zy|*t5vd4~$>Nc<&f*?^@ndTh$t5(j)2zY(--cuGqRBt=e)3b;3q79%qBh%10(rBdP z5hSjG%gduY@-zwb%FC;(PmJ#-`EusZUzC%V(ol1(<|Goa;P}z-B`Vc0v}nrADG8ww z4~rI;y>6cRQ~1iGsRJ*M(#9pI&dw^m5I1Buy|S$A3{rPWi^n4ib*EI-85PyFx1!LZ zcQcpjmd*&PyEb~>_HCsXveeDJ)%zlU?}|R^o;ic5tUsbk>T-CwYRBlD#MEYrz8-Du z2deUy#r4n4%}t=I8e_jo2%Fe%#fEGB68+bPT#xSC7(Hb9hAQNI+Qlvrv(GggAOjT<*RLxODE@ABLGDW=zT5bWMxck&E-SO%F3?3mUeQ(iZZsW zXK3hC>zv9}gG0+phlPH3(1_F=8`nC3Ntz6e>*~pT--{sKdn>03S+%-9f`lJ;S|`bq zEMpi>bZc3~POabVfoKF7n&S7cTmg_#8_0JGCe59Fhcu{@H)$psEQH0A4jj(R5($hi z8EfTA3OFOLNg0L?^)ryb4P+MeyIq2p@tZVlybN3`k8us!29XO)n)dolvSg#_q6E-n zEs1diL7>S-ZL*EEb9Uk#lp-h+CkdR?VFbbGNrs})z@dTRB;L;Cm`4PH!8?=2A`8uN>)*H zbyO<5Lo!NHS_2w4(JAnv&l~^D24H4oVA8;<=`fPSNWw}Q8J&UA6NyAJLlEsyi^x0e z#hpR*NsK<}IVkKIo|V~`f_aXyi;|m#2|L|vKEORfz6K52$fS!dQG$V?I$fIzi-pM& zyfQ0rAj@phz?`*CC(i&<&*=;{7Bd)aI!vFeH(<6Tpu=>eE{W1nI)XOpJNBDJu28A0 zvcJ8{d69!0|3oEhfC8MshS9X0!hl{+VJw+s$AAs+HqvMyc%JQG8z(v8hsL^|WmQ!1 zkdfs`3J^99Gtzb%<7qvC(ZC1|rfGsQ>IkDwZ&$jxtwESfrx%v4IPiUp2h##8mlJL4 z2}q~(x=F(+MFzYk@YvajAFmWSu;1qZkn}%_-yYp7+GQUrf#LbkyO%Z>{vz>Sw&=g5 zzgj8VHFYNaxn}%7(gU_|4pztqaB|`rB^g{9G3`ac|6Q-Pch8KY4mg}~$}%`z;Z1Np z0|8P?aQgZdJ%p29WzRAXx6&tOe0pQ+?9?73im|Z8Ups!R+%voTAJZ?lK5Z^38LuuM z`zNru8$MbSzvLc>nwNf~<q-zalG~O%?X8jCpUU%$Npb$kLv&N*_#ja zhr;Tr$EH%4<{4>OXtbx;3`q zZf?(zIpwW0w>8BrwAR~q_E`V0$?rJ3IsAKMb!4B3(*_kZ@l^b`sk0EeeqqXB#I>&B zdU)xTb2l~|eedoR*O!sLJ$bPyks;HVHA_}ETpyG@;c?H}@V&dfXesS042*ufVADcX zOgEKf^ zIeo&mqi*A((IML}3A@*fi`-EWnp@LvRlU80LO&m-U0fN}Yez+S?v|?Z;cDt|_}p84 u3j5Ni zwYxey=Vy+EKhE9Vot9GU{r>)5e!~gCY&KJXwrv3jA#ind1%RrOQsV9Hjhr*8igS*X z5{tz`LY;JTb3@LVoU;L%rr~fnP)gzQ@{&>tr4*cVY`5Dp8Ngz(5I`rB38fTN6@Ziy z&N);S5wQUuA0IqCJcwDC&*wTCjSvx5tJM#WF-E-i?Du<8N~kJ*-}CwT`DLLpu2w6? zYz(fck@I72tA9Bvb7>P0Ja5&T$qXKkYC*$$>4E~=@+qO2u0rY)u ziFaMcX0xH|I$mC0G^NDz^RrAQ6H}q8rrOmXODTwat-6%L_4PHcudnL8r|UYIPN(FY zjnD>!5X^J6BO-Y38I4A4HXA)2kJgdzWUj8ODyc=O-z(6255VbkvT|7uRF%`|WFV`l z$PZQZv~6n{nCaPUrh~!2iqkZWsp2%7|(-SEr-rwI@E|>D-E?it(*s8qugb-+& z#saH$RFx0{>-C!Da(OP&e!mCccs!cq7$dvgj;3kIIkVkvE$E!H^+5i*&bPO>TGt8i d`1trM_8)RBFGf|wb$)0){Ltm2x4TcCEA9s_j^b6P<(#u+*N=t_gXFU9fBA>#yfmO-^N;k7@E=( zNjDjPMpn(NA3#$<{(RQLXo9GpmbZYq2)U$!Qo0eL&g|Pykvfb}^Q1T%x0+E}Z|Snp zoUU03wQG?YhSanMvOX_kf-G_Yna^enN6ts60TLA$+Nt`umOgbXr7f>PL?FH^rNtx4K=wf`cz2_-$kgj>sm6y zZU<@j6gBl-3W!P7Gua- z6S~(+iexi=)g9|d(l{OvyFgj+6mLllq=O* zwoLM(KS)lRryJ1BIg_uOfTF-f5eipLq*;#UxC9rJIZ5XDDQr+?*&;M5MvoBimaqjZZA2ro>ud?3!VwXcx#T?gE z!vRhJkX7(>iKQh?6zOn45ot+9B9M5E7eb*j+iY9M3k_thXZ2h`%&2KtpG6!E1yP~_ zCjvSo3L=dpUO-w9X;2J$-F!{C%+iSCb8sP@(rRe}snRH;Hwu2`wj(1>hSlRpWP37x>3`}j~Z$olR zatT5B60vAwBJ|n|y~lR+w2p{grkUCYj&z^(RUH_fe<*(GYJcAk@7TNT36sC}Z#w!t zPmj{21Frn~q!mA(y|8Jfu#>EQ>HU*OGZXty&HcsRd+>yH_@8|J`tQ;c)*gype57aK z+~n0?G#h(1{B$N)Wj8#!x^4Ztr#tG7W&*tfdrzLQl4ELPbLZB4wBgXex%p#HpMS2( z|Hjjw9Dn%nRch6fvA@Pn>dx#t{^hf~+V1)No9eG-exSc~WcGV&N0Xa3Zv8Fj+jEKX z9jx9)-ZykvA35Ul^SfVM^W*6LQ@j5D^vsni$TJtFjb5@~J(7ExKN~h=%>H$U>o$LT zd{is3boq9jTH5{bK&Rx}x-eFIQn=DfOiaR^{TBnhdsjZ;^RH+c38&Y0KR={y{F{p( ze06!C3H~Vz>su45tC2UY8n=x4aMZSi$KdqKOBS5^)z~xTkB)s4(_JfH*0yXPc6#{R W^wfFI*wzN`!yTJ3E4rg;Vb8yO^1T-T 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 zcmV-a0;~OrP)2!-K{c^Lsv@%WpUVm`^Kvt^iO~y!U*5eiA}JRWZik zy=Splh)tO$lL;XNLI@e)oa6iZn;0V(7Z=1Bi7{e~q3gOM8Ngz(5J20uCC12ly$0as z<_2R7s)~r@1iRgi$HzwjFaWdJOxw0aM0kCDWi%Q|(=;+14v8^ht;Ks!2mye>V31{- zq!Zw9IGh>u@$n%|)8vmLf^&|dC^E*RO9+AFdWvtJO;G?(WXWEP(f(Q!`WRR;v|V*HKj!MNypL(%q)O&(F`9 zyGie8G~)XDT2t)h<%O~=Gg+SR>2#`>mzSB{IhV)wa5&KSeXe4=-LhOR8s5-Q{)$Gb{K@IM6)tVr>`&4pyVn$GQfR@HS~62CSo3A~OS3k~Zj+@+ zJHy$uh!l%-1cjn#$LZnC$sADSyrZ@j1#LZ~$0;Xx$B2#=>o_uwBZw8bZ`(A2Q-8+H zZ1&sT=X>7gecpH9Z7C~VF?0I-=@^F1EGc%Cqq9LfrlzC+JHNUHFif{dayrYFiLwvk zYc{9m6eq__I)4!{!cmjirKq5hi2!-hZbI#bKA#r7Czaz4?A7> zzbWZWhKD;0?_dwU^e?f4#g3nGcAGG>ydHOl;ZoM7&aqQJ9OBd zr{`kWL-wl$S?q?KVZ=qY$;mL5$UJ zt-B0&$`Od$ObjW|G>zLhlg$VGf}dWDvoy<43{5d+lBRhJ!?Sig`6E!ci0J3bUCWcf z(3OJ-sH(zKR4f)V#mpu-Qca=e;3%4hMzavBASLJFsBhy+K2ivk6MFa*PD6k(YZRtdKOmBXmKAtJz{IwUho%SPdy z5eQT{;*sUxc%{n5CF3k>%EOHnQdpE@(d_FsKo?Mn- z(_>J#EK2_RiJ%rU&*t3#MLi<|75pMt6nMWJ2?3O_6av+dQo_{)p0bg5%0W4T0wZ1JV}R%%XImYS(2E9w z*RyJ>M8wDnG!$sYPMQVAMlwE&odotgNZKI7_vabqXhnu1k-RNU;K#3uoZKG^Kt%d8#UG0vmHlcAMBuV&6%9y4yeb#LkOCanF$^3Cy{s?)lWyGz6u&l>9wt$lY@M}gk| zVtdmahPx)Y41EQ)JyjKx+6MH)G48~EQ<^ML62CYwhbmWW6)VrJh do>6daM5kZfRnyg?IJK{6Nl~fmuZ7;G{{uo@8W{ip 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 zcmV;I3~2L-P)KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`>RI+y?e7jKeZ#YO-C z0mMl}K~#9!Y?Hl?>M#_9KRXVhii8jn1yIpYBT+#`#m_szOQEfxg2$jiC?Kd2B(Z&N zvDdx}cc)8qJZEM+Rw9B@icc&S3-R8^@2{_~|As^a12COV1)x@|0bq=w-EPMrYb~?c zOq_Fw2wH2bwE)Tlw!vV4a}MWR97xlY*XxD%o@TR&_a5&(T5GP?>-RE%?RKjG>G%71 z?-3CIthH#Z2{r@4{eEY++o?z}pUjX`T57dgB+)-N2PJu) zza0*!*XwTMmLf8H z?>U`LESF0e4u|A8Ybnbzmg~(zS(Y)tfN;2~Dx7naWl3mkSf+yX>2xZsRx1`K zP19K0s;Vf8BC5FEZtVAa_4XFBETbq2wALg^f>Me!P2&xPf5sSky&mK7_+OEp&nEyy zQN(aMoeq!3gEUQX&T+k7W6+^9Zx%i=nM@=E3UD|aetph=1^^%cI@|8XA&>w7002ov JPDHLkV1ho4BD(+p 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 zcmbVNe{9rL94|x8$;L8&L{MRr4g|t_{c-KBZFU>mZn7oZKz3%p4EWl<-Zi^xOWW;k z3kZ=!1Bon5ene2fe^4}A&_Be)00T@E5J8CvxPT@~3^8O90!RqK*Zai}$B%ePudnUr zeLkP>kN4iXg{|`@jDK-FhG7$0n!}6Gz1+KsedvGcmD>Q_p0b*kI2cy)tapvUwtX-O z!+bG4y4YPDnJ+13(hpQqhW>QYLTC)DsY_cx>4YvW!@=k61c90h;}|gN32E| z*PDB7*w)(`ReC!WQ6=hX@tU-R2$IkRcsiLd94Q?lGQ1KRd#@=1&p_PH5K-?5;)^2- z@kY~zxaem{g{B$28jZLhD~Mth&eCjvqJtF6lPoRKjKuSJ?nfXwTh*jR;a75E=qW_R zUDuK*DwRt4Qvtte$0$Y=MT%xAmL(B_bb1UIq)Ef6%rk_cqu9FT>ZXBvj6gQK+z^4R zW@AWN1zN+&6%X5d;oRf z^F0D6w~Zy9Gfe>FaO=qDIQ`NPe z`=DZ!<|PiHnR}q9XH?*VM}k#F(o8!EP{4W;#2{rEF#<27QED_3rj3M=yFkW8BqFsK zjtdM0wuD0jirKI0sssSdX#k*B6l9H*8IB_bRs|$bSe~bYiYD+NKR;|LU0!9q`PnX4 zO$Bk>QRR3+0jvy3$Z0GY3~&KbmKmB1s6v3@6p^DDG0(QZ*3m)(iMv@nS1MwZXwRNLOQwC(g0$)Q9`dB-E=@>c#TyA zGRUDaf*_}o0?k&Fno=DMuq?}S0$W3Q3k6Z&*-@63dbob3eWhmI^V5@a(FRu({NS06 zm4M={#1Nr)EeKU2_gWvNT91{N-27A=BGQMnW>(!XH8%xpSRX@`ePruX4>Iq7?uT1{ zyhh7h7KOUMUYT!qZI*dB+JU`cVedx|h0_BX zh}uSHLwe~DI*!K3E#dm8@NU<8X9o|{rQw?$o0{f!l;ag^wiugMZT{zW`|>Fzjbrz3 z^vyXGsF*o8lUR0o+X;<*fByOSu~+?d_2tET|G2Tzzx8<2irSs<;IDt(h;#k3)~huY zod+uaURitLa{9Zgy_;{|8Vp~1=ScmR!vl%nOS9KEd{K2;m|Rv@R24S%ZGUEfz3fVR z)}Avy{^n}$z|S8(zx(u_{yhox2dwPORybSV_UVxPxz(|&?uk!)%hZu^=PK8%k|%$A zuqgV`FB6vl|A}z}rM|U&b0@vsHC*=N(CV*_H0}8Fr;+RD+J%a~4Qr(vGjAKr1k{j<#n8uks}DyE-%y?kujyi2X;_w`{D&t7!j zeDdh-((T33*JfNj_C0oO+U=DkXNtBIAKiWOKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`>RI+y?e7jKeZ#YO-C z0mMl}K~#9!bd$YK<3JF{f3se@bQ48NVOxrnhIfD}70Cmqf(l-O!U&uqf*K{pyE_zU z=kOi3-L7W;Uo#`Biiq&{+3)w7QnLHuaQLT4Rq+7Z?N$M*ssg}!&uX=@q7VYNx3?N& zL{)Ll5kdeEpV6+au81)bW3+;@EV*1Rq?A}J7NnF&DdC*sbUJ;L0o>i)380(JhLjSj z3P1<}=N#E)26%se=l=d)3}Cn0Y1_7l2qJ>2qN)bwz2|&B6JrFRuIp_3+d^iXrpW+a zUtec|HBAFRjFF-!?A0qa>qJ#)+jgel`T1D@ z*6X!CJw2Ifvyf7vZCjeA(ccuT*J}mn``!o*zrxBbEK4P z_Y=4cE-V=jZ1v-OS*eW11#H2#n*1s!~;zWguDlcDvQ( za%l?6vNT20G%=2&DR_H(kU_ zj0uZDKqCk-en&!#M1q)sibx`mksv_=W*TFFEC!VbDw&{Q!iTT-#W3R|UefDp`+L9N z@Bi`MTRnf?W8+g3IrU^Xr(l8%@*tVZq)k`JMW{Tlg2(=Ah9dJ2uPZ_|_=046d_LJ^ zIf#@4EUf~-k|G}QAx@Izhe-}_K?Z~vPM|rU09FwMviPI0oTKSVYxL2g7=DUSot|ea z43o`f1KD7}a#9Q{%Q6EvhT~|ApxqwRgE`uCroqUOVH6WGD%wr-*obLGuGQ_RsChZIIo*%OR+=0HJBT|WjS3>>Pc2D&5v4Yw_jO*exb`X zOT`@5R7H&y1xZZOA`l@hg!m8*MOMbVK~~jONs@R}Vtc|d@Ir&>k*vNe4KwPx8k7Jh z(-86!os@WvmJx^Opddhr!=_|W^1Jz(a*3q@$LHcgy2aJf2vfyT+Ne(%xY7mB`JpU8 zpbMc8&GHb^e24|KtP6nVWT5jJU^$T!!;HT~@MN+uDiAU^SI#%C(qi~ddW!lB(6X`< zGT*BTRQ)v=p;W*5kVX|>8>7_ewlY$jpY24L^d?PNPFixoVLv_9%0`9Ic+X;C|&nL>C+XDC0Id|eAgVg6gM{I?O?WC@PLxaSbF}huch&6nkH3#pY&ddiNA9V%y_2;?V~>5t zI!o?*{m{?N8!KlFuKadIYrC=K;{L`d2ZpMCoAq>bLR-z;8T%W>JEpFvo;d_w{<3Du znt>lTZtd88BB{Llch&jzAAGpIa>8Br9<4<8#MXcHet#QUv}tDbKfg?!xO?Y{%J`rL zaxuN{qvWT%f(QBdu2b92C^I%3T)Xto!>3o(&Al|~!kAfC2kt(wY4aZcRE{;zi*9S| G==&Fn!LafG literal 0 HcmV?d00001 diff --git a/kubejs/startup_scripts/gtceu/items.js b/kubejs/startup_scripts/gtceu/items.js index 488cc5e9b..9500b35c2 100644 --- a/kubejs/startup_scripts/gtceu/items.js +++ b/kubejs/startup_scripts/gtceu/items.js @@ -3,4 +3,29 @@ const registerGTCEuItems = (event) => { event.create('tfg:unfinished_vacuum_tube', 'create:sequenced_assembly') event.create('tfg:unfinished_basic_electronic_circuit', 'create:sequenced_assembly') + + // Extrudel Molds + event.create('tfg:mining_hammer_head_extruder_mold') + event.create('tfg:sword_head_extruder_mold') + event.create('tfg:pickaxe_head_extruder_mold') + event.create('tfg:shovel_head_extruder_mold') + event.create('tfg:axe_head_extruder_mold') + event.create('tfg:hoe_head_extruder_mold') + event.create('tfg:scythe_head_extruder_mold') + event.create('tfg:file_head_extruder_mold') + event.create('tfg:hammer_head_extruder_mold') + event.create('tfg:saw_head_extruder_mold') + event.create('tfg:knife_head_extruder_mold') + event.create('tfg:butchery_knife_head_extruder_mold') + event.create('tfg:spade_head_extruder_mold') + event.create('tfg:propick_head_extruder_mold') + event.create('tfg:javelin_head_extruder_mold') + event.create('tfg:chisel_head_extruder_mold') + event.create('tfg:mace_head_extruder_mold') + + // Other Molds + event.create('tfg:lamp_casting_mold') + event.create('tfg:trapdoor_casting_mold') + event.create('tfg:chain_casting_mold') + event.create('tfg:bell_casting_mold') } \ No newline at end of file diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 0f0db450e..9257d3cc9 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -4,7 +4,7 @@ * Событие регистрации предметов. */ StartupEvents.registry('item', event => { - // registerGTCEuItems(event) + registerGTCEuItems(event) }) /** From e066328c70b8e012d15d2988c6b5ac1e5d0d9c93 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 11:19:47 +0700 Subject: [PATCH 119/266] allow firmalife greenhouse hold gt frameboxes --- kubejs/server_scripts/firmalife/tags.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 1216e8ee6..c2098d5fc 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -26,6 +26,9 @@ const registerFirmaLifeBlockTags = (event) => { // Удаление тегов у руд event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + + // Для того, чтобы стенками greenhouse могли быть фреймы грега (для передачи воды) + event.add('tfc:always_valid_greenhouse_wall', '#forge:frames') } const registerFirmaLifeFluidTags = (event) => { From 0cb146a37a31434b881b6a66b428c7bdc262a16b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 11:21:10 +0700 Subject: [PATCH 120/266] cleanup --- kubejs/startup_scripts/firmaciv/blocks.js | 8 ++++---- kubejs/startup_scripts/gtceu/blocks.js | 5 ----- kubejs/startup_scripts/main_startup_script.js | 10 ++-------- 3 files changed, 6 insertions(+), 17 deletions(-) delete mode 100644 kubejs/startup_scripts/gtceu/blocks.js diff --git a/kubejs/startup_scripts/firmaciv/blocks.js b/kubejs/startup_scripts/firmaciv/blocks.js index f9a3a5c57..833cd702f 100644 --- a/kubejs/startup_scripts/firmaciv/blocks.js +++ b/kubejs/startup_scripts/firmaciv/blocks.js @@ -1,8 +1,8 @@ // priority: 0 const modifyFirmaCivBlocks = (event) => { - event.modify('firmaciv:cleat', block => { - block.requiresTool = false - block.destroySpeed = 0.1 - }) + // event.modify('firmaciv:cleat', block => { + // block.requiresTool = false + // block.destroySpeed = 0.1 + // }) } \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/blocks.js b/kubejs/startup_scripts/gtceu/blocks.js deleted file mode 100644 index d389a83f2..000000000 --- a/kubejs/startup_scripts/gtceu/blocks.js +++ /dev/null @@ -1,5 +0,0 @@ -// priority: 0 - -const registerGTCEuBlocks = (event) => { - -} \ No newline at end of file diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 9257d3cc9..ffcd9f0b7 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -10,18 +10,12 @@ StartupEvents.registry('item', event => { /** * Событие регистрации блоков. */ -StartupEvents.registry('block', event => { - // registerGTCEuBlocks(event) - - -}) +StartupEvents.registry('block', event => {}) /** * Событие изменения блоков. */ -BlockEvents.modification(event => { - // modifyFirmaCivBlocks(event) -}) +BlockEvents.modification(event => {}) /** * Событие изменения предметов. From e232555b53146a9c1a9f4971d7292fbd43cfe556 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 11:21:37 +0700 Subject: [PATCH 121/266] refactor gtceu -> gregtech --- kubejs/startup_scripts/{gtceu => gregtech}/constants.js | 0 kubejs/startup_scripts/{gtceu => gregtech}/items.js | 0 kubejs/startup_scripts/{gtceu => gregtech}/machines.js | 0 kubejs/startup_scripts/{gtceu => gregtech}/material_info.js | 0 kubejs/startup_scripts/{gtceu => gregtech}/recipe_types.js | 0 kubejs/startup_scripts/{gtceu => gregtech}/world_gen_layers.js | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename kubejs/startup_scripts/{gtceu => gregtech}/constants.js (100%) rename kubejs/startup_scripts/{gtceu => gregtech}/items.js (100%) rename kubejs/startup_scripts/{gtceu => gregtech}/machines.js (100%) rename kubejs/startup_scripts/{gtceu => gregtech}/material_info.js (100%) rename kubejs/startup_scripts/{gtceu => gregtech}/recipe_types.js (100%) rename kubejs/startup_scripts/{gtceu => gregtech}/world_gen_layers.js (100%) diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gregtech/constants.js similarity index 100% rename from kubejs/startup_scripts/gtceu/constants.js rename to kubejs/startup_scripts/gregtech/constants.js diff --git a/kubejs/startup_scripts/gtceu/items.js b/kubejs/startup_scripts/gregtech/items.js similarity index 100% rename from kubejs/startup_scripts/gtceu/items.js rename to kubejs/startup_scripts/gregtech/items.js diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gregtech/machines.js similarity index 100% rename from kubejs/startup_scripts/gtceu/machines.js rename to kubejs/startup_scripts/gregtech/machines.js diff --git a/kubejs/startup_scripts/gtceu/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js similarity index 100% rename from kubejs/startup_scripts/gtceu/material_info.js rename to kubejs/startup_scripts/gregtech/material_info.js diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gregtech/recipe_types.js similarity index 100% rename from kubejs/startup_scripts/gtceu/recipe_types.js rename to kubejs/startup_scripts/gregtech/recipe_types.js diff --git a/kubejs/startup_scripts/gtceu/world_gen_layers.js b/kubejs/startup_scripts/gregtech/world_gen_layers.js similarity index 100% rename from kubejs/startup_scripts/gtceu/world_gen_layers.js rename to kubejs/startup_scripts/gregtech/world_gen_layers.js From af5b57385e6a439f888e1adea2693dd0b7101514 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 11:30:47 +0700 Subject: [PATCH 122/266] refactors + fix alternator (probably) --- kubejs/server_scripts/gregtech/recipes.js | 53 ++++++++++++++++ kubejs/startup_scripts/gregtech/items.js | 2 +- kubejs/startup_scripts/gregtech/machines.js | 14 +++-- .../startup_scripts/gregtech/material_info.js | 2 +- .../startup_scripts/gregtech/recipe_types.js | 6 +- .../gregtech/world_gen_layers.js | 6 +- kubejs/startup_scripts/main_startup_script.js | 63 +++---------------- 7 files changed, 79 insertions(+), 67 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 045fe6a20..0841e2991 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1465,3 +1465,56 @@ const registerGTCEURecipes = (event) => { //#endregion } + + + + + + +// /** +// * Отключение рецепта генерации nugget'ов из слитков, если nugget'а нет. +// */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 3), remap = false) +// private static void tfg$processIngot$gtRecipeBuilder$save$nugget(GTRecipeBuilder instance, Consumer consumer, TagPrefix ingotPrefix, Material material, IngotProperty property) { +// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { +// instance.save(consumer); +// } +// } +// +// /** +// * В GT при добавлении предмета в output или input сразу проверяется empty ли он, +// * чтобы отключить рецепт не хватит просто его не сохранять в некоторых случаях. +// * Если output'а или input'а нет, то нужно будет еще задать условие и какой-то предмет который существует, +// * собственно это мы тут и делаем. +// */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;outputItems(Lcom/gregtechceu/gtceu/api/data/tag/TagPrefix;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;I)Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;", ordinal = 1), remap = false) +// private static GTRecipeBuilder tfg$processIngot$gtRecipeBuilder$outputItems(GTRecipeBuilder instance, TagPrefix orePrefix, Material material, int count) { +// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { +// instance.outputItems(TagPrefix.nugget, material, 9); +// } +// return instance; +// } +// +// /** +// * Отключение генерации рецептов: 2 слитка + молот = пластина (верстак). +// * */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 2), remap = false) +// private static void tfg$processIngot$addShapedRecipe$plate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} +// +// /** +// * Отключение генерации рецептов: 9 слитков -> блок. (Компрессор) +// */ +// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 5), remap = false) +// private static void tfg$processIngot$gtRecipeBuilder$save$block(GTRecipeBuilder instance, Consumer consumer) {} + +// /** +// * Отключение генерации рецептов: 2 пластины + молот = двойная пластина (верстак). +// * */ +// @Redirect(method = "processPlateDouble", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V"), remap = false) +// private static void tfg$processPlateDouble$vanillaRecipeHelper$addShapedRecipe$doublePlate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} +// +// /** +// * Отключение генерации рецептов: 2 стержня + молот = длинный стержень (верстак). +// * */ +// @Redirect(method = "processLongStick", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 3), remap = false) +// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer provider, String regName, ItemStack result, Object[] recipe) {} \ No newline at end of file diff --git a/kubejs/startup_scripts/gregtech/items.js b/kubejs/startup_scripts/gregtech/items.js index 9500b35c2..4620fb706 100644 --- a/kubejs/startup_scripts/gregtech/items.js +++ b/kubejs/startup_scripts/gregtech/items.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGTCEuItems = (event) => { +const registerGregTechItems = (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/gregtech/machines.js b/kubejs/startup_scripts/gregtech/machines.js index 0a415b613..31c99918a 100644 --- a/kubejs/startup_scripts/gregtech/machines.js +++ b/kubejs/startup_scripts/gregtech/machines.js @@ -1,6 +1,8 @@ // priority: 0 -const registerGTCEuMachines = (event) => { +const registerGregTechMachines = (event) => { + + // Регистрация мультиблока теплицы event.create('greenhouse', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) .recipeType('greenhouse') @@ -24,20 +26,22 @@ const registerGTCEuMachines = (event) => { ) .workableCasingRenderer('gtceu:block/casings/solid/machine_casing_solid_steel', 'gtceu:block/multiblock/implosion_compressor', false) + // Регистрация мультиблока (хз как перевести, короче конвертит энергию физическую в энергию электрическую) event.create('alternator', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) - .recipeType('alternator') + .recipeType('basic_alternator') + .appearanceBlock(GTBlocks.CASING_STEEL_SOLID) + .generator(true) .pattern(definition => FactoryBlockPattern.start() .aisle("CWC", "CWC", "#W#") .aisle("CWC", "K#E", "CWC") - .aisle("CWI", "CWA", "#W#") + .aisle("CWC", "CWA", "#W#") .where('A', Predicates.controller(Predicates.blocks(definition.get()))) - .where('W', Predicates.blocks('gtceu:cupronickel_coil_block')) + .where('W', Predicates.blocks(GTBlocks.COIL_CUPRONICKEL.get())) .where("C", Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get())) .where('#', Predicates.any()) .where('K', Predicates.abilities(PartAbility.INPUT_KINETIC).setExactLimit(1)) .where('E', Predicates.abilities(PartAbility.OUTPUT_ENERGY).setExactLimit(1)) - .where('I', Predicates.abilities(PartAbility.IMPORT_ITEMS).setExactLimit(1)) .build() ) .workableCasingRenderer( diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index 07238979e..f58f2c3b6 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGTCEuMaterialInfo = (event) => { +const registerGregTechMaterialInfo = (event) => { //#region Дерево global.VANILLA_WOOD_TYPES.forEach(woodType => { diff --git a/kubejs/startup_scripts/gregtech/recipe_types.js b/kubejs/startup_scripts/gregtech/recipe_types.js index eb4144c95..829c53603 100644 --- a/kubejs/startup_scripts/gregtech/recipe_types.js +++ b/kubejs/startup_scripts/gregtech/recipe_types.js @@ -1,15 +1,15 @@ // priority: 0 -const registerGTCEuRecipeTypes = (event) => { +const registerGregTechRecipeTypes = (event) => { event.create('greenhouse') - .category('greenhouse') + .category('multiblock') .setEUIO('in') .setMaxIOSize(3, 4, 1, 0) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.BATH) event.create('alternator') - .category('alternator') + .category('multiblock') .setEUIO('out') .setMaxIOSize(1, 0, 0, 0) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) diff --git a/kubejs/startup_scripts/gregtech/world_gen_layers.js b/kubejs/startup_scripts/gregtech/world_gen_layers.js index b2b08d719..8c1c40697 100644 --- a/kubejs/startup_scripts/gregtech/world_gen_layers.js +++ b/kubejs/startup_scripts/gregtech/world_gen_layers.js @@ -1,7 +1,11 @@ // priority: 0 -const registerGTMWorldGenLayers = (event) => { +const registerGregTechWorldGenLayers = (event) => { + // Здесь куча конченных переменных. Почему? + // А потому что мы не можем использовать у руды несколько слоев для гена и з-за этого приходится говнить. + // Спасибо разрабам. + const ALL = ['#tfc:rock/raw'] const IE = [ diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index ffcd9f0b7..6a5bf6fda 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -4,7 +4,7 @@ * Событие регистрации предметов. */ StartupEvents.registry('item', event => { - registerGTCEuItems(event) + registerGregTechItems(event) }) /** @@ -31,75 +31,26 @@ StartupEvents.registry('fluid', event => {}) * Событие регистрации типов рецептов. */ GTCEuStartupEvents.registry('gtceu:recipe_type', event => { - // registerGTCEuRecipeTypes(event) + registerGregTechRecipeTypes(event) }) /** * Событие регистрации механизмов. */ GTCEuStartupEvents.registry('gtceu:machine', event => { - // registerGTCEuMachines(event) + registerGregTechMachines(event) }) /** * Событие регистрации слоев пород GTM. */ GTCEuStartupEvents.registry('gtceu:world_gen_layer', event => { - registerGTMWorldGenLayers(event) + registerGregTechWorldGenLayers(event) }) /** * Событие регистрации информации о составе предмета. */ -// TFGStartupEvents.materialInfo(event => { -// registerGTCEuMaterialInfo(event) -// }) - - -// /** -// * Отключение рецепта генерации nugget'ов из слитков, если nugget'а нет. -// */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 3), remap = false) -// private static void tfg$processIngot$gtRecipeBuilder$save$nugget(GTRecipeBuilder instance, Consumer consumer, TagPrefix ingotPrefix, Material material, IngotProperty property) { -// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { -// instance.save(consumer); -// } -// } -// -// /** -// * В GT при добавлении предмета в output или input сразу проверяется empty ли он, -// * чтобы отключить рецепт не хватит просто его не сохранять в некоторых случаях. -// * Если output'а или input'а нет, то нужно будет еще задать условие и какой-то предмет который существует, -// * собственно это мы тут и делаем. -// */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;outputItems(Lcom/gregtechceu/gtceu/api/data/tag/TagPrefix;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;I)Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;", ordinal = 1), remap = false) -// private static GTRecipeBuilder tfg$processIngot$gtRecipeBuilder$outputItems(GTRecipeBuilder instance, TagPrefix orePrefix, Material material, int count) { -// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { -// instance.outputItems(TagPrefix.nugget, material, 9); -// } -// return instance; -// } -// -// /** -// * Отключение генерации рецептов: 2 слитка + молот = пластина (верстак). -// * */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 2), remap = false) -// private static void tfg$processIngot$addShapedRecipe$plate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} -// -// /** -// * Отключение генерации рецептов: 9 слитков -> блок. (Компрессор) -// */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 5), remap = false) -// private static void tfg$processIngot$gtRecipeBuilder$save$block(GTRecipeBuilder instance, Consumer consumer) {} - -// /** -// * Отключение генерации рецептов: 2 пластины + молот = двойная пластина (верстак). -// * */ -// @Redirect(method = "processPlateDouble", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V"), remap = false) -// private static void tfg$processPlateDouble$vanillaRecipeHelper$addShapedRecipe$doublePlate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} -// -// /** -// * Отключение генерации рецептов: 2 стержня + молот = длинный стержень (верстак). -// * */ -// @Redirect(method = "processLongStick", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 3), remap = false) -// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer provider, String regName, ItemStack result, Object[] recipe) {} \ No newline at end of file +TFGStartupEvents.materialInfo(event => { + registerGregTechMaterialInfo(event) +}) \ No newline at end of file From 6f17f6bba3904c12fc72ba0a08f95fb5d20b6b36 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 11:31:39 +0700 Subject: [PATCH 123/266] Update CHANGELOG.md --- CHANGELOG.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 154d9e098..1e198c085 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,28 @@ # Changelog +## [0.8.0] - ?? +### TODO + +### Changes +- Replaced TFC ore gen with GT oregen. +- Fixed most of bad langs from TFG-Core. +- Fixed compat for firmaciv 1.0.+. +- Disabled HotOrNot. +- Moved some textures from TFG-Core to KJS. +- Moved 90% of recipes from TFG-Core to KJS. +- Added custom biome tag for all TFC biomes (used for oregen). +- Proper way to remove #dusts tag from TFC powders. +- Enabled HighTier machines from GTM (but without circuit recipes). +- Moved some custom items from TFG-Core to KJS (like molds and etc). +- Make ores spawn inside grid with 5x5 sized with 32block offset (was 3x3 with 16). +- Now nether availiable to research (dig ores, drink lava, kill pigmens, what?). +- Small changes for loottables for nether. +- You can now fill sprinkler(firmalife greenhouse) from any fluid source (example: GT pipes). +- Unlocked steel steam machines (again, yes). +- Added translation for ru_ru inside TFG-Core. +- Fixed alternator multiblock (now works fine). +- ... +### Updated mods +- ?? ## [0.7.13] - 01.10.2024 ### Changes From 1a1e243223421024fc911779886173b4516bc19f Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 12:09:49 +0700 Subject: [PATCH 124/266] fixed nether loot_tables --- .../loot_tables/chests/bastion_bridge.json | 233 ++++++++++ .../chests/bastion_hoglin_stable.json | 326 ++++++++++++++ .../loot_tables/chests/bastion_other.json | 420 ++++++++++++++++++ .../loot_tables/chests/bastion_treasure.json | 293 ++++++++++++ .../loot_tables/chests/nether_bridge.json | 151 +++++++ 5 files changed, 1423 insertions(+) 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/chests/nether_bridge.json 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..f9341687b --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json @@ -0,0 +1,233 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:lodestone" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "damage": { + "type": "minecraft:uniform", + "max": 0.5, + "min": 0.1 + }, + "function": "minecraft:set_damage" + } + ], + "name": "minecraft:crossbow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 28.0, + "min": 10.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:spectral_arrow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 12.0, + "min": 8.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gilded_blackstone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crying_obsidian" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_block" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9.0, + "min": 4.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9.0, + "min": 4.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_ingot" + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 2.0, + "min": 1.0 + } + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:string" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:leather" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 5.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:arrow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_nugget" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_nugget" + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + } + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:empty", + "weight": 11 + }, + { + "type": "minecraft:item", + "name": "minecraft:snout_armor_trim_smithing_template" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "minecraft:chests/bastion_bridge" +} \ 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..36e33970b --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json @@ -0,0 +1,326 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "gtceu:cobalt_ingot", + "weight": 15 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:brass_ingot", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 8 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:steel_ingot", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 2.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:saddle", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_block", + "weight": 16 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 8.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:golden_carrot", + "weight": 10 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:golden_apple", + "weight": 10 + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crying_obsidian" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:glowstone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gilded_blackstone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:soul_sand" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crimson_nylium" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_nugget" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:leather" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 5.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:arrow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:string" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "tfc:food/cooked_pork" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "tfc:food/cooked_pork" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crimson_fungus" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crimson_roots" + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 3.0 + } + } + ], + "random_sequence": "minecraft:chests/bastion_hoglin_stable" +} \ 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..f3d6ad869 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_other.json @@ -0,0 +1,420 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "damage": { + "type": "minecraft:uniform", + "max": 0.9, + "min": 0.1 + }, + "function": "minecraft:set_damage" + } + ], + "name": "minecraft:crossbow", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 4 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 22.0, + "min": 10.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:spectral_arrow", + "weight": 10 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:piglin_banner_pattern", + "weight": 9 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:music_disc_pigstep", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 6.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:golden_carrot", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:golden_apple", + "weight": 9 + }, + { + "type": "minecraft:item", + "name": "minecraft:book", + "weight": 10 + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_block", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_block", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crossbow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_ingot", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_ingot", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crying_obsidian", + "weight": 2 + } + ], + "rolls": 2.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gilded_blackstone", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:chain" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:magma_cream", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:bone_block" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_nugget" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 4.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:obsidian" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_nugget" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 4.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:string" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 5.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:arrow", + "weight": 2 + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 3.0 + } + } + ], + "random_sequence": "minecraft:chests/bastion_other" +} \ 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..a4adf48de --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json @@ -0,0 +1,293 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 15 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 10 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 8 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 2.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_sword", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{},GT.Tool:{AttackDamage:10.0f,AttackSpeed:-2.3000002f,Damage:0,MaxDamage:4607},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_pickaxe", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{},GT.Tool:{AttackDamage:8.0f,AttackSpeed:-2.7f,Damage:0,HarvestLevel:3,MaxDamage:4607,ToolSpeed:10.0f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_axe", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{DisableShields:1b,TreeFelling:1b},GT.Tool:{AttackDamage:12.0f,AttackSpeed:-3.1000001f,Damage:0,HarvestLevel:3,MaxDamage:4607,ToolSpeed:8.0f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_shovel", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{},GT.Tool:{AttackDamage:8.5f,AttackSpeed:-2.9f,Damage:0,HarvestLevel:3,MaxDamage:4607,ToolSpeed:10.0f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_hammer", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{},GT.Tool:{AttackDamage:8.0f,AttackSpeed:-2.7f,Damage:0,HarvestLevel:3,MaxDamage:4607,ToolSpeed:10.0f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_mining_hammer", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{AoEColumn:1,AoELayer:0,AoERow:1,MaxAoEColumn:1,MaxAoELayer:0,MaxAoERow:1},GT.Tool:{AttackDamage:8.5f,AttackSpeed:-3.1000001f,Damage:0,HarvestLevel:3,MaxDamage:13823,ToolSpeed:6.4f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:diamond", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:enchanted_golden_apple", + "weight": 2 + } + ], + "rolls": 3.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 25.0, + "min": 12.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:spectral_arrow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_block" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_block" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crying_obsidian" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 23.0, + "min": 8.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:quartz" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 15.0, + "min": 5.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gilded_blackstone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:magma_cream" + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 3.0 + } + } + ], + "random_sequence": "minecraft:chests/bastion_treasure" +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/chests/nether_bridge.json b/kubejs/data/minecraft/loot_tables/chests/nether_bridge.json new file mode 100644 index 000000000..b6c38ba2b --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/nether_bridge.json @@ -0,0 +1,151 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:diamond", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_ingot", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_ingot", + "weight": 15 + }, + { + "type": "minecraft:item", + "name": "minecraft:flint_and_steel", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:nether_wart", + "weight": 5 + }, + { + "type": "minecraft:item", + "name": "minecraft:saddle", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/copper", + "weight": 9 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/bismuth_bronze", + "weight": 8 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/bronze", + "weight": 7 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/black_bronze", + "weight": 6 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/wrought_iron", + "weight": 5 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/steel", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/black_steel", + "weight": 3 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/blue_steel", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/red_steel", + "weight": 1 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:obsidian", + "weight": 2 + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + } + } + ], + "random_sequence": "minecraft:chests/nether_bridge" +} \ No newline at end of file From 3128b8b15c985a04e187970a934a34128a315770 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 12:09:59 +0700 Subject: [PATCH 125/266] oups :trollface: --- kubejs/startup_scripts/gregtech/machines.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/gregtech/machines.js b/kubejs/startup_scripts/gregtech/machines.js index 31c99918a..f8d48cda3 100644 --- a/kubejs/startup_scripts/gregtech/machines.js +++ b/kubejs/startup_scripts/gregtech/machines.js @@ -29,7 +29,7 @@ const registerGregTechMachines = (event) => { // Регистрация мультиблока (хз как перевести, короче конвертит энергию физическую в энергию электрическую) event.create('alternator', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) - .recipeType('basic_alternator') + .recipeType('alternator') .appearanceBlock(GTBlocks.CASING_STEEL_SOLID) .generator(true) .pattern(definition => FactoryBlockPattern.start() From b3a7722ac8668c796b35145c6c66bff556278523 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 12:51:31 +0700 Subject: [PATCH 126/266] cleanup, refactors --- kubejs/server_scripts/gregtech/data.js | 11 +---- kubejs/server_scripts/gregtech/fluid_veins.js | 2 +- kubejs/server_scripts/gregtech/loot.js | 2 +- kubejs/server_scripts/gregtech/ore_veins.js | 2 +- kubejs/server_scripts/gregtech/recipes.js | 2 +- kubejs/server_scripts/gregtech/tags.js | 2 +- kubejs/server_scripts/main_server_script.js | 43 ++++++++++--------- kubejs/server_scripts/tfc/data.js | 11 ++++- kubejs/server_scripts/treetap/data.js | 9 ---- kubejs/server_scripts/water_flasks/data.js | 9 ---- 10 files changed, 38 insertions(+), 55 deletions(-) diff --git a/kubejs/server_scripts/gregtech/data.js b/kubejs/server_scripts/gregtech/data.js index 2729278a5..282be0449 100644 --- a/kubejs/server_scripts/gregtech/data.js +++ b/kubejs/server_scripts/gregtech/data.js @@ -1,18 +1,9 @@ // priority: 0 -const registerTFCDataForGTCEU = (event) => { +const registerTFCDataForGregTech = (event) => { registerGTCEUHeats(event) } -/** - * event.itemHeat( - ingredient: Ingredient, - heatCapacity: number, - forgingTemperature: @Nullable number, - weldingTemperature: @Nullable number, - name?: string - ) - */ const registerGTCEUHeats = (event) => { event.itemHeat('gtceu:compressed_coke_clay', 0.1242, null, null) } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/fluid_veins.js b/kubejs/server_scripts/gregtech/fluid_veins.js index db71d4360..ca4c5b7fb 100644 --- a/kubejs/server_scripts/gregtech/fluid_veins.js +++ b/kubejs/server_scripts/gregtech/fluid_veins.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGTMFluidVeins = (event) => { +const registerGregTechFluidVeins = (event) => { event.add('tfg:fresh_water', vein => { vein.dimensions('minecraft:overworld') diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/gregtech/loot.js index 84d79ac51..cff2cc129 100644 --- a/kubejs/server_scripts/gregtech/loot.js +++ b/kubejs/server_scripts/gregtech/loot.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGTCEULoots = (event) => { +const registerGregTechLoots = (event) => { global.TFC_STONE_TYPES.forEach(stoneTypeName => { GTMaterialRegistry.getRegisteredMaterials().forEach(material => { diff --git a/kubejs/server_scripts/gregtech/ore_veins.js b/kubejs/server_scripts/gregtech/ore_veins.js index 515ecaeac..4ac0415ec 100644 --- a/kubejs/server_scripts/gregtech/ore_veins.js +++ b/kubejs/server_scripts/gregtech/ore_veins.js @@ -3,7 +3,7 @@ // Я правда не тупой, я знаю, что это можно было сделать перебором списка, но это сделано // для удобного изменения значения каждой жилы, допустим редкости спавна и тд. -const registerGTMOreVeins = (event) => { +const registerGregTechOreVeins = (event) => { // Перемещение - End -> Overworld diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 0841e2991..92d0ce63b 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGTCEURecipes = (event) => { +const registerGregTechRecipes = (event) => { //#region Выход: Удобрение // В обычном миксере diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 232b68b32..a0773abd3 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGTCEUItemTags = (event) => { +const registerGregTechItemTags = (event) => { // Удаление тегов у отключенных предметов global.GTCEU_DISABLED_ITEMS.forEach(item => { diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index e8e538495..200c45092 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -15,7 +15,7 @@ ServerEvents.tags('item', event => { // registerFirmaLifeItemTags(event) // registerFramedBlocksItemTags(event) // registerFTBQuestsItemTags(event) - // registerGTCEUItemTags(event) + // registerGregTechItemTags(event) // registerMegaCellsItemTags(event) // registerMinecraftItemTags(event) // registerMoreRedItemTags(event) @@ -40,7 +40,7 @@ ServerEvents.tags('block', event => { // registerFirmaLifeBlockTags(event) // registerFramedBlocksBlockTags(event) // registerFTBQuestsBlockTags(event) - // registerGTCEUBlockTags(event) + // registerGregTechBlockTags(event) // registerMegaCellsBlockTags(event) // registerMinecraftBlockTags(event) // registerMoreRedBlockTags(event) @@ -61,7 +61,7 @@ ServerEvents.tags('fluid', event => { }) /** - * Событие регистрации тегов биомов. + * Событие регистрации биом-тегов. */ ServerEvents.tags('worldgen/biome', event => { registerTFCBiomeTags(event) @@ -80,7 +80,7 @@ ServerEvents.tags('worldgen/placed_feature', event => { * Срабатывает до инициализации рецептов, но после тегов. */ ServerEvents.highPriorityData(event => { - // registerComputerCraftData(event) + registerComputerCraftData(event) }) /** @@ -88,20 +88,12 @@ ServerEvents.highPriorityData(event => { * Срабатывает до инициализации рецептов, но после тегов. */ TFCEvents.data(event => { - // registerTFCDataForGTCEU(event) - // registerTFCDataForTFC(event) - // registerTFCDataForTreeTap(event) - // registerTFCDataForWaterFlasks(event) + registerTFCDataForGregTech(event) + registerTFCDataForTFC(event) + registerTFCDataForTreeTap(event) + registerTFCDataForWaterFlasks(event) }) -/** - * Событие регистрации лут-тейблов. - * Срабатывает до инициализации рецептов, но после датапаков и тегов. - */ -LootJS.modifiers((event) => { - registerGTCEULoots(event) -}); - /** * Событие регистрации рецептов. * Срабатывает после инициализации датапаков и тегов. @@ -124,7 +116,7 @@ ServerEvents.recipes(event => { // registerFirmaLifeRecipes(event) // registerFramedBlocksRecipes(event) // registerFTBQuestsRecipes(event) - // registerGTCEURecipes(event) + // registerGregTechRecipes(event) // registerHandGliderRecipes(event) // registerHotOrNotRecipes(event) // registerMegaCellsRecipes(event) @@ -142,15 +134,24 @@ ServerEvents.recipes(event => { }) /** - * Событие регистрации рудных жил GTM. + * Событие регистрации лут-тейблов. + * Срабатывает до инициализации рецептов, но после датапаков и тегов. + */ +LootJS.modifiers((event) => { + registerGregTechLoots(event) +}) + + +/** + * Событие регистрации рудных жил GregTech. */ GTCEuServerEvents.oreVeins(event => { - registerGTMOreVeins(event) + registerGregTechOreVeins(event) }) /** - * Событие регистрации жидкостных жил GTM. + * Событие регистрации жидкостных жил GregTech. */ GTCEuServerEvents.fluidVeins(event => { - registerGTMFluidVeins(event) + registerGregTechFluidVeins(event) }) \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index 3f5c0d428..290c51819 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -43,11 +43,20 @@ const registerTFCMetals = (event) => { event.metal('gtceu:nickel', 1453, 0.00625, '#forge:ingots/nickel', '#forge:double_ingots/nickel', '#forge:plates/nickel', 1, 'tfc:nickel') event.metal('gtceu:brass', 930, 0.00857, '#forge:ingots/brass', '#forge:double_ingots/brass', '#forge:plates/brass', 2, 'tfc:brass') - event.metal('gtceu:redstone', 460, 0.01729, null, null, null, 1, 'tfg:redstone') + event.metal('gtceu:redstone', 460, 0.01729, null, null, '#forge:plates/redstone', 1, 'tfg:redstone') 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') } +/** + * event.itemHeat( + ingredient: Ingredient, + heatCapacity: number, + forgingTemperature: @Nullable number, + weldingTemperature: @Nullable number, + name?: string + ) + */ const registerTFCHeats = (event) => { function makeItemHeatByTagPrefix(tagPrefix, material, tfcProperty, heatCapacity) { diff --git a/kubejs/server_scripts/treetap/data.js b/kubejs/server_scripts/treetap/data.js index ccaafbb3f..ce68b2d0c 100644 --- a/kubejs/server_scripts/treetap/data.js +++ b/kubejs/server_scripts/treetap/data.js @@ -4,15 +4,6 @@ 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/water_flasks/data.js b/kubejs/server_scripts/water_flasks/data.js index ae8860cb9..0168ed24f 100644 --- a/kubejs/server_scripts/water_flasks/data.js +++ b/kubejs/server_scripts/water_flasks/data.js @@ -4,15 +4,6 @@ const registerTFCDataForWaterFlasks = (event) => { registerWaterFlasksHeats(event) } -/** - * event.itemHeat( - ingredient: Ingredient, - heatCapacity: number, - forgingTemperature: @Nullable number, - weldingTemperature: @Nullable number, - name?: string - ) - */ const registerWaterFlasksHeats = (event) => { event.itemHeat('waterflasks:unfinished_iron_flask', 0.2345, null, null) event.itemHeat('waterflasks:broken_iron_flask', 0.2345, null, null) From aceed17a77a3023e2bcca0a26d42ffc9c3b5a756 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 14:01:04 +0700 Subject: [PATCH 127/266] refactor tfc + firmalife tags --- CHANGELOG.md | 6 + kubejs/assets/emi/index/stacks/items.json | 7 +- .../assets/emi/recipe/filters/categories.json | 52 +- kubejs/jsconfig.json | 16 + kubejs/server_scripts/ae2/tags.js | 2 + kubejs/server_scripts/chisel_and_bits/tags.js | 4 +- kubejs/server_scripts/firmalife/tags.js | 47 +- kubejs/server_scripts/gregtech/recipes.js | 696 +++++++++++++++++- kubejs/server_scripts/main_server_script.js | 15 +- kubejs/server_scripts/tfc/recipes.js | 56 ++ kubejs/server_scripts/tfc/tags.js | 24 +- kubejs/startup_scripts/firmalife/constants.js | 14 +- 12 files changed, 850 insertions(+), 89 deletions(-) create mode 100644 kubejs/jsconfig.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e198c085..6f30426e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,12 @@ - Unlocked steel steam machines (again, yes). - Added translation for ru_ru inside TFG-Core. - Fixed alternator multiblock (now works fine). +- Return raw ore blocks from GregTech. +- True way to remove TFC ores from EMI. +- True way to remove Firmelife ores from EMI. +- True way to hide AE2 facades. +- True way to hide chisel and bits bits, yes. +- Fix double removing honey liquid from EMI. - ... ### Updated mods - ?? diff --git a/kubejs/assets/emi/index/stacks/items.json b/kubejs/assets/emi/index/stacks/items.json index c9288b43b..d6b8b397a 100644 --- a/kubejs/assets/emi/index/stacks/items.json +++ b/kubejs/assets/emi/index/stacks/items.json @@ -1,8 +1,3 @@ { - "filters": [ - "/tfc:ore/[^*]+/[^*]+/", - "/firmalife:ore/[^*]+/[^*]+/", - "ae2:facade", - "chiselandbits:block_bit" - ] + "filters": [] } \ No newline at end of file diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 2aa0f16a3..9e54ab81b 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -1,55 +1,5 @@ { "filters": [ - { - "category": "minecraft:campfire_cooking" - }, - { - "category": "minecraft:brewing" - }, - { - "category": "minecraft:stonecutting" - }, - { - "category": "emi:anvil_repairing" - }, - { - "category": "emi:world_interaction" - }, - { - "category": "gtceu:primitive_blast_furnace" - }, - { - "category": "create:mystery_conversion" - }, - { - "category": "jumbofurnace:jumbo_furnace_upgrade" - }, - { - "category": "jumbofurnace:jumbo_smelting" - }, - { - "category": "emi:composting" - }, - { - "category": "emi:fuel" - }, - { - "id": "/emi:/crafting/repairing/[^*]+/" - }, - { - "id": "/emi:/grindstone/repairing/minecraft/[^*]+/" - }, - { - "id": "/emi:/crafting/shulker_box_dying/minecraft/[^*]+/" - }, - { - "id": "/create:create.toolbox.color.block.create.[^*]+/" - }, - { - "id": "/sophisticatedbackpacks:single_color_[^*]+/" - }, - { - "id": "sophisticatedbackpacks:multiple_colors" - } + ] } \ No newline at end of file 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/ae2/tags.js b/kubejs/server_scripts/ae2/tags.js index 719cf7567..842adba74 100644 --- a/kubejs/server_scripts/ae2/tags.js +++ b/kubejs/server_scripts/ae2/tags.js @@ -2,6 +2,8 @@ const registerAE2ItemTags = (event) => { + event.add('c:hidden_from_recipe_viewers', "ae2:facade") + global.AE2_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) diff --git a/kubejs/server_scripts/chisel_and_bits/tags.js b/kubejs/server_scripts/chisel_and_bits/tags.js index 648608b25..86552e617 100644 --- a/kubejs/server_scripts/chisel_and_bits/tags.js +++ b/kubejs/server_scripts/chisel_and_bits/tags.js @@ -3,13 +3,13 @@ const registerChiselAndBitsItemTags = (event) => { if (Platform.isLoaded('chiselsandbits')) { + event.add('c:hidden_from_recipe_viewers', "chiselandbits:block_bit") + global.CHISEL_AND_BITS_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) }) } - - } const registerChiselAndBitsBlockTags = (event) => { diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index c2098d5fc..c12c73a0a 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -2,49 +2,66 @@ const registerFirmaLifeItemTags = (event) => { - // Удаление тегов у отключенных предметов + //#region Удаление тегов и скрытие руд + const ALL_FIRMALIFE_ORES = Ingredient.of(/firmalife:ore\/[^*]+\/[^*]+/).itemIds + + ALL_FIRMALIFE_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) + }) + //#endregion + + //#region Удаление тегов и скрытие предметов global.FIRMALIFE_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) }) + //#endregion - // Просто предметы для скрытия + //#region Скрытие предметов global.FIRMALIFE_HIDED_ITEMS.forEach(item => { event.add('c:hidden_from_recipe_viewers', item) }) - - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + //#endregion } const registerFirmaLifeBlockTags = (event) => { - // Удаление тегов у отключенных предметов + //#region Удаление тегов и скрытие руд + const ALL_FIRMALIFE_ORES = Ingredient.of(/firmalife:ore\/[^*]+\/[^*]+/).itemIds + + ALL_FIRMALIFE_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) + }) + //#endregion + + //#region Удаление тегов и скрытие предметов global.FIRMALIFE_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) }) - - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + //#endregion // Для того, чтобы стенками greenhouse могли быть фреймы грега (для передачи воды) - event.add('tfc:always_valid_greenhouse_wall', '#forge:frames') + event.add('firmalife:always_valid_greenhouse_wall', '#forge:frames') } const registerFirmaLifeFluidTags = (event) => { - // Добавляем тег для скрытия в EMI + //#region Скрытие магического хрома event.add('c:hidden_from_recipe_viewers', 'firmalife:metal/chromium') + //#endregion } const registerFirmaLifePlacedFeatures = (event) => { + + //#region Удаление из генерации жил const ALL_DISABLED_FIRMALIFE_VEINS = [ 'firmalife:vein/normal_chromite', 'firmalife:vein/deep_chromite' ] - // Удаление - ALL_DISABLED_FIRMALIFE_VEINS.forEach(vein => { - event.remove('tfc:in_biome/veins', vein) - }) + ALL_DISABLED_FIRMALIFE_VEINS.forEach(vein => event.remove('tfc:in_biome/veins', vein)) + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 92d0ce63b..d72c084fd 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1,6 +1,10 @@ // priority: 0 const registerGregTechRecipes = (event) => { + +} + +const registerGregTechRecipes1 = (event) => { //#region Выход: Удобрение // В обычном миксере @@ -1517,4 +1521,694 @@ const registerGregTechRecipes = (event) => { // * Отключение генерации рецептов: 2 стержня + молот = длинный стержень (верстак). // * */ // @Redirect(method = "processLongStick", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 3), remap = false) -// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer provider, String regName, ItemStack result, Object[] recipe) {} \ No newline at end of file +// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer provider, String regName, ItemStack result, Object[] recipe) {} + +//public static void init(Consumer provider) { + // registerTFCRockDecompositionRecipes(provider); + // registerExtruderMoldRecipes(provider); + // registerCastingMoldRecipes(provider); + // registerExtruderMoldCopyingRecipes(provider); + // registerCastingMoldCopyingRecipes(provider); + // registerProcessingToolHeadsRecipes(provider); + // registerTagPrefixHandlerRecipes(provider); + // } + + // private static void registerTFCRockDecompositionRecipes(Consumer provider) { + // // Gabbro + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("gabbro_dust_separation")) + // .EUt(VA[MV]).duration(480) + // .inputItems(dust, Gabbro) + // .chancedOutput(dustTiny, Titanium, 6700, 700) + // .chancedOutput(dustTiny, Iron, 3700, 700) + // .chancedOutput(dustTiny, MetalMixture, 1700, 700) + // .save(provider); + // + // // Shale + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("shale_dust_separation")) + // .EUt(VA[MV]).duration(480) + // .inputItems(dust, Shale) + // .chancedOutput(dustTiny, Sodium, 7500, 500) + // .chancedOutput(dustTiny, MetalMixture, 1500, 500) + // .outputFluids(Oxygen.getFluid(16)) + // .save(provider); + // + // // Claystone + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("claystone_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Claystone) + // .chancedOutput(dustTiny, Aluminium, 6700, 700) + // .chancedOutput(dustTiny, Silicon, 6700, 700) + // .chancedOutput(dustTiny, Hematite, 6700, 700) + // .outputFluids(Oxygen.getFluid(5)) + // .save(provider); + // + // // Limestone + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("limestone_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Limestone) + // .chancedOutput(dustTiny, Calcium, 8700, 700) + // .chancedOutput(dustTiny, MetalMixture, 1700, 700) + // .outputFluids(Oxygen.getFluid(36)) + // .save(provider); + // + // // Conglomerate + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("conglomerate_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Conglomerate) + // .chancedOutput(dustTiny, Hematite, 6700, 700) + // .chancedOutput(dustTiny, Silicon, 4700, 700) + // .chancedOutput(dustTiny, TricalciumPhosphate, 3700, 700) + // .outputFluids(Oxygen.getFluid(5)) + // .save(provider); + // + // // Dolomite + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("dolomite_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Dolomite) + // .chancedOutput(dustTiny, Magnesium, 6700, 700) + // .chancedOutput(dustTiny, Calcium, 5700, 700) + // .chancedOutput(dustTiny, MetalMixture, 3700, 700) + // .outputFluids(Oxygen.getFluid(16)) + // .save(provider); + // + // // Chert + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("chert_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Chert) + // .chancedOutput(dustTiny, Silicon, 6700, 700) + // .chancedOutput(dustTiny, MetalMixture, 5700, 700) + // .outputFluids(Oxygen.getFluid(24)) + // .save(provider); + // + // // Chalk + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("chalk_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Chalk) + // .chancedOutput(dustTiny, Calcium, 6700, 700) + // .chancedOutput(dustTiny, Carbon, 3700, 700) + // .chancedOutput(dustTiny, MetalMixture, 1700, 700) + // .outputFluids(Oxygen.getFluid(12)) + // .save(provider); + // + // // Rhyolite + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("rhyolite_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Rhyolite) + // .chancedOutput(dustTiny, SiliconDioxide, 8700, 700) + // .chancedOutput(dustTiny, MetalMixture, 800, 700) + // .save(provider); + // + // // Dacite + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("dacite_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Dacite) + // .chancedOutput(dustTiny, Sodium, 6700, 700) + // .chancedOutput(dustTiny, Calcium, 5700, 700) + // .chancedOutput(dustTiny, SiliconDioxide, 4700, 700) + // .chancedOutput(dustTiny, Aluminium, 3700, 700) + // .chancedOutput(dustTiny, MetalMixture, 150, 700) + // .outputFluids(Oxygen.getFluid(12)) + // .save(provider); + // + // // Slate + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("slate_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Slate) + // .chancedOutput(dustTiny, MetalMixture, 780, 480) + // .outputFluids(Oxygen.getFluid(6)) + // .save(provider); + // + // // Phyllite + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("phyllite_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Phyllite) + // .chancedOutput(dustTiny, Quartzite, 5700, 700) + // .chancedOutput(dustTiny, CalciumChloride, 1700, 700) + // .outputFluids(Oxygen.getFluid(2)) + // .save(provider); + // + // // Schist + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("schist_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Schist) + // .chancedOutput(dustTiny, Mica, 6700, 700) + // .chancedOutput(dustTiny, Talc, 5700, 700) + // .chancedOutput(dustTiny, Graphite, 4700, 700) + // .chancedOutput(dustTiny, MetalMixture, 780, 700) + // .outputFluids(Oxygen.getFluid(12)) + // .save(provider); + // + // // Gneiss + // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("gneiss_dust_separation")) + // .duration(480).EUt(VA[MV]) + // .inputItems(dust, Gneiss) + // .chancedOutput(dustTiny, Quartzite, 6700, 700) + // .chancedOutput(dustTiny, Biotite, 3700, 700) + // .outputFluids(Oxygen.getFluid(2)) + // .save(provider); + // } + + // private static void registerExtruderMoldRecipes(Consumer provider) { + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_mining_hammer_head"), + // SHAPE_EXTRUDER_MINING_HAMMER_HEAD.asStack(), + // "Sfh", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_sword_head"), + // SHAPE_EXTRUDER_SWORD_HEAD.asStack(), + // "Shf", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_pickaxe_head"), + // SHAPE_EXTRUDER_PICKAXE_HEAD.asStack(), + // "S ", "hf ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_axe_head"), + // SHAPE_EXTRUDER_AXE_HEAD.asStack(), + // "S ", " fh", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_hoe_head"), + // SHAPE_EXTRUDER_HOE_HEAD.asStack(), + // "S ", " hf", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_scythe_head"), + // SHAPE_EXTRUDER_SCYTHE_HEAD.asStack(), + // "S ", " ", "fh ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_file_head"), + // SHAPE_EXTRUDER_FILE_HEAD.asStack(), + // "S ", " ", "hf ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_hammer_head"), + // SHAPE_EXTRUDER_HAMMER_HEAD.asStack(), + // "Sf ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_saw_head"), + // SHAPE_EXTRUDER_SAW_HEAD.asStack(), + // "Sh ", " f ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_knife_head"), + // SHAPE_EXTRUDER_KNIFE_HEAD.asStack(), + // "S f", " ", " h", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_butchery_head_head"), + // SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD.asStack(), + // "S h", " ", " f", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_shovel_head"), + // SHAPE_EXTRUDER_SHOVEL_HEAD.asStack(), + // "S ", "f ", "h ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_spade_head"), + // SHAPE_EXTRUDER_SPADE_HEAD.asStack(), + // "S ", "f ", " h", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_propick_head"), + // SHAPE_EXTRUDER_PROPICK_HEAD.asStack(), + // "Sxf", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_javelin_head"), + // SHAPE_EXTRUDER_JAVELIN_HEAD.asStack(), + // "S x", "f ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_chisel_head"), + // SHAPE_EXTRUDER_CHISEL_HEAD.asStack(), + // "S ", "xf ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_mace_head"), + // SHAPE_EXTRUDER_MACE_HEAD.asStack(), + // "S ", " xf", " ", 'S', SHAPE_EMPTY.asStack()); + // } + + // private static void registerCastingMoldRecipes(Consumer provider) { + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_unfinished_lamp"), + // SHAPE_MOLD_UNFINISHED_LAMP.asStack(), + // "Sh ", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_trapdoor"), + // SHAPE_MOLD_TRAPDOOR.asStack(), + // "S h", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_chain"), + // SHAPE_MOLD_CHAIN.asStack(), + // "S ", "h ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_bell"), + // SHAPE_MOLD_BELL.asStack(), + // "S ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); + // } + + // private static void registerExtruderMoldCopyingRecipes(Consumer provider) { + // for (var shapeMold : TFGItems.SHAPE_EXTRUDERS) { + // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get())) + // .duration(120).EUt(22) + // .notConsumable(shapeMold) + // .inputItems(SHAPE_EMPTY) + // .outputItems(shapeMold) + // .save(provider); + // } + // } + + // private static void registerCastingMoldCopyingRecipes(Consumer provider) { + // for (var shapeMold : TFGItems.SHAPE_MOLDS) { + // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get() + "_casting_mold")) + // .duration(120).EUt(22) + // .notConsumable(shapeMold) + // .inputItems(SHAPE_EMPTY) + // .outputItems(shapeMold) + // .save(provider); + // } + // } + + // private static void registerProcessingToolHeadsRecipes(Consumer consumer) { + // for (var material : GTCEuAPI.materialManager.getRegisteredMaterials()) { + // if (material.hasProperty(PropertyKey.TOOL)) { + // + // int counter = 0; + // + // processToolHead(toolHeadAxe, material, SHAPE_EXTRUDER_AXE_HEAD, counter++, consumer); + // processToolHead(toolHeadHoe, material, SHAPE_EXTRUDER_HOE_HEAD, counter++, consumer); + // processToolHead(toolHeadShovel, material, SHAPE_EXTRUDER_SHOVEL_HEAD, counter++, consumer); + // processToolHead(toolHeadKnife, material, SHAPE_EXTRUDER_KNIFE_HEAD, counter++, consumer); + // processToolHead(toolHeadMiningHammer, material, SHAPE_EXTRUDER_MINING_HAMMER_HEAD, counter++, consumer); + // processToolHead(toolHeadSword, material, SHAPE_EXTRUDER_SWORD_HEAD, counter++, consumer); + // processToolHead(toolHeadPickaxe, material, SHAPE_EXTRUDER_PICKAXE_HEAD, counter++, consumer); + // processToolHead(toolHeadScythe, material, SHAPE_EXTRUDER_SCYTHE_HEAD, counter++, consumer); + // processToolHead(toolHeadFile, material, SHAPE_EXTRUDER_FILE_HEAD, counter++, consumer); + // processToolHead(toolHeadHammer, material, SHAPE_EXTRUDER_HAMMER_HEAD, counter++, consumer); + // processToolHead(toolHeadSaw, material, SHAPE_EXTRUDER_SAW_HEAD, counter++, consumer); + // processToolHead(toolHeadButcheryKnife, material, SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD, counter++, consumer); + // processToolHead(toolHeadSpade, material, SHAPE_EXTRUDER_SPADE_HEAD, counter++, consumer); + // processToolHead(toolHeadPropick, material, SHAPE_EXTRUDER_PROPICK_HEAD, counter++, consumer); + // processToolHead(toolHeadJavelin, material, SHAPE_EXTRUDER_JAVELIN_HEAD, counter++, consumer); + // processToolHead(toolHeadChisel, material, SHAPE_EXTRUDER_CHISEL_HEAD, counter++, consumer); + // processToolHead(toolHeadMace, material, SHAPE_EXTRUDER_MACE_HEAD, counter, consumer); + // } + // } + // } + + // private static void registerTagPrefixHandlerRecipes(Consumer provider) { + // ingotDouble.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::processDoubleIngot); + // plate.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::processPlate); + // + // anvil.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessAnvil); + // lamp.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessLamp); + // lampUnfinished.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessUnfinishedLamp); + // trapdoor.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessTrapdoor); + // chain.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessChain); + // bell.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessBell); + // } + + // private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var ingotStack = ChemicalHelper.get(ingot, material); + // var doubleIngotStack = ChemicalHelper.get(prefix, material); + // + // BENDER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_double_ingot")) + // .EUt(VA[ULV]).duration((int) material.getMass()) + // .inputItems(ingotStack.copyWithCount(2)) + // .circuitMeta(6) + // .outputItems(doubleIngotStack) + // .save(provider); + // + // EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) + // .EUt(VA[ULV]).duration((int) material.getMass()) + // .inputItems(doubleIngotStack) + // .outputFluids(material.getFluid(288)) + // .save(provider); + // + // MACERATOR_RECIPES.recipeBuilder(TFGCore.id("macerate_" + material.getName() + "_double_ingot")) + // .EUt(VA[ULV]).duration((int) material.getMass()) + // .inputItems(doubleIngotStack) + // .outputItems(dust, material, 2) + // .save(provider); + // } + + // private static void processPlate(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var plateStack = ChemicalHelper.get(prefix, material); + // var doubleIngotStack = ChemicalHelper.get(ingotDouble, material); + // + // if (material.hasFlag(TFGMaterialFlags.GENERATE_DOUBLE_INGOTS)) { + // FORGE_HAMMER_RECIPES.recipeBuilder(TFGCore.id("hammer_" + material.getName() + "_plate")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 4) + // .inputItems(doubleIngotStack) + // .outputItems(plateStack) + // .save(provider); + // } + // } + + // private static void proccessAnvil(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var anvil = ChemicalHelper.get(prefix, material); + // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); + // + // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_anvil_from_ingots")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 6) + // .inputItems(ingot, outputMaterial, 14) + // .notConsumable(GTItems.SHAPE_MOLD_ANVIL) + // .outputItems(anvil) + // .save(provider); + // + // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_anvil_from_fluid")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 6) + // .inputFluids(outputMaterial.getFluid(2016)) + // .notConsumable(GTItems.SHAPE_MOLD_ANVIL) + // .outputItems(anvil) + // .save(provider); + // } + + // private static void proccessLamp(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var finishedLamp = ChemicalHelper.get(prefix, material); + // var unfinishedLamp = ChemicalHelper.get(lampUnfinished, material); + // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); + // + // ASSEMBLER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_lamp")) + // .EUt(VA[ULV]).duration((int) outputMaterial.getMass() * 7) + // .inputItems(new ItemStack(TFCItems.LAMP_GLASS.get()), unfinishedLamp) + // .circuitMeta(12) + // .outputItems(finishedLamp) + // .save(provider); + // + // ASSEMBLER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_lamp_from_liquid")) + // .EUt(VA[ULV]).duration((int) outputMaterial.getMass() * 7) + // .inputItems(unfinishedLamp) + // .inputFluids(Glass.getFluid(576)) + // .circuitMeta(13) + // .outputItems(finishedLamp) + // .save(provider); + // } + + // private static void proccessUnfinishedLamp(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var unfinishedLamp = ChemicalHelper.get(prefix, material); + // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); + // + // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_unfinished_lamp_from_ingots")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 7) + // .inputItems(ingot, outputMaterial) + // .notConsumable(SHAPE_MOLD_UNFINISHED_LAMP) + // .outputItems(unfinishedLamp) + // .save(provider); + // + // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_unfinished_lamp_from_fluid")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 7) + // .inputFluids(outputMaterial.getFluid(144)) + // .notConsumable(SHAPE_MOLD_UNFINISHED_LAMP) + // .outputItems(unfinishedLamp) + // .save(provider); + // } + + // private static void proccessTrapdoor(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var trapdoor = ChemicalHelper.get(prefix, material); + // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); + // + // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_trapdoor_from_ingots")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 6) + // .inputItems(ingot, outputMaterial) + // .notConsumable(SHAPE_MOLD_TRAPDOOR) + // .outputItems(trapdoor) + // .save(provider); + // + // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_trapdoor_from_fluid")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 6) + // .inputFluids(outputMaterial.getFluid(144)) + // .notConsumable(SHAPE_MOLD_TRAPDOOR) + // .outputItems(trapdoor) + // .save(provider); + // } + + // private static void proccessChain(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var chain = ChemicalHelper.get(prefix, material); + // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); + // + // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_chain_from_ingots")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 2) + // .inputItems(ingot, outputMaterial) + // .notConsumable(SHAPE_MOLD_CHAIN) + // .outputItems(chain.copyWithCount(9)) + // .save(provider); + // + // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_chain_from_fluid")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 2) + // .inputFluids(outputMaterial.getFluid(144)) + // .notConsumable(SHAPE_MOLD_CHAIN) + // .outputItems(chain.copyWithCount(9)) + // .save(provider); + // } + + // private static void proccessBell(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var bell = ChemicalHelper.get(prefix, material); + // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); + // + // + // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_bell_from_ingots")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 4) + // .inputItems(ingot, outputMaterial) + // .notConsumable(SHAPE_MOLD_BELL) + // .outputItems(bell) + // .save(provider); + // + // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_bell_from_fluid")) + // .EUt(VA[ULV]).duration((int) material.getMass() * 4) + // .inputFluids(outputMaterial.getFluid(144)) + // .notConsumable(SHAPE_MOLD_BELL) + // .outputItems(bell) + // .save(provider); + // } + + // private static void processToolHead(TagPrefix prefix, Material material, ItemEntry extruderShape, int circuitValue, Consumer consumer) { + // var output = ChemicalHelper.get(prefix, material); + // if (output.isEmpty()) return; + // + // if (material.hasProperty(PropertyKey.INGOT)) { + // EXTRUDER_RECIPES.recipeBuilder(TFGCore.id("extrude_" + material.getName() + "_ingot_to_" + prefix.name().toLowerCase() + "_head")) + // .duration(12).EUt(32) + // .notConsumable(extruderShape) + // .inputItems(ingot, material, (int) (prefix.materialAmount() / GTValues.M)) + // .outputItems(output) + // .save(consumer); + // } else if (material.hasProperty(PropertyKey.GEM)) { + // LASER_ENGRAVER_RECIPES.recipeBuilder(TFGCore.id("engrave_" + material.getName() + "_gem_to_" + prefix.name().toLowerCase() + "_head")) + // .duration(12).EUt(32) + // .circuitMeta(circuitValue) + // .notConsumable(ChemicalHelper.get(TagPrefix.lens, Glass)) + // .inputItems(gem, material, (int) (prefix.materialAmount() / GTValues.M)) + // .outputItems(output) + // .save(consumer); + // } + // } + + + /** + * Замена ванильного камня в рецепте ступки на тфк камень. + */ +// @Redirect(method = "registerMortarRecipes", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V"), remap = false) +// private static void tfg$registerMortarRecipes$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// addToolRecipe(provider, material, GTToolType.MORTAR, false, +// " I ", "SIS", "SSS", +// 'I', new UnificationEntry(material.hasProperty(PropertyKey.GEM) ? TagPrefix.gem : TagPrefix.ingot, material), +// 'S', TFGTags.Items.RawRockBlocks); +// } + + /** + * Отключение рецептов MiningHammer, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 0), remap = false) +// private static void tfg$processMiningHammer$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer); +// else +// new TFGAdvancedShapedToolRecipeBuilder("mining_hammer_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadMiningHammer, material)) +// .output(ToolHelper.get(GTToolType.MINING_HAMMER, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Spade, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 1), remap = false) +// private static void processSpade$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.SPADE, TFGTagPrefix.toolHeadSpade); +// else +// new TFGAdvancedShapedToolRecipeBuilder("spade_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material)) +// .output(ToolHelper.get(GTToolType.SPADE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Saw, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 2), remap = false) +// private static void tfg$processSaw$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.SAW, TFGTagPrefix.toolHeadSaw); +// else +// new TFGAdvancedShapedToolRecipeBuilder("saw_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSaw, material)) +// .output(ToolHelper.get(GTToolType.SAW, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Axe, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 3), remap = false) +// private static void tfg$processAxe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.AXE, TFGTagPrefix.toolHeadAxe); +// else +// new TFGAdvancedShapedToolRecipeBuilder("axe_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadAxe, material)) +// .output(ToolHelper.get(GTToolType.AXE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Hoe, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 4), remap = false) +// private static void tfg$processHoe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.HOE, TFGTagPrefix.toolHeadHoe); +// else +// new TFGAdvancedShapedToolRecipeBuilder("hoe_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadHoe, material)) +// .output(ToolHelper.get(GTToolType.HOE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Pickaxe, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 5), remap = false) +// private static void tfg$processPickaxe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe); +// else +// new TFGAdvancedShapedToolRecipeBuilder("pickaxe_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadPickaxe, material)) +// .output(ToolHelper.get(GTToolType.PICKAXE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Scythe, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 6), remap = false) +// private static void tfg$processScythe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe); +// else +// new TFGAdvancedShapedToolRecipeBuilder("scythe_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadScythe, material)) +// .output(ToolHelper.get(GTToolType.SCYTHE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Shovel, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 7), remap = false) +// private static void tfg$processShovel$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel); +// else +// new TFGAdvancedShapedToolRecipeBuilder("shovel_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadShovel, material)) +// .output(ToolHelper.get(GTToolType.SHOVEL, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Sword, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 8), remap = false) +// private static void tfg$processSword$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.SWORD, TFGTagPrefix.toolHeadSword); +// else +// new TFGAdvancedShapedToolRecipeBuilder("sword_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material)) +// .output(ToolHelper.get(GTToolType.SWORD, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Hammer, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 9), remap = false) +// private static void tfg$processHardHammer$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer); +// else +// new TFGAdvancedShapedToolRecipeBuilder("hammer_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadHammer, material)) +// .output(ToolHelper.get(GTToolType.HARD_HAMMER, material)) +// .save(provider); +// } + + /** + * Отключение рецептов File, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 10), remap = false) +// private static void tfg$processFile$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.FILE, TFGTagPrefix.toolHeadFile); +// else +// new TFGAdvancedShapedToolRecipeBuilder("file_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadFile, material)) +// .output(ToolHelper.get(GTToolType.FILE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов Knife, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 11), remap = false) +// private static void tfg$processKnife$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife); +// else +// new TFGAdvancedShapedToolRecipeBuilder("knife_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material)) +// .output(ToolHelper.get(GTToolType.KNIFE, material)) +// .save(provider); +// } + + /** + * Отключение рецептов ButcheryKnife, только для металлов, которые дублирует TFC. + */ +// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 13), remap = false) +// private static void tfg$processButcheryKnife$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { +// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) +// tfg$addToolRecipe(provider, material, GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife); +// else +// new TFGAdvancedShapedToolRecipeBuilder("butchery_knife_" + material.getName()) +// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadButcheryKnife, material)) +// .output(ToolHelper.get(GTToolType.BUTCHERY_KNIFE, material)) +// .save(provider); +// } + +// @Unique +// private static void tfg$addToolRecipe(Consumer provider, Material material, GTToolType toolType, TagPrefix tagPrefix) { +// addToolRecipe(provider, material, toolType, false, "H", "S", 'H', new UnificationEntry(tagPrefix, material), 'S', TFGTags.Items.WoodenSticks); +// } \ 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 200c45092..f976ab4d1 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -12,7 +12,7 @@ ServerEvents.tags('item', event => { // registerCreateAdditionsItemTags(event) // registerExtendedAE2ItemTags(event) // registerFirmaCivItemTags(event) - // registerFirmaLifeItemTags(event) + registerFirmaLifeItemTags(event) // registerFramedBlocksItemTags(event) // registerFTBQuestsItemTags(event) // registerGregTechItemTags(event) @@ -22,7 +22,7 @@ ServerEvents.tags('item', event => { // registerHotOrNotItemTags(event) // registerRailWaysItemTags(event) // registerSophisticatedBackpacksItemTags(event) - // registerTFCItemTags(event) + registerTFCItemTags(event) }) /** @@ -37,7 +37,7 @@ ServerEvents.tags('block', event => { // registerCreateAdditionsBlockTags(event) // registerExtendedAE2BlockTags(event) // registerFirmaCivBlockTags(event) - // registerFirmaLifeBlockTags(event) + registerFirmaLifeBlockTags(event) // registerFramedBlocksBlockTags(event) // registerFTBQuestsBlockTags(event) // registerGregTechBlockTags(event) @@ -47,7 +47,7 @@ ServerEvents.tags('block', event => { // registerHotOrNotBlockTags(event) // registerRailWaysBlockTags(event) // registerSophisticatedBackpacksBlockTags(event) - // registerTFCBlockTags(event) + registerTFCBlockTags(event) }) /** @@ -56,7 +56,7 @@ ServerEvents.tags('block', event => { ServerEvents.tags('fluid', event => { // registerCreateFluidTags(event) // registerCreateAdditionsFluidTags(event) - // registerFirmaLifeBlockTags(event) + registerFirmaLifeBlockTags(event) // registerTFCFluidTags(event) }) @@ -116,7 +116,7 @@ ServerEvents.recipes(event => { // registerFirmaLifeRecipes(event) // registerFramedBlocksRecipes(event) // registerFTBQuestsRecipes(event) - // registerGregTechRecipes(event) + registerGregTechRecipes(event) // registerHandGliderRecipes(event) // registerHotOrNotRecipes(event) // registerMegaCellsRecipes(event) @@ -126,7 +126,7 @@ ServerEvents.recipes(event => { // registerRailWaysRecipes(event) // registerSophisticatedBackpacksRecipes(event) // registerTfceaRecipes(event) - // registerTFCRecipes(event) + registerTFCRecipes(event) // registerTFCGroomingStationRecipes(event) // registerToolBeltRecipes(event) // registerTreeTapRecipes(event) @@ -141,7 +141,6 @@ LootJS.modifiers((event) => { registerGregTechLoots(event) }) - /** * Событие регистрации рудных жил GregTech. */ diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index af4127197..c3bb07967 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -1,6 +1,10 @@ // priority: 0 const registerTFCRecipes = (event) => { + +} + +const registerTFCRecipes1 = (event) => { //return; TODO тут баг //#region Металлы @@ -3310,3 +3314,55 @@ const registerTFCRecipes = (event) => { //#endregion } + +// { +// "category": "minecraft:campfire_cooking" +// }, +// { +// "category": "minecraft:brewing" +// }, +// { +// "category": "minecraft:stonecutting" +// }, +// { +// "category": "emi:anvil_repairing" +// }, +// { +// "category": "emi:world_interaction" +// }, +// { +// "category": "gtceu:primitive_blast_furnace" +// }, +// { +// "category": "create:mystery_conversion" +// }, +// { +// "category": "jumbofurnace:jumbo_furnace_upgrade" +// }, +// { +// "category": "jumbofurnace:jumbo_smelting" +// }, +// { +// "category": "emi:composting" +// }, +// { +// "category": "emi:fuel" +// }, +// { +// "id": "/emi:/crafting/repairing/[^*]+/" +// }, +// { +// "id": "/emi:/grindstone/repairing/minecraft/[^*]+/" +// }, +// { +// "id": "/emi:/crafting/shulker_box_dying/minecraft/[^*]+/" +// }, +// { +// "id": "/create:create.toolbox.color.block.create.[^*]+/" +// }, +// { +// "id": "/sophisticatedbackpacks:single_color_[^*]+/" +// }, +// { +// "id": "sophisticatedbackpacks:multiple_colors" +// } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index bec616794..3fbba9a36 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,6 +1,28 @@ // priority: 0 const registerTFCItemTags = (event) => { + //#region Удаление тегов и скрытие руд TFC + const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds + + ALL_TFC_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) + }) + //#endregion +} + +const registerTFCBlockTags = (event) => { + //#region Удаление тегов и скрытие руд TFC + const allTFCOres = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds + + allTFCOres.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) + }) + //#endregion +} + +const registerTFCItemTags1 = (event) => { // Теги для соответствия инструментов TFC и GT GTMaterialRegistry.getRegisteredMaterials().forEach(material => { @@ -198,7 +220,7 @@ const registerTFCItemTags = (event) => { event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") } -const registerTFCBlockTags = (event) => { +const registerTFCBlockTags1 = (event) => { // Теги для каменных ступенек тфк global.TFC_STONE_TYPES.forEach(stoneTypeName => { global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach(slabType => { diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index 27b131cf2..b4e032881 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -2,7 +2,7 @@ /** * Список хранит предметы, - * у которых должны быть удалены тэги и они должны быть скрыты в REI. + * у которых должны быть удалены тэги и они должны быть скрыты в EMI. */ global.FIRMALIFE_DISABLED_ITEMS = [ @@ -37,6 +37,10 @@ global.FIRMALIFE_DISABLED_ITEMS = [ 'firmalife:pumping_station' ]; +/** + * Список хранит предметы, + * у которых должны быть скрыты в EMI. + */ global.FIRMALIFE_HIDED_ITEMS = [ 'firmalife:weathered_copper_greenhouse_wall', 'firmalife:weathered_copper_greenhouse_panel_wall', @@ -93,10 +97,10 @@ global.FIRMALIFE_HIDED_ITEMS = [ 'firmalife:weathered_treated_wood_greenhouse_port' ]; - -global.FIRMALIFE_ORE_MATERIALS = [ - 'chromite' -]; +//todo: to remove +// global.FIRMALIFE_ORE_MATERIALS = [ +// 'chromite' +// ]; global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ { input: 'firmalife:plant/cocoa_sapling', fluid_amount: 8000, output: '3x firmalife:food/cocoa_beans', name: 'cocoa_beans' }, From e8730f490d9d11d7f66a6dda9854e77f2607d5d0 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 31 Aug 2024 15:13:28 +0700 Subject: [PATCH 128/266] =?UTF-8?q?=D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=BE?= =?UTF-8?q?=D0=B9=20=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE=D1=80=D0=B8?= =?UTF-8?q?=D0=BD=D0=B3=20=D0=BF=D1=80=D0=BE=D0=B4=D0=BE=D0=BB=D0=B6=D0=B0?= =?UTF-8?q?=D0=B5=D1=82=D1=81=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kubejs/server_scripts/ae2/tags.js | 14 +- kubejs/server_scripts/gregtech/constants.js | 14 +- kubejs/server_scripts/gregtech/recipes.js | 4 +- kubejs/server_scripts/gregtech/tags.js | 107 +++++-- kubejs/server_scripts/main_server_script.js | 8 +- kubejs/server_scripts/tfc/tags.js | 330 ++++++++++++-------- 6 files changed, 305 insertions(+), 172 deletions(-) diff --git a/kubejs/server_scripts/ae2/tags.js b/kubejs/server_scripts/ae2/tags.js index 842adba74..41d9c7c0e 100644 --- a/kubejs/server_scripts/ae2/tags.js +++ b/kubejs/server_scripts/ae2/tags.js @@ -4,15 +4,15 @@ const registerAE2ItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', "ae2:facade") - global.AE2_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }) + // global.AE2_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // event.add('c:hidden_from_recipe_viewers', item) + // }) } const registerAE2BlockTags = (event) => { - global.AE2_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - }) + // global.AE2_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // }) } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/constants.js b/kubejs/server_scripts/gregtech/constants.js index 6c3465ca2..0038a033c 100644 --- a/kubejs/server_scripts/gregtech/constants.js +++ b/kubejs/server_scripts/gregtech/constants.js @@ -22,16 +22,4 @@ global.GTCEU_ANVIL_TOOL_TYPES = [ GTToolType.KNIFE, GTToolType.BUTCHERY_KNIFE, // GTToolType.PLUNGER -]; - -global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS = { - "tfc:swords" : GTToolType.SWORD, - "tfc:pickaxes" : GTToolType.PICKAXE, - "tfc:axes" : GTToolType.AXE, - "tfc:shovels" : GTToolType.SHOVEL, - "tfc:hoes" : GTToolType.HOE, - "tfc:hammers" : GTToolType.HARD_HAMMER, - "tfc:knives" : GTToolType.KNIFE, - "tfc:saws" : GTToolType.SAW, - "tfc:scythes" : GTToolType.SCYTHE -}; \ No newline at end of file +]; \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index d72c084fd..ce9d6962e 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -812,7 +812,7 @@ const registerGregTechRecipes1 = (event) => { B: 'gtceu:zpm_electric_piston', C: '#gtceu:circuits/zpm', D: 'gtceu:zpm_machine_hull', - E: '#tfc:red_or_blue_anvil', + E: '#tfg:tier_6_anvil', }).id('gtceu:shaped/zpm_forge_hammer') event.shaped('gtceu:uv_forge_hammer', [ @@ -824,7 +824,7 @@ const registerGregTechRecipes1 = (event) => { B: 'gtceu:uv_electric_piston', C: '#gtceu:circuits/uv', D: 'gtceu:uv_machine_hull', - E: '#tfc:red_or_blue_anvil', + E: '#tfg:tier_6_anvil', }).id('gtceu:shaped/uv_forge_hammer') //#endregion diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index a0773abd3..19d180766 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -2,20 +2,49 @@ const registerGregTechItemTags = (event) => { - // Удаление тегов у отключенных предметов - global.GTCEU_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) + //#region Базовые теги для инструментов GregTech + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + if (material.hasProperty(PropertyKey.TOOL)) { + + //#region Меч + const swordType = GTToolType.SWORD; + const swordTool = ToolHelper.get(swordType, material) + + if (!swordTool.isEmpty()) event.add('forge:tools/swords', swordTool.getItem().getId()) + //#endregion + + //#region Кирка + const pickaxeType = GTToolType.PICKAXE; + const pickaxeTool = ToolHelper.get(pickaxeType, material) + + if (!pickaxeTool.isEmpty()) event.add('forge:tools/pickaxes', pickaxeTool.getItem().getId()) + //#endregion + + //#region Топор + const axeType = GTToolType.AXE; + const axeTool = ToolHelper.get(axeType, material) + + if (!axeTool.isEmpty()) event.add('forge:tools/axes', axeTool.getItem().getId()) + //#endregion + + //#region Лопата + const shovelType = GTToolType.SHOVEL; + const shovelTool = ToolHelper.get(shovelType, material) + + if (!shovelTool.isEmpty()) event.add('forge:tools/shovels', shovelTool.getItem().getId()) + //#endregion + + //#region Мотыга + const hoeType = GTToolType.HOE; + const hoeTool = ToolHelper.get(hoeType, material) + + if (!hoeTool.isEmpty()) event.add('forge:tools/hoes', hoeTool.getItem().getId()) + //#endregion + } }) - - global.GTCEU_HIDED_ITEMS.forEach(item => { - event.add('c:hidden_from_recipe_viewers', item) - }) - - // Добавление тега EMI для скрытия всех руд - event.add('c:hidden_from_recipe_viewers', '#forge:ores') - - //#region Пыли стоунтайпов в один тэг + //#endregion + + //#region Пыли пород в один тэг event.add('tfg:stone_dusts', 'gtceu:gabbro_dust') event.add('tfg:stone_dusts', 'gtceu:shale_dust') event.add('tfg:stone_dusts', 'gtceu:claystone_dust') @@ -38,14 +67,54 @@ const registerGregTechItemTags = (event) => { event.add('tfg:stone_dusts', 'gtceu:granite_dust') event.add('tfg:stone_dusts', 'gtceu:stone_dust') - //#endregion + + //#region Скрываем все руды (не используем #forge:ores, потому что будет пересечение) + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/red_granite') //todo: может его удалить? + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/marble') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/netherrack') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/blackstone') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/gabbro') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/shale') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/claystone') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/limestone') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/conglomerate') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/dolomite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/chert') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/rhyolite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/dacite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/quartzite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/slate') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/phyllite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/schist') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/gneiss') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/basalt') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/diorite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/andesite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/granite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/chalk') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/moon') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/mars') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/venus') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/mercury') + //#endregion + + // Удаление тегов и скрытие предметов + // 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) + // }) } -const registerGTCEUBlockTags = (event) => { +const registerGregTechBlockTags = (event) => { - // Удаление тегов у отключенных предметов - global.GTCEU_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - }) + // Удаление тегов и скрытие предметов + // global.GTCEU_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // }) } diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index f976ab4d1..ce4d0dacf 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -4,7 +4,7 @@ * Событие регистрации предмет-тэгов. */ ServerEvents.tags('item', event => { - // registerAE2ItemTags(event) + registerAE2ItemTags(event) // registerAsticorCartsItemTags(event) // registerChiselAndBitsItemTags(event) // registerComputerCraftItemTags(event) @@ -15,7 +15,7 @@ ServerEvents.tags('item', event => { registerFirmaLifeItemTags(event) // registerFramedBlocksItemTags(event) // registerFTBQuestsItemTags(event) - // registerGregTechItemTags(event) + registerGregTechItemTags(event) // registerMegaCellsItemTags(event) // registerMinecraftItemTags(event) // registerMoreRedItemTags(event) @@ -40,7 +40,7 @@ ServerEvents.tags('block', event => { registerFirmaLifeBlockTags(event) // registerFramedBlocksBlockTags(event) // registerFTBQuestsBlockTags(event) - // registerGregTechBlockTags(event) + registerGregTechBlockTags(event) // registerMegaCellsBlockTags(event) // registerMinecraftBlockTags(event) // registerMoreRedBlockTags(event) @@ -57,7 +57,7 @@ ServerEvents.tags('fluid', event => { // registerCreateFluidTags(event) // registerCreateAdditionsFluidTags(event) registerFirmaLifeBlockTags(event) - // registerTFCFluidTags(event) + registerTFCFluidTags(event) }) /** diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 3fbba9a36..9d74ed011 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,40 +1,16 @@ // priority: 0 const registerTFCItemTags = (event) => { - //#region Удаление тегов и скрытие руд TFC - const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds - - ALL_TFC_ORES.forEach(element => { - event.removeAllTagsFrom(element) - event.add('c:hidden_from_recipe_viewers', element) - }) - //#endregion -} - -const registerTFCBlockTags = (event) => { - //#region Удаление тегов и скрытие руд TFC - const allTFCOres = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds - - allTFCOres.forEach(element => { - event.removeAllTagsFrom(element) - event.add('c:hidden_from_recipe_viewers', element) - }) - //#endregion -} - -const registerTFCItemTags1 = (event) => { - - // Теги для соответствия инструментов TFC и GT - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - if (material.hasProperty(PropertyKey.TOOL)) { - for (let [key, value] of Object.entries(global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS)) { - var tool = ToolHelper.get(value, material) - if (!tool.isEmpty()) event.add(key, tool.getId()) - - event.add('tfc:usable_on_tool_rack', `#${key}`) - } - } - }) + //#region Возможность вешать инструменты GregTech на ToolRack + event.add('tfc:usable_on_tool_rack', '#forge:tools/swords') + event.add('tfc:usable_on_tool_rack', '#forge:tools/pickaxes') + event.add('tfc:usable_on_tool_rack', '#forge:tools/axes') + event.add('tfc:usable_on_tool_rack', '#forge:tools/shovels') + event.add('tfc:usable_on_tool_rack', '#forge:tools/hoes') + event.add('tfc:usable_on_tool_rack', '#forge:tools/hammers') + event.add('tfc:usable_on_tool_rack', '#forge:tools/knives') + event.add('tfc:usable_on_tool_rack', '#forge:tools/saws') + event.add('tfc:usable_on_tool_rack', '#forge:tools/scythes') event.add('tfc:usable_on_tool_rack', '#forge:tools/mining_hammers') event.add('tfc:usable_on_tool_rack', '#forge:tools/spades') @@ -47,19 +23,34 @@ const registerTFCItemTags1 = (event) => { event.add('tfc:usable_on_tool_rack', '#forge:tools/plungers') event.add('tfc:usable_on_tool_rack', '#forge:tools/mortars') event.add('tfc:usable_on_tool_rack', '#forge:tools/mallets') - event.add('tfc:usable_on_tool_rack', '#forge:tools/chainsaws') event.add('tfc:usable_on_tool_rack', '#forge:tools/buzzsaws') event.add('tfc:usable_on_tool_rack', '#forge:tools/drills') - - // Удаление у всех powders тэга dusts - event.remove('forge:dusts', '#tfc:powders') + //#endregion - // Для складывания + //#region Возможность GT инструментам выполнять те же действия, что и TFC + event.add('tfc:swords', '#forge:tools/swords') + event.add('tfc:pickaxes', '#forge:tools/pickaxes') + event.add('tfc:axes', '#forge:tools/axes') + event.add('tfc:shovels', '#forge:tools/shovels') + event.add('tfc:shovels', '#forge:tools/spades') + event.add('tfc:hoes', '#forge:tools/hoes') + event.add('tfc:hammers', '#forge:tools/hammers') + event.add('tfc:knives', '#forge:tools/knives') + event.add('tfc:saws', '#forge:tools/saws') + event.add('tfc:scythes', '#forge:tools/scythes') + //#endregion + + //#region Трушное удаление dusts у powders + event.remove('forge:dusts', '#tfc:powders') + //#endregion + + //#region Позволяет складывать все слитки и пластины в игре event.add('tfc:pileable_ingots', '#forge:ingots') event.add('tfc:pileable_sheets', '#forge:plates') + //#endregion - // Рыба + //#region Объединяем рыбу в 1 тег event.add('minecraft:fishes', 'tfc:food/calamari') event.add('minecraft:fishes', 'tfc:food/bluegill') event.add('minecraft:fishes', 'tfc:food/crappie') @@ -67,43 +58,49 @@ const registerTFCItemTags1 = (event) => { event.add('minecraft:fishes', 'tfc:food/largemouth_bass') event.add('minecraft:fishes', 'tfc:food/rainbow_trout') event.add('minecraft:fishes', 'tfc:food/smallmouth_bass') + //#endregion - // Чтобы жарились бревна из TFC в пиролиз. печке - // Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия... + //#region Чтобы жарились бревна из TFC в пиролиз. печке (Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия...) global.TFC_WOOD_TYPES.forEach(woodType => { event.add('minecraft:logs_that_burn', `#tfc:${woodType}_logs`) }) + //#endregion - // Определеяет какое оружие может появиться у зомбя/скелета в руках - // Мечи + //#region Позволяет скелетам и зомбям использовать GT оружие + // Мечи 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') + //#endregion - // Тэги для возможности использования разных углей в кузне + //#region Тэги для возможности использования разных углей в кузне event.add('tfc:forge_fuel', 'minecraft:coal') 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') + //#endregion - // Тэги для сундуков, чтобы отличать их виды + //#region Тэги для сундуков, чтобы отличать их виды global.TFC_WOOD_TYPES.forEach(woodType => { event.add('tfg:default_chests', `tfc:wood/chest/${woodType}`) event.add('tfg:trapped_chests', `tfc:wood/trapped_chest/${woodType}`) - event.add('tfg:bladed_axles', `tfc:wood/bladed_axle/${woodType}`) + // event.add('tfg:bladed_axles', `tfc:wood/bladed_axle/${woodType}`) //todo: нахера я это добавлял? }) + //#endregion - // Теги для сосудов по цветам + //#region Теги для сосудов по цветам global.MINECRAFT_DYE_NAMES.forEach(dye => { event.add('tfg:colorized_unfired_vessels', `tfc:ceramic/${dye}_unfired_vessel`) event.add('tfg:colorized_fired_vessels', `tfc:ceramic/${dye}_glazed_vessel`) @@ -112,15 +109,18 @@ const registerTFCItemTags1 = (event) => { event.add('tfg:colorized_fired_large_vessels', `tfc:ceramic/large_vessel/${dye}`) }) + //#endregion - // Цвета гравия + //#region Объединяем гравий по цветам // Коричневый event.add('tfc:brown_gravel', 'tfc:rock/gravel/claystone') + // Белый event.add('tfc:white_gravel', 'tfc:rock/gravel/chalk') event.add('tfc:white_gravel', 'tfc:rock/gravel/diorite') event.add('tfc:white_gravel', 'tfc:rock/gravel/quartzite') event.add('tfc:white_gravel', 'tfc:rock/gravel/marble') + // Черный event.add('tfc:black_gravel', 'tfc:rock/gravel/basalt') event.add('tfc:black_gravel', 'tfc:rock/gravel/phyllite') @@ -129,24 +129,36 @@ const registerTFCItemTags1 = (event) => { event.add('tfc:black_gravel', 'tfc:rock/gravel/gabbro') event.add('tfc:black_gravel', 'tfc:rock/gravel/dolomite') event.add('tfc:black_gravel', 'tfc:rock/gravel/shale') + // Красный event.add('tfc:red_gravel', 'tfc:rock/gravel/chert') event.add('tfc:red_gravel', 'tfc:rock/gravel/rhyolite') + // Желтый event.add('tfc:yellow_gravel', 'tfc:rock/gravel/limestone') event.add('tfc:yellow_gravel', 'tfc:rock/gravel/slate') + // Зеленый event.add('tfc:green_gravel', 'tfc:rock/gravel/gneiss') event.add('tfc:green_gravel', 'tfc:rock/gravel/conglomerate') event.add('tfc:green_gravel', 'tfc:rock/gravel/schist') + // Розовый event.add('tfc:pink_gravel', 'tfc:rock/gravel/granite') + //#endregion - // Теги для объединения наковален - event.add('tfc:red_or_blue_anvil', 'tfc:metal/anvil/blue_steel') - event.add('tfc:red_or_blue_anvil', 'tfc:metal/anvil/red_steel') + //#region Теги для объединения наковален 2 уровня + event.add('tfg:tier_2_anvil', 'tfc:metal/anvil/bismuth_bronze') + event.add('tfg:tier_2_anvil', 'tfc:metal/anvil/bronze') + event.add('tfg:tier_2_anvil', 'tfc:metal/anvil/black_bronze') + //#endregion - // Теги для решеток + //#region Теги для объединения наковален 6 уровня + event.add('tfg:tier_6_anvil', 'tfc:metal/anvil/blue_steel') + event.add('tfg:tier_6_anvil', 'tfc:metal/anvil/red_steel') + //#endregion + + //#region Теги для объединения решеток event.add('tfg:metal_bars', 'tfc:metal/bars/bismuth_bronze') event.add('tfg:metal_bars', 'tfc:metal/bars/black_bronze') event.add('tfg:metal_bars', 'tfc:metal/bars/bronze') @@ -156,8 +168,9 @@ const registerTFCItemTags1 = (event) => { event.add('tfg:metal_bars', 'tfc:metal/bars/black_steel') event.add('tfg:metal_bars', 'tfc:metal/bars/blue_steel') event.add('tfg:metal_bars', 'tfc:metal/bars/red_steel') + //#endregion - // Тэги для цепей + //#region Теги для объединения цепей event.add('tfg:metal_chains', 'tfc:metal/chain/bismuth_bronze') event.add('tfg:metal_chains', 'tfc:metal/chain/black_bronze') event.add('tfg:metal_chains', 'tfc:metal/chain/bronze') @@ -167,8 +180,9 @@ const registerTFCItemTags1 = (event) => { event.add('tfg:metal_chains', 'tfc:metal/chain/black_steel') event.add('tfg:metal_chains', 'tfc:metal/chain/blue_steel') event.add('tfg:metal_chains', 'tfc:metal/chain/red_steel') - - // Теги для незаконченных ламп + //#endregion + + //#region Теги для объединения незаверешенных ламп event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/bismuth_bronze') event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/black_bronze') event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/bronze') @@ -178,8 +192,9 @@ const registerTFCItemTags1 = (event) => { event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/black_steel') event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/blue_steel') event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/red_steel') + //#endregion - // Теги для кораллов + //#region Теги для объединения кораллов event.add('tfc:corals', 'tfc:coral/tube_coral_fan') event.add('tfc:corals', 'tfc:coral/brain_coral_fan') event.add('tfc:corals', 'tfc:coral/bubble_coral_fan') @@ -200,8 +215,9 @@ const registerTFCItemTags1 = (event) => { event.add('tfc:corals', 'tfc:coral/brain_dead_coral') event.add('tfc:corals', 'tfc:coral/fire_dead_coral') event.add('tfc:corals', 'tfc:coral/horn_dead_coral') + //#endregion - // Теги для каменных ступенек тфк + //#region Теги для объединения ступеней, полублоков и стен соответственно global.TFC_STONE_TYPES.forEach(stoneTypeName => { global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach(slabType => { event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`) @@ -209,19 +225,28 @@ const registerTFCItemTags1 = (event) => { event.add(`tfg:rock_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`) }) }) + //#endregion - // Удаление тегов у отключенных предметов - global.TFC_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) + //#region Удаление тегов и скрытие руд + const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds + + ALL_TFC_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) }) + //#endregion - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + // todo: + // Удаление тегов у отключенных предметов + // global.TFC_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // event.add('c:hidden_from_recipe_viewers', item) + // }) } -const registerTFCBlockTags1 = (event) => { - // Теги для каменных ступенек тфк +const registerTFCBlockTags = (event) => { + + //#region Теги для объединения ступеней, полублоков и стен соответственно global.TFC_STONE_TYPES.forEach(stoneTypeName => { global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach(slabType => { event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`) @@ -229,90 +254,82 @@ const registerTFCBlockTags1 = (event) => { event.add(`tfg:rock_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`) }) }) + //#endregion + - // Отключение ломания блоков установленных на полу + //#region Отключение ломания блоков установленных на полу event.add('tfcdesirepaths:trample_blacklist', 'tfc:placed_item') - - // Возможность обрушения полу-блоков + //#endregion + + //#region Возможность обрушения полу-блоков event.add('tfc:can_collapse', '#tfg:rock_slabs') event.add('tfc:can_start_collapse', '#tfg:rock_slabs') event.add('tfc:can_trigger_collapse', '#tfg:rock_slabs') + //#endregion - // Возможность обрушения ступеней + //#region Возможность обрушения ступеней event.add('tfc:can_collapse', '#tfg:rock_stairs') event.add('tfc:can_start_collapse', '#tfg:rock_stairs') event.add('tfc:can_trigger_collapse', '#tfg:rock_stairs') + //#endregion - // Возможность обрушения стен + //#region Возможность обрушения стен event.add('tfc:can_collapse', '#tfg:rock_walls') event.add('tfc:can_start_collapse', '#tfg:rock_walls') event.add('tfc:can_trigger_collapse', '#tfg:rock_walls') + //#endregion - // Возможность обрушения руды + //#region Возможность обрушения руды event.add('tfc:can_collapse', '#forge:ores') event.add('tfc:can_start_collapse', '#forge:ores') event.add('tfc:can_trigger_collapse', '#forge:ores') - - // Разрешить спавн мобов на руде - event.add('tfc:monster_spawns_on', '#forge:ores') - - // Разрешить проспекторам тфк находить любые руды - event.add('tfc:prospectable', '#forge:ores') + //#endregion - // Разрешить отливать стекло в кастомных блоках + //#region Разрешаем спавн мобов на руде + event.add('tfc:monster_spawns_on', '#forge:ores') + //#endregion + + //#region Разрешаем проспекторам тфк находить любые руды + event.add('tfc:prospectable', '#forge:ores') + //#endregion + + //#region Разрешаем отливать стекло в кастомных блоках + // GregTech блок латуни event.add('tfc:glass_basin_blocks', 'gtceu:brass_block') event.add('tfc:glass_pouring_table', 'gtceu:brass_block') + // Красная каолинитовая глина event.add('tfc:glass_basin_blocks', 'tfc:red_kaolin_clay') event.add('tfc:glass_pouring_table', 'tfc:red_kaolin_clay') + // Розовая каолинитовая глина event.add('tfc:glass_basin_blocks', 'tfc:pink_kaolin_clay') event.add('tfc:glass_pouring_table', 'tfc:pink_kaolin_clay') + // Белая каолинитовая глина event.add('tfc:glass_basin_blocks', 'tfc:white_kaolin_clay') event.add('tfc:glass_pouring_table', 'tfc:white_kaolin_clay') + //#endregion + + //#region Удаление тегов и скрытие руд + const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds - // Удаление тегов у отключенных предметов - global.TFC_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) + ALL_TFC_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) }) + //#endregion - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + // todo: + // // Удаление тегов у отключенных предметов + // global.TFC_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // }) } const registerTFCFluidTags = (event) => { - // Удаление TFC металлов из возможных в форме слитка - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth_bronze') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bronze') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_bronze') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/brass') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/copper') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/gold') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/nickel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/rose_gold') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/silver') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/tin') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/zinc') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/sterling_silver') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/wrought_iron') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_steel') - 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 металлов в форму слитков + //#region Добавление GregTech металлов в форму слитков + // Обычные металлы event.add('tfc:usable_in_ingot_mold', 'gtceu:bismuth') event.add('tfc:usable_in_ingot_mold', 'gtceu:bismuth_bronze') event.add('tfc:usable_in_ingot_mold', 'gtceu:black_bronze') @@ -342,32 +359,86 @@ const registerTFCFluidTags = (event) => { 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') + //#endregion - // + //#region Удаляем TFC металлов из формы слитка + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth_bronze') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bronze') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_bronze') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/brass') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/copper') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/gold') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/nickel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/rose_gold') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/silver') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/tin') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/zinc') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/sterling_silver') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/wrought_iron') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_steel') + 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') + //#endregion + + //#region Добавляем GregTech металлы в формы колокола event.add('tfc:usable_in_bell_mold', 'gtceu:bronze') event.add('tfc:usable_in_bell_mold', 'gtceu:gold') event.add('tfc:usable_in_bell_mold', 'gtceu:brass') + //#endregion - // + //#region Удаляем TFC металлы из формы колокола + //todo: + //#endregion + + //#region Добавляем GregTech металлы в формы оголовья event.add('tfc:usable_in_tool_head_mold', 'gtceu:copper') event.add('tfc:usable_in_tool_head_mold', 'gtceu:bismuth_bronze') event.add('tfc:usable_in_tool_head_mold', 'gtceu:black_bronze') event.add('tfc:usable_in_tool_head_mold', 'gtceu:bronze') + //#endregion - // + //#region Удаляем TFC металлы из формы оголовья + //todo: + //#endregion + + //#region Добавляем жидкости в чашу event.add('tfc:usable_in_pot', 'tfg:latex') + //#endregion + + //#region Добавляем жидкости в бочку 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') - event.add('tfc:usable_in_red_steel_bucket', 'gtceu:creosote') - event.add('tfc:usable_in_blue_steel_bucket', 'gtceu:creosote') + //#endregion - // Добавляем тег для скрытия в EMI + //#region Добавляем жидкости в деревянное ведро + event.add('tfc:usable_in_wooden_bucket', 'tfg:latex') + event.add('tfc:usable_in_wooden_bucket', 'gtceu:creosote') + //#endregion + + //#region Добавляем жидкости в красное ведро + event.add('tfc:usable_in_red_steel_bucket', 'gtceu:creosote') + //#endregion + + //#region Добавляем жидкости в синее ведро + event.add('tfc:usable_in_blue_steel_bucket', 'gtceu:creosote') + //#endregion + + //#region Скрываем неиспользуемые жидкости event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bismuth') event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bismuth_bronze') event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bronze') @@ -396,9 +467,12 @@ const registerTFCFluidTags = (event) => { 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') + //#endregion } const registerTFCBiomeTags = (event) => { + + //#region Создаем тег со всеми TFC биомами const ALL_TFC_BIOMES = [ "tfc:badlands", "tfc:canyons", @@ -432,13 +506,15 @@ const registerTFCBiomeTags = (event) => { "tfc:volcanic_oceanic_mountains" ] - // Добавление ALL_TFC_BIOMES.forEach(biome => { event.add('tfg:is_tfc_overworld', biome) }) + //#endregion } const registerTFCPlacedFeatures = (event) => { + + //#region Удаляем все руды TFC из генерации мира const ALL_DISABLED_TFC_VEINS = [ 'tfc:vein/surface_native_copper', 'tfc:vein/surface_malachite', @@ -478,8 +554,8 @@ const registerTFCPlacedFeatures = (event) => { 'tfc:vein/opal' ] - // Удаление ALL_DISABLED_TFC_VEINS.forEach(vein => { event.remove('tfc:in_biome/veins', vein) }) + //#endregion } From fba38916eb4fbe6b2fa580d025da34cbeb3d03de Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 1 Sep 2024 10:27:22 +0700 Subject: [PATCH 129/266] rewrite metal recipe gen part 1 --- kubejs/server_scripts/firmalife/tags.js | 3 +- kubejs/server_scripts/gregtech/recipes.js | 156 +- kubejs/server_scripts/tfc/recipes.js | 2623 +++++++++++---------- kubejs/startup_scripts/tfc/constants.js | 4 - 4 files changed, 1435 insertions(+), 1351 deletions(-) diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index c12c73a0a..b0d6f8311 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -43,8 +43,9 @@ const registerFirmaLifeBlockTags = (event) => { }) //#endregion - // Для того, чтобы стенками greenhouse могли быть фреймы грега (для передачи воды) + //#region Для того, чтобы стенками greenhouse могли быть фреймы грега (для передачи воды) event.add('firmalife:always_valid_greenhouse_wall', '#forge:frames') + //#endregion } const registerFirmaLifeFluidTags = (event) => { diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index ce9d6962e..1a481d5e6 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1799,56 +1799,12 @@ const registerGregTechRecipes1 = (event) => { // } // } - // private static void registerProcessingToolHeadsRecipes(Consumer consumer) { - // for (var material : GTCEuAPI.materialManager.getRegisteredMaterials()) { - // if (material.hasProperty(PropertyKey.TOOL)) { - // - // int counter = 0; - // - // processToolHead(toolHeadAxe, material, SHAPE_EXTRUDER_AXE_HEAD, counter++, consumer); - // processToolHead(toolHeadHoe, material, SHAPE_EXTRUDER_HOE_HEAD, counter++, consumer); - // processToolHead(toolHeadShovel, material, SHAPE_EXTRUDER_SHOVEL_HEAD, counter++, consumer); - // processToolHead(toolHeadKnife, material, SHAPE_EXTRUDER_KNIFE_HEAD, counter++, consumer); - // processToolHead(toolHeadMiningHammer, material, SHAPE_EXTRUDER_MINING_HAMMER_HEAD, counter++, consumer); - // processToolHead(toolHeadSword, material, SHAPE_EXTRUDER_SWORD_HEAD, counter++, consumer); - // processToolHead(toolHeadPickaxe, material, SHAPE_EXTRUDER_PICKAXE_HEAD, counter++, consumer); - // processToolHead(toolHeadScythe, material, SHAPE_EXTRUDER_SCYTHE_HEAD, counter++, consumer); - // processToolHead(toolHeadFile, material, SHAPE_EXTRUDER_FILE_HEAD, counter++, consumer); - // processToolHead(toolHeadHammer, material, SHAPE_EXTRUDER_HAMMER_HEAD, counter++, consumer); - // processToolHead(toolHeadSaw, material, SHAPE_EXTRUDER_SAW_HEAD, counter++, consumer); - // processToolHead(toolHeadButcheryKnife, material, SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD, counter++, consumer); - // processToolHead(toolHeadSpade, material, SHAPE_EXTRUDER_SPADE_HEAD, counter++, consumer); - // processToolHead(toolHeadPropick, material, SHAPE_EXTRUDER_PROPICK_HEAD, counter++, consumer); - // processToolHead(toolHeadJavelin, material, SHAPE_EXTRUDER_JAVELIN_HEAD, counter++, consumer); - // processToolHead(toolHeadChisel, material, SHAPE_EXTRUDER_CHISEL_HEAD, counter++, consumer); - // processToolHead(toolHeadMace, material, SHAPE_EXTRUDER_MACE_HEAD, counter, consumer); - // } - // } - // } - - // private static void registerTagPrefixHandlerRecipes(Consumer provider) { - // ingotDouble.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::processDoubleIngot); - // plate.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::processPlate); - // - // anvil.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessAnvil); - // lamp.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessLamp); - // lampUnfinished.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessUnfinishedLamp); - // trapdoor.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessTrapdoor); - // chain.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessChain); - // bell.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessBell); - // } + // private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { // var ingotStack = ChemicalHelper.get(ingot, material); // var doubleIngotStack = ChemicalHelper.get(prefix, material); // - // BENDER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_double_ingot")) - // .EUt(VA[ULV]).duration((int) material.getMass()) - // .inputItems(ingotStack.copyWithCount(2)) - // .circuitMeta(6) - // .outputItems(doubleIngotStack) - // .save(provider); - // // EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) // .EUt(VA[ULV]).duration((int) material.getMass()) // .inputItems(doubleIngotStack) @@ -1862,115 +1818,11 @@ const registerGregTechRecipes1 = (event) => { // .save(provider); // } - // private static void processPlate(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var plateStack = ChemicalHelper.get(prefix, material); - // var doubleIngotStack = ChemicalHelper.get(ingotDouble, material); - // - // if (material.hasFlag(TFGMaterialFlags.GENERATE_DOUBLE_INGOTS)) { - // FORGE_HAMMER_RECIPES.recipeBuilder(TFGCore.id("hammer_" + material.getName() + "_plate")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 4) - // .inputItems(doubleIngotStack) - // .outputItems(plateStack) - // .save(provider); - // } - // } + - // private static void proccessAnvil(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var anvil = ChemicalHelper.get(prefix, material); - // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); - // - // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_anvil_from_ingots")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 6) - // .inputItems(ingot, outputMaterial, 14) - // .notConsumable(GTItems.SHAPE_MOLD_ANVIL) - // .outputItems(anvil) - // .save(provider); - // - // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_anvil_from_fluid")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 6) - // .inputFluids(outputMaterial.getFluid(2016)) - // .notConsumable(GTItems.SHAPE_MOLD_ANVIL) - // .outputItems(anvil) - // .save(provider); - // } + - // private static void proccessLamp(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var finishedLamp = ChemicalHelper.get(prefix, material); - // var unfinishedLamp = ChemicalHelper.get(lampUnfinished, material); - // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); - // - // ASSEMBLER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_lamp")) - // .EUt(VA[ULV]).duration((int) outputMaterial.getMass() * 7) - // .inputItems(new ItemStack(TFCItems.LAMP_GLASS.get()), unfinishedLamp) - // .circuitMeta(12) - // .outputItems(finishedLamp) - // .save(provider); - // - // ASSEMBLER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_lamp_from_liquid")) - // .EUt(VA[ULV]).duration((int) outputMaterial.getMass() * 7) - // .inputItems(unfinishedLamp) - // .inputFluids(Glass.getFluid(576)) - // .circuitMeta(13) - // .outputItems(finishedLamp) - // .save(provider); - // } - - // private static void proccessUnfinishedLamp(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var unfinishedLamp = ChemicalHelper.get(prefix, material); - // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); - // - // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_unfinished_lamp_from_ingots")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 7) - // .inputItems(ingot, outputMaterial) - // .notConsumable(SHAPE_MOLD_UNFINISHED_LAMP) - // .outputItems(unfinishedLamp) - // .save(provider); - // - // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_unfinished_lamp_from_fluid")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 7) - // .inputFluids(outputMaterial.getFluid(144)) - // .notConsumable(SHAPE_MOLD_UNFINISHED_LAMP) - // .outputItems(unfinishedLamp) - // .save(provider); - // } - - // private static void proccessTrapdoor(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var trapdoor = ChemicalHelper.get(prefix, material); - // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); - // - // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_trapdoor_from_ingots")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 6) - // .inputItems(ingot, outputMaterial) - // .notConsumable(SHAPE_MOLD_TRAPDOOR) - // .outputItems(trapdoor) - // .save(provider); - // - // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_trapdoor_from_fluid")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 6) - // .inputFluids(outputMaterial.getFluid(144)) - // .notConsumable(SHAPE_MOLD_TRAPDOOR) - // .outputItems(trapdoor) - // .save(provider); - // } - - // private static void proccessChain(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var chain = ChemicalHelper.get(prefix, material); - // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); - // - // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_chain_from_ingots")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 2) - // .inputItems(ingot, outputMaterial) - // .notConsumable(SHAPE_MOLD_CHAIN) - // .outputItems(chain.copyWithCount(9)) - // .save(provider); - // - // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_chain_from_fluid")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 2) - // .inputFluids(outputMaterial.getFluid(144)) - // .notConsumable(SHAPE_MOLD_CHAIN) - // .outputItems(chain.copyWithCount(9)) - // .save(provider); - // } + // private static void proccessBell(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { // var bell = ChemicalHelper.get(prefix, material); diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index c3bb07967..24d29aadc 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -2,30 +2,14 @@ const registerTFCRecipes = (event) => { -} - -const registerTFCRecipes1 = (event) => { - //return; TODO тут баг - //#region Металлы - - // Удаление рецептов руд TFC + //#region Удаляем рецепты для бедных, нормальной и богатых кусков руды 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/ }) - - let getFillingNBT = (material, amount) => { + //#endregion + + //#region Крафты и раскрафты металлических предметов + const getFluidTankNBT = (material, amount) => { return { tank: { FluidName: Fluid.of(material.getFluid()).getId(), @@ -34,1273 +18,1524 @@ const registerTFCRecipes1 = (event) => { } } - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + const calcAmountOfMetal = (defaultAmount, percents) => { + const value = defaultAmount / (100 / percents) + return (value % 2 == 0) ? value : Math.round(value) - 1 + } - if (tfcProperty != null) { - let outputMaterial = (tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial() + const processIngot = (tagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(tagPrefix, material, 1) + if (ingotItem.isEmpty()) return - // 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`) + // Декрафт слитка в жидкость + event.recipes.tfc.heating(ingotItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_ingot`) - if (material != GTMaterials.WroughtIron) { + if (material == GTMaterials.WroughtIron) return - // Отливка слитка в обычной форме - 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/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.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/ingot_mold', getFluidTankNBT(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`) + event.recipes.create.filling( + Item.of('tfc:ceramic/fire_ingot_mold', getFluidTankNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/fire_ingot_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_fire_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 Щит + const processDoubleIngot = (tagPrefix, tfcProperty, material, outputMaterial) => { + const doubleIngotItem = ChemicalHelper.get(tagPrefix, material, 1) + if (doubleIngotItem.isEmpty()) return - // Декрафт щита в жидкость - 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.heating(doubleIngotItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_double_ingot`) - // Щит - 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`) + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return - //#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 - } + // 2 слитка -> Двойной слиток + event.recipes.tfc.welding(doubleIngotItem, ingotItem, ingotItem, tfcProperty.getTier() - 1) + .id(`tfc:welding/${material.getName()}_double_ingot`) - } + event.recipes.gtceu.bender(`tfg:${material.getName()}_double_ingot`) + .itemInputs(ingotItem.copyWithCount(2)) + .circuit(6) + .itemOutputs(doubleIngotItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass()) + } - // Tools (From Plate) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - //#region Удочка + const processPlate = (tagPrefix, tfcProperty, material, outputMaterial) => { + const plateItem = ChemicalHelper.get(tagPrefix, material, 1) + if (plateItem.isEmpty()) return + + // Декрафт пластины в жидкость + event.recipes.tfc.heating(plateItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_sheet`) + + const doubleIngotItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) + if (doubleIngotItem.isEmpty()) return + + // Двойной слиток -> Пластина + event.recipes.tfc.anvil(plateItem, doubleIngotItem, ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_sheet`) + + // Крафт в смолоте + event.recipes.gtceu.forge_hammer(`tfg:${material.getName()}_plate_from_double_ingot`) + .inputItems(doubleIngotItem) + .outputItems(plateItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 4) + } + + const processDoublePlate = (tagPrefix, tfcProperty, material, outputMaterial) => { + const doublePlateItem = ChemicalHelper.get(tagPrefix, material, 1) + if (doublePlateItem.isEmpty()) return + + // Декрафт двойных пластин + event.recipes.tfc.heating(doublePlateItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_double_sheet`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // Две пластины -> Двойная пластина + event.recipes.tfc.welding(doublePlateItem, plateItem, plateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_double_sheet`) + } + + const processTFCMetalBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedBlock.isEmpty()) return + + // Декрафт + event.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) + .id(`tfc:heating/metal/${material.getName()}_block`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // Крафт в ассемблере + event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_block`) + .itemInputs(plateItem.copyWithCount(4), '#minecraft:planks') + .itemOutputs(platedBlock) + .duration(300) + .EUt(8) + } + + const processTFCMetalStairs = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedStairBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedStairBlock.isEmpty()) return + + // Удаление рецепта через верстак + event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_stairs`}) + + // Декрафт + event.recipes.tfc.heating(platedStairBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 54)) + .id(`tfc:heating/metal/${material.getName()}_block_stairs`) + + const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) + if (platedBlock.isEmpty()) return + + // Крафт в каттере + event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_stairs`) + .itemInputs(platedBlock.copyWithCount(3)) + .itemOutputs(platedStairBlock) + .duration(300) + .EUt(8) + } + + const processTFCMetalSlabs = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedSlabBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedSlabBlock.isEmpty()) return + + // Удаление рецепта через верстак + event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_slab`}) + + // Декрафт + event.recipes.tfc.heating(platedSlabBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) + .id(`tfc:heating/metal/${material.getName()}_block_slab`) + + const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) + if (platedBlock.isEmpty()) return + + // Крафт в каттере + event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_slab`) + .itemInputs(platedBlock) + .itemOutputs(platedSlabBlock.copyWithCount(2)) + .duration(300) + .EUt(8) + } + + const processTFCArmor = (tfcProperty, material, outputMaterial) => { + if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) return - // Декрафт оголовья в жидкость - 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`) + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return - // Крюк удочки - 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`) + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return - // Декрафт инструмента в жидкость - 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`) + //#region Шлем - //#endregion - } + // Декрафт незавершенного шлема в жидкость + 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()}`, plateDoubleItem, ['hit_last', 'bend_second_last', 'bend_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_helmet`) - // 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`) + // Декрафт шлема в жидкость + 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`) - } - - 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.welding(`tfc:metal/helmet/${material.getName()}`, `tfc:metal/unfinished_helmet/${material.getName()}`, plateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_helmet`) - // Крафт оголовья - 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 - - - } - - //#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`) + //#region Нагрудник - 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 + // Декрафт незавершенного нагрудника в жидкость + 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`) - //#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`) + // Незавершенный нагрудник + event.recipes.tfc.anvil(`tfc:metal/unfinished_chestplate/${material.getName()}`, plateDoubleItem, ['hit_last', 'hit_second_last', 'upset_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_chestplate`) - } - - 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`) + // Декрафт нагрудника в жидкость + 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.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`) + // Нагрудник + event.recipes.tfc.welding(`tfc:metal/chestplate/${material.getName()}`, `tfc:metal/unfinished_chestplate/${material.getName()}`, plateDoubleItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_chestplate`) - } + //#endregion - //#endregion + //#region Поножи - //#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`) + // Декрафт незавершенных поножей в жидкость + 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()}`, plateDoubleItem, ['bend_any', 'draw_any', 'hit_any']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_greaves`) - 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.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.anvil(miningHammerHeadItem, doubleIngotItem, ['punch_last', 'shrink_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) - - } + // Поножи + 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 + //#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()) { + //#region Ботинки - // Крафт оголовья - 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(`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.heating(spadeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_spade_head`) - - } + // Незавершенные ботинки + 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`) - //#endregion - } + // Декрафт ботинок в жидкость + 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`) - // 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`) + //#endregion - // Слиток -> 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`) + //#region Конская броня - // 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.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`) - // Стержни -> Длинный стержень - event.recipes.tfc.welding(longRodItem, rodItem, rodItem) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_long_rod`) - - } + //#endregion + } - // 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`) + const processTFCTools = (tfcProperty, material, outputMaterial) => { + if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) return - // Стержень -> Кольцо - event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_ring`) + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return - } - - } + const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return - // Tools (From Ingot) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return + + //#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()}`, plateDoubleItem, ['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()}`, plateDoubleItem, ['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/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 + + //#region Меч + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const swordItem = ToolHelper.get(GTToolType.SWORD, material) + if (!swordItem.isEmpty()) { - //#region Кирка - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) + event.recipes.tfc.heating(swordItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_sword`) + } - // Декрафт инструмента в жидкость - 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`) + const swordHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material, 1) + if (!swordHeadItem.isEmpty()) { - // Металл + Форма -> Оголовье - 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.tfc.heating(swordHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_sword_blade`) - 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(swordHeadItem, ingotDoubleItem, ['punch_last', 'bend_not_last', 'draw_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_sword_blade`) - // Крафт оголовья - 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(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 Мясницкий нож - // Металл + Форма -> Оголовье - 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`) + // Декрафт инструмента в жидкость + const 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`) - 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 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`) + + // Крафт оголовья + 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 Молот шахтера + + // Декрафт инструмента в жидкость + const 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 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`) + const 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`) - // Металл + Форма -> Оголовье - 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.tfc.anvil(miningHammerHeadItem, ingotDoubleItem, ['punch_last', 'shrink_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) + + } + //#endregion - 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`) - } + //#region Большая лопата - } - - //#endregion + // Декрафт инструмента в жидкость + const 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`) + + } - //#region Мотыга - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) + const spadeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material, 1) + if (!spadeHeadItem.isEmpty()) { + + // Крафт оголовья + event.recipes.tfc.anvil(spadeHeadItem, ingotDoubleItem, ['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 + + //#region Кирка - // Декрафт инструмента в жидкость - 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.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) - 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`) + // Декрафт инструмента в жидкость + const pickaxeItem = ToolHelper.get(GTToolType.PICKAXE, material) + if (!pickaxeItem.isEmpty()) { - // Крафт оголовья - 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.heating(`gtceu:${material.getName()}_pickaxe`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_pickaxe`) + + } - // Крафт оголовья - 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`) + const 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.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`) - } - - } + // Крафт оголовья + 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`) - //#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`) + // Металл + Форма -> Оголовье + 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.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 - } - + 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`) } - // 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`) - - } + } + //#endregion - // 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 Топор + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` }) - //#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.calcAmountOfMetal(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.calcAmountOfMetal(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.calcAmountOfMetal(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.calcAmountOfMetal(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.calcAmountOfMetal(120, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/purified_dust/${material.getName()}`) - - } + // Декрафт инструмента в жидкость + const 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`) + + } + + const 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`) } - - // 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.calcAmountOfMetal(80, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_ore/${material.getName()}`) - - } + } + //#endregion - // Декрафт ломанной очищенной руды - let crushedPurifiedOre = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) - if (!crushedPurifiedOre.isEmpty()) { - - event.recipes.tfc.heating(crushedPurifiedOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(100, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) - - } + //#region Лопата + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/shovel/${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.calcAmountOfMetal(110, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) - - } + // Декрафт инструмента в жидкость + const 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`) + + } + + const 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`) - // Декрафт богатого куска руды - 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()}`) - } + // Крафт оголовья + 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`) } - // 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()}`) - + } + //#endregion + + //#region Мотыга + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const 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`) + } + + const 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()}` }) + + // Декрафт инструмента в жидкость + const 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`) + + } + + const 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()}` }) + + // Декрафт инструмента в жидкость + const 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`) + + } + + const 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()}` }) + + // Декрафт инструмента в жидкость + const 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`) + } + + const 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 Напильник + + // Декрафт инструмента в жидкость + const 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`) + } + + const 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()}` }) + + // Декрафт инструмента в жидкость + const 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`) + } + + const 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 + + //#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 + } + + const processRods = (tagPrefix, tfcProperty, material, outputMaterial) => { + const rodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (rodItem.isEmpty()) return + + // Декрафт стержня в жидкость + 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`) + } + + const processLongRods = (tagPrefix, tfcProperty, material, outputMaterial) => { + const longRodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (longRodItem.isEmpty()) return + + // Декрафт длинного стержня в жидкость + event.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_long_rod`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержни -> Длинный стержень + event.recipes.tfc.welding(longRodItem, rodItem, rodItem) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_long_rod`) + } + + const processBolts = (tagPrefix, tfcProperty, material, outputMaterial) => { + const boltItem = ChemicalHelper.get(tagPrefix, material, 1) + if (boltItem.isEmpty()) return + + // Болт -> Металл + event.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) + .id(`tfc:heating/metal/${material.getName()}_bolt`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Болт + 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`) + } + + const processScrews = (tagPrefix, tfcProperty, material, outputMaterial) => { + const screwItem = ChemicalHelper.get(tagPrefix, material, 1) + if (screwItem.isEmpty()) return + + // Винт -> Металл + event.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/metal/${material.getName()}_screw`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Винт + event.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_screw`) + } + + const processRings = (tagPrefix, tfcProperty, material, outputMaterial) => { + const ringItem = ChemicalHelper.get(tagPrefix, material, 1) + if (ringItem.isEmpty()) return + + // Кольцо -> Металл + event.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) + .id(`tfc:heating/metal/${material.getName()}_ring`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Кольцо + event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_ring`) + + + } + + const processBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { + const blockItem = ChemicalHelper.get(tagPrefix, material, 1) + if (blockItem.isEmpty()) return + + // Декрафт блока в жидкость + event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) + .id(`tfc:heating/metal/${material.getName()}_block`) + } + + const processAnvils = (tagPrefix, tfcProperty, material, outputMaterial) => { + const anvilItem = ChemicalHelper.get(tagPrefix, material, 1) + if (anvilItem.isEmpty()) return + + // Декрафт наковальни в жидкость + event.recipes.tfc.heating(anvilItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 2016)) + .id(`tfc:heating/metal/${material.getName()}_anvil`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, outputMaterial, 1) + if (ingotItem.isEmpty()) return + + // Крафт в смелтере + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_anvil_from_ingots`) + .itemInputs(ingotItem.copyWithCount(14)) + .notConsumable('gtceu:anvil_casting_mold') + .outputItems(anvilItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) + + // Крафт в солидифаере + event.recipes.gtceu.solidifier(`tfg:${material.getName()}_anvil_from_fluid`) + .inputFluids(outputMaterial.getFluid(2016)) + .notConsumable('gtceu:anvil_casting_mold') + .outputItems(anvilItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) + } + + const processUnfinishedLamp = (tagPrefix, tfcProperty, material, outputMaterial) => { + const lampUnfinishedItem = ChemicalHelper.get(tagPrefix, material, 1) + if (lampUnfinishedItem.isEmpty()) return + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Декрафт незавершенной лампы в жидкость + event.recipes.tfc.heating(lampUnfinishedItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_unfinished_lamp`) + + // Крафт в смелтере + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_unfinished_lamp_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('gtceu:lamp_casting_mold') + .outputItems(lampUnfinishedItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + + // Крафт в солидифаере + event.recipes.gtceu.solidifier(`tfg:${material.getName()}_unfinished_lamp_from_fluid`) + .inputFluids(outputMaterial.getFluid(144)) + .notConsumable('gtceu:lamp_casting_mold') + .outputItems(lampUnfinishedItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + } + + const processLamps = (tagPrefix, tfcProperty, material, outputMaterial) => { + const lampItem = ChemicalHelper.get(tagPrefix, material, 1) + if (lampItem.isEmpty()) return + + // Декрафт лампы в жидкость + event.recipes.tfc.heating(lampItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_lamp`) + + const lampUnfinishedItem = ChemicalHelper.get(TFGTagPrefix.lampUnfinished, material, 1) + if (lampUnfinishedItem.isEmpty()) return + + // Рецепт ассемблер + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp`) + .itemInputs(lampUnfinishedItem, 'tfc:lamp_glass') + .circuit(12) + .outputItems(lampItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 7) + + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp_from_liquid`) + .itemInputs(lampUnfinishedItem) + .inputFluids(GTMaterials.Glass.getFluid(576)) + .circuit(13) + .outputItems(lampItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) + } + + const processTrapdoors = (tagPrefix, tfcProperty, material, outputMaterial) => { + const trapdoorItem = ChemicalHelper.get(tagPrefix, material, 1) + if (trapdoorItem.isEmpty()) return + + // Декрафт люка в жидкость + event.recipes.tfc.heating(trapdoorItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_trapdoor`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // Люк + event.recipes.tfc.anvil(trapdoorItem, plateItem, ['bend_last', 'draw_second_last', 'draw_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_trapdoor`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт в смелтере + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_trapdoor_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('gtceu:trapdoor_casting_mold') + .outputItems(trapdoorItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) + + // Крафт в солидифаере + event.recipes.gtceu.solidifier(`tfg:${material.getName()}_trapdoor_from_fluid`) + .inputFluids(outputMaterial.getFluid(144)) + .notConsumable('gtceu:trapdoor_casting_mold') + .outputItems(trapdoorItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) + } + + const processChains = (tagPrefix, tfcProperty, material, outputMaterial) => { + const chainItem = ChemicalHelper.get(tagPrefix, material, 1) + if (chainItem.isEmpty()) return + + // Декрафт решетки в жидкость + event.recipes.tfc.heating(chainItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) + .id(`tfc:heating/metal/${material.getName()}_bars`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // 8x Решетка + event.recipes.tfc.anvil(chainItem.copyWithCount(8), plateItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_bars`) + + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return + + // 16x Решетка + event.recipes.tfc.anvil(chainItem.copyWithCount(16), plateDoubleItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_bars_double`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт в смелтере + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_chain_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('gtceu:chain_casting_mold') + .outputItems(chainItem.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + + // Крафт в солидифаере + event.recipes.gtceu.solidifier(`tfg:${material.getName()}_chain_from_fluid`) + .inputFluids(outputMaterial.getFluid(144)) + .notConsumable('gtceu:chain_casting_mold') + .outputItems(chainItem.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + } + + const processTFCSmallOres = (tagPrefix, tfcProperty, material, outputMaterial) => { + if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) return + + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + // Декрафт мелкого кусочка в жидкость + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/ore/small_${material.getName()}`) + } + + const processTFCSmallNativeOres = () => { + if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) return + + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + // Декрафт мелкого кусочка в жидкость + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/ore/small_native_${material.getName()}`) + } + + const processTinyDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/tiny_dust/${material.getName()}`) + } + + const processSmallDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/small_dust/${material.getName()}`) + } + + const processDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(144, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/dust/${material.getName()}`) + } + + const processImpureDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(80, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/impure_dust/${material.getName()}`) + } + + const processPurifiedDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(120, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/purified_dust/${material.getName()}`) + } + + const processCrushedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(60, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_ore/${material.getName()}`) + } + + const processCrushedPurifiedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(90, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) + } + + const processCrushedRefinedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(110, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) + } + + const processRichRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/rich_raw/${material.getName()}`) + } + + const processNormalRawore = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/raw/${material.getName()}`) + } + + const processPoorRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/poor_raw/${material.getName()}`) + } + + const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { + const nuggetItem = ChemicalHelper.get(tagPrefix, material, 1) + if (nuggetItem.isEmpty()) return + + event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/nugget/${material.getName()}`) + } + + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + + if (tfcProperty != null) { + const outputMaterial = (tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial() + + // 1. Префикс ассоциируемый с текущим предметом. + // 2. Проперти ТФК с нагревом металла и другими полезными проперти. + // 3. Материал из которого состоит объект. + // 4. Материал в который объект должен быть преобразован после разборки. + + processIngot(TagPrefix.ingot, tfcProperty, material, outputMaterial) + processBlocks(TagPrefix.block, tfcProperty, material, outputMaterial) + processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) + processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) + processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) + processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) + processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) + processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) + processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) + processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) + processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) + processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) + processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) + processImpureDust(TagPrefix.dustImpure, tfcProperty, material, outputMaterial) + processPurifiedDust(TagPrefix.dustPure, tfcProperty, material, outputMaterial) + processCrushedOre(TagPrefix.crushed, tfcProperty, material, outputMaterial) + processCrushedPurifiedOre(TagPrefix.crushedPurified, tfcProperty, material, outputMaterial) + processCrushedRefinedOre(TagPrefix.crushedRefined, tfcProperty, material, outputMaterial) + processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) + processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) + processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) + processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) + + processTFCArmor(tfcProperty, material, outputMaterial) + processTFCTools(tfcProperty, material, outputMaterial) //todo: Разделить на отдельные методы под каждый инструмент + + //todo: передавать еще и молд + (возможно тултайп?) + // processToolSword(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolPickaxe(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolAxe(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolShovel(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolHoe(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolKnife(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolMiningHammer(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolScythe(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolFile(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolHammer(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolSaw(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolButcheryKnife(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolSpade(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolPropick(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolJavelin(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolChisel(TagPrefix.?, tfcProperty, material, outputMaterial) + // processToolMace(TagPrefix.?, tfcProperty, material, outputMaterial) + + processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) + processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) + processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) + + processAnvils(TFGTagPrefix.anvil, tfcProperty, material, outputMaterial) + processUnfinishedLamp(TFGTagPrefix.lampUnfinished, tfcProperty, material, outputMaterial) + processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) + processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) + processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) + processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) + processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) + } }) + //#endregion - - //#region Рецепты для новых сплавов - + //#region Сплав красного камня event.recipes.tfc.alloy('tfg:red_alloy', [ TFC.alloyPart('tfg:redstone', 0.15, 0.25), TFC.alloyPart('tfc:copper', 0.75, 0.85) ]).id('tfg:alloy/red_alloy') + //#endregion + //#region Сплав олова 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 + +} + +const registerTFCRecipes1 = (event) => { + + + //#region Удаление рецептов для предметов из Cast Iron // Блок diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index e1ae8b45c..51f46268f 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -1057,7 +1057,3 @@ global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [ { input: 'tfc:plant/cranberry_bush', fluid_amount: 6000, output: '3x tfc:food/cranberry', name: 'cranberry' }, ]; -global.calcAmountOfMetal = (defaultAmount, percents) => { - const value = defaultAmount / (100 / percents) - return (value % 2 == 0) ? value : Math.round(value) - 1 -} \ No newline at end of file From 1e0c6506711b7abad66f3bb89655232dc1e7893c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 6 Sep 2024 10:19:05 +0700 Subject: [PATCH 130/266] split tool recipe gen in parts --- kubejs/server_scripts/tfc/recipes.js | 2103 +++++++++++++------------- 1 file changed, 1089 insertions(+), 1014 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 24d29aadc..0aa866f31 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -9,7 +9,7 @@ const registerTFCRecipes = (event) => { //#endregion //#region Крафты и раскрафты металлических предметов - const getFluidTankNBT = (material, amount) => { + const getFluidTankAsNBT = (material, amount) => { return { tank: { FluidName: Fluid.of(material.getFluid()).getId(), @@ -43,7 +43,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_fire_ingot`) event.recipes.create.filling( - Item.of('tfc:ceramic/ingot_mold', getFluidTankNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/ingot_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/ingot_mold').strongNBT() @@ -51,7 +51,7 @@ const registerTFCRecipes = (event) => { ).id(`tfg:tfc/filling/${material.getName()}_ingot`) event.recipes.create.filling( - Item.of('tfc:ceramic/fire_ingot_mold', getFluidTankNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/fire_ingot_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/fire_ingot_mold').strongNBT() @@ -124,75 +124,999 @@ const registerTFCRecipes = (event) => { .id(`tfc:welding/${material.getName()}_double_sheet`) } - const processTFCMetalBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { - const platedBlock = ChemicalHelper.get(tagPrefix, material, 1) - if (platedBlock.isEmpty()) return - - // Декрафт - event.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp()) + const processRods = (tagPrefix, tfcProperty, material, outputMaterial) => { + const rodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (rodItem.isEmpty()) return + + // Декрафт стержня в жидкость + 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`) + } + + const processLongRods = (tagPrefix, tfcProperty, material, outputMaterial) => { + const longRodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (longRodItem.isEmpty()) return + + // Декрафт длинного стержня в жидкость + event.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_long_rod`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержни -> Длинный стержень + event.recipes.tfc.welding(longRodItem, rodItem, rodItem) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_long_rod`) + } + + const processBolts = (tagPrefix, tfcProperty, material, outputMaterial) => { + const boltItem = ChemicalHelper.get(tagPrefix, material, 1) + if (boltItem.isEmpty()) return + + // Болт -> Металл + event.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) + .id(`tfc:heating/metal/${material.getName()}_bolt`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Болт + 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`) + } + + const processScrews = (tagPrefix, tfcProperty, material, outputMaterial) => { + const screwItem = ChemicalHelper.get(tagPrefix, material, 1) + if (screwItem.isEmpty()) return + + // Винт -> Металл + event.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/metal/${material.getName()}_screw`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Винт + event.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_screw`) + } + + const processRings = (tagPrefix, tfcProperty, material, outputMaterial) => { + const ringItem = ChemicalHelper.get(tagPrefix, material, 1) + if (ringItem.isEmpty()) return + + // Кольцо -> Металл + event.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) + .id(`tfc:heating/metal/${material.getName()}_ring`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Кольцо + event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_ring`) + } + + const processBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { + const blockItem = ChemicalHelper.get(tagPrefix, material, 1) + if (blockItem.isEmpty()) return + + // Декрафт блока в жидкость + event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) .id(`tfc:heating/metal/${material.getName()}_block`) + } + + const processTinyDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/tiny_dust/${material.getName()}`) + } + + const processSmallDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/small_dust/${material.getName()}`) + } + + const processDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(144, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/dust/${material.getName()}`) + } + + const processImpureDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(80, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/impure_dust/${material.getName()}`) + } + + const processPurifiedDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(120, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/purified_dust/${material.getName()}`) + } + + const processCrushedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(60, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_ore/${material.getName()}`) + } + + const processCrushedPurifiedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(90, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) + } + + const processCrushedRefinedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(110, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) + } + + const processRichRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/rich_raw/${material.getName()}`) + } + + const processNormalRawore = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/raw/${material.getName()}`) + } + + const processPoorRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/poor_raw/${material.getName()}`) + } + + const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { + const nuggetItem = ChemicalHelper.get(tagPrefix, material, 1) + if (nuggetItem.isEmpty()) return + + event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/nugget/${material.getName()}`) + } + + const processToolSword = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const swordItem = ToolHelper.get(toolType, 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`) + } + + const swordHeadItem = ChemicalHelper.get(headTagPrefix, 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, ingotDoubleItem, ['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`) + } + } + } + + const processToolPickaxe = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const pickaxeItem = ToolHelper.get(toolType, 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`) + + } + + const pickaxeHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + + } + } + + const processToolAxe = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const axeItem = ToolHelper.get(toolType, 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`) + + } + + const axeHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + } + } + + const processToolShovel = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/shovel/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const shovelItem = ToolHelper.get(toolType, 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`) + + } + + const shovelHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + + } + } + + const processToolHoe = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const hoeItem = ToolHelper.get(toolType, 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`) + } + + const hoeHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + + } + } + + const processToolKnife = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/knife/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const knifeItem = ToolHelper.get(toolType, 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`) + } + + const knifeHeadItem = ChemicalHelper.get(headTagPrefix, 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 + + } + } + + const processToolMiningHammer = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return + + // Декрафт инструмента в жидкость + const miningHammerItem = ToolHelper.get(toolType, 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`) + + } + + + const miningHammerHeadItem = ChemicalHelper.get(headTagPrefix, 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, ingotDoubleItem, ['punch_last', 'shrink_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) + + } + } + + const processToolScythe = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/scythe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const scytheItem = ToolHelper.get(toolType, 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`) + } + + const scytheHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + + } + } + + const processToolFile = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + const fileItem = ToolHelper.get(toolType, 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`) + } + + const fileHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + + } + } + + const processToolHammer = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/hammer/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const hammerItem = ToolHelper.get(toolType, 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`) + + } + + const hammerHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + + } + } + + const processToolSaw = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/saw/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const sawItem = ToolHelper.get(toolType, 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`) + + } + + const sawHeadItem = ChemicalHelper.get(headTagPrefix, 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`) + } + + } + } + + const processToolButcheryKnife = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Декрафт инструмента в жидкость + const butcheryKnifeItem = ToolHelper.get(toolType, 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(headTagPrefix, 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, ingotItem, ['punch_last', 'bend_not_last', 'bend_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_knife_butchery_head`) + + } + } + + const processToolSpade = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return + + // Декрафт инструмента в жидкость + const spadeItem = ToolHelper.get(toolType, 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`) + + } + + const spadeHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!spadeHeadItem.isEmpty()) { + + // Крафт оголовья + event.recipes.tfc.anvil(spadeHeadItem, ingotDoubleItem, ['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`) + + } + } + + const processToolPropick = (headTagPrefix, tfcProperty, material, outputMaterial) => { + const propickItem = Item.of(`tfc:metal/propick/${material.getName()}`) + if (propickItem.isEmpty()) return + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(propickItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_propick`) + + const propickHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (propickHeadItem.isEmpty()) return; + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(propickHeadItem, 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(propickHeadItem, '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`) + } + } + + const processToolJavelin = (headTagPrefix, tfcProperty, material, outputMaterial) => { + const javelinItem = Item.of(`tfc:metal/javelin/${material.getName()}`) + if (javelinItem.isEmpty()) return + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(javelinItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_javelin`) + + const javelinHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (javelinHeadItem.isEmpty()) return + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(javelinHeadItem, 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(javelinHeadItem, '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`) + } + } + + const processToolChisel = (headTagPrefix, tfcProperty, material, outputMaterial) => { + const chiselItem = Item.of(`tfc:metal/chisel/${material.getName()}`) + if (chiselItem.isEmpty()) return + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(chiselItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_chisel`) + + const chiselHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (chiselHeadItem.isEmpty()) return + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(chiselHeadItem, 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(chiselHeadItem, '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`) + } + } + + const processToolMace = (headTagPrefix, tfcProperty, material, outputMaterial) => { + const maceItem = Item.of(`tfc:metal/mace/${material.getName()}`) + if (maceItem.isEmpty()) return + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(maceItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_mace`) + + const maceHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (maceHeadItem.isEmpty()) return + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(maceHeadItem, '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(maceHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_mace_head`) + } + + const processToolShield = (tfcProperty, material, outputMaterial) => { + const shieldItem = Item.of(`tfc:metal/shield/${material.getName()}`) + if (maceItem.isEmpty()) return + + // Декрафт щита в жидкость + event.recipes.tfc.heating(shieldItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_shield`) + + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return + + // Щит + event.recipes.tfc.anvil(shieldItem, plateDoubleItem, ['upset_last', 'bend_second_last', 'bend_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_shield`) + } + + const processToolFishingRod = (tfcProperty, material, outputMaterial) => { + const fishingRodItem = Item.of(`tfc:metal/fishing_rod/${material.getName()}`) + if (fishingRodItem.isEmpty()) return + + const fishingRodHeadItem = Item.of(`tfc:metal/fish_hook/${material.getName()}`) + if (fishingRodHeadItem.isEmpty()) return + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(fishingRodHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_fish_hook`) const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) if (plateItem.isEmpty()) return - // Крафт в ассемблере - event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_block`) - .itemInputs(plateItem.copyWithCount(4), '#minecraft:planks') - .itemOutputs(platedBlock) - .duration(300) - .EUt(8) + // Крюк удочки + event.recipes.tfc.anvil(fishingRodHeadItem, plateItem, ['draw_not_last', 'bend_any', 'hit_any']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_fish_hook`) + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(fishingRodItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_fishing_rod`) + } + + const processTuyere = (tfcProperty, material, outputMaterial) => { + const tuyereItem = Item.of(`tfc:metal/tuyere/${material.getName()}`) + if (fishingRodItem.isEmpty()) return + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(tuyereItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_tuyere`) + + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return + + // Фурма + event.recipes.tfc.anvil(tuyereItem, plateDoubleItem, ['bend_last', 'bend_second_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_tuyere`) } - const processTFCMetalStairs = (tagPrefix, tfcProperty, material, outputMaterial) => { - const platedStairBlock = ChemicalHelper.get(tagPrefix, material, 1) - if (platedStairBlock.isEmpty()) return + const processToolTongs = (tfcProperty, material, outputMaterial) => { + // const tongsStack = Item.of(`tfchotornot:tongs/${material.getName()}`) + // const tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`) - // Удаление рецепта через верстак - event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_stairs`}) + // if (tongsStack.isEmpty() && tongPartStack.isEmpty()) return - // Декрафт - event.recipes.tfc.heating(platedStairBlock, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 54)) - .id(`tfc:heating/metal/${material.getName()}_block_stairs`) - - const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) - if (platedBlock.isEmpty()) return - - // Крафт в каттере - event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_stairs`) - .itemInputs(platedBlock.copyWithCount(3)) - .itemOutputs(platedStairBlock) - .duration(300) - .EUt(8) - } - - const processTFCMetalSlabs = (tagPrefix, tfcProperty, material, outputMaterial) => { - const platedSlabBlock = ChemicalHelper.get(tagPrefix, material, 1) - if (platedSlabBlock.isEmpty()) return - - // Удаление рецепта через верстак - event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_slab`}) - - // Декрафт - event.recipes.tfc.heating(platedSlabBlock, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) - .id(`tfc:heating/metal/${material.getName()}_block_slab`) - - const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) - if (platedBlock.isEmpty()) return - - // Крафт в каттере - event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_slab`) - .itemInputs(platedBlock) - .itemOutputs(platedSlabBlock.copyWithCount(2)) - .duration(300) - .EUt(8) + // // Ручка щипцов + // 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()}`) } const processTFCArmor = (tfcProperty, material, outputMaterial) => { - if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) return - const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) if (plateItem.isEmpty()) return @@ -310,847 +1234,70 @@ const registerTFCRecipes = (event) => { //#endregion } - const processTFCTools = (tfcProperty, material, outputMaterial) => { - if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) return - - const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) - if (ingotItem.isEmpty()) return + const processTFCMetalBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedBlock.isEmpty()) return - const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) - if (ingotDoubleItem.isEmpty()) return + // Декрафт + event.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) + .id(`tfc:heating/metal/${material.getName()}_block`) const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) if (plateItem.isEmpty()) return - const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) - if (plateDoubleItem.isEmpty()) return - - //#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()}`, plateDoubleItem, ['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()}`, plateDoubleItem, ['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/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 - - //#region Меч - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) - - // Декрафт инструмента в жидкость - const 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`) - } - - const 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, ingotDoubleItem, ['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 Мясницкий нож - - // Декрафт инструмента в жидкость - const 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`) - - // Крафт оголовья - 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 Молот шахтера - - // Декрафт инструмента в жидкость - const 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`) - - } - - - const 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, ingotDoubleItem, ['punch_last', 'shrink_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) - - } - //#endregion - - //#region Большая лопата - - // Декрафт инструмента в жидкость - const 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`) - - } - - const spadeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material, 1) - if (!spadeHeadItem.isEmpty()) { - - // Крафт оголовья - event.recipes.tfc.anvil(spadeHeadItem, ingotDoubleItem, ['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 - - //#region Кирка - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - const 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`) - - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - } - - const 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 Напильник - - // Декрафт инструмента в жидкость - const 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`) - } - - const 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()}` }) - - // Декрафт инструмента в жидкость - const 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`) - } - - const 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 - - //#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 + // Крафт в ассемблере + event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_block`) + .itemInputs(plateItem.copyWithCount(4), '#minecraft:planks') + .itemOutputs(platedBlock) + .duration(300) + .EUt(8) } - const processRods = (tagPrefix, tfcProperty, material, outputMaterial) => { - const rodItem = ChemicalHelper.get(tagPrefix, material, 1) - if (rodItem.isEmpty()) return - - // Декрафт стержня в жидкость - event.recipes.tfc.heating(rodItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) - .id(`tfc:heating/metal/${material.getName()}_rod`) + const processTFCMetalStairs = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedStairBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedStairBlock.isEmpty()) return - // Слиток -> 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`) + // Удаление рецепта через верстак + event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_stairs`}) + + // Декрафт + event.recipes.tfc.heating(platedStairBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 54)) + .id(`tfc:heating/metal/${material.getName()}_block_stairs`) + + const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) + if (platedBlock.isEmpty()) return + + // Крафт в каттере + event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_stairs`) + .itemInputs(platedBlock.copyWithCount(3)) + .itemOutputs(platedStairBlock) + .duration(300) + .EUt(8) } - const processLongRods = (tagPrefix, tfcProperty, material, outputMaterial) => { - const longRodItem = ChemicalHelper.get(tagPrefix, material, 1) - if (longRodItem.isEmpty()) return + const processTFCMetalSlabs = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedSlabBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedSlabBlock.isEmpty()) return - // Декрафт длинного стержня в жидкость - event.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_long_rod`) + // Удаление рецепта через верстак + event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_slab`}) - const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) - if (rodItem.isEmpty()) return - - // Стержни -> Длинный стержень - event.recipes.tfc.welding(longRodItem, rodItem, rodItem) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_long_rod`) - } - - const processBolts = (tagPrefix, tfcProperty, material, outputMaterial) => { - const boltItem = ChemicalHelper.get(tagPrefix, material, 1) - if (boltItem.isEmpty()) return - - // Болт -> Металл - event.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) - .id(`tfc:heating/metal/${material.getName()}_bolt`) - - const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) - if (rodItem.isEmpty()) return - - // Стержень -> Болт - 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`) - } - - const processScrews = (tagPrefix, tfcProperty, material, outputMaterial) => { - const screwItem = ChemicalHelper.get(tagPrefix, material, 1) - if (screwItem.isEmpty()) return - - // Винт -> Металл - event.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) - .id(`tfc:heating/metal/${material.getName()}_screw`) - - const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) - if (rodItem.isEmpty()) return - - // Стержень -> Винт - event.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_screw`) - } - - const processRings = (tagPrefix, tfcProperty, material, outputMaterial) => { - const ringItem = ChemicalHelper.get(tagPrefix, material, 1) - if (ringItem.isEmpty()) return - - // Кольцо -> Металл - event.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) + // Декрафт + event.recipes.tfc.heating(platedSlabBlock, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) - .id(`tfc:heating/metal/${material.getName()}_ring`) + .id(`tfc:heating/metal/${material.getName()}_block_slab`) - const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) - if (rodItem.isEmpty()) return + const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) + if (platedBlock.isEmpty()) return - // Стержень -> Кольцо - event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_ring`) - - - } - - const processBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { - const blockItem = ChemicalHelper.get(tagPrefix, material, 1) - if (blockItem.isEmpty()) return - - // Декрафт блока в жидкость - event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) - .id(`tfc:heating/metal/${material.getName()}_block`) + // Крафт в каттере + event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_slab`) + .itemInputs(platedBlock) + .itemOutputs(platedSlabBlock.copyWithCount(2)) + .duration(300) + .EUt(8) } const processAnvils = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -1324,7 +1471,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:heating/ore/small_${material.getName()}`) } - const processTFCSmallNativeOres = () => { + const processTFCSmallNativeOres = (tagPrefix, tfcProperty, material, outputMaterial) => { if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) return const oreItem = ChemicalHelper.get(tagPrefix, material, 1) @@ -1336,114 +1483,6 @@ const registerTFCRecipes = (event) => { .id(`tfc:heating/ore/small_native_${material.getName()}`) } - const processTinyDust = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/tiny_dust/${material.getName()}`) - } - - const processSmallDust = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/small_dust/${material.getName()}`) - } - - const processDust = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(144, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/dust/${material.getName()}`) - } - - const processImpureDust = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(80, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/impure_dust/${material.getName()}`) - } - - const processPurifiedDust = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(120, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/purified_dust/${material.getName()}`) - } - - const processCrushedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(60, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_ore/${material.getName()}`) - } - - const processCrushedPurifiedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(90, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) - } - - const processCrushedRefinedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { - const dustItem = ChemicalHelper.get(tagPrefix, material, 1) - if (dustItem.isEmpty()) return - - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(110, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) - } - - const processRichRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { - const oreItem = ChemicalHelper.get(tagPrefix, material, 1) - if (oreItem.isEmpty()) return - - event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/rich_raw/${material.getName()}`) - } - - const processNormalRawore = (tagPrefix, tfcProperty, material, outputMaterial) => { - const oreItem = ChemicalHelper.get(tagPrefix, material, 1) - if (oreItem.isEmpty()) return - - event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/raw/${material.getName()}`) - } - - const processPoorRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { - const oreItem = ChemicalHelper.get(tagPrefix, material, 1) - if (oreItem.isEmpty()) return - - event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/poor_raw/${material.getName()}`) - } - - const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { - const nuggetItem = ChemicalHelper.get(tagPrefix, material, 1) - if (nuggetItem.isEmpty()) return - - event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/nugget/${material.getName()}`) - } - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) @@ -1478,28 +1517,42 @@ const registerTFCRecipes = (event) => { processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) - processTFCArmor(tfcProperty, material, outputMaterial) - processTFCTools(tfcProperty, material, outputMaterial) //todo: Разделить на отдельные методы под каждый инструмент + // 1. Тип инструмента + // 2. Префикс ассоциируемый с текущим предметом. + // 3. Проперти ТФК с нагревом металла и другими полезными проперти. + // 4. Материал из которого состоит объект. + // 5. Материал в который объект должен быть преобразован после разборки. - //todo: передавать еще и молд + (возможно тултайп?) - // processToolSword(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolPickaxe(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolAxe(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolShovel(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolHoe(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolKnife(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolMiningHammer(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolScythe(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolFile(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolHammer(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolSaw(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolButcheryKnife(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolSpade(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolPropick(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolJavelin(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolChisel(TagPrefix.?, tfcProperty, material, outputMaterial) - // processToolMace(TagPrefix.?, tfcProperty, material, outputMaterial) + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, tfcProperty, material, outputMaterial) + processToolPickaxe(GTToolType.PICKAXE, TagPrefix.toolHeadPickaxe, tfcProperty, material, outputMaterial) + processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, tfcProperty, material, outputMaterial) + processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, tfcProperty, material, outputMaterial) + processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, tfcProperty, material, outputMaterial) + processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, tfcProperty, material, outputMaterial) + processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, tfcProperty, material, outputMaterial) + processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, tfcProperty, material, outputMaterial) // because sense dont make sense + processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, tfcProperty, material, outputMaterial) + processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, tfcProperty, material, outputMaterial) + processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, tfcProperty, material, outputMaterial) + processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, tfcProperty, material, outputMaterial) + processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, tfcProperty, material, outputMaterial) + + processToolPropick(TFGTagPrefix.toolHeadPropick, tfcProperty, material, outputMaterial) + processToolJavelin(TFGTagPrefix.toolHeadJavelin, tfcProperty, material, outputMaterial) + processToolChisel(TFGTagPrefix.toolHeadChisel, tfcProperty, material, outputMaterial) + processToolMace(TFGTagPrefix.toolHeadMace, tfcProperty, material, outputMaterial) + processToolShield(tfcProperty, material, outputMaterial) + processToolFishingRod(tfcProperty, material, outputMaterial) + processTuyere(tfcProperty, material, outputMaterial) + processToolTongs(tfcProperty, material, outputMaterial) + } + + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) { + processTFCArmor(tfcProperty, material, outputMaterial) + } + processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) @@ -1509,6 +1562,7 @@ const registerTFCRecipes = (event) => { processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) + processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) } @@ -1529,6 +1583,27 @@ const registerTFCRecipes = (event) => { ]).id('tfg:alloy/tin_alloy') //#endregion + + + + + + + + + + + + + + + + + + + + + } From f86cc21ea862a5dbdb6ee6a55d08616cec3e12e7 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:40:59 +0700 Subject: [PATCH 131/266] Update CHANGELOG.md --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f30426e1..ef365e92e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,14 @@ - True way to hide AE2 facades. - True way to hide chisel and bits bits, yes. - Fix double removing honey liquid from EMI. +- Fixed bug when foods cant root inside EMI (of course not by mod dev (by myself)). +- Now it is impossible to pour liquid from the TFC blast furnace into the GT pipe, which fixes the releated crash. +- Fixed a bug where an item with the last durab broke the ore, then the ore did not dropped out. +- Added recipes for crushing raw ores to crushed ores by workbench. +- Fixed bug when electronic tools run out their durability, the tool breaks up without returning any power unit. +- Alternator multiblock now works as intended. +- Alternator recipes was sligthly nerfed. +- Fixed bug when some items wont display inside EMI. - ... ### Updated mods - ?? From c15145120fe1572453668f243b32e9537b93a5dc Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:41:06 +0700 Subject: [PATCH 132/266] Delete loot.js --- kubejs/server_scripts/gregtech/loot.js | 55 -------------------------- 1 file changed, 55 deletions(-) delete mode 100644 kubejs/server_scripts/gregtech/loot.js diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/gregtech/loot.js deleted file mode 100644 index cff2cc129..000000000 --- a/kubejs/server_scripts/gregtech/loot.js +++ /dev/null @@ -1,55 +0,0 @@ -// priority: 0 - -const registerGregTechLoots = (event) => { - - global.TFC_STONE_TYPES.forEach(stoneTypeName => { - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - if (material.hasProperty(PropertyKey.ORE)) { - - let stoneTypeMaterial = TFGHelpers.getMaterial(stoneTypeName) - let stoneTypeDust = null - - if (stoneTypeMaterial != null) stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1) - - let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) - let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) - let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) - - let crushedOre = ChemicalHelper.get(TagPrefix.crushed, material, 1) - - let blockName = `gtceu:${stoneTypeName}_${material.getName()}_ore` - - 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)) - ) - } - - if (!crushedOre.isEmpty()) { - event.addBlockLootModifier(blockName) - .matchMainHand('#forge:tools/hammers') - .removeLoot(Ingredient.all) - .addWeightedLoot([ - crushedOre.withChance(0.8), - crushedOre.withCount(2).withChance(0.2) - ]); - } - - - } - }) - }) - -} From 0b508e8bad93d9195090aa78f5dbf26271fe273a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:41:10 +0700 Subject: [PATCH 133/266] Update main_server_script.js --- kubejs/server_scripts/main_server_script.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index ce4d0dacf..2dcc8450c 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -137,9 +137,7 @@ ServerEvents.recipes(event => { * Событие регистрации лут-тейблов. * Срабатывает до инициализации рецептов, но после датапаков и тегов. */ -LootJS.modifiers((event) => { - registerGregTechLoots(event) -}) +LootJS.modifiers((event) => {}) /** * Событие регистрации рудных жил GregTech. From b000b56a9c2fe38c2d7a9acba14a927cf0d26547 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:41:45 +0700 Subject: [PATCH 134/266] restore some alternator recipes --- kubejs/server_scripts/gregtech/recipes.js | 59 +++++++++++------------ 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 1a481d5e6..b09b54443 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1,7 +1,36 @@ // priority: 0 const registerGregTechRecipes = (event) => { + + //#region Рецепты электрического генератора + event.recipes.gtceu.alternator('32_rpm_to_32_eu') + .inputStress(256) + .circuit(0) + .rpm(32) + .duration(2) + .EUt(-32) + event.recipes.gtceu.alternator('64_rpm_to_48_eu') + .inputStress(256) + .circuit(1) + .rpm(64) + .duration(2) + .EUt(-48) + + event.recipes.gtceu.alternator('128_rpm_to_64_eu') + .inputStress(256) + .circuit(2) + .rpm(128) + .duration(2) + .EUt(-64) + + event.recipes.gtceu.alternator('256_rpm_to_96_eu') + .inputStress(256) + .circuit(3) + .rpm(256) + .duration(2) + .EUt(-96) + //#endregion } const registerGregTechRecipes1 = (event) => { @@ -1215,37 +1244,7 @@ const registerGregTechRecipes1 = (event) => { //#endregion - //#region Рецепты электрического генератора - event.recipes.gtceu.alternator('32_rpm_to_32_eu') - .inputStress(256) - .circuit(0) - .rpm(32) - .duration(2) - .EUt(-32) - - event.recipes.gtceu.alternator('64_rpm_to_48_eu') - .inputStress(256) - .circuit(1) - .rpm(64) - .duration(2) - .EUt(-48) - - event.recipes.gtceu.alternator('128_rpm_to_64_eu') - .inputStress(256) - .circuit(2) - .rpm(128) - .duration(2) - .EUt(-64) - - event.recipes.gtceu.alternator('256_rpm_to_96_eu') - .inputStress(256) - .circuit(3) - .rpm(256) - .duration(2) - .EUt(-96) - - //#endregion //#region Выход: Фикс выработки пара на ведре лавы From e061c566cc9cef3df0ec1795fd0e0300838402f2 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:42:01 +0700 Subject: [PATCH 135/266] some refactoring of tfc recipes --- kubejs/server_scripts/tfc/recipes.js | 391 +++++++++++++++------------ 1 file changed, 220 insertions(+), 171 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 0aa866f31..a2d595ed7 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -300,6 +300,14 @@ const registerTFCRecipes = (event) => { event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/rich_raw/${material.getName()}`) + + const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedItem.isEmpty()) return + + event.shapeless(crushedItem.copyWithCount(2), [ + '#forge:tools/hammers', + oreItem + ]).id(`tfg:shapeless/rich_raw_${material.getName()}_to_crushed`) } const processNormalRawore = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -309,6 +317,14 @@ const registerTFCRecipes = (event) => { event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/raw/${material.getName()}`) + + const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedItem.isEmpty()) return + + event.shapeless(crushedItem, [ + '#forge:tools/hammers', + oreItem + ]).id(`tfg:shapeless/normal_raw_${material.getName()}_to_crushed`) } const processPoorRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -318,6 +334,15 @@ const registerTFCRecipes = (event) => { event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/poor_raw/${material.getName()}`) + + const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedItem.isEmpty()) return + + event.shapeless(crushedItem, [ + '#forge:tools/hammers', + oreItem, + oreItem + ]).id(`tfg:shapeless/poor_raw_${material.getName()}_to_crushed`) } const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -1420,8 +1445,32 @@ const registerTFCRecipes = (event) => { const chainItem = ChemicalHelper.get(tagPrefix, material, 1) if (chainItem.isEmpty()) return + // Декрафт цепи в жидкость + 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.gtceu.alloy_smelter(`tfg:${material.getName()}_chain_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('gtceu:chain_casting_mold') + .outputItems(barsItem.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + + // Крафт в солидифаере + event.recipes.gtceu.solidifier(`tfg:${material.getName()}_chain_from_fluid`) + .inputFluids(outputMaterial.getFluid(144)) + .notConsumable('gtceu:chain_casting_mold') + .outputItems(barsItem.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + } + + const processBars = (tagPrefix, tfcProperty, material, outputMaterial) => { + const barsItem = ChemicalHelper.get(tagPrefix, material, 1) + if (barsItem.isEmpty()) return + // Декрафт решетки в жидкость - event.recipes.tfc.heating(chainItem, tfcProperty.getMeltTemp()) + event.recipes.tfc.heating(barsItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) .id(`tfc:heating/metal/${material.getName()}_bars`) @@ -1429,7 +1478,7 @@ const registerTFCRecipes = (event) => { if (plateItem.isEmpty()) return // 8x Решетка - event.recipes.tfc.anvil(chainItem.copyWithCount(8), plateItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + event.recipes.tfc.anvil(barsItem.copyWithCount(8), plateItem, ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_bars`) @@ -1437,26 +1486,40 @@ const registerTFCRecipes = (event) => { if (plateDoubleItem.isEmpty()) return // 16x Решетка - event.recipes.tfc.anvil(chainItem.copyWithCount(16), plateDoubleItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + event.recipes.tfc.anvil(barsItem.copyWithCount(16), plateDoubleItem, ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_bars_double`) - const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) - if (ingotItem.isEmpty()) return + const rodtItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodtItem.isEmpty()) return - // Крафт в смелтере - event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_chain_from_ingots`) - .itemInputs(ingotItem) - .notConsumable('gtceu:chain_casting_mold') - .outputItems(chainItem.copyWithCount(9)) - .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) - - // Крафт в солидифаере - event.recipes.gtceu.solidifier(`tfg:${material.getName()}_chain_from_fluid`) - .inputFluids(outputMaterial.getFluid(144)) - .notConsumable('gtceu:chain_casting_mold') - .outputItems(chainItem.copyWithCount(9)) - .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + // Крафт в ассемблере + event.recipes.gtceu.assembler(`tfg:${material.getName()}_bars_from_rods`) + .itemInputs(rodtItem.withCount(3)) + .circuit(3) + .outputItems(barsItem.copyWithCount(4)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 8) + } + + const processBell = (tagPrefix, tfcProperty, material, outputMaterial) => { + if (!material.hasFlag(TFGMaterialFlags.GENERATE_BELL)) return + + const bellItem = ChemicalHelper.get(tagPrefix, material, 1) + + event.recipes.tfc.casting(bellItem, 'tfc:ceramic/bell_mold', outputMaterial.getFluid(144), 1) + .id(`tfc:casting/${material.getName()}_bell`) + + event.recipes.tfc.heating(bellItem, tfcProperty.getMeltTemp()) + .resultFluid(outputMaterial.getFluid(144)) + .id(`tfc:heating/${material.getName()}_bell`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/bell_mold', getFillingNBT(outputMaterial, 144)), + [ + outputMaterial.getFluid(144), + Item.of('tfc:ceramic/bell_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_bell_mold`) } const processTFCSmallOres = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -1495,27 +1558,27 @@ const registerTFCRecipes = (event) => { // 4. Материал в который объект должен быть преобразован после разборки. processIngot(TagPrefix.ingot, tfcProperty, material, outputMaterial) - processBlocks(TagPrefix.block, tfcProperty, material, outputMaterial) - processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) - processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) - processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) - processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) - processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) - processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) - processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) - processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) - processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) - processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) - processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) - processImpureDust(TagPrefix.dustImpure, tfcProperty, material, outputMaterial) - processPurifiedDust(TagPrefix.dustPure, tfcProperty, material, outputMaterial) - processCrushedOre(TagPrefix.crushed, tfcProperty, material, outputMaterial) - processCrushedPurifiedOre(TagPrefix.crushedPurified, tfcProperty, material, outputMaterial) - processCrushedRefinedOre(TagPrefix.crushedRefined, tfcProperty, material, outputMaterial) - processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) - processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) - processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) - processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) + // processBlocks(TagPrefix.block, tfcProperty, material, outputMaterial) + // processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) + // processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) + // processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) + // processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) + // processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) + // processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) + // processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) + // processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) + // processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) + // processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) + // processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) + // processImpureDust(TagPrefix.dustImpure, tfcProperty, material, outputMaterial) + // processPurifiedDust(TagPrefix.dustPure, tfcProperty, material, outputMaterial) + // processCrushedOre(TagPrefix.crushed, tfcProperty, material, outputMaterial) + // processCrushedPurifiedOre(TagPrefix.crushedPurified, tfcProperty, material, outputMaterial) + // processCrushedRefinedOre(TagPrefix.crushedRefined, tfcProperty, material, outputMaterial) + // processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) + // processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) + // processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) + // processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) // 1. Тип инструмента // 2. Префикс ассоциируемый с текущим предметом. @@ -1524,51 +1587,55 @@ const registerTFCRecipes = (event) => { // 5. Материал в который объект должен быть преобразован после разборки. if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, tfcProperty, material, outputMaterial) - processToolPickaxe(GTToolType.PICKAXE, TagPrefix.toolHeadPickaxe, tfcProperty, material, outputMaterial) - processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, tfcProperty, material, outputMaterial) - processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, tfcProperty, material, outputMaterial) - processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, tfcProperty, material, outputMaterial) - processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, tfcProperty, material, outputMaterial) - processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, tfcProperty, material, outputMaterial) - processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, tfcProperty, material, outputMaterial) // because sense dont make sense - processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, tfcProperty, material, outputMaterial) - processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, tfcProperty, material, outputMaterial) - processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, tfcProperty, material, outputMaterial) - processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, tfcProperty, material, outputMaterial) - processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, tfcProperty, material, outputMaterial) + // processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, tfcProperty, material, outputMaterial) + // processToolPickaxe(GTToolType.PICKAXE, TagPrefix.toolHeadPickaxe, tfcProperty, material, outputMaterial) + // processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, tfcProperty, material, outputMaterial) + // processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, tfcProperty, material, outputMaterial) + // processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, tfcProperty, material, outputMaterial) + // processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, tfcProperty, material, outputMaterial) + // processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, tfcProperty, material, outputMaterial) + // processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, tfcProperty, material, outputMaterial) // because sense dont make sense + // processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, tfcProperty, material, outputMaterial) + // processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, tfcProperty, material, outputMaterial) + // processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, tfcProperty, material, outputMaterial) + // processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, tfcProperty, material, outputMaterial) + // processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, tfcProperty, material, outputMaterial) - processToolPropick(TFGTagPrefix.toolHeadPropick, tfcProperty, material, outputMaterial) - processToolJavelin(TFGTagPrefix.toolHeadJavelin, tfcProperty, material, outputMaterial) - processToolChisel(TFGTagPrefix.toolHeadChisel, tfcProperty, material, outputMaterial) - processToolMace(TFGTagPrefix.toolHeadMace, tfcProperty, material, outputMaterial) + // processToolPropick(TFGTagPrefix.toolHeadPropick, tfcProperty, material, outputMaterial) + // processToolJavelin(TFGTagPrefix.toolHeadJavelin, tfcProperty, material, outputMaterial) + // processToolChisel(TFGTagPrefix.toolHeadChisel, tfcProperty, material, outputMaterial) + // processToolMace(TFGTagPrefix.toolHeadMace, tfcProperty, material, outputMaterial) - processToolShield(tfcProperty, material, outputMaterial) - processToolFishingRod(tfcProperty, material, outputMaterial) - processTuyere(tfcProperty, material, outputMaterial) - processToolTongs(tfcProperty, material, outputMaterial) + // processToolShield(tfcProperty, material, outputMaterial) + // processToolFishingRod(tfcProperty, material, outputMaterial) + // processTuyere(tfcProperty, material, outputMaterial) + // processToolTongs(tfcProperty, material, outputMaterial) } if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) { - processTFCArmor(tfcProperty, material, outputMaterial) + // processTFCArmor(tfcProperty, material, outputMaterial) } - processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) - processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) - processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) + // processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) + // processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) + // processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) - processAnvils(TFGTagPrefix.anvil, tfcProperty, material, outputMaterial) - processUnfinishedLamp(TFGTagPrefix.lampUnfinished, tfcProperty, material, outputMaterial) - processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) - processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) - processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) + // processAnvils(TFGTagPrefix.anvil, tfcProperty, material, outputMaterial) + // processUnfinishedLamp(TFGTagPrefix.lampUnfinished, tfcProperty, material, outputMaterial) + // processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) + // processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) + // processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) + // processBars(TFGTagPrefix.bars, tfcProperty, material, outputMaterial) + // processBell(TFGTagPrefix.bell, tfcProperty, material, outputMaterial) - processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) - processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) + // processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) + // processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) } }) //#endregion + //#region Новые сплавы + //#region Сплав красного камня event.recipes.tfc.alloy('tfg:red_alloy', [ TFC.alloyPart('tfg:redstone', 0.15, 0.25), @@ -1583,35 +1650,9 @@ const registerTFCRecipes = (event) => { ]).id('tfg:alloy/tin_alloy') //#endregion + //#endregion - - - - - - - - - - - - - - - - - - - - - -} - -const registerTFCRecipes1 = (event) => { - - - - //#region Удаление рецептов для предметов из Cast Iron + //#region Удаление рецептов для предметов из CastIron // Блок event.remove({ id: `tfc:crafting/metal/block/cast_iron` }) @@ -1659,144 +1700,124 @@ const registerTFCRecipes1 = (event) => { 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 машинах - // Сырая крица -> Укрепленная крица + //#region Сырая крица -> Укрепленная крица event.recipes.gtceu.forge_hammer('tfg/refined_bloom') .itemInputs('tfc:raw_iron_bloom') .itemOutputs('tfc:refined_iron_bloom') .duration(1000) .EUt(4) - // Укрепленная крица -> Слиток кованного железа + //todo: create + + //#endregion + + //#region Укрепленная крица -> Слиток кованного железа event.recipes.gtceu.forge_hammer('tfg/wrought_iron_ingot') .itemInputs('tfc:refined_iron_bloom') .itemOutputs('gtceu:wrought_iron_ingot') .duration(1000) .EUt(4) - // Чугун -> Высокоуглеродная сталь + //todo: create + + //#endregion + + //#region Чугун -> Высокоуглеродная сталь 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таль + //todo: create + + //#endregion + + //#region Высокоуглеродная сталь -> Cталь event.recipes.gtceu.forge_hammer('tfg/steel') .itemInputs('tfc:metal/ingot/high_carbon_steel') .itemOutputs('gtceu:steel_ingot') .duration(1000) .EUt(4) - // Высокоуглеродная черная сталь -> черная сталь + //todo: create + + //#endregion + + //#region Высокоуглеродная черная сталь -> черная сталь 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) - // Высокоуглеродная синяя сталь -> синяя сталь + //todo: create + + //#endregion + + //#region Высокоуглеродная синяя сталь -> синяя сталь 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) - // Высокоуглеродная красная сталь -> красная сталь + //todo: create + + //#endregion + + //#region Высокоуглеродная красная сталь -> красная сталь 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) - // Слабая сталь + Чугун -> Высокоуглеродная черная сталь + //todo: create + + //#endregion + + //#region Слабая сталь + Чугун -> Высокоуглеродная черная сталь 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) - // Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь + //todo: create + + //#endregion + + + //#region Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь 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) - // Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь + //todo: create + + //#endregion + + + //#region Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь 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) + //todo: create + //#endregion + //#endregion + //#region Фикс рецептов металлических предметов // Рецепт Jacks @@ -1868,6 +1889,34 @@ const registerTFCRecipes1 = (event) => { //#endregion + + + + + + + + + + + + + + +} + +const registerTFCRecipes1 = (event) => { + + + + + + + + + + + //#endregion //#region Земля From 1305d8d6a672ae0a4589c73aa1b9d378ef3611cc Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:42:04 +0700 Subject: [PATCH 136/266] Update tags.js --- kubejs/server_scripts/tfc/tags.js | 72 ++++++++++++++++++------------- 1 file changed, 41 insertions(+), 31 deletions(-) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 9d74ed011..5069ac6bb 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -256,7 +256,6 @@ const registerTFCBlockTags = (event) => { }) //#endregion - //#region Отключение ломания блоков установленных на полу event.add('tfcdesirepaths:trample_blacklist', 'tfc:placed_item') //#endregion @@ -402,7 +401,9 @@ const registerTFCFluidTags = (event) => { //#endregion //#region Удаляем TFC металлы из формы колокола - //todo: + event.remove('tfc:usable_in_bell_mold', "tfc:metal/bronze") + event.remove('tfc:usable_in_bell_mold', "tfc:metal/gold") + event.remove('tfc:usable_in_bell_mold', "tfc:metal/brass") //#endregion //#region Добавляем GregTech металлы в формы оголовья @@ -413,7 +414,10 @@ const registerTFCFluidTags = (event) => { //#endregion //#region Удаляем TFC металлы из формы оголовья - //todo: + event.add('tfc:usable_in_tool_head_mold', 'tfc:metal/copper') + event.add('tfc:usable_in_tool_head_mold', 'tfc:metal/bismuth_bronze') + event.add('tfc:usable_in_tool_head_mold', 'tfc:metal/black_bronze') + event.add('tfc:usable_in_tool_head_mold', 'tfc:metal/bronze') //#endregion //#region Добавляем жидкости в чашу @@ -439,34 +443,40 @@ const registerTFCFluidTags = (event) => { //#endregion //#region Скрываем неиспользуемые жидкости - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bismuth') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bismuth_bronze') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bronze') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/black_bronze') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/brass') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/copper') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/gold') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/nickel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/rose_gold') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/silver') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/tin') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/zinc') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/sterling_silver') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/wrought_iron') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/black_steel') - 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 ALL_DISABLED_FLUIDS = [ + 'tfc:metal/bismuth', + 'tfc:metal/bismuth_bronze', + 'tfc:metal/bronze', + 'tfc:metal/black_bronze', + 'tfc:metal/brass', + 'tfc:metal/copper', + 'tfc:metal/gold', + 'tfc:metal/nickel', + 'tfc:metal/rose_gold', + 'tfc:metal/silver', + 'tfc:metal/tin', + 'tfc:metal/zinc', + 'tfc:metal/sterling_silver', + 'tfc:metal/wrought_iron', + 'tfc:metal/steel', + 'tfc:metal/black_steel', + 'tfc:metal/red_steel', + 'tfc:metal/blue_steel', + 'tfc:metal/cast_iron', + 'tfc:metal/pig_iron', + 'tfc:metal/high_carbon_steel', + 'tfc:metal/high_carbon_black_steel', + 'tfc:metal/high_carbon_red_steel', + 'tfc:metal/high_carbon_blue_steel', + 'tfc:metal/weak_steel', + 'tfc:metal/weak_red_steel', + 'tfc:metal/weak_blue_steel', + 'tfc:metal/unknown' + ] + + ALL_DISABLED_FLUIDS.forEach(fluid => { + event.add('c:hidden_from_recipe_viewers', fluid) + }) //#endregion } From 7bc9939c5a0c7dbd08c56939fa7f9b84b89dbfcf Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:42:13 +0700 Subject: [PATCH 137/266] small fix for alternator --- kubejs/startup_scripts/gregtech/machines.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/gregtech/machines.js b/kubejs/startup_scripts/gregtech/machines.js index f8d48cda3..a631a5555 100644 --- a/kubejs/startup_scripts/gregtech/machines.js +++ b/kubejs/startup_scripts/gregtech/machines.js @@ -35,8 +35,9 @@ const registerGregTechMachines = (event) => { .pattern(definition => FactoryBlockPattern.start() .aisle("CWC", "CWC", "#W#") .aisle("CWC", "K#E", "CWC") - .aisle("CWC", "CWA", "#W#") + .aisle("CWI", "CWA", "#W#") .where('A', Predicates.controller(Predicates.blocks(definition.get()))) + .where('I', Predicates.abilities(PartAbility.IMPORT_ITEMS).setExactLimit(1)) .where('W', Predicates.blocks(GTBlocks.COIL_CUPRONICKEL.get())) .where("C", Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get())) .where('#', Predicates.any()) From d1eb3e9c4d66717ec97ce6861438e4a01de57c06 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 7 Sep 2024 15:53:05 +0700 Subject: [PATCH 138/266] oups --- kubejs/server_scripts/gregtech/recipes.js | 2 ++ kubejs/server_scripts/tfc/recipes.js | 40 ++++++++++++----------- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index b09b54443..f20baf29b 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -3,6 +3,8 @@ const registerGregTechRecipes = (event) => { //#region Рецепты электрического генератора + + //todo: nerf event.recipes.gtceu.alternator('32_rpm_to_32_eu') .inputStress(256) .circuit(0) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index a2d595ed7..7d863da4f 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -23,6 +23,15 @@ const registerTFCRecipes = (event) => { return (value % 2 == 0) ? value : Math.round(value) - 1 } + const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { + const nuggetItem = ChemicalHelper.get(tagPrefix, material, 1) + if (nuggetItem.isEmpty()) return + + event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/nugget/${material.getName()}`) + } + const processIngot = (tagPrefix, tfcProperty, material, outputMaterial) => { const ingotItem = ChemicalHelper.get(tagPrefix, material, 1) if (ingotItem.isEmpty()) return @@ -75,6 +84,7 @@ const registerTFCRecipes = (event) => { event.recipes.tfc.welding(doubleIngotItem, ingotItem, ingotItem, tfcProperty.getTier() - 1) .id(`tfc:welding/${material.getName()}_double_ingot`) + // Рецепт через бендер event.recipes.gtceu.bender(`tfg:${material.getName()}_double_ingot`) .itemInputs(ingotItem.copyWithCount(2)) .circuit(6) @@ -99,11 +109,11 @@ const registerTFCRecipes = (event) => { .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_sheet`) - // Крафт в смолоте + // Крафт в молоте event.recipes.gtceu.forge_hammer(`tfg:${material.getName()}_plate_from_double_ingot`) - .inputItems(doubleIngotItem) - .outputItems(plateItem) - .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 4) + .itemInputs(doubleIngotItem) + .itemOutputs(plateItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) } const processDoublePlate = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -345,15 +355,6 @@ const registerTFCRecipes = (event) => { ]).id(`tfg:shapeless/poor_raw_${material.getName()}_to_crushed`) } - const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { - const nuggetItem = ChemicalHelper.get(tagPrefix, material, 1) - if (nuggetItem.isEmpty()) return - - event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/nugget/${material.getName()}`) - } - const processToolSword = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) if (ingotDoubleItem.isEmpty()) return @@ -1124,6 +1125,7 @@ const registerTFCRecipes = (event) => { } const processToolTongs = (tfcProperty, material, outputMaterial) => { + //todo: asd // const tongsStack = Item.of(`tfchotornot:tongs/${material.getName()}`) // const tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`) @@ -1557,16 +1559,17 @@ const registerTFCRecipes = (event) => { // 3. Материал из которого состоит объект. // 4. Материал в который объект должен быть преобразован после разборки. + processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) processIngot(TagPrefix.ingot, tfcProperty, material, outputMaterial) - // processBlocks(TagPrefix.block, tfcProperty, material, outputMaterial) - // processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) - // processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) - // processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) + processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) + processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) + processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) // processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) // processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) // processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) // processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) // processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) + // processBlock(TagPrefix.block, tfcProperty, material, outputMaterial) // processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) // processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) // processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) @@ -1578,8 +1581,7 @@ const registerTFCRecipes = (event) => { // processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) // processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) // processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) - // processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) - + // 1. Тип инструмента // 2. Префикс ассоциируемый с текущим предметом. // 3. Проперти ТФК с нагревом металла и другими полезными проперти. From 4fcbb759427bd007aed354b30d8d1fa3dbd58339 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 8 Sep 2024 00:34:08 +0700 Subject: [PATCH 139/266] more recipes --- kubejs/server_scripts/gregtech/recipes.js | 1447 ++++++++--------- kubejs/server_scripts/tfc/recipes.js | 233 +-- kubejs/startup_scripts/gregtech/blocks.js | 16 + kubejs/startup_scripts/gregtech/machines.js | 2 +- kubejs/startup_scripts/main_startup_script.js | 4 +- 5 files changed, 818 insertions(+), 884 deletions(-) create mode 100644 kubejs/startup_scripts/gregtech/blocks.js diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index f20baf29b..8526f00df 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -2,6 +2,675 @@ const registerGregTechRecipes = (event) => { + //#region Крафты и раскрафты металлических предметов + const makeToolRecipe = (toolType, headTagPrefix, 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(toolHeadItem).copyForgingBonus(), ['#forge:rods/wooden', toolHeadItem]) + .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) + } + } + + const processToolSword = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolPickaxe = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolAxe = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolShovel = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolHoe = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolKnife = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolFile = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolSaw = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolSpade = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolMiningHammer = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolScythe = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolHammer = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + const processToolButcheryKnife = (toolType, headTagPrefix, material) => { + makeToolRecipe(toolType, headTagPrefix, material) + } + + 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.shaped(toolItem, [ + ' A ', + 'BAB', + 'BBB' + ], { + A: usableItem, + B: '#tfc:rock/raw', + }).id(`gtceu:shaped/mortar_${material.getName()}`) + } + + const processNugget = (tagPrefix, material) => { + if (material != TFGMaterials.Unknown) return + + const item = ChemicalHelper.get(tagPrefix, material, 1) + if (item.isEmpty()) return + + event.remove({ id: `gtceu:alloy_smelter/alloy_smelt_${material.getName()}_to_nugget` }) + event.remove({ id: `gtceu:fluid_solidifier/solidify_${material.getName()}_to_nugget` }) + } + + const processIngot = (tagPrefix, material) => { + const ingotItem = 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.recipes.createPressing(plateStack.withChance(0.8), ingotItem) + .id(`tfg:pressing/${material.getName()}_plate`) + + if (!blockStack.isEmpty()) { + + // 9х Слиток -> Блок + event.recipes.createCompacting(blockStack, ingotItem.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 processRod = (tagPrefix, material) => { + const rodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (rodItem.isEmpty()) return + + const ingotItem = ChemicalHelper.get(tagPrefix, material, 1) + if (ingotItem.isEmpty()) return + + if (!material.hasFlag(MaterialFlags.GENERATE_ROD) || material == GTMaterials.Wood) return + if (ingotItem.isEmpty() || rodItem.isEmpty()) return + + // Прокатка стержней + event.custom({ + type: "createaddition:rolling", + input: ingotItem.toJson(), + result: rodItem.toJson() + }).id(`tfg:rolling/${material.getName()}_rod`) + } + + 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 processPoorRawOre = (tagPrefix, material) => { + const poorOreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (poorOreItem.isEmpty()) return + + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedOreItem.isEmpty()) return + + // Бедная сырая руда -> Дробленная руда (75%) + event.recipes.createCrushing([crushedOreItem.withChance(0.75)], poorOreItem) + .processingTime(200) + .id(`tfg:crushing/${material.getName()}_crushed_ore_from_poor_raw_ore`) + } + + const processNormalRawOre = (tagPrefix, material) => { + const normalOreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (normalOreItem.isEmpty()) return + + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedOreItem.isEmpty()) return + + // Нормальная сырая руда -> Дробленная руда + Дробленная руда (20%) + event.recipes.createCrushing([crushedOreItem, crushedOreItem.withChance(0.2)], normalOreItem) + .processingTime(200) + .id(`tfg:crushing/${material.getName()}_crushed_ore_from_normal_raw_ore`) + } + + const processRichRawOre = (tagPrefix, material) => { + const richOreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (richOreItem.isEmpty()) return + + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedOreItem.isEmpty()) return + + // Богатая сырая руда -> Дробленная руда + Дробленная руда (20%) + event.recipes.createCrushing([crushedOreItem, crushedOreItem, crushedOreItem.withChance(0.2)], richOreItem) + .processingTime(200) + .id(`tfg:crushing/${material.getName()}_crushed_ore_from_rich_raw_ore`) + } + + const processCrushedDust = (tagPrefix, material) => { + const crushedDustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (crushedDustItem.isEmpty()) return + + const pureDustItem = ChemicalHelper.get(TagPrefix.dustPure, material, 1) + if (pureDustItem.isEmpty()) return + + // Дробленная руда -> Очищенная руда (90%) + event.recipes.createSplashing(pureDustItem.withChance(0.9), crushedDustItem) + .id(`tfg:splashing/${material.getName()}_purified_ore`) + + // Дробленная руда -> Очищенная руда + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [ + crushedDustItem.toJson() + ], + result: pureDustItem.toJson() + }).id(`tfg:ae_transform/${material.getName()}_purified_ore`) + } + + const processImpureDust = (tagPrefix, material) => { + const impureDustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (impureDustItem.isEmpty()) return + + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) + if (dustItem.isEmpty()) return + + // Грязная пыль -> Пыль (90%) + event.recipes.createSplashing(dustItem.withChance(0.9), 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) + if (pureDust.isEmpty()) return + + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) + if (dustItem.isEmpty()) return + + // Очищенная пыль -> Пыль (90%) + event.recipes.createSplashing(dustItem.withChance(0.9), 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`) + } + + const processDust = (tagPrefix, material) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) + + if (!ingotItem.isEmpty()) { + event.recipes.createCrushing(dustItem, ingotItem) + .processingTime(250) + .id(`tfg:crushing/${material.getName()}_dust`) + } + + if (!gemItem.isEmpty()) { + event.recipes.createMilling(dustItem, gemItem) + .processingTime(200) + .id(`tfg:milling/${material.getName()}_dust`) + } + } + + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + const toolProperty = material.getProperty(PropertyKey.TOOL) + const ingotProperty = material.getProperty(PropertyKey.INGOT) + const oreProperty = material.getProperty(PropertyKey.ORE) + + if (toolProperty != null) { + processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, material) + processToolPickaxe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, material) + processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, material) + processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, material) + processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, material) + processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, material) + processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, material) + processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, material) + processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, material) + processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, material) + processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, material) + processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, material) + processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, material) + processToolMortar(GTToolType.MORTAR, material) + } + + if (ingotProperty != null) { + processNugget(TagPrefix.nugget, material) + processIngot(TagPrefix.ingot, material) + processPlate(TagPrefix.plate, material) + processPlateDouble(TagPrefix.plateDouble, material) + processBlock(TagPrefix.block, material) + processRod(TagPrefix.rod, material) + processRodLong(TagPrefix.rodLong, material) + } + + if (oreProperty != null) { + processPoorRawOre(TFGTagPrefix.poorRawOre, material) + processNormalRawOre(TagPrefix.rawOre, material) + processRichRawOre(TFGTagPrefix.richRawOre, material) + + processCrushedDust(TagPrefix.crushed, material) + processImpureDust(TagPrefix.dustImpure, material) + processPureDust(TagPrefix.dustPure, material) + processDust(TagPrefix.dust, material) + } + + }) + //#endregion + + //#region Раскрафт камня стоунтайпов + // Gabbro + event.recipes.gtceu.centrifuge(`tfg:gabbro_dust_separation`) + .itemInputs('tfg:gabbro_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Titanium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Iron, 3700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Shale + event.recipes.gtceu.centrifuge(`tfg:shale_dust_separation`) + .itemInputs('tfg:shale_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Sodium, 7500, 500) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1500, 500) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 16)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Claystone + event.recipes.gtceu.centrifuge(`tfg:claystone_dust_separation`) + .itemInputs('tfg:claystone_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Aluminium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Hematite, 6700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 5)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Limestone + event.recipes.gtceu.centrifuge(`tfg:limestone_dust_separation`) + .itemInputs('tfg:limestone_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 8700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 36)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Conglomerate + event.recipes.gtceu.centrifuge(`tfg:conglomerate_dust_separation`) + .itemInputs('tfg:conglomerate_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Hematite, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 4700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.TricalciumPhosphate, 3700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 5)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Dolomite + event.recipes.gtceu.centrifuge(`tfg:dolomite_dust_separation`) + .itemInputs('tfg:dolomite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Magnesium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 3700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 16)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Chert + event.recipes.gtceu.centrifuge(`tfg:chert_dust_separation`) + .itemInputs('tfg:chert_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 5700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 24)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Chalk + event.recipes.gtceu.centrifuge(`tfg:chalk_dust_separation`) + .itemInputs('tfg:chalk_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Carbon, 3700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 12)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Rhyolite + event.recipes.gtceu.centrifuge(`tfg:rhyolite_dust_separation`) + .itemInputs('tfg:rhyolite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 8700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 800, 700) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Dacite + event.recipes.gtceu.centrifuge(`tfg:dacite_dust_separation`) + .itemInputs('tfg:dacite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Sodium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 4700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Aluminium, 3700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 150, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 12)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Slate + event.recipes.gtceu.centrifuge(`tfg:slate_dust_separation`) + .itemInputs('tfg:slate_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 780, 480) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 6)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Phyllite + event.recipes.gtceu.centrifuge(`tfg:phyllite_dust_separation`) + .itemInputs('tfg:phyllite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Quartzite, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.CalciumChloride, 1700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 2)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Schist + event.recipes.gtceu.centrifuge(`tfg:schist_dust_separation`) + .itemInputs('tfg:schist_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Mica, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Talc, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Graphite, 4700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 780, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 12)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Gneiss + event.recipes.gtceu.centrifuge(`tfg:gneiss_dust_separation`) + .itemInputs('tfg:gneiss_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Quartzite, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Biotite, 3700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 2)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + //#endregion + + //#region Молды крафты, дубляжи + + // private static void registerExtruderMoldRecipes(Consumer provider) { + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_mining_hammer_head"), + // SHAPE_EXTRUDER_MINING_HAMMER_HEAD.asStack(), + // "Sfh", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_sword_head"), + // SHAPE_EXTRUDER_SWORD_HEAD.asStack(), + // "Shf", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_pickaxe_head"), + // SHAPE_EXTRUDER_PICKAXE_HEAD.asStack(), + // "S ", "hf ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_axe_head"), + // SHAPE_EXTRUDER_AXE_HEAD.asStack(), + // "S ", " fh", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_hoe_head"), + // SHAPE_EXTRUDER_HOE_HEAD.asStack(), + // "S ", " hf", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_scythe_head"), + // SHAPE_EXTRUDER_SCYTHE_HEAD.asStack(), + // "S ", " ", "fh ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_file_head"), + // SHAPE_EXTRUDER_FILE_HEAD.asStack(), + // "S ", " ", "hf ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_hammer_head"), + // SHAPE_EXTRUDER_HAMMER_HEAD.asStack(), + // "Sf ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_saw_head"), + // SHAPE_EXTRUDER_SAW_HEAD.asStack(), + // "Sh ", " f ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_knife_head"), + // SHAPE_EXTRUDER_KNIFE_HEAD.asStack(), + // "S f", " ", " h", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_butchery_head_head"), + // SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD.asStack(), + // "S h", " ", " f", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_shovel_head"), + // SHAPE_EXTRUDER_SHOVEL_HEAD.asStack(), + // "S ", "f ", "h ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_spade_head"), + // SHAPE_EXTRUDER_SPADE_HEAD.asStack(), + // "S ", "f ", " h", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_propick_head"), + // SHAPE_EXTRUDER_PROPICK_HEAD.asStack(), + // "Sxf", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_javelin_head"), + // SHAPE_EXTRUDER_JAVELIN_HEAD.asStack(), + // "S x", "f ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_chisel_head"), + // SHAPE_EXTRUDER_CHISEL_HEAD.asStack(), + // "S ", "xf ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_extruder_mace_head"), + // SHAPE_EXTRUDER_MACE_HEAD.asStack(), + // "S ", " xf", " ", 'S', SHAPE_EMPTY.asStack()); + // } + + // private static void registerCastingMoldRecipes(Consumer provider) { + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_unfinished_lamp"), + // SHAPE_MOLD_UNFINISHED_LAMP.asStack(), + // "Sh ", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_trapdoor"), + // SHAPE_MOLD_TRAPDOOR.asStack(), + // "S h", " ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_chain"), + // SHAPE_MOLD_CHAIN.asStack(), + // "S ", "h ", " ", 'S', SHAPE_EMPTY.asStack()); + // + // VanillaRecipeHelper.addStrictShapedRecipe(provider, + // TFGCore.id("shape_mold_bell"), + // SHAPE_MOLD_BELL.asStack(), + // "S ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); + // } + + //#endregion + + //#region оставшееся под разобрать + + // private static void registerExtruderMoldCopyingRecipes(Consumer provider) { + // for (var shapeMold : TFGItems.SHAPE_EXTRUDERS) { + // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get())) + // .duration(120).EUt(22) + // .notConsumable(shapeMold) + // .inputItems(SHAPE_EMPTY) + // .outputItems(shapeMold) + // .save(provider); + // } + // } + + // private static void registerCastingMoldCopyingRecipes(Consumer provider) { + // for (var shapeMold : TFGItems.SHAPE_MOLDS) { + // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get() + "_casting_mold")) + // .duration(120).EUt(22) + // .notConsumable(shapeMold) + // .inputItems(SHAPE_EMPTY) + // .outputItems(shapeMold) + // .save(provider); + // } + // } + + + // private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { + // var ingotStack = ChemicalHelper.get(ingot, material); + // var doubleIngotStack = ChemicalHelper.get(prefix, material); + // + // EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) + // .EUt(VA[ULV]).duration((int) material.getMass()) + // .inputItems(doubleIngotStack) + // .outputFluids(material.getFluid(288)) + // .save(provider); + // + // MACERATOR_RECIPES.recipeBuilder(TFGCore.id("macerate_" + material.getName() + "_double_ingot")) + // .EUt(VA[ULV]).duration((int) material.getMass()) + // .inputItems(doubleIngotStack) + // .outputItems(dust, material, 2) + // .save(provider); + // } + + + // private static void processToolHead(TagPrefix prefix, Material material, ItemEntry extruderShape, int circuitValue, Consumer consumer) { + // var output = ChemicalHelper.get(prefix, material); + // if (output.isEmpty()) return; + // + // if (material.hasProperty(PropertyKey.INGOT)) { + // EXTRUDER_RECIPES.recipeBuilder(TFGCore.id("extrude_" + material.getName() + "_ingot_to_" + prefix.name().toLowerCase() + "_head")) + // .duration(12).EUt(32) + // .notConsumable(extruderShape) + // .inputItems(ingot, material, (int) (prefix.materialAmount() / GTValues.M)) + // .outputItems(output) + // .save(consumer); + // } else if (material.hasProperty(PropertyKey.GEM)) { + // LASER_ENGRAVER_RECIPES.recipeBuilder(TFGCore.id("engrave_" + material.getName() + "_gem_to_" + prefix.name().toLowerCase() + "_head")) + // .duration(12).EUt(32) + // .circuitMeta(circuitValue) + // .notConsumable(ChemicalHelper.get(TagPrefix.lens, Glass)) + // .inputItems(gem, material, (int) (prefix.materialAmount() / GTValues.M)) + // .outputItems(output) + // .save(consumer); + // } + // } + + + //#endregion + //#region Рецепты электрического генератора //todo: nerf @@ -1288,780 +1957,4 @@ const registerGregTechRecipes1 = (event) => { .itemOutputs('gtceu:sticky_resin') .duration(480) .EUt(7) - - - //#region Рецепты, которые итерируются по всем материалам - - 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) - - 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 - - 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 matAmount = TagPrefix.block.getMaterialAmount(material) / GTValues.M; - - if (material.hasProperty(PropertyKey.INGOT)) - { - if (!plateStack.isEmpty()) { - // Слиток -> Стержень - event.recipes.createPressing(plateStack.withChance(0.8), ingotStack) - .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 -} - - - - - - -// /** -// * Отключение рецепта генерации nugget'ов из слитков, если nugget'а нет. -// */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 3), remap = false) -// private static void tfg$processIngot$gtRecipeBuilder$save$nugget(GTRecipeBuilder instance, Consumer consumer, TagPrefix ingotPrefix, Material material, IngotProperty property) { -// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { -// instance.save(consumer); -// } -// } -// -// /** -// * В GT при добавлении предмета в output или input сразу проверяется empty ли он, -// * чтобы отключить рецепт не хватит просто его не сохранять в некоторых случаях. -// * Если output'а или input'а нет, то нужно будет еще задать условие и какой-то предмет который существует, -// * собственно это мы тут и делаем. -// */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;outputItems(Lcom/gregtechceu/gtceu/api/data/tag/TagPrefix;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;I)Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;", ordinal = 1), remap = false) -// private static GTRecipeBuilder tfg$processIngot$gtRecipeBuilder$outputItems(GTRecipeBuilder instance, TagPrefix orePrefix, Material material, int count) { -// if (!ChemicalHelper.get(TagPrefix.nugget, material).isEmpty()) { -// instance.outputItems(TagPrefix.nugget, material, 9); -// } -// return instance; -// } -// -// /** -// * Отключение генерации рецептов: 2 слитка + молот = пластина (верстак). -// * */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 2), remap = false) -// private static void tfg$processIngot$addShapedRecipe$plate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} -// -// /** -// * Отключение генерации рецептов: 9 слитков -> блок. (Компрессор) -// */ -// @Redirect(method = "processIngot", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder;save(Ljava/util/function/Consumer;)V", ordinal = 5), remap = false) -// private static void tfg$processIngot$gtRecipeBuilder$save$block(GTRecipeBuilder instance, Consumer consumer) {} - -// /** -// * Отключение генерации рецептов: 2 пластины + молот = двойная пластина (верстак). -// * */ -// @Redirect(method = "processPlateDouble", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V"), remap = false) -// private static void tfg$processPlateDouble$vanillaRecipeHelper$addShapedRecipe$doublePlate(Consumer provider, String regName, ItemStack result, Object[] recipe) {} -// -// /** -// * Отключение генерации рецептов: 2 стержня + молот = длинный стержень (верстак). -// * */ -// @Redirect(method = "processLongStick", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 3), remap = false) -// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer provider, String regName, ItemStack result, Object[] recipe) {} - -//public static void init(Consumer provider) { - // registerTFCRockDecompositionRecipes(provider); - // registerExtruderMoldRecipes(provider); - // registerCastingMoldRecipes(provider); - // registerExtruderMoldCopyingRecipes(provider); - // registerCastingMoldCopyingRecipes(provider); - // registerProcessingToolHeadsRecipes(provider); - // registerTagPrefixHandlerRecipes(provider); - // } - - // private static void registerTFCRockDecompositionRecipes(Consumer provider) { - // // Gabbro - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("gabbro_dust_separation")) - // .EUt(VA[MV]).duration(480) - // .inputItems(dust, Gabbro) - // .chancedOutput(dustTiny, Titanium, 6700, 700) - // .chancedOutput(dustTiny, Iron, 3700, 700) - // .chancedOutput(dustTiny, MetalMixture, 1700, 700) - // .save(provider); - // - // // Shale - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("shale_dust_separation")) - // .EUt(VA[MV]).duration(480) - // .inputItems(dust, Shale) - // .chancedOutput(dustTiny, Sodium, 7500, 500) - // .chancedOutput(dustTiny, MetalMixture, 1500, 500) - // .outputFluids(Oxygen.getFluid(16)) - // .save(provider); - // - // // Claystone - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("claystone_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Claystone) - // .chancedOutput(dustTiny, Aluminium, 6700, 700) - // .chancedOutput(dustTiny, Silicon, 6700, 700) - // .chancedOutput(dustTiny, Hematite, 6700, 700) - // .outputFluids(Oxygen.getFluid(5)) - // .save(provider); - // - // // Limestone - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("limestone_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Limestone) - // .chancedOutput(dustTiny, Calcium, 8700, 700) - // .chancedOutput(dustTiny, MetalMixture, 1700, 700) - // .outputFluids(Oxygen.getFluid(36)) - // .save(provider); - // - // // Conglomerate - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("conglomerate_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Conglomerate) - // .chancedOutput(dustTiny, Hematite, 6700, 700) - // .chancedOutput(dustTiny, Silicon, 4700, 700) - // .chancedOutput(dustTiny, TricalciumPhosphate, 3700, 700) - // .outputFluids(Oxygen.getFluid(5)) - // .save(provider); - // - // // Dolomite - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("dolomite_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Dolomite) - // .chancedOutput(dustTiny, Magnesium, 6700, 700) - // .chancedOutput(dustTiny, Calcium, 5700, 700) - // .chancedOutput(dustTiny, MetalMixture, 3700, 700) - // .outputFluids(Oxygen.getFluid(16)) - // .save(provider); - // - // // Chert - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("chert_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Chert) - // .chancedOutput(dustTiny, Silicon, 6700, 700) - // .chancedOutput(dustTiny, MetalMixture, 5700, 700) - // .outputFluids(Oxygen.getFluid(24)) - // .save(provider); - // - // // Chalk - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("chalk_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Chalk) - // .chancedOutput(dustTiny, Calcium, 6700, 700) - // .chancedOutput(dustTiny, Carbon, 3700, 700) - // .chancedOutput(dustTiny, MetalMixture, 1700, 700) - // .outputFluids(Oxygen.getFluid(12)) - // .save(provider); - // - // // Rhyolite - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("rhyolite_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Rhyolite) - // .chancedOutput(dustTiny, SiliconDioxide, 8700, 700) - // .chancedOutput(dustTiny, MetalMixture, 800, 700) - // .save(provider); - // - // // Dacite - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("dacite_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Dacite) - // .chancedOutput(dustTiny, Sodium, 6700, 700) - // .chancedOutput(dustTiny, Calcium, 5700, 700) - // .chancedOutput(dustTiny, SiliconDioxide, 4700, 700) - // .chancedOutput(dustTiny, Aluminium, 3700, 700) - // .chancedOutput(dustTiny, MetalMixture, 150, 700) - // .outputFluids(Oxygen.getFluid(12)) - // .save(provider); - // - // // Slate - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("slate_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Slate) - // .chancedOutput(dustTiny, MetalMixture, 780, 480) - // .outputFluids(Oxygen.getFluid(6)) - // .save(provider); - // - // // Phyllite - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("phyllite_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Phyllite) - // .chancedOutput(dustTiny, Quartzite, 5700, 700) - // .chancedOutput(dustTiny, CalciumChloride, 1700, 700) - // .outputFluids(Oxygen.getFluid(2)) - // .save(provider); - // - // // Schist - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("schist_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Schist) - // .chancedOutput(dustTiny, Mica, 6700, 700) - // .chancedOutput(dustTiny, Talc, 5700, 700) - // .chancedOutput(dustTiny, Graphite, 4700, 700) - // .chancedOutput(dustTiny, MetalMixture, 780, 700) - // .outputFluids(Oxygen.getFluid(12)) - // .save(provider); - // - // // Gneiss - // CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("gneiss_dust_separation")) - // .duration(480).EUt(VA[MV]) - // .inputItems(dust, Gneiss) - // .chancedOutput(dustTiny, Quartzite, 6700, 700) - // .chancedOutput(dustTiny, Biotite, 3700, 700) - // .outputFluids(Oxygen.getFluid(2)) - // .save(provider); - // } - - // private static void registerExtruderMoldRecipes(Consumer provider) { - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_mining_hammer_head"), - // SHAPE_EXTRUDER_MINING_HAMMER_HEAD.asStack(), - // "Sfh", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_sword_head"), - // SHAPE_EXTRUDER_SWORD_HEAD.asStack(), - // "Shf", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_pickaxe_head"), - // SHAPE_EXTRUDER_PICKAXE_HEAD.asStack(), - // "S ", "hf ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_axe_head"), - // SHAPE_EXTRUDER_AXE_HEAD.asStack(), - // "S ", " fh", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_hoe_head"), - // SHAPE_EXTRUDER_HOE_HEAD.asStack(), - // "S ", " hf", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_scythe_head"), - // SHAPE_EXTRUDER_SCYTHE_HEAD.asStack(), - // "S ", " ", "fh ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_file_head"), - // SHAPE_EXTRUDER_FILE_HEAD.asStack(), - // "S ", " ", "hf ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_hammer_head"), - // SHAPE_EXTRUDER_HAMMER_HEAD.asStack(), - // "Sf ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_saw_head"), - // SHAPE_EXTRUDER_SAW_HEAD.asStack(), - // "Sh ", " f ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_knife_head"), - // SHAPE_EXTRUDER_KNIFE_HEAD.asStack(), - // "S f", " ", " h", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_butchery_head_head"), - // SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD.asStack(), - // "S h", " ", " f", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_shovel_head"), - // SHAPE_EXTRUDER_SHOVEL_HEAD.asStack(), - // "S ", "f ", "h ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_spade_head"), - // SHAPE_EXTRUDER_SPADE_HEAD.asStack(), - // "S ", "f ", " h", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_propick_head"), - // SHAPE_EXTRUDER_PROPICK_HEAD.asStack(), - // "Sxf", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_javelin_head"), - // SHAPE_EXTRUDER_JAVELIN_HEAD.asStack(), - // "S x", "f ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_chisel_head"), - // SHAPE_EXTRUDER_CHISEL_HEAD.asStack(), - // "S ", "xf ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_mace_head"), - // SHAPE_EXTRUDER_MACE_HEAD.asStack(), - // "S ", " xf", " ", 'S', SHAPE_EMPTY.asStack()); - // } - - // private static void registerCastingMoldRecipes(Consumer provider) { - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_unfinished_lamp"), - // SHAPE_MOLD_UNFINISHED_LAMP.asStack(), - // "Sh ", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_trapdoor"), - // SHAPE_MOLD_TRAPDOOR.asStack(), - // "S h", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_chain"), - // SHAPE_MOLD_CHAIN.asStack(), - // "S ", "h ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_bell"), - // SHAPE_MOLD_BELL.asStack(), - // "S ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); - // } - - // private static void registerExtruderMoldCopyingRecipes(Consumer provider) { - // for (var shapeMold : TFGItems.SHAPE_EXTRUDERS) { - // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get())) - // .duration(120).EUt(22) - // .notConsumable(shapeMold) - // .inputItems(SHAPE_EMPTY) - // .outputItems(shapeMold) - // .save(provider); - // } - // } - - // private static void registerCastingMoldCopyingRecipes(Consumer provider) { - // for (var shapeMold : TFGItems.SHAPE_MOLDS) { - // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get() + "_casting_mold")) - // .duration(120).EUt(22) - // .notConsumable(shapeMold) - // .inputItems(SHAPE_EMPTY) - // .outputItems(shapeMold) - // .save(provider); - // } - // } - - - - // private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var ingotStack = ChemicalHelper.get(ingot, material); - // var doubleIngotStack = ChemicalHelper.get(prefix, material); - // - // EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) - // .EUt(VA[ULV]).duration((int) material.getMass()) - // .inputItems(doubleIngotStack) - // .outputFluids(material.getFluid(288)) - // .save(provider); - // - // MACERATOR_RECIPES.recipeBuilder(TFGCore.id("macerate_" + material.getName() + "_double_ingot")) - // .EUt(VA[ULV]).duration((int) material.getMass()) - // .inputItems(doubleIngotStack) - // .outputItems(dust, material, 2) - // .save(provider); - // } - - - - - - - - // private static void proccessBell(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var bell = ChemicalHelper.get(prefix, material); - // var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial(); - // - // - // ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_bell_from_ingots")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 4) - // .inputItems(ingot, outputMaterial) - // .notConsumable(SHAPE_MOLD_BELL) - // .outputItems(bell) - // .save(provider); - // - // FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_bell_from_fluid")) - // .EUt(VA[ULV]).duration((int) material.getMass() * 4) - // .inputFluids(outputMaterial.getFluid(144)) - // .notConsumable(SHAPE_MOLD_BELL) - // .outputItems(bell) - // .save(provider); - // } - - // private static void processToolHead(TagPrefix prefix, Material material, ItemEntry extruderShape, int circuitValue, Consumer consumer) { - // var output = ChemicalHelper.get(prefix, material); - // if (output.isEmpty()) return; - // - // if (material.hasProperty(PropertyKey.INGOT)) { - // EXTRUDER_RECIPES.recipeBuilder(TFGCore.id("extrude_" + material.getName() + "_ingot_to_" + prefix.name().toLowerCase() + "_head")) - // .duration(12).EUt(32) - // .notConsumable(extruderShape) - // .inputItems(ingot, material, (int) (prefix.materialAmount() / GTValues.M)) - // .outputItems(output) - // .save(consumer); - // } else if (material.hasProperty(PropertyKey.GEM)) { - // LASER_ENGRAVER_RECIPES.recipeBuilder(TFGCore.id("engrave_" + material.getName() + "_gem_to_" + prefix.name().toLowerCase() + "_head")) - // .duration(12).EUt(32) - // .circuitMeta(circuitValue) - // .notConsumable(ChemicalHelper.get(TagPrefix.lens, Glass)) - // .inputItems(gem, material, (int) (prefix.materialAmount() / GTValues.M)) - // .outputItems(output) - // .save(consumer); - // } - // } - - - /** - * Замена ванильного камня в рецепте ступки на тфк камень. - */ -// @Redirect(method = "registerMortarRecipes", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V"), remap = false) -// private static void tfg$registerMortarRecipes$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// addToolRecipe(provider, material, GTToolType.MORTAR, false, -// " I ", "SIS", "SSS", -// 'I', new UnificationEntry(material.hasProperty(PropertyKey.GEM) ? TagPrefix.gem : TagPrefix.ingot, material), -// 'S', TFGTags.Items.RawRockBlocks); -// } - - /** - * Отключение рецептов MiningHammer, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 0), remap = false) -// private static void tfg$processMiningHammer$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer); -// else -// new TFGAdvancedShapedToolRecipeBuilder("mining_hammer_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadMiningHammer, material)) -// .output(ToolHelper.get(GTToolType.MINING_HAMMER, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Spade, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 1), remap = false) -// private static void processSpade$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.SPADE, TFGTagPrefix.toolHeadSpade); -// else -// new TFGAdvancedShapedToolRecipeBuilder("spade_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material)) -// .output(ToolHelper.get(GTToolType.SPADE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Saw, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 2), remap = false) -// private static void tfg$processSaw$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.SAW, TFGTagPrefix.toolHeadSaw); -// else -// new TFGAdvancedShapedToolRecipeBuilder("saw_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSaw, material)) -// .output(ToolHelper.get(GTToolType.SAW, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Axe, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 3), remap = false) -// private static void tfg$processAxe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.AXE, TFGTagPrefix.toolHeadAxe); -// else -// new TFGAdvancedShapedToolRecipeBuilder("axe_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadAxe, material)) -// .output(ToolHelper.get(GTToolType.AXE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Hoe, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 4), remap = false) -// private static void tfg$processHoe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.HOE, TFGTagPrefix.toolHeadHoe); -// else -// new TFGAdvancedShapedToolRecipeBuilder("hoe_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadHoe, material)) -// .output(ToolHelper.get(GTToolType.HOE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Pickaxe, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 5), remap = false) -// private static void tfg$processPickaxe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe); -// else -// new TFGAdvancedShapedToolRecipeBuilder("pickaxe_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadPickaxe, material)) -// .output(ToolHelper.get(GTToolType.PICKAXE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Scythe, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 6), remap = false) -// private static void tfg$processScythe$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe); -// else -// new TFGAdvancedShapedToolRecipeBuilder("scythe_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadScythe, material)) -// .output(ToolHelper.get(GTToolType.SCYTHE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Shovel, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 7), remap = false) -// private static void tfg$processShovel$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel); -// else -// new TFGAdvancedShapedToolRecipeBuilder("shovel_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadShovel, material)) -// .output(ToolHelper.get(GTToolType.SHOVEL, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Sword, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 8), remap = false) -// private static void tfg$processSword$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.SWORD, TFGTagPrefix.toolHeadSword); -// else -// new TFGAdvancedShapedToolRecipeBuilder("sword_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material)) -// .output(ToolHelper.get(GTToolType.SWORD, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Hammer, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 9), remap = false) -// private static void tfg$processHardHammer$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer); -// else -// new TFGAdvancedShapedToolRecipeBuilder("hammer_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadHammer, material)) -// .output(ToolHelper.get(GTToolType.HARD_HAMMER, material)) -// .save(provider); -// } - - /** - * Отключение рецептов File, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 10), remap = false) -// private static void tfg$processFile$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.FILE, TFGTagPrefix.toolHeadFile); -// else -// new TFGAdvancedShapedToolRecipeBuilder("file_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadFile, material)) -// .output(ToolHelper.get(GTToolType.FILE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов Knife, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 11), remap = false) -// private static void tfg$processKnife$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife); -// else -// new TFGAdvancedShapedToolRecipeBuilder("knife_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material)) -// .output(ToolHelper.get(GTToolType.KNIFE, material)) -// .save(provider); -// } - - /** - * Отключение рецептов ButcheryKnife, только для металлов, которые дублирует TFC. - */ -// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 13), remap = false) -// private static void tfg$processButcheryKnife$toolRecipeHandler$addToolRecipe(Consumer provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) { -// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) -// tfg$addToolRecipe(provider, material, GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife); -// else -// new TFGAdvancedShapedToolRecipeBuilder("butchery_knife_" + material.getName()) -// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadButcheryKnife, material)) -// .output(ToolHelper.get(GTToolType.BUTCHERY_KNIFE, material)) -// .save(provider); -// } - -// @Unique -// private static void tfg$addToolRecipe(Consumer provider, Material material, GTToolType toolType, TagPrefix tagPrefix) { -// addToolRecipe(provider, material, toolType, false, "H", "S", 'H', new UnificationEntry(tagPrefix, material), 'S', TFGTags.Items.WoodenSticks); -// } \ No newline at end of file +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 7d863da4f..40d0402b3 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -143,6 +143,9 @@ const registerTFCRecipes = (event) => { .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) .id(`tfc:heating/metal/${material.getName()}_rod`) + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + // Слиток -> 2 Стержня event.recipes.tfc.anvil(rodItem.withCount(2), ingotItem, ['bend_last', 'draw_second_last', 'draw_third_last']) .tier(tfcProperty.getTier()) @@ -221,14 +224,14 @@ const registerTFCRecipes = (event) => { .id(`tfc:anvil/${material.getName()}_ring`) } - const processBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { + const processBlock = (tagPrefix, tfcProperty, material, outputMaterial) => { const blockItem = ChemicalHelper.get(tagPrefix, material, 1) if (blockItem.isEmpty()) return // Декрафт блока в жидкость event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) - .id(`tfc:heating/metal/${material.getName()}_block`) + .id(`tfc:heating/metal/${material.getName()}_storage_block`) } const processTinyDust = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -308,7 +311,7 @@ const registerTFCRecipes = (event) => { if (oreItem.isEmpty()) return event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/rich_raw/${material.getName()}`) const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) @@ -325,7 +328,7 @@ const registerTFCRecipes = (event) => { if (oreItem.isEmpty()) return event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/raw/${material.getName()}`) const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) @@ -342,7 +345,7 @@ const registerTFCRecipes = (event) => { if (oreItem.isEmpty()) return event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/poor_raw/${material.getName()}`) const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) @@ -356,7 +359,7 @@ const registerTFCRecipes = (event) => { } const processToolSword = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { - const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + const ingotDoubleItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) if (ingotDoubleItem.isEmpty()) return // Крафт инструмента @@ -392,7 +395,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_sword_blade`) event.recipes.create.filling( - Item.of('tfc:ceramic/sword_blade_mold', getFillingNBT(outputMaterial, 288)), + Item.of('tfc:ceramic/sword_blade_mold', getFluidTankAsNBT(outputMaterial, 288)), [ Fluid.of(outputMaterial.getFluid(), 288), Item.of('tfc:ceramic/sword_blade_mold').strongNBT() @@ -440,7 +443,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_pickaxe_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/pickaxe_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/pickaxe_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/pickaxe_head_mold').strongNBT() @@ -488,7 +491,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_axe_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/axe_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/axe_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/axe_head_mold').strongNBT() @@ -536,7 +539,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_shovel_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/shovel_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/shovel_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/shovel_head_mold').strongNBT() @@ -583,7 +586,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_hoe_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/hoe_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/hoe_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/hoe_head_mold').strongNBT() @@ -630,7 +633,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_knife_blade`) event.recipes.create.filling( - Item.of('tfc:ceramic/knife_blade_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/knife_blade_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/knife_blade_mold').strongNBT() @@ -655,7 +658,7 @@ const registerTFCRecipes = (event) => { } const processToolMiningHammer = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { - const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + const ingotDoubleItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) if (ingotDoubleItem.isEmpty()) return // Декрафт инструмента в жидкость @@ -723,7 +726,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_scythe_blade`) event.recipes.create.filling( - Item.of('tfc:ceramic/scythe_blade_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/scythe_blade_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/scythe_blade_mold').strongNBT() @@ -801,7 +804,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_hammer_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/hammer_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/hammer_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/hammer_head_mold').strongNBT() @@ -850,7 +853,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_saw_blade`) event.recipes.create.filling( - Item.of('tfc:ceramic/saw_blade_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/saw_blade_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/saw_blade_mold').strongNBT() @@ -894,7 +897,7 @@ const registerTFCRecipes = (event) => { } const processToolSpade = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { - const ingotDoubleItem = ChemicalHelper.get(TagPrefix.ingotDouble, material, 1) + const ingotDoubleItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) if (ingotDoubleItem.isEmpty()) return // Декрафт инструмента в жидкость @@ -949,7 +952,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_propick_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/propick_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/propick_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/propick_head_mold').strongNBT() @@ -982,7 +985,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_javelin_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/javelin_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/javelin_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/javelin_head_mold').strongNBT() @@ -1015,7 +1018,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_chisel_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/chisel_head_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/chisel_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/chisel_head_mold').strongNBT() @@ -1043,7 +1046,7 @@ const registerTFCRecipes = (event) => { .id(`tfc:casting/${material.getName()}_mace_head`) event.recipes.create.filling( - Item.of('tfc:ceramic/mace_head_mold', getFillingNBT(outputMaterial, 288)), + Item.of('tfc:ceramic/mace_head_mold', getFluidTankAsNBT(outputMaterial, 288)), [ Fluid.of(outputMaterial.getFluid(), 288), Item.of('tfc:ceramic/mace_head_mold').strongNBT() @@ -1060,7 +1063,7 @@ const registerTFCRecipes = (event) => { const processToolShield = (tfcProperty, material, outputMaterial) => { const shieldItem = Item.of(`tfc:metal/shield/${material.getName()}`) - if (maceItem.isEmpty()) return + if (shieldItem.isEmpty()) return // Декрафт щита в жидкость event.recipes.tfc.heating(shieldItem, tfcProperty.getMeltTemp()) @@ -1107,7 +1110,7 @@ const registerTFCRecipes = (event) => { const processTuyere = (tfcProperty, material, outputMaterial) => { const tuyereItem = Item.of(`tfc:metal/tuyere/${material.getName()}`) - if (fishingRodItem.isEmpty()) return + if (tuyereItem.isEmpty()) return // Декрафт инструмента в жидкость event.recipes.tfc.heating(tuyereItem, tfcProperty.getMeltTemp()) @@ -1342,15 +1345,15 @@ const registerTFCRecipes = (event) => { // Крафт в смелтере event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_anvil_from_ingots`) .itemInputs(ingotItem.copyWithCount(14)) - .notConsumable('gtceu:anvil_casting_mold') - .outputItems(anvilItem) + .notConsumable('tfg:anvil_casting_mold') + .itemOutputs(anvilItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) // Крафт в солидифаере - event.recipes.gtceu.solidifier(`tfg:${material.getName()}_anvil_from_fluid`) - .inputFluids(outputMaterial.getFluid(2016)) - .notConsumable('gtceu:anvil_casting_mold') - .outputItems(anvilItem) + event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_anvil_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 2016)) + .notConsumable('tfg:anvil_casting_mold') + .itemOutputs(anvilItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) } @@ -1369,15 +1372,15 @@ const registerTFCRecipes = (event) => { // Крафт в смелтере event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_unfinished_lamp_from_ingots`) .itemInputs(ingotItem) - .notConsumable('gtceu:lamp_casting_mold') - .outputItems(lampUnfinishedItem) + .notConsumable('tfg:lamp_casting_mold') + .itemOutputs(lampUnfinishedItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) // Крафт в солидифаере - event.recipes.gtceu.solidifier(`tfg:${material.getName()}_unfinished_lamp_from_fluid`) - .inputFluids(outputMaterial.getFluid(144)) - .notConsumable('gtceu:lamp_casting_mold') - .outputItems(lampUnfinishedItem) + event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_unfinished_lamp_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) + .notConsumable('tfg:lamp_casting_mold') + .itemOutputs(lampUnfinishedItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) } @@ -1397,14 +1400,14 @@ const registerTFCRecipes = (event) => { event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp`) .itemInputs(lampUnfinishedItem, 'tfc:lamp_glass') .circuit(12) - .outputItems(lampItem) + .itemOutputs(lampItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 7) event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp_from_liquid`) .itemInputs(lampUnfinishedItem) .inputFluids(GTMaterials.Glass.getFluid(576)) .circuit(13) - .outputItems(lampItem) + .itemOutputs(lampItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) } @@ -1431,15 +1434,15 @@ const registerTFCRecipes = (event) => { // Крафт в смелтере event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_trapdoor_from_ingots`) .itemInputs(ingotItem) - .notConsumable('gtceu:trapdoor_casting_mold') - .outputItems(trapdoorItem) + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs(trapdoorItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) // Крафт в солидифаере - event.recipes.gtceu.solidifier(`tfg:${material.getName()}_trapdoor_from_fluid`) - .inputFluids(outputMaterial.getFluid(144)) - .notConsumable('gtceu:trapdoor_casting_mold') - .outputItems(trapdoorItem) + event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_trapdoor_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs(trapdoorItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) } @@ -1452,18 +1455,21 @@ const registerTFCRecipes = (event) => { .resultFluid(Fluid.of(outputMaterial.getFluid(), 9)) .id(`tfc:heating/metal/${material.getName()}_chain`) + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + // Крафт в смелтере event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_chain_from_ingots`) .itemInputs(ingotItem) - .notConsumable('gtceu:chain_casting_mold') - .outputItems(barsItem.copyWithCount(9)) + .notConsumable('tfg:chain_casting_mold') + .itemOutputs(chainItem.copyWithCount(9)) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) // Крафт в солидифаере - event.recipes.gtceu.solidifier(`tfg:${material.getName()}_chain_from_fluid`) - .inputFluids(outputMaterial.getFluid(144)) - .notConsumable('gtceu:chain_casting_mold') - .outputItems(barsItem.copyWithCount(9)) + event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_chain_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) + .notConsumable('tfg:chain_casting_mold') + .itemOutputs(chainItem.copyWithCount(9)) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) } @@ -1499,7 +1505,7 @@ const registerTFCRecipes = (event) => { event.recipes.gtceu.assembler(`tfg:${material.getName()}_bars_from_rods`) .itemInputs(rodtItem.withCount(3)) .circuit(3) - .outputItems(barsItem.copyWithCount(4)) + .itemOutputs(barsItem.copyWithCount(4)) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 8) } @@ -1508,20 +1514,37 @@ const registerTFCRecipes = (event) => { const bellItem = ChemicalHelper.get(tagPrefix, material, 1) - event.recipes.tfc.casting(bellItem, 'tfc:ceramic/bell_mold', outputMaterial.getFluid(144), 1) + event.recipes.tfc.casting(bellItem, 'tfc:ceramic/bell_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) .id(`tfc:casting/${material.getName()}_bell`) event.recipes.tfc.heating(bellItem, tfcProperty.getMeltTemp()) - .resultFluid(outputMaterial.getFluid(144)) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .id(`tfc:heating/${material.getName()}_bell`) event.recipes.create.filling( - Item.of('tfc:ceramic/bell_mold', getFillingNBT(outputMaterial, 144)), + Item.of('tfc:ceramic/bell_mold', getFluidTankAsNBT(outputMaterial, 144)), [ - outputMaterial.getFluid(144), + Fluid.of(outputMaterial.getFluid(), 144), Item.of('tfc:ceramic/bell_mold').strongNBT() ] ).id(`tfg:tfc/filling/${material.getName()}_bell_mold`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт в смелтере + event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_bell_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('tfg:bell_casting_mold') + .itemOutputs(bellItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 8) + + // Крафт в солидифаере + event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_bell_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) + .notConsumable('tfg:bell_casting_mold') + .itemOutputs(bellItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 8) } const processTFCSmallOres = (tagPrefix, tfcProperty, material, outputMaterial) => { @@ -1564,23 +1587,23 @@ const registerTFCRecipes = (event) => { processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) - // processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) - // processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) - // processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) - // processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) - // processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) - // processBlock(TagPrefix.block, tfcProperty, material, outputMaterial) - // processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) - // processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) - // processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) - // processImpureDust(TagPrefix.dustImpure, tfcProperty, material, outputMaterial) - // processPurifiedDust(TagPrefix.dustPure, tfcProperty, material, outputMaterial) - // processCrushedOre(TagPrefix.crushed, tfcProperty, material, outputMaterial) - // processCrushedPurifiedOre(TagPrefix.crushedPurified, tfcProperty, material, outputMaterial) - // processCrushedRefinedOre(TagPrefix.crushedRefined, tfcProperty, material, outputMaterial) - // processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) - // processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) - // processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) + processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) + processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) + processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) + processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) + processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) + processBlock(TagPrefix.block, tfcProperty, material, outputMaterial) + processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) + processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) + processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) + processImpureDust(TagPrefix.dustImpure, tfcProperty, material, outputMaterial) + processPurifiedDust(TagPrefix.dustPure, tfcProperty, material, outputMaterial) + processCrushedOre(TagPrefix.crushed, tfcProperty, material, outputMaterial) + processCrushedPurifiedOre(TagPrefix.crushedPurified, tfcProperty, material, outputMaterial) + processCrushedRefinedOre(TagPrefix.crushedRefined, tfcProperty, material, outputMaterial) + processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) + processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) + processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) // 1. Тип инструмента // 2. Префикс ассоциируемый с текущим предметом. @@ -1589,49 +1612,49 @@ const registerTFCRecipes = (event) => { // 5. Материал в который объект должен быть преобразован после разборки. if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - // processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, tfcProperty, material, outputMaterial) - // processToolPickaxe(GTToolType.PICKAXE, TagPrefix.toolHeadPickaxe, tfcProperty, material, outputMaterial) - // processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, tfcProperty, material, outputMaterial) - // processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, tfcProperty, material, outputMaterial) - // processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, tfcProperty, material, outputMaterial) - // processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, tfcProperty, material, outputMaterial) - // processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, tfcProperty, material, outputMaterial) - // processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, tfcProperty, material, outputMaterial) // because sense dont make sense - // processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, tfcProperty, material, outputMaterial) - // processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, tfcProperty, material, outputMaterial) - // processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, tfcProperty, material, outputMaterial) - // processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, tfcProperty, material, outputMaterial) - // processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, tfcProperty, material, outputMaterial) + processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, tfcProperty, material, outputMaterial) + processToolPickaxe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, tfcProperty, material, outputMaterial) + processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, tfcProperty, material, outputMaterial) + processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, tfcProperty, material, outputMaterial) + processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, tfcProperty, material, outputMaterial) + processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, tfcProperty, material, outputMaterial) + processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, tfcProperty, material, outputMaterial) + processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, tfcProperty, material, outputMaterial) // because sense dont make sense + processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, tfcProperty, material, outputMaterial) + processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, tfcProperty, material, outputMaterial) + processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, tfcProperty, material, outputMaterial) + processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, tfcProperty, material, outputMaterial) + processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, tfcProperty, material, outputMaterial) - // processToolPropick(TFGTagPrefix.toolHeadPropick, tfcProperty, material, outputMaterial) - // processToolJavelin(TFGTagPrefix.toolHeadJavelin, tfcProperty, material, outputMaterial) - // processToolChisel(TFGTagPrefix.toolHeadChisel, tfcProperty, material, outputMaterial) - // processToolMace(TFGTagPrefix.toolHeadMace, tfcProperty, material, outputMaterial) + processToolPropick(TFGTagPrefix.toolHeadPropick, tfcProperty, material, outputMaterial) + processToolJavelin(TFGTagPrefix.toolHeadJavelin, tfcProperty, material, outputMaterial) + processToolChisel(TFGTagPrefix.toolHeadChisel, tfcProperty, material, outputMaterial) + processToolMace(TFGTagPrefix.toolHeadMace, tfcProperty, material, outputMaterial) - // processToolShield(tfcProperty, material, outputMaterial) - // processToolFishingRod(tfcProperty, material, outputMaterial) - // processTuyere(tfcProperty, material, outputMaterial) - // processToolTongs(tfcProperty, material, outputMaterial) + processToolShield(tfcProperty, material, outputMaterial) + processToolFishingRod(tfcProperty, material, outputMaterial) + processTuyere(tfcProperty, material, outputMaterial) + processToolTongs(tfcProperty, material, outputMaterial) } if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) { - // processTFCArmor(tfcProperty, material, outputMaterial) + processTFCArmor(tfcProperty, material, outputMaterial) } - // processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) - // processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) - // processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) + processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) + processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) + processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) - // processAnvils(TFGTagPrefix.anvil, tfcProperty, material, outputMaterial) - // processUnfinishedLamp(TFGTagPrefix.lampUnfinished, tfcProperty, material, outputMaterial) - // processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) - // processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) - // processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) - // processBars(TFGTagPrefix.bars, tfcProperty, material, outputMaterial) - // processBell(TFGTagPrefix.bell, tfcProperty, material, outputMaterial) + processAnvils(TFGTagPrefix.anvil, tfcProperty, material, outputMaterial) + processUnfinishedLamp(TFGTagPrefix.lampUnfinished, tfcProperty, material, outputMaterial) + processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) + processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) + processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) + processBars(TFGTagPrefix.bars, tfcProperty, material, outputMaterial) + processBell(TFGTagPrefix.bell, tfcProperty, material, outputMaterial) - // processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) - // processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) + processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) + processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) } }) //#endregion diff --git a/kubejs/startup_scripts/gregtech/blocks.js b/kubejs/startup_scripts/gregtech/blocks.js new file mode 100644 index 000000000..1560d5128 --- /dev/null +++ b/kubejs/startup_scripts/gregtech/blocks.js @@ -0,0 +1,16 @@ +// priority: 0 + +const registerGregTechBlocks = (event) => { + + //todo: + event.create('tfg:copper_coil_block', 'gtceu:coil') + .temperature(500) + .level(0) + .energyDiscount(1) + .tier(0) + .coilMaterial(() => GTMaterials.get('copper')) + .texture('kubejs:block/example_block') + .hardness(2) + .requiresTool(true) + .material('metal') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/gregtech/machines.js b/kubejs/startup_scripts/gregtech/machines.js index a631a5555..3ccd4fa1f 100644 --- a/kubejs/startup_scripts/gregtech/machines.js +++ b/kubejs/startup_scripts/gregtech/machines.js @@ -38,7 +38,7 @@ const registerGregTechMachines = (event) => { .aisle("CWI", "CWA", "#W#") .where('A', Predicates.controller(Predicates.blocks(definition.get()))) .where('I', Predicates.abilities(PartAbility.IMPORT_ITEMS).setExactLimit(1)) - .where('W', Predicates.blocks(GTBlocks.COIL_CUPRONICKEL.get())) + .where('W', Predicates.blocks('tfg:copper_coil_block')) .where("C", Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get())) .where('#', Predicates.any()) .where('K', Predicates.abilities(PartAbility.INPUT_KINETIC).setExactLimit(1)) diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 6a5bf6fda..a52cbe931 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -10,7 +10,9 @@ StartupEvents.registry('item', event => { /** * Событие регистрации блоков. */ -StartupEvents.registry('block', event => {}) +StartupEvents.registry('block', event => { + registerGregTechBlocks(event) +}) /** * Событие изменения блоков. From 930bba7b4496b70a84b18f97fe860691d1155ab9 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:11:39 +0700 Subject: [PATCH 140/266] finish porting tfg-core recipes to kjs --- kubejs/server_scripts/gregtech/recipes.js | 522 ++++++++++-------- kubejs/startup_scripts/gregtech/constants.js | 27 + .../startup_scripts/gregtech/material_info.js | 35 +- 3 files changed, 344 insertions(+), 240 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 8526f00df..d61bd0c19 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -3,7 +3,7 @@ const registerGregTechRecipes = (event) => { //#region Крафты и раскрафты металлических предметов - const makeToolRecipe = (toolType, headTagPrefix, material) => { + const makeToolRecipe = (toolType, headTagPrefix, extruderMold, cirucitMeta, material) => { const toolItem = ToolHelper.get(toolType, material) if (toolItem.isEmpty()) return @@ -20,58 +20,38 @@ const registerGregTechRecipes = (event) => { event.recipes.tfc.advanced_shapeless_crafting(TFC.itemStackProvider.of(toolHeadItem).copyForgingBonus(), ['#forge:rods/wooden', toolHeadItem]) .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) } + + processToolHead(toolType, headTagPrefix, extruderMold, cirucitMeta, material) } - const processToolSword = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } + const processToolHead = (headTagPrefix, extruderMold, cirucitMeta, material) => { + const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (toolHeadItem.isEmpty()) return - const processToolPickaxe = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } + if (material.hasProperty(PropertyKey.INGOT)) { - const processToolAxe = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return - const processToolShovel = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } + event.recipes.gtceu.extruder(`tfg:extrude_${material.getName()}_ingot_to_${headTagPrefix.name.toLowerCase()}_head`) + .inputItems(ingotItem.copyWithCount(Math.floor(toolHeadItem.materialAmount() / GTValues.M))) + .notConsumable(extruderMold) + .outputItems(toolHeadItem) + .duration(12).EUt(32) + + } else if (material.hasProperty(PropertyKey.GEM)) { - const processToolHoe = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) + if (gemItem.isEmpty()) return - const processToolKnife = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolFile = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolSaw = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolSpade = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolMiningHammer = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolScythe = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolHammer = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) - } - - const processToolButcheryKnife = (toolType, headTagPrefix, material) => { - makeToolRecipe(toolType, headTagPrefix, material) + event.recipes.gtceu.extruder(`tfg:engrave_${material.getName()}_gem_to_${headTagPrefix.name.toLowerCase()}_head`) + .inputItems(gemItem.copyWithCount(Math.floor(toolHeadItem.materialAmount() / GTValues.M))) + .notConsumable(ChemicalHelper.get(TagPrefix.lens, GTMaterials.Glass, 1)) + .circuit(cirucitMeta) + .outputItems(toolHeadItem) + .duration(12).EUt(32) + } + // else: ignore :3 } const processToolMortar = (toolType, material) => { @@ -329,20 +309,26 @@ const registerGregTechRecipes = (event) => { const oreProperty = material.getProperty(PropertyKey.ORE) if (toolProperty != null) { - processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, material) - processToolPickaxe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, material) - processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, material) - processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, material) - processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, material) - processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, material) - processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, material) - processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, material) - processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, material) - processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, material) - processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, material) - processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, material) - processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, material) + 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) } if (ingotProperty != null) { @@ -490,184 +476,258 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) //#endregion - //#region Молды крафты, дубляжи + //#region Молды для экструдера + + // Меч + event.shaped('tfg:shape_extruder_sword_head', [ + 'ABC', + ' ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_sword_head') - // private static void registerExtruderMoldRecipes(Consumer provider) { - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_mining_hammer_head"), - // SHAPE_EXTRUDER_MINING_HAMMER_HEAD.asStack(), - // "Sfh", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_sword_head"), - // SHAPE_EXTRUDER_SWORD_HEAD.asStack(), - // "Shf", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_pickaxe_head"), - // SHAPE_EXTRUDER_PICKAXE_HEAD.asStack(), - // "S ", "hf ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_axe_head"), - // SHAPE_EXTRUDER_AXE_HEAD.asStack(), - // "S ", " fh", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_hoe_head"), - // SHAPE_EXTRUDER_HOE_HEAD.asStack(), - // "S ", " hf", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_scythe_head"), - // SHAPE_EXTRUDER_SCYTHE_HEAD.asStack(), - // "S ", " ", "fh ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_file_head"), - // SHAPE_EXTRUDER_FILE_HEAD.asStack(), - // "S ", " ", "hf ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_hammer_head"), - // SHAPE_EXTRUDER_HAMMER_HEAD.asStack(), - // "Sf ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_saw_head"), - // SHAPE_EXTRUDER_SAW_HEAD.asStack(), - // "Sh ", " f ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_knife_head"), - // SHAPE_EXTRUDER_KNIFE_HEAD.asStack(), - // "S f", " ", " h", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_butchery_head_head"), - // SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD.asStack(), - // "S h", " ", " f", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_shovel_head"), - // SHAPE_EXTRUDER_SHOVEL_HEAD.asStack(), - // "S ", "f ", "h ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_spade_head"), - // SHAPE_EXTRUDER_SPADE_HEAD.asStack(), - // "S ", "f ", " h", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_propick_head"), - // SHAPE_EXTRUDER_PROPICK_HEAD.asStack(), - // "Sxf", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_javelin_head"), - // SHAPE_EXTRUDER_JAVELIN_HEAD.asStack(), - // "S x", "f ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_chisel_head"), - // SHAPE_EXTRUDER_CHISEL_HEAD.asStack(), - // "S ", "xf ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_extruder_mace_head"), - // SHAPE_EXTRUDER_MACE_HEAD.asStack(), - // "S ", " xf", " ", 'S', SHAPE_EMPTY.asStack()); - // } - - // private static void registerCastingMoldRecipes(Consumer provider) { - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_unfinished_lamp"), - // SHAPE_MOLD_UNFINISHED_LAMP.asStack(), - // "Sh ", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_trapdoor"), - // SHAPE_MOLD_TRAPDOOR.asStack(), - // "S h", " ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_chain"), - // SHAPE_MOLD_CHAIN.asStack(), - // "S ", "h ", " ", 'S', SHAPE_EMPTY.asStack()); - // - // VanillaRecipeHelper.addStrictShapedRecipe(provider, - // TFGCore.id("shape_mold_bell"), - // SHAPE_MOLD_BELL.asStack(), - // "S ", " h ", " ", 'S', SHAPE_EMPTY.asStack()); - // } + // Кирка + event.shaped('tfg:shape_extruder_pickaxe_head', [ + 'A ', + 'BC ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_pickaxe_head') + + // Топор + event.shaped('tfg:shape_extruder_axe_head', [ + 'A ', + ' BC', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_axe_head') + + + // Лопата + event.shaped('tfg:shape_extruder_shovel_head', [ + 'A ', + 'B ', + 'C ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_shovel_head') + + // Мотыга + event.shaped('tfg:shape_extruder_hoe_head', [ + 'A ', + 'CB ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_hoe_head') + + + // Молот + event.shaped('tfg:shape_extruder_hammer_head', [ + 'AB ', + ' C ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_hammer_head') + + // Пила + event.shaped('tfg:shape_extruder_saw_head', [ + 'AC ', + ' B ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_saw_head') + + // Нож + event.shaped('tfg:shape_extruder_knife_head', [ + 'A B', + ' ', + ' C' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_knife_head') + + // Напильник + event.shaped('tfg:shape_extruder_file_head', [ + 'A ', + ' ', + 'CB ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_file_head') + + // Коса + event.shaped('tfg:shape_extruder_scythe_head', [ + 'A ', + ' ', + 'BC ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_scythe_head') + + // Нож мясника + event.shaped('tfg:shape_extruder_butchery_knife_head', [ + 'A C', + ' ', + ' B' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_butchery_knife_head') + + // Молот шахтера + event.shaped('tfg:shape_extruder_mining_hammer_head', [ + 'ABC', + ' ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_mining_hammer_head') + + // Большая лопата + event.shaped('tfg:shape_extruder_spade_head', [ + 'A ', + 'B ', + ' C' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shape_extruder_spade_head') + + // Проспектор + event.shaped('tfg:shape_extruder_propick_head', [ + 'ACB', + ' ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/shape_extruder_propick_head') + + // Копье + event.shaped('tfg:shape_extruder_javelin_head', [ + 'A C', + 'B ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/shape_extruder_javelin_head') + + // Стамеска + event.shaped('tfg:shape_extruder_chisel_head', [ + 'A ', + 'CB ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/shape_extruder_chisel_head') + + // Бита + event.shaped('tfg:shape_extruder_mace_head', [ + 'A ', + ' BC', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/shape_extruder_mace_head') + + global.TFG_EXTRUDER_MOLDS.forEach(mold => { + event.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}`) + .itemInputs('gtceu:shape_empty') + .notConsumable(mold) + .itemOutputs(mold) + .EUt(22).duration(120) + + }) //#endregion - //#region оставшееся под разобрать + //#region Молды для отливки - // private static void registerExtruderMoldCopyingRecipes(Consumer provider) { - // for (var shapeMold : TFGItems.SHAPE_EXTRUDERS) { - // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get())) - // .duration(120).EUt(22) - // .notConsumable(shapeMold) - // .inputItems(SHAPE_EMPTY) - // .outputItems(shapeMold) - // .save(provider); - // } - // } - - // private static void registerCastingMoldCopyingRecipes(Consumer provider) { - // for (var shapeMold : TFGItems.SHAPE_MOLDS) { - // FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get() + "_casting_mold")) - // .duration(120).EUt(22) - // .notConsumable(shapeMold) - // .inputItems(SHAPE_EMPTY) - // .outputItems(shapeMold) - // .save(provider); - // } - // } - - - // private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { - // var ingotStack = ChemicalHelper.get(ingot, material); - // var doubleIngotStack = ChemicalHelper.get(prefix, material); - // - // EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) - // .EUt(VA[ULV]).duration((int) material.getMass()) - // .inputItems(doubleIngotStack) - // .outputFluids(material.getFluid(288)) - // .save(provider); - // - // MACERATOR_RECIPES.recipeBuilder(TFGCore.id("macerate_" + material.getName() + "_double_ingot")) - // .EUt(VA[ULV]).duration((int) material.getMass()) - // .inputItems(doubleIngotStack) - // .outputItems(dust, material, 2) - // .save(provider); - // } - - - // private static void processToolHead(TagPrefix prefix, Material material, ItemEntry extruderShape, int circuitValue, Consumer consumer) { - // var output = ChemicalHelper.get(prefix, material); - // if (output.isEmpty()) return; - // - // if (material.hasProperty(PropertyKey.INGOT)) { - // EXTRUDER_RECIPES.recipeBuilder(TFGCore.id("extrude_" + material.getName() + "_ingot_to_" + prefix.name().toLowerCase() + "_head")) - // .duration(12).EUt(32) - // .notConsumable(extruderShape) - // .inputItems(ingot, material, (int) (prefix.materialAmount() / GTValues.M)) - // .outputItems(output) - // .save(consumer); - // } else if (material.hasProperty(PropertyKey.GEM)) { - // LASER_ENGRAVER_RECIPES.recipeBuilder(TFGCore.id("engrave_" + material.getName() + "_gem_to_" + prefix.name().toLowerCase() + "_head")) - // .duration(12).EUt(32) - // .circuitMeta(circuitValue) - // .notConsumable(ChemicalHelper.get(TagPrefix.lens, Glass)) - // .inputItems(gem, material, (int) (prefix.materialAmount() / GTValues.M)) - // .outputItems(output) - // .save(consumer); - // } - // } + // Лампа + event.shaped('tfg:shape_mold_unfisnished_lamp', [ + 'AB ', + ' ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/hammers', + }).id('tfg:shaped/shape_mold_unfisnished_lamp') + // Люк + event.shaped('tfg:shape_mold_trapdoor', [ + 'A ', + ' ', + ' B' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/hammers', + }).id('tfg:shaped/shape_mold_trapdoor') + + // Цепь + event.shaped('tfg:shape_mold_chain', [ + 'A ', + 'B ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/hammers', + }).id('tfg:shaped/shape_mold_chain') + + // Колокол + event.shaped('tfg:shape_mold_bell', [ + 'A ', + ' B ', + ' ' + ], { + A: 'gtceu:shape_empty', + B: '#forge:tools/hammers', + }).id('tfg:shaped/shape_mold_bell') + + global.TFG_CASTING_MOLDS.forEach(mold => { + event.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}_casting_mold`) + .itemInputs('gtceu:shape_empty') + .notConsumable(mold) + .itemOutputs(mold) + .EUt(22).duration(120) + + }) //#endregion diff --git a/kubejs/startup_scripts/gregtech/constants.js b/kubejs/startup_scripts/gregtech/constants.js index 95da95dae..b9c417ac7 100644 --- a/kubejs/startup_scripts/gregtech/constants.js +++ b/kubejs/startup_scripts/gregtech/constants.js @@ -52,4 +52,31 @@ global.GTCEU_HIDED_ITEMS = [ 'gtceu:netherrack_dust', 'gtceu:small_netherrack_dust', 'gtceu:tiny_netherrack_dust' +]; + +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' +]; + +global.TFG_CASTING_MOLDS = [ + 'tfg:lamp_casting_mold', + 'tfg:trapdoor_casting_mold', + 'tfg:chain_casting_mold', + 'tfg:bell_casting_mold' ]; \ No newline at end of file diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index f58f2c3b6..2c864c2d0 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -4,14 +4,14 @@ const registerGregTechMaterialInfo = (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`) + // 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`) }) // Сундуки @@ -34,4 +34,21 @@ const registerGregTechMaterialInfo = (event) => { // event.remove("minecraft:acacia_planks"); // event.add("minecraft:acacia_planks", b); -}; +} + +// private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { +// var ingotStack = ChemicalHelper.get(ingot, material); +// var doubleIngotStack = ChemicalHelper.get(prefix, material); +// +// EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) +// .EUt(VA[ULV]).duration((int) material.getMass()) +// .inputItems(doubleIngotStack) +// .outputFluids(material.getFluid(288)) +// .save(provider); +// +// MACERATOR_RECIPES.recipeBuilder(TFGCore.id("macerate_" + material.getName() + "_double_ingot")) +// .EUt(VA[ULV]).duration((int) material.getMass()) +// .inputItems(doubleIngotStack) +// .outputItems(dust, material, 2) +// .save(provider); +// } From 775f4c3274466bb52cf609f2da5c3efdb68e4787 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:31:54 +0700 Subject: [PATCH 141/266] -5iq. sorryy --- kubejs/server_scripts/gregtech/recipes.js | 144 +++++++++++----------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index d61bd0c19..645223885 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -21,7 +21,7 @@ const registerGregTechRecipes = (event) => { .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) } - processToolHead(toolType, headTagPrefix, extruderMold, cirucitMeta, material) + processToolHead(headTagPrefix, extruderMold, cirucitMeta, material) } const processToolHead = (headTagPrefix, extruderMold, cirucitMeta, material) => { @@ -33,10 +33,10 @@ const registerGregTechRecipes = (event) => { const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) if (ingotItem.isEmpty()) return - event.recipes.gtceu.extruder(`tfg:extrude_${material.getName()}_ingot_to_${headTagPrefix.name.toLowerCase()}_head`) - .inputItems(ingotItem.copyWithCount(Math.floor(toolHeadItem.materialAmount() / GTValues.M))) + 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) - .outputItems(toolHeadItem) + .itemOutputs(toolHeadItem) .duration(12).EUt(32) } else if (material.hasProperty(PropertyKey.GEM)) { @@ -44,11 +44,11 @@ const registerGregTechRecipes = (event) => { const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) if (gemItem.isEmpty()) return - event.recipes.gtceu.extruder(`tfg:engrave_${material.getName()}_gem_to_${headTagPrefix.name.toLowerCase()}_head`) - .inputItems(gemItem.copyWithCount(Math.floor(toolHeadItem.materialAmount() / GTValues.M))) + event.recipes.gtceu.extruder(`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) - .outputItems(toolHeadItem) + .itemOutputs(toolHeadItem) .duration(12).EUt(32) } // else: ignore :3 @@ -479,197 +479,197 @@ const registerGregTechRecipes = (event) => { //#region Молды для экструдера // Меч - event.shaped('tfg:shape_extruder_sword_head', [ + event.shaped('tfg:sword_head_extruder_mold', [ 'ABC', ' ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_sword_head') + }).id('tfg:shaped/sword_head_extruder_mold') // Кирка - event.shaped('tfg:shape_extruder_pickaxe_head', [ + event.shaped('tfg:pickaxe_head_extruder_mold', [ 'A ', 'BC ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_pickaxe_head') + }).id('tfg:shaped/pickaxe_head_extruder_mold') // Топор - event.shaped('tfg:shape_extruder_axe_head', [ + event.shaped('tfg:axe_head_extruder_mold', [ 'A ', ' BC', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_axe_head') + }).id('tfg:shaped/axe_head_extruder_mold') // Лопата - event.shaped('tfg:shape_extruder_shovel_head', [ + event.shaped('tfg:shovel_head_extruder_mold', [ 'A ', 'B ', 'C ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_shovel_head') + }).id('tfg:shaped/shovel_head_extruder_mold') // Мотыга - event.shaped('tfg:shape_extruder_hoe_head', [ + event.shaped('tfg:hoe_head_extruder_mold', [ 'A ', 'CB ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_hoe_head') + }).id('tfg:shaped/hoe_head_extruder_mold') // Молот - event.shaped('tfg:shape_extruder_hammer_head', [ + event.shaped('tfg:hammer_head_extruder_mold', [ 'AB ', ' C ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_hammer_head') + }).id('tfg:shaped/hammer_head_extruder_mold') // Пила - event.shaped('tfg:shape_extruder_saw_head', [ + event.shaped('tfg:saw_head_extruder_mold', [ 'AC ', ' B ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_saw_head') + }).id('tfg:shaped/saw_head_extruder_mold') // Нож - event.shaped('tfg:shape_extruder_knife_head', [ + event.shaped('tfg:knife_head_extruder_mold', [ 'A B', ' ', ' C' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_knife_head') + }).id('tfg:shaped/knife_head_extruder_mold') // Напильник - event.shaped('tfg:shape_extruder_file_head', [ + event.shaped('tfg:file_head_extruder_mold', [ 'A ', ' ', 'CB ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_file_head') + }).id('tfg:shaped/file_head_extruder_mold') // Коса - event.shaped('tfg:shape_extruder_scythe_head', [ + event.shaped('tfg:scythe_head_extruder_mold', [ 'A ', ' ', 'BC ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_scythe_head') + }).id('tfg:shaped/scythe_head_extruder_mold') // Нож мясника - event.shaped('tfg:shape_extruder_butchery_knife_head', [ + event.shaped('tfg:butchery_knife_head_extruder_mold', [ 'A C', ' ', ' B' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_butchery_knife_head') + }).id('tfg:shaped/butchery_knife_head_extruder_mold') // Молот шахтера - event.shaped('tfg:shape_extruder_mining_hammer_head', [ + event.shaped('tfg:mining_hammer_head_extruder_mold', [ 'ABC', ' ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_mining_hammer_head') + }).id('tfg:shaped/mining_hammer_head_extruder_mold') // Большая лопата - event.shaped('tfg:shape_extruder_spade_head', [ + event.shaped('tfg:spade_head_extruder_mold', [ 'A ', 'B ', ' C' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/hammers' - }).id('tfg:shaped/shape_extruder_spade_head') + }).id('tfg:shaped/spade_head_extruder_mold') // Проспектор - event.shaped('tfg:shape_extruder_propick_head', [ + event.shaped('tfg:propick_head_extruder_mold', [ 'ACB', ' ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/wire_cutters' - }).id('tfg:shaped/shape_extruder_propick_head') + }).id('tfg:shaped/propick_head_extruder_mold') // Копье - event.shaped('tfg:shape_extruder_javelin_head', [ + event.shaped('tfg:javelin_head_extruder_mold', [ 'A C', 'B ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/wire_cutters' - }).id('tfg:shaped/shape_extruder_javelin_head') + }).id('tfg:shaped/javelin_head_extruder_mold') // Стамеска - event.shaped('tfg:shape_extruder_chisel_head', [ + event.shaped('tfg:chisel_head_extruder_mold', [ 'A ', 'CB ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/wire_cutters' - }).id('tfg:shaped/shape_extruder_chisel_head') + }).id('tfg:shaped/chisel_head_extruder_mold') // Бита - event.shaped('tfg:shape_extruder_mace_head', [ + event.shaped('tfg:mace_head_extruder_mold', [ 'A ', ' BC', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/files', C: '#forge:tools/wire_cutters' - }).id('tfg:shaped/shape_extruder_mace_head') + }).id('tfg:shaped/mace_head_extruder_mold') global.TFG_EXTRUDER_MOLDS.forEach(mold => { event.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}`) - .itemInputs('gtceu:shape_empty') + .itemInputs('gtceu:empty_mold') .notConsumable(mold) .itemOutputs(mold) .EUt(22).duration(120) @@ -681,48 +681,48 @@ const registerGregTechRecipes = (event) => { //#region Молды для отливки // Лампа - event.shaped('tfg:shape_mold_unfisnished_lamp', [ + event.shaped('tfg:lamp_casting_mold', [ 'AB ', ' ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/hammers', - }).id('tfg:shaped/shape_mold_unfisnished_lamp') + }).id('tfg:shaped/lamp_casting_mold') // Люк - event.shaped('tfg:shape_mold_trapdoor', [ + event.shaped('tfg:trapdoor_casting_mold', [ 'A ', ' ', ' B' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/hammers', - }).id('tfg:shaped/shape_mold_trapdoor') + }).id('tfg:shaped/trapdoor_casting_mold') // Цепь - event.shaped('tfg:shape_mold_chain', [ + event.shaped('tfg:chain_casting_mold', [ 'A ', 'B ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/hammers', - }).id('tfg:shaped/shape_mold_chain') + }).id('tfg:shaped/chain_casting_mold') // Колокол - event.shaped('tfg:shape_mold_bell', [ + event.shaped('tfg:bell_casting_mold', [ 'A ', ' B ', ' ' ], { - A: 'gtceu:shape_empty', + A: 'gtceu:empty_mold', B: '#forge:tools/hammers', - }).id('tfg:shaped/shape_mold_bell') + }).id('tfg:shaped/bell_casting_mold') global.TFG_CASTING_MOLDS.forEach(mold => { event.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}_casting_mold`) - .itemInputs('gtceu:shape_empty') + .itemInputs('gtceu:empty_mold') .notConsumable(mold) .itemOutputs(mold) .EUt(22).duration(120) From d3218f5f3e4a058c66bca2813af3504acd5960bb Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:40:15 +0700 Subject: [PATCH 142/266] refactor some greenhouse recipes --- kubejs/server_scripts/gregtech/recipes.js | 99 +++++++++++++++-------- kubejs/server_scripts/tfc/recipes.js | 20 +---- 2 files changed, 66 insertions(+), 53 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 645223885..762bb6c15 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -2,7 +2,7 @@ const registerGregTechRecipes = (event) => { - //#region Крафты и раскрафты металлических предметов + //#region Обработчики рецептов основанных на материалах const makeToolRecipe = (toolType, headTagPrefix, extruderMold, cirucitMeta, material) => { const toolItem = ToolHelper.get(toolType, material) if (toolItem.isEmpty()) return @@ -301,7 +301,7 @@ const registerGregTechRecipes = (event) => { .processingTime(200) .id(`tfg:milling/${material.getName()}_dust`) } - } + } GTMaterialRegistry.getRegisteredMaterials().forEach(material => { const toolProperty = material.getProperty(PropertyKey.TOOL) @@ -355,7 +355,7 @@ const registerGregTechRecipes = (event) => { }) //#endregion - //#region Раскрафт камня стоунтайпов + //#region Рецепты декрафта пыли каменных пород // Gabbro event.recipes.gtceu.centrifuge(`tfg:gabbro_dust_separation`) .itemInputs('tfg:gabbro_dust') @@ -476,7 +476,7 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) //#endregion - //#region Молды для экструдера + //#region Рецепты форм для экструдера // Меч event.shaped('tfg:sword_head_extruder_mold', [ @@ -678,7 +678,7 @@ const registerGregTechRecipes = (event) => { //#endregion - //#region Молды для отливки + //#region Рецепты форм для формовки // Лампа event.shaped('tfg:lamp_casting_mold', [ @@ -732,35 +732,87 @@ const registerGregTechRecipes = (event) => { //#endregion //#region Рецепты электрического генератора - - //todo: nerf + + //#region Контроллер + + //todo: облегчить + 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') + //#endregion + event.recipes.gtceu.alternator('32_rpm_to_32_eu') .inputStress(256) .circuit(0) .rpm(32) .duration(2) - .EUt(-32) + .EUt(-8) event.recipes.gtceu.alternator('64_rpm_to_48_eu') .inputStress(256) .circuit(1) .rpm(64) .duration(2) - .EUt(-48) + .EUt(-16) event.recipes.gtceu.alternator('128_rpm_to_64_eu') .inputStress(256) .circuit(2) .rpm(128) .duration(2) - .EUt(-64) + .EUt(-24) event.recipes.gtceu.alternator('256_rpm_to_96_eu') .inputStress(256) .circuit(3) .rpm(256) .duration(2) - .EUt(-96) + .EUt(-32) + //#endregion + + //#region Рецепты теплицы + + //#region Контроллер + 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') + //#endregion + + // Дерево + 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) + }) + //#endregion } @@ -1849,30 +1901,9 @@ const registerGregTechRecipes1 = (event) => { 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', [ diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 40d0402b3..364de5d69 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -3329,25 +3329,7 @@ const registerTFCRecipes1 = (event) => { //#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) - }) + //#endregion From bdfe8716b75acc2f80b768ed077aab011d2734e0 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:49:41 +0700 Subject: [PATCH 143/266] Update create-client.toml --- config/create-client.toml | 3 +++ 1 file changed, 3 insertions(+) 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 From 02c0eb4cbec81c818888bd92b326c0d81cd505b9 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:49:45 +0700 Subject: [PATCH 144/266] Update recipe-category-sort-order.ini --- config/jei/recipe-category-sort-order.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/jei/recipe-category-sort-order.ini b/config/jei/recipe-category-sort-order.ini index 21e393e53..0e648fb3b 100644 --- a/config/jei/recipe-category-sort-order.ini +++ b/config/jei/recipe-category-sort-order.ini @@ -84,3 +84,5 @@ ftbquests:quest firmalife:bowl_pot firmalife:stinky_soup tfc:sewing +petrolpark:item_decay +petrolpark:manual_crafting From e84951706650e973b3475c777e81fe2c5026332b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 9 Sep 2024 22:49:50 +0700 Subject: [PATCH 145/266] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef365e92e..a16b36748 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ - Alternator multiblock now works as intended. - Alternator recipes was sligthly nerfed. - Fixed bug when some items wont display inside EMI. +- Simplified alternator multiblock reques and it controller block recipe. - ... ### Updated mods - ?? From 58dca1e9e715b5a960e5e9f0ccd8d6a6d70fb4c6 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 11 Sep 2024 22:54:04 +0700 Subject: [PATCH 146/266] Update emi.css --- config/emi.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/emi.css b/config/emi.css index 658e23730..d9344f8d1 100644 --- a/config/emi.css +++ b/config/emi.css @@ -298,7 +298,7 @@ toggle-visibility: "key.keyboard.unknown"; /** - * Focuse the search bar. + * Focuses the search bar. */ focus-search: "ctrl key.keyboard.f"; From bdd8741817e14afd9dbe301ca83d1df46551877c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 11 Sep 2024 22:54:18 +0700 Subject: [PATCH 147/266] Update gtceu.yaml --- config/gtceu.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/gtceu.yaml b/config/gtceu.yaml index 693db866b..ebdb9dcf8 100644 --- a/config/gtceu.yaml +++ b/config/gtceu.yaml @@ -267,7 +267,7 @@ machines: # Default: false orderedAssemblyLineFluids: true - # Let Dual Hatch has more ability. + # Let Dual Hatch has more ability. (DEPRECATED: does nothing now) # When enabled it, Dual Hatch will can used to assemble line and so on. # Need restart Minecraft to apply. enableMoreDualHatchAbility: true From 68cff85d518bbe2fa47ac25b2d508c2b81e30d43 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 11 Sep 2024 22:54:31 +0700 Subject: [PATCH 148/266] Update embeddium-options.json --- config/embeddium-options.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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": { From a14fb19fa16a245c066f3c3ed4fd9fff1830ef25 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 11:57:48 +0700 Subject: [PATCH 149/266] Update categories.json --- .../assets/emi/recipe/filters/categories.json | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 9e54ab81b..6d0154068 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -1,5 +1,25 @@ { "filters": [ - + { + "category": "emi:world_interaction" + }, + { + "category": "minecraft:blasting" + }, + { + "category": "minecraft:smoking" + }, + { + "category": "minecraft:campfire_cooking" + }, + { + "category": "jumbofurnace:jumbo_furnace_upgrade" + }, + { + "category": "jumbofurnace:jumbo_smelting" + }, + { + "category": "emi:composting" + } ] } \ No newline at end of file From db56276afeea2eef7c19d22a291ef0f894593ec0 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 11:58:02 +0700 Subject: [PATCH 150/266] global cfgs --- defaultconfigs/create-server.toml | 2 +- .../additionalplacements-server.toml | 10 + global-server-configs/alekiships-server.toml | 3 + .../barrels_2012-server.toml | 13 + .../computercraft-server.toml | 205 ++ global-server-configs/corpse-server.toml | 33 + global-server-configs/create-server.toml | 521 ++++ .../create_connected-server.toml | 54 + global-server-configs/curios-server.toml | 19 + global-server-configs/firmaciv-server.toml | 11 + global-server-configs/firmalife-server.toml | 107 + global-server-configs/forge-server.toml | 20 + .../framedblocks-server.toml | 16 + .../ftbessentials-server.snbt | 241 ++ global-server-configs/ftbessentials.snbt | 232 ++ .../ftblibrary/ftblibrary-client.snbt | 4 + .../ftbquests/client-config.snbt | 4 + global-server-configs/ftbranks/README.txt | 2103 +++++++++++++++++ global-server-configs/ftbranks/players.snbt | 1 + global-server-configs/ftbranks/ranks.snbt | 26 + .../ftbxmodcompat/ftbxmodcompat.snbt | 4 + global-server-configs/jei-server.toml | 9 + .../jumbofurnace-server.toml | 10 + global-server-configs/morered-server.toml | 6 + .../openpartiesandclaims-server.toml | 274 +++ global-server-configs/railways-server.toml | 75 + .../sophisticatedbackpacks-server.toml | 439 ++++ global-server-configs/tfc-server.toml | 1314 ++++++++++ .../tfcchannelcasting-server.toml | 6 + global-server-configs/tfcea-server.toml | 6 + global-server-configs/toolbelt-server.toml | 7 + 31 files changed, 5774 insertions(+), 1 deletion(-) create mode 100644 global-server-configs/additionalplacements-server.toml create mode 100644 global-server-configs/alekiships-server.toml create mode 100644 global-server-configs/barrels_2012-server.toml create mode 100644 global-server-configs/computercraft-server.toml create mode 100644 global-server-configs/corpse-server.toml create mode 100644 global-server-configs/create-server.toml create mode 100644 global-server-configs/create_connected-server.toml create mode 100644 global-server-configs/curios-server.toml create mode 100644 global-server-configs/firmaciv-server.toml create mode 100644 global-server-configs/firmalife-server.toml create mode 100644 global-server-configs/forge-server.toml create mode 100644 global-server-configs/framedblocks-server.toml create mode 100644 global-server-configs/ftbessentials-server.snbt create mode 100644 global-server-configs/ftbessentials.snbt create mode 100644 global-server-configs/ftblibrary/ftblibrary-client.snbt create mode 100644 global-server-configs/ftbquests/client-config.snbt create mode 100644 global-server-configs/ftbranks/README.txt create mode 100644 global-server-configs/ftbranks/players.snbt create mode 100644 global-server-configs/ftbranks/ranks.snbt create mode 100644 global-server-configs/ftbxmodcompat/ftbxmodcompat.snbt create mode 100644 global-server-configs/jei-server.toml create mode 100644 global-server-configs/jumbofurnace-server.toml create mode 100644 global-server-configs/morered-server.toml create mode 100644 global-server-configs/openpartiesandclaims-server.toml create mode 100644 global-server-configs/railways-server.toml create mode 100644 global-server-configs/sophisticatedbackpacks-server.toml create mode 100644 global-server-configs/tfc-server.toml create mode 100644 global-server-configs/tfcchannelcasting-server.toml create mode 100644 global-server-configs/tfcea-server.toml create mode 100644 global-server-configs/toolbelt-server.toml diff --git a/defaultconfigs/create-server.toml b/defaultconfigs/create-server.toml index d60c2b37c..b36e6d303 100644 --- a/defaultconfigs/create-server.toml +++ b/defaultconfigs/create-server.toml @@ -46,7 +46,7 @@ allowCastingBySpout = true #. #Display vanilla Log-stripping interactions in JEI. - displayLogStrippingRecipes = true + displayLogStrippingRecipes = false #. #The amount of Light sources destroyed before Chromatic Compound turns into Refined Radiance. #Range: > 1 diff --git a/global-server-configs/additionalplacements-server.toml b/global-server-configs/additionalplacements-server.toml new file mode 100644 index 000000000..51c7db835 --- /dev/null +++ b/global-server-configs/additionalplacements-server.toml @@ -0,0 +1,10 @@ + +#World settings +[server] + #Check for and notify of mismatching tags. Only works when the same option in the common config is true. + check_tags = true + #Automatically rebuild and reload the generated tags datapack when a tagging mismatch is detected. Only works when the same option in the server/world config is true. + auto_rebuild_tags = true + #Whether fake players (such as block placers) can utilize Additional Placement's placement logic. + fake_player_placement = true + diff --git a/global-server-configs/alekiships-server.toml b/global-server-configs/alekiships-server.toml new file mode 100644 index 000000000..dd750aeff --- /dev/null +++ b/global-server-configs/alekiships-server.toml @@ -0,0 +1,3 @@ +#When true, boats with no anchor will drift in the wind +windAffectsBoatsWithNoAnchor = false + diff --git a/global-server-configs/barrels_2012-server.toml b/global-server-configs/barrels_2012-server.toml new file mode 100644 index 000000000..758a86ec5 --- /dev/null +++ b/global-server-configs/barrels_2012-server.toml @@ -0,0 +1,13 @@ + +[general] + #Enables worn powderkegs exploding when you catch on fire. + enablePowderkegExplosions = true + #Enables lamps burning fuel when worn. Disabling this makes them last forever. + enableLampBurningFuel = true + #The light value emitted by the worn lamp. + #Range: 0 ~ 15 + lampBrightness = 15 + #The ticks between times the lamp tries to update its light position while worn. 20 ticks are in a second. + #Range: > 1 + lampUpdateInterval = 15 + diff --git a/global-server-configs/computercraft-server.toml b/global-server-configs/computercraft-server.toml new file mode 100644 index 000000000..5c053ac51 --- /dev/null +++ b/global-server-configs/computercraft-server.toml @@ -0,0 +1,205 @@ +#The disk space limit for computers and turtles, in bytes. +computer_space_limit = 1000000 +#The disk space limit for floppy disks, in bytes. +floppy_space_limit = 125000 +#The file upload size limit, in bytes. Must be in range of 1 KiB and 16 MiB. +#Keep in mind that uploads are processed in a single tick - large files or +#poor network performance can stall the networking thread. And mind the disk space! +#Range: 1024 ~ 16777216 +upload_max_size = 524288 +#Set how many files a computer can have open at the same time. Set to 0 for unlimited. +#Range: > 0 +maximum_open_files = 128 +#A comma separated list of default system settings to set on new computers. +#Example: "shell.autocomplete=false,lua.autocomplete=false,edit.autocomplete=false" +#will disable all autocompletion. +default_computer_settings = "" +#Log exceptions thrown by peripherals and other Lua objects. This makes it easier +#for mod authors to debug problems, but may result in log spam should people use +#buggy methods. +log_computer_errors = true +#Require players to be in creative mode and be opped in order to interact with +#command computers. This is the default behaviour for vanilla's Command blocks. +command_require_creative = true +#A list of generic methods or method sources to disable. Generic methods are +#methods added to a block/block entity when there is no explicit peripheral +#provider. This includes inventory methods (i.e. inventory.getItemDetail, +#inventory.pushItems), and (if on Forge), the fluid_storage and energy_storage +#methods. +#Methods in this list can either be a whole group of methods (computercraft:inventory) +#or a single method (computercraft:inventory#pushItems). +# +disabled_generic_methods = [] + +#Controls execution behaviour of computers. This is largely intended for +#fine-tuning servers, and generally shouldn't need to be touched. +[execution] + #Set the number of threads computers can run on. A higher number means more + #computers can run at once, but may induce lag. Please note that some mods may + #not work with a thread count higher than 1. Use with caution. + #Range: > 1 + computer_threads = 1 + #The maximum time that can be spent executing tasks in a single tick, in + #milliseconds. + #Note, we will quite possibly go over this limit, as there's no way to tell how + #long a will take - this aims to be the upper bound of the average time. + #Range: > 1 + max_main_global_time = 10 + #The ideal maximum time a computer can execute for in a tick, in milliseconds. + #Note, we will quite possibly go over this limit, as there's no way to tell how + #long a will take - this aims to be the upper bound of the average time. + #Range: > 1 + max_main_computer_time = 5 + +#Controls the HTTP API +[http] + #Enable the "http" API on Computers. Disabling this also disables the "pastebin" and + #"wget" programs, that many users rely on. It's recommended to leave this on and use + #the "rules" config option to impose more fine-grained control. + enabled = true + #Enable use of http websockets. This requires the "http_enable" option to also be true. + websocket_enabled = true + #The number of http requests a computer can make at one time. Additional requests + #will be queued, and sent when the running requests have finished. Set to 0 for + #unlimited. + #Range: > 0 + max_requests = 16 + #The number of websockets a computer can have open at one time. + #Range: > 1 + max_websockets = 4 + + #Limits bandwidth used by computers. + [http.bandwidth] + #The number of bytes which can be downloaded in a second. This is shared across all computers. (bytes/s). + #Range: > 1 + global_download = 33554432 + #The number of bytes which can be uploaded in a second. This is shared across all computers. (bytes/s). + #Range: > 1 + global_upload = 33554432 + + #Tunnels HTTP and websocket requests through a proxy server. Only affects HTTP + #rules with "use_proxy" set to true (off by default). + #If authentication is required for the proxy, create a "computercraft-proxy.pw" + #file in the same directory as "computercraft-server.toml", containing the + #username and password separated by a colon, e.g. "myuser:mypassword". For + #SOCKS4 proxies only the username is required. + [http.proxy] + #The type of proxy to use. + #Allowed Values: HTTP, HTTPS, SOCKS4, SOCKS5 + type = "HTTP" + #The hostname or IP address of the proxy server. + host = "" + #The port of the proxy server. + #Range: 1 ~ 65536 + port = 8080 + + #A list of rules which control behaviour of the "http" API for specific domains or + #IPs. Each rule matches against a hostname and an optional port, and then sets several + #properties for the request. Rules are evaluated in order, meaning earlier rules override + #later ones. + # + #Valid properties: + # - "host" (required): The domain or IP address this rule matches. This may be a domain name + # ("pastebin.com"), wildcard ("*.pastebin.com") or CIDR notation ("127.0.0.0/8"). + # - "port" (optional): Only match requests for a specific port, such as 80 or 443. + # + # - "action" (optional): Whether to allow or deny this request. + # - "max_download" (optional): The maximum size (in bytes) that a computer can download in this + # request. + # - "max_upload" (optional): The maximum size (in bytes) that a computer can upload in a this request. + # - "max_websocket_message" (optional): The maximum size (in bytes) that a computer can send or + # receive in one websocket packet. + # - "use_proxy" (optional): Enable use of the HTTP/SOCKS proxy if it is configured. + [[http.rules]] + #The magic "$private" host matches all private address ranges, such as localhost and 192.168.0.0/16. + #This rule prevents computers accessing internal services, and is strongly recommended. + host = "$private" + #Deny all requests to private IP addresses. + action = "deny" + + [[http.rules]] + #The wildcard "*" rule matches all remaining hosts. + host = "*" + #Allow all non-denied hosts. + action = "allow" + #The maximum size (in bytes) that a computer can download in a single request. + #Note that responses may receive more data than allowed, but this data will not + #be returned to the client. + max_download = 16777216 + #The maximum size (in bytes) that a computer can upload in a single request. This + #includes headers and POST text. + max_upload = 4194304 + #The maximum size (in bytes) that a computer can send or receive in one websocket packet. + max_websocket_message = 131072 + #Enable use of the HTTP/SOCKS proxy if it is configured. + use_proxy = false + +#Various options relating to peripherals. +[peripheral] + #Enable Command Block peripheral support + command_block_enabled = false + #The range of Wireless Modems at low altitude in clear weather, in meters. + #Range: 0 ~ 100000 + modem_range = 64 + #The range of Wireless Modems at maximum altitude in clear weather, in meters. + #Range: 0 ~ 100000 + modem_high_altitude_range = 384 + #The range of Wireless Modems at low altitude in stormy weather, in meters. + #Range: 0 ~ 100000 + modem_range_during_storm = 64 + #The range of Wireless Modems at maximum altitude in stormy weather, in meters. + #Range: 0 ~ 100000 + modem_high_altitude_range_during_storm = 384 + #Maximum amount of notes a speaker can play at once. + #Range: > 1 + max_notes_per_tick = 8 + #The limit to how much monitor data can be sent *per tick*. Note: + # - Bandwidth is measured before compression, so the data sent to the client is + # smaller. + # - This ignores the number of players a packet is sent to. Updating a monitor for + # one player consumes the same bandwidth limit as sending to 20. + # - A full sized monitor sends ~25kb of data. So the default (1MB) allows for ~40 + # monitors to be updated in a single tick. + #Set to 0 to disable. + #Range: > 0 + monitor_bandwidth = 1000000 + +#Various options relating to turtles. +[turtle] + #Set whether Turtles require fuel to move. + need_fuel = true + #The fuel limit for Turtles. + #Range: > 0 + normal_fuel_limit = 20000 + #The fuel limit for Advanced Turtles. + #Range: > 0 + advanced_fuel_limit = 100000 + #If set to true, Turtles will push entities out of the way instead of stopping if + #there is space to do so. + can_push = true + +#Configure the size of various computer's terminals. +#Larger terminals require more bandwidth, so use with care. +[term_sizes] + + #Terminal size of computers. + [term_sizes.computer] + #Range: 1 ~ 255 + width = 51 + #Range: 1 ~ 255 + height = 19 + + #Terminal size of pocket computers. + [term_sizes.pocket_computer] + #Range: 1 ~ 255 + width = 26 + #Range: 1 ~ 255 + height = 20 + + #Maximum size of monitors (in blocks). + [term_sizes.monitor] + #Range: 1 ~ 32 + width = 8 + #Range: 1 ~ 32 + height = 6 + diff --git a/global-server-configs/corpse-server.toml b/global-server-configs/corpse-server.toml new file mode 100644 index 000000000..ff4eb11ee --- /dev/null +++ b/global-server-configs/corpse-server.toml @@ -0,0 +1,33 @@ +#The time (in real life days) deaths get stored +#-1 for infinite storage +#0 for not storing deaths at all +#Range: > -1 +death_storage_duration = -1 + +[corpse] + #The time passed (in ticks) after a corpse turns into a skeleton + #Range: > 0 + skeleton_time = 72000 + #If the corpse should lie on its face + lie_on_face = false + #If the corpse should wear the players equipment + show_equipment = true + #If the corpse should fall into the void + fall_into_void = false + #If the corpse should get removed when in lava + lava_damage = false + + [corpse.access] + #If only the owner of the corpse can access the inventory + only_owner = true + #If everybody can access the corpse in the skeleton stage (Only if only_owner_access is set to true) + skeleton = true + + [corpse.despawn] + #The time passed (in ticks) after a corpse despawns (only if empty) + #Range: > 20 + time = 600 + #The time passed (in ticks) after a corpse despawns even if its not empty (-1 = never) + #Range: > -1 + force_time = -1 + diff --git a/global-server-configs/create-server.toml b/global-server-configs/create-server.toml new file mode 100644 index 000000000..2d74570ba --- /dev/null +++ b/global-server-configs/create-server.toml @@ -0,0 +1,521 @@ + +#. +#The Backbone of Create +[infrastructure] + #. + #[in Ticks] + #The amount of time a server waits before sending out tickrate synchronization packets. + #These packets help animations to be more accurate when tps is below 20. + #Range: > 5 + tickrateSyncTimer = 20 + +#. +#Packmakers' control panel for internal recipe compat +[recipes] + #. + #. + #Allow the Mechanical Press to process entire stacks at a time. + bulkPressing = false + #. + #Allow the Mechanical Saw to process entire stacks at a time. + bulkCutting = false + #. + #Allow supported potions to be brewed by a Mechanical Mixer + Basin. + allowBrewingInMixer = true + #. + #Allow any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin. + allowShapelessInMixer = true + #. + #Allow any single-ingredient 2x2 or 3x3 crafting recipes to be processed by a Mechanical Press + Basin. + allowShapedSquareInPress = true + #. + #Allow any standard crafting recipes to be processed by Mechanical Crafters. + allowRegularCraftingInCrafter = true + #. + #The Maximum amount of ingredients that can be used to craft Firework Rockets using Mechanical Crafters. + #Range: > 1 + maxFireworkIngredientsInCrafter = 9 + #. + #Allow any stonecutting recipes to be processed by a Mechanical Saw. + allowStonecuttingOnSaw = true + #. + #Allow any Druidcraft woodcutter recipes to be processed by a Mechanical Saw. + allowWoodcuttingOnSaw = true + #. + #Allow Spouts to interact with Casting Tables and Basins from Tinkers' Construct. + allowCastingBySpout = true + #. + #Display vanilla Log-stripping interactions in JEI. + displayLogStrippingRecipes = false + #. + #The amount of Light sources destroyed before Chromatic Compound turns into Refined Radiance. + #Range: > 1 + lightSourceCountForRefinedRadiance = 10 + #. + #Allow the standard in-world Refined Radiance recipes. + enableRefinedRadianceRecipe = true + #. + #Allow the standard in-world Shadow Steel recipe. + enableShadowSteelRecipe = true + +#. +#Parameters and abilities of Create's kinetic mechanisms +[kinetics] + #. + #. + #Disable the Stress mechanic altogether. + disableStress = false + #. + #Maximum length in blocks of mechanical belts. + #Range: > 5 + maxBeltLength = 20 + #. + #Damage dealt by active Crushing Wheels. + #Range: > 0 + crushingDamage = 4 + #. + #[in Revolutions per Minute] + #Maximum allowed rotation speed for any Kinetic Block. + #Range: > 64 + maxRotationSpeed = 256 + #. + #Select what mobs should ignore Deployers when attacked by them. + #Allowed Values: ALL, CREEPERS, NONE + ignoreDeployerAttacks = "CREEPERS" + #. + #Game ticks between Kinetic Blocks checking whether their source is still valid. + #Range: > 5 + kineticValidationFrequency = 60 + #. + #multiplier used for calculating exhaustion from speed when a crank is turned. + #Range: 0.0 ~ 1.0 + crankHungerMultiplier = 0.009999999776482582 + #. + #Amount of sail-type blocks required for a windmill to assemble successfully. + #Range: > 0 + minimumWindmillSails = 8 + #. + #Number of sail-type blocks required to increase windmill speed by 1RPM. + #Range: > 1 + windmillSailsPerRPM = 8 + #. + #Max Distance in blocks a Weighted Ejector can throw + #Range: > 0 + maxEjectorDistance = 32 + #. + #Time in ticks until the next item launched by an ejector scans blocks for potential collisions + #Range: > 10 + ejectorScanInterval = 120 + + #. + #Encased Fan + [kinetics.encasedFan] + #. + #Maximum distance in blocks Fans can push entities. + #Range: > 5 + fanPushDistance = 20 + #. + #Maximum distance in blocks from where Fans can pull entities. + #Range: > 5 + fanPullDistance = 20 + #. + #Game ticks between Fans checking for anything blocking their air flow. + #Range: > 10 + fanBlockCheckRate = 30 + #. + #[in Revolutions per Minute] + #Rotation speed at which the maximum stats of fans are reached. + #Range: > 64 + fanRotationArgmax = 256 + #. + #Game ticks required for a Fan-based processing recipe to take effect. + #Range: > 0 + fanProcessingTime = 150 + + #. + #Moving Contraptions + [kinetics.contraptions] + #. + #Maximum amount of blocks in a structure movable by Pistons, Bearings or other means. + #Range: > 1 + maxBlocksMoved = 2048 + #. + #[in Bytes] + #[0 to disable this limit] + #Maximum amount of data a contraption can have before it can't be synced with players. + #Un-synced contraptions will not be visible and will not have collision. + #Range: > 0 + maxDataSize = 2000000 + #. + #Maximum value of a chassis attachment range. + #Range: > 1 + maxChassisRange = 16 + #. + #Maximum amount of extension poles behind a Mechanical Piston. + #Range: > 1 + maxPistonPoles = 64 + #. + #Max length of rope available off a Rope Pulley. + #Range: > 1 + maxRopeLength = 256 + #. + #Maximum allowed distance of two coupled minecarts. + #Range: > 1 + maxCartCouplingLength = 32 + #. + #Maximum depth of blocks filled in using a Mechanical Roller. + #Range: > 1 + rollerFillDepth = 12 + #. + #Whether minecart contraptions can be picked up in survival mode. + survivalContraptionPickup = true + #. + #Configure how Spawner blocks can be moved by contraptions. + #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE + movableSpawners = "NO_PICKUP" + #. + #Configure how Budding Amethyst can be moved by contraptions. + #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE + amethystMovement = "NO_PICKUP" + #. + #Configure how Obsidian blocks can be moved by contraptions. + #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE + movableObsidian = "UNMOVABLE" + #. + #Configure how Reinforced Deepslate blocks can be moved by contraptions. + #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE + movableReinforcedDeepslate = "UNMOVABLE" + #. + #Whether items mined or harvested by contraptions should be placed in their mounted storage. + moveItemsToStorage = true + #. + #Whether harvesters should break crops that aren't fully grown. + harvestPartiallyGrown = false + #. + #Whether harvesters should replant crops after harvesting. + harvesterReplants = true + #. + #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. + [kinetics.stats] + #. + #[in Revolutions per Minute] + #Minimum speed of rotation to be considered 'medium' + #Range: 0.0 ~ 4096.0 + mediumSpeed = 30.0 + #. + #[in Revolutions per Minute] + #Minimum speed of rotation to be considered 'fast' + #Range: 0.0 ~ 65535.0 + fastSpeed = 100.0 + #. + #[in Stress Units] + #Minimum stress impact to be considered 'medium' + #Range: 0.0 ~ 4096.0 + mediumStressImpact = 4.0 + #. + #[in Stress Units] + #Minimum stress impact to be considered 'high' + #Range: 0.0 ~ 65535.0 + highStressImpact = 8.0 + #. + #[in Stress Units] + #Minimum added Capacity by sources to be considered 'medium' + #Range: 0.0 ~ 4096.0 + mediumCapacity = 256.0 + #. + #[in Stress Units] + #Minimum added Capacity by sources to be considered 'high' + #Range: 0.0 ~ 65535.0 + highCapacity = 1024.0 + + [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] + 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 + speedometer = 0.0 + copper_backtank = 4.0 + mechanical_saw = 4.0 + flywheel = 0.0 + encased_chain_drive = 0.0 + clutch = 0.0 + encased_fan = 2.0 + adjustable_chain_gearshift = 0.0 + mechanical_pump = 4.0 + crushing_wheel = 8.0 + mechanical_mixer = 4.0 + gantry_shaft = 0.0 + rope_pulley = 4.0 + 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 + stressometer = 0.0 + shaft = 0.0 + brass_encased_shaft = 0.0 + gearshift = 0.0 + turntable = 4.0 + sticky_mechanical_piston = 4.0 + sequenced_gearshift = 0.0 + weighted_ejector = 2.0 + cogwheel = 0.0 + andesite_encased_cogwheel = 0.0 + belt = 0.0 + brass_encased_cogwheel = 0.0 + gearbox = 0.0 + hose_pulley = 4.0 + elevator_pulley = 4.0 + mechanical_crafter = 2.0 + + #. + #[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 + creative_motor = 16384.0 + large_water_wheel = 128.0 + water_wheel = 32.0 + windmill_bearing = 512.0 + +#. +#Create's liquid manipulation tools +[fluids] + #. + #. + #[in Buckets] + #The amount of liquid a tank can hold per block. + #Range: > 1 + fluidTankCapacity = 8 + #. + #[in Blocks] + #The maximum height a fluid tank can reach. + #Range: > 1 + fluidTankMaxHeight = 32 + #. + #[in Blocks] + #The maximum distance a mechanical pump can push or pull liquids on either side. + #Range: > 1 + mechanicalPumpRange = 16 + #. + #[in Blocks] + #The maximum distance a hose pulley can draw fluid blocks from. + #Range: > 1 + hosePulleyRange = 128 + #. + #[in Blocks] + #[-1 to disable this behaviour] + #The minimum amount of fluid blocks the hose pulley needs to find before deeming it an infinite source. + #Range: > -1 + hosePulleyBlockThreshold = 0 + #. + #Whether hose pulleys should continue filling up above-threshold sources. + fillInfinite = false + #. + #Configure which fluids can be drained infinitely. + #Allowed Values: ALLOW_ALL, DENY_ALL, ALLOW_BY_TAG, DENY_BY_TAG + bottomlessFluidMode = "ALLOW_BY_TAG" + #. + #Whether hose pulleys should be allowed to place fluid sources. + fluidFillPlaceFluidSourceBlocks = false + #. + #Whether open-ended pipes should be allowed to place fluid sources. + pipesPlaceFluidSourceBlocks = false + +#. +#Tweaks for logistical components +[logistics] + #. + #. + #The amount of ticks a funnel waits between item transferrals, when it is not re-activated by redstone. + #Range: > 1 + defaultExtractionTimer = 8 + #. + #The amount of ticks a portable storage interface waits for transfers until letting contraptions move along. + #Range: > 1 + psiTimeout = 60 + #. + #Maximum distance in blocks a Mechanical Arm can reach across. + #Range: > 1 + mechanicalArmRange = 5 + #. + #Maximum possible range in blocks of redstone link connections. + #Range: > 1 + linkRange = 256 + #. + #Maximum possible distance in blocks between data gatherers and their target. + #Range: > 1 + displayLinkRange = 64 + #. + #The total amount of stacks a vault can hold per block in size. + #Range: > 1 + vaultCapacity = 20 + #. + #The amount of ticks a brass tunnel waits between distributions. + #Range: 1 ~ 10 + brassTunnelTimer = 10 + #. + #Whether hostile mobs walking near a seat will start riding it. + seatHostileMobs = true + +#. +#Everything related to Schematic tools +[schematics] + #. + #. + #Whether placing a Schematic directly in Creative Mode should replace world blocks with Air + creativePrintIncludesAir = false + #. + #The amount of Schematics a player can upload until previous ones are overwritten. + #Range: > 1 + maxSchematics = 256 + #. + #[in Bytes] + #The maximum packet size uploaded Schematics are split into. + #Range: 256 ~ 32767 + maxSchematicPacketSize = 1024 + #. + #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 + [schematics.schematicannon] + #. + #Amount of game ticks between shots of the cannon. Higher => Slower + #Range: > 1 + schematicannonDelay = 10 + #. + #Amount of blocks a Schematicannon can print per Gunpowder item provided. + #Range: > 1 + schematicannonShotsPerGunpowder = 400 + +#. +#Equipment and gadgets added by Create +[equipment] + #. + #. + #The Maximum Distance to an active mirror for the symmetry wand to trigger. + #Range: > 10 + maxSymmetryWandRange = 50 + #. + #The Maximum Distance a Block placed by Create's placement assist will have to its interaction point. + #Range: > 3 + placementAssistRange = 12 + #. + #The Maximum Distance at which a Toolbox can interact with Players' Inventories. + #Range: > 1 + toolboxRange = 10 + #. + #The Maximum volume of Air that can be stored in a backtank = Seconds of underwater breathing + #Range: > 1 + airInBacktank = 900 + #. + #The volume of Air added by each level of the backtanks Capacity Enchantment + #Range: > 1 + enchantedBacktankCapacity = 300 + #. + #Amount of free Extendo Grip actions provided by one filled Copper Backtank. Set to 0 makes Extendo Grips unbreakable + #Range: > 0 + maxExtendoGripActions = 1000 + #. + #Amount of free Potato Cannon shots provided by one filled Copper Backtank. Set to 0 makes Potato Cannons unbreakable + #Range: > 0 + maxPotatoCannonShots = 200 + +#. +#Create's builtin Railway systems +[trains] + #. + #. + #Whether moving Trains can hurt colliding mobs and players. + trainsCauseDamage = true + #. + #Maximum length of track that can be placed as one batch or turn. + #Range: 16 ~ 128 + maxTrackPlacementLength = 32 + #. + #Maximum length of a Train Stations' assembly track. + #Range: > 5 + maxAssemblyLength = 128 + #. + #Maximum amount of bogeys assembled as a single Train. + #Range: > 1 + maxBogeyCount = 20 + #. + #Relative speed of a manually controlled Train compared to a Scheduled one. + #Range: 0.0 ~ 3.4028234663852886E38 + manualTrainSpeedModifier = 0.75 + + #. + #Standard Trains + [trains.trainStats] + #. + #[in Blocks/Second] + #The top speed of any assembled Train. + #Range: 0.0 ~ 3.4028234663852886E38 + trainTopSpeed = 28.0 + #. + #[in Blocks/Second] + #The top speed of Trains during a turn. + #Range: 0.0 ~ 3.4028234663852886E38 + trainTurningTopSpeed = 14.0 + #. + #[in Blocks/Second²] + #The acceleration of any assembled Train. + #Range: 0.0 ~ 3.4028234663852886E38 + trainAcceleration = 3.0 + + #. + #Powered Trains + [trains.poweredTrainStats] + #. + #[in Blocks/Second] + #The top speed of powered Trains. + #Range: 0.0 ~ 3.4028234663852886E38 + poweredTrainTopSpeed = 40.0 + #. + #[in Blocks/Second] + #The top speed of powered Trains during a turn. + #Range: 0.0 ~ 3.4028234663852886E38 + poweredTrainTurningTopSpeed = 20.0 + #. + #[in Blocks/Second²] + #The acceleration of powered Trains. + #Range: 0.0 ~ 3.4028234663852886E38 + poweredTrainAcceleration = 3.0 + diff --git a/global-server-configs/create_connected-server.toml b/global-server-configs/create_connected-server.toml new file mode 100644 index 000000000..ed130c2ae --- /dev/null +++ b/global-server-configs/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 = 8.0 + large_crank_wheel = 8.0 + diff --git a/global-server-configs/curios-server.toml b/global-server-configs/curios-server.toml new file mode 100644 index 000000000..b9df94c76 --- /dev/null +++ b/global-server-configs/curios-server.toml @@ -0,0 +1,19 @@ +#Sets behavior for keeping Curios items on death. +#ON - Curios items are kept on death +#DEFAULT - Curios items follow the keepInventory gamerule +#OFF - Curios items are dropped on death +#Allowed Values: ON, DEFAULT, OFF +keepCurios = "DEFAULT" + +[menu] + #Enables the old legacy Curios menu for better backwards compatibility. + enableLegacyMenu = false + + [menu.experimental] + #The minimum number of columns for the Curios menu. + #Range: 1 ~ 8 + minimumColumns = 1 + #The maximum number of slots per page of the Curios menu. + #Range: 1 ~ 48 + maxSlotsPerPage = 48 + diff --git a/global-server-configs/firmaciv-server.toml b/global-server-configs/firmaciv-server.toml new file mode 100644 index 000000000..d146966fb --- /dev/null +++ b/global-server-configs/firmaciv-server.toml @@ -0,0 +1,11 @@ + +[general] + #Force creation of canoes from specified wood types. Turning this to false will make canoes craftable from any wood type. + canoeWoodRestriction = true + #Force creation of ships and rowboats from specified wood types. Turning this to false will make ships and rowboats craftable from any wood type. + shipWoodRestriction = true + #Force reduceDebugInfo gamerule. Turn this to FALSE if you want coordinates back. + forceReducedDebugInfo = false + #Disables vanilla boats and base TFC boats from working. + disableVanillaBoatFunctionality = true + diff --git a/global-server-configs/firmalife-server.toml b/global-server-configs/firmalife-server.toml new file mode 100644 index 000000000..451914b77 --- /dev/null +++ b/global-server-configs/firmalife-server.toml @@ -0,0 +1,107 @@ + +[general] + #Days in a cellar to make cheese Aged. + #Range: > 1 + cheeseAgedDays = 28 + #Days in a cellar to make cheese Vintage. + #Range: > 1 + cheeseVintageDays = 112 + #Ticks to dry something on a drying mat (24000 ticks = 1 day) + #Range: > 1 + dryingTicks = 12000 + #Ticks to dry something on a solar drier (24000 ticks = 1 day) + #Range: > 1 + solarDryingTicks = 1000 + #Ticks to smoke something on a string (24000 ticks = 1 day) + #Range: > 1 + smokingTicks = 8000 + #Number of blocks below the firepit that wool string will search for valid smoking firepits. + #Range: > 1 + smokingFirepitRange = 6 + #Ticks for a composter tumbler to finish (24000 ticks = 1 day) + #Range: > 1 + compostTumblerTicks = 96000 + #Ticks for an oven to cure (24000 ticks = 1 day) + #Range: > 1 + ovenCureTicks = 2000 + #Minimum temperature for an oven to start the curing process (24000 ticks = 1 day) + #Range: > 1 + ovenCureTemperature = 600 + #If true, ovens will hurt the player if they touch it without a peel in hand. + ovenRequirePeel = true + #The chance for fuel burning in an oven to drop an ash block into an ashtray. + #Range: 0.0 ~ 1.0 + ovenAshChance = 0.5 + #If true, players can throw seed balls. + enableSeedBalls = true + #If true, bees can swarm and hurt the player if provoked. + enableBeeSwarm = true + #The capacity in mB of the hollow shell. Default 100 + #Range: > 1 + hollowShellCapacity = 100 + #The average temperature below which stronger decay modifiers apply to cellar blocks. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + cellarLevel2Temperature = 0.0 + #The average temperature below which even stronger decay modifiers apply to cellar blocks. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + cellarLevel3Temperature = -12.0 + #The average amount of days for a crop in a greenhouse to grow. For normal crops, this is 24 days. + #Range: 4.9E-324 ~ 1.7976931348623157E308 + greenhouseGrowthDays = 20.0 + #The average amount of days for a crop in a greenhouse to consume all its water. + #Range: 0.0 ~ 1.7976931348623157E308 + greenhouseWaterDays = 12.0 + #The average amount of days for a crop to consume all of a nutrient. You should probably not configure this value unless you know what it does in the code. For regular crops this value is 12. + #Range: 0.0 ~ 1.7976931348623157E308 + greenhouseNutrientDays = 8.0 + #The max bounded distance from the climate station a greenhouse wall can be. Higher numbers = more lag. + #Range: 1 ~ 128 + greenhouseRadius = 15 + #The max bounded distance from the climate station a cellar wall can be. Higher numbers = more lag. + #Range: 1 ~ 128 + cellarRadius = 15 + +[foodTraits] + #The modifier for the 'Dried' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitDriedModifier = 0.5 + #The modifier for the 'Fresh' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitFreshModifier = 1.100000023841858 + #The modifier for the 'Aged' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitAgedModifier = 0.8999999761581421 + #The modifier for the 'Vintage' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitVintageModifier = 0.6000000238418579 + #The modifier for the 'Oven_baked' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitOven_bakedModifier = 0.8999999761581421 + #The modifier for the 'Smoked' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitSmokedModifier = 0.699999988079071 + #The modifier for the 'Rancid_smoked' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitRancid_smokedModifier = 2.0 + #The modifier for the 'Raw' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitRawModifier = 1.0 + #The modifier for the 'Shelved' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitShelvedModifier = 0.4000000059604645 + #The modifier for the 'Shelved_2' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitShelved_2Modifier = 0.3499999940395355 + #The modifier for the 'Shelved_3' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitShelved_3Modifier = 0.25 + #The modifier for the 'Hung' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitHungModifier = 0.3499999940395355 + #The modifier for the 'Hung_2' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitHung_2Modifier = 0.30000001192092896 + #The modifier for the 'Hung_3' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitHung_3Modifier = 0.25 + diff --git a/global-server-configs/forge-server.toml b/global-server-configs/forge-server.toml new file mode 100644 index 000000000..13772cf52 --- /dev/null +++ b/global-server-configs/forge-server.toml @@ -0,0 +1,20 @@ + +#Server configuration settings +[server] + #Set this to true to remove any BlockEntity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES. + removeErroringBlockEntities = false + #Set this to true to remove any Entity (Note: Does not include BlockEntities) that throws an error in its tick method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES. + removeErroringEntities = false + #Set this to true to check the entire entity's collision bounding box for ladders instead of just the block they are in. Causes noticeable differences in mechanics so default is vanilla behavior. Default: false. + fullBoundingBoxLadders = false + #Base zombie summoning spawn chance. Allows changing the bonus zombie summoning mechanic. + #Range: 0.0 ~ 1.0 + zombieBaseSummonChance = 0.1 + #Chance that a zombie (or subclass) is a baby. Allows changing the zombie spawning mechanic. + #Range: 0.0 ~ 1.0 + zombieBabyChance = 0.05 + #The permission handler used by the server. Defaults to forge:default_handler if no such handler with that name is registered. + permissionHandler = "forge:default_handler" + #Set this to true to enable advertising the dedicated server to local LAN clients so that it shows up in the Multiplayer screen automatically. + advertiseDedicatedServerToLan = true + diff --git a/global-server-configs/framedblocks-server.toml b/global-server-configs/framedblocks-server.toml new file mode 100644 index 000000000..6e5137517 --- /dev/null +++ b/global-server-configs/framedblocks-server.toml @@ -0,0 +1,16 @@ + +[general] + #Whether blocks with block entities can be placed in framed blocks + allowBlockEntities = false + #Enables the intangbility feature. Disabling this also prevents moving through blocks that are already marked as intangible + enableIntangibleFeature = false + #The item to use for making Framed Blocks intangible. The value must be a valid item registry name + intangibleMarkerItem = "minecraft:phantom_membrane" + #If true, only the player who placed the Framed One-Way Window can modify the window direction + oneWayWindowOwnable = true + #If true, applying a camo will consume the item and removing the camo will drop it again + consumeCamoItem = true + #The light level to emit when glowstone dust is applied to a framed block + #Range: 0 ~ 15 + glowstoneLightLevel = 15 + diff --git a/global-server-configs/ftbessentials-server.snbt b/global-server-configs/ftbessentials-server.snbt new file mode 100644 index 000000000..c3f5803c5 --- /dev/null +++ b/global-server-configs/ftbessentials-server.snbt @@ -0,0 +1,241 @@ +# Default config file that will be copied to world's serverconfig/ftbessentials.snbt location +# Copy values you wish to override in here +# Example: +# +# { +# misc: { +# enderchest: { +# enabled: false +# } +# } +# } + +{ + # Admin commands for cheating and moderation + admin: { + # Allows admins to toggle flying status using a command, without having to use Creative Mode + fly: { + # Default: true + enabled: true + } + + # Allows admins to toggle invincibility using a command, without having to use Creative Mode + god: { + # Default: true + enabled: true + } + + # Allows admins to heal themselves using a command + heal: { + # Default: true + enabled: true + } + + # Allows admins to view other users' inventories using a command + invsee: { + # Default: true + enabled: true + } + + # Allows admins to restrict players from chatting by using a command to mute (or unmute) them + mute: { + # Default: true + enabled: true + } + } + + # Miscellaneous features and utilities + misc: { + # Allows users to access their ender chest, as well as admins to manage other players' ender chests. + enderchest: { + # Default: true + enabled: true + } + + # Allows users to set a custom hat as their head item by using a command + hat: { + # Default: true + enabled: true + } + + # Allows users to kick themselves from the server, for example if they are stuck or desynced + kickme: { + # Default: true + enabled: false + } + + # Allows users to view player leaderboard stats. + leaderboard: { + # Default: true + enabled: true + } + + # Allows users to change their display name, as well as admins to change nicknames for other users + nick: { + # Default: true + enabled: false + } + + # Allows users to announce their recording or streaming status to the server by using commands + rec: { + # Default: true + enabled: false + } + + # Enables usage of a trash can inventory, which can be used to void unneeded items + trashcan: { + # Default: true + enabled: true + } + } + + # Teleportation-related settings + teleportation: { + # Allows users to return to their previous location after teleporting (or dying) + back: { + # Cooldown between /back commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.back.cooldown + # Default: 30 + # Range: 0 ~ 604800 + cooldown: 30 + + # Default: true + enabled: false + + # Max size of the teleport history. This limits how many times you can use /back + # You can override this with FTB Ranks using ftbessentials.back.max + # Default: 10 + # Range: 0 ~ 2147483647 + max: 10 + + # Warm-up time before /back command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.back.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows users to set 'homes', which they can then freely teleport to by using /home afterwards + home: { + # Cooldown between /home commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.home.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Max amount of homes a user can have. + # You can override this with FTB Ranks using ftbessentials.home.max + # Default: 1 + # Range: 0 ~ 2147483647 + max: 1 + + # Warm-up time before /home command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.home.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows players to teleport to a random point in the Wilderness + # Note: This currently does not respect Claimed Chunks yet! + rtp: { + # Cooldown between /rtp commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.rtp.cooldown + # Default: 600 + # Range: 0 ~ 604800 + cooldown: 600 + + # Default: true + enabled: false + + # /rtp max distance from spawn point + # Default: 100000 + # Range: 0 ~ 30000000 + max_distance: 100000 + + # Number of tries before /rtp gives up + # Default: 100 + # Range: 1 ~ 1000 + max_tries: 100 + + # /rtp min distance from spawn point + # Default: 1000 + # Range: 0 ~ 30000000 + min_distance: 1000 + + # Warm-up time before /rtp command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.rtp.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + spawn: { + # Cooldown between /spawn commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.spawn.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /spawn command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.spawn.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows players to create requests to teleport to other users on the server, + # as well as requesting other players to teleport to them + tpa: { + # Cooldown between /tpa commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.tpa.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /tpa command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.tpa.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows admins to teleport to the location a user was last seen at + tpl: { + # Default: true + enabled: false + } + + # Allows admins to teleport to dimension + tpx: { + # Default: true + enabled: true + } + + # Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp + warp: { + # Cooldown between /warp commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.warp.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /warp command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.warp.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + } +} diff --git a/global-server-configs/ftbessentials.snbt b/global-server-configs/ftbessentials.snbt new file mode 100644 index 000000000..888367213 --- /dev/null +++ b/global-server-configs/ftbessentials.snbt @@ -0,0 +1,232 @@ +# FTB Essentials config file +# If you're a modpack maker, edit defaultconfigs/ftbessentials-server.snbt instead + +{ + # Admin commands for cheating and moderation + admin: { + # Allows admins to toggle flying status using a command, without having to use Creative Mode + fly: { + # Default: true + enabled: true + } + + # Allows admins to toggle invincibility using a command, without having to use Creative Mode + god: { + # Default: true + enabled: true + } + + # Allows admins to heal themselves using a command + heal: { + # Default: true + enabled: true + } + + # Allows admins to view other users' inventories using a command + invsee: { + # Default: true + enabled: true + } + + # Allows admins to restrict players from chatting by using a command to mute (or unmute) them + mute: { + # Default: true + enabled: true + } + } + + # Miscellaneous features and utilities + misc: { + # Allows users to access their ender chest, as well as admins to manage other players' ender chests. + enderchest: { + # Default: true + enabled: true + } + + # Allows users to set a custom hat as their head item by using a command + hat: { + # Default: true + enabled: false + } + + # Allows users to kick themselves from the server, for example if they are stuck or desynced + kickme: { + # Default: true + enabled: false + } + + # Allows users to view player leaderboard stats. + leaderboard: { + # Default: true + enabled: true + } + + # Allows users to change their display name, as well as admins to change nicknames for other users + nick: { + # Default: true + enabled: false + } + + # Allows users to announce their recording or streaming status to the server by using commands + rec: { + # Default: true + enabled: false + } + + # Enables usage of a trash can inventory, which can be used to void unneeded items + trashcan: { + # Default: true + enabled: true + } + } + + # Teleportation-related settings + teleportation: { + # Allows users to return to their previous location after teleporting (or dying) + back: { + # Cooldown between /back commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.back.cooldown + # Default: 30 + # Range: 0 ~ 604800 + cooldown: 30 + + # Default: true + enabled: false + + # Max size of the teleport history. This limits how many times you can use /back + # You can override this with FTB Ranks using ftbessentials.back.max + # Default: 10 + # Range: 0 ~ 2147483647 + max: 10 + + # Warm-up time before /back command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.back.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows users to set 'homes', which they can then freely teleport to by using /home afterwards + home: { + # Cooldown between /home commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.home.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Max amount of homes a user can have. + # You can override this with FTB Ranks using ftbessentials.home.max + # Default: 1 + # Range: 0 ~ 2147483647 + max: 1 + + # Warm-up time before /home command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.home.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows players to teleport to a random point in the Wilderness + # Note: This currently does not respect Claimed Chunks yet! + rtp: { + # Cooldown between /rtp commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.rtp.cooldown + # Default: 600 + # Range: 0 ~ 604800 + cooldown: 600 + + # Default: true + enabled: false + + # /rtp max distance from spawn point + # Default: 100000 + # Range: 0 ~ 30000000 + max_distance: 100000 + + # Number of tries before /rtp gives up + # Default: 100 + # Range: 1 ~ 1000 + max_tries: 100 + + # /rtp min distance from spawn point + # Default: 1000 + # Range: 0 ~ 30000000 + min_distance: 1000 + + # Warm-up time before /rtp command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.rtp.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + spawn: { + # Cooldown between /spawn commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.spawn.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /spawn command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.spawn.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows players to create requests to teleport to other users on the server, + # as well as requesting other players to teleport to them + tpa: { + # Cooldown between /tpa commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.tpa.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /tpa command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.tpa.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows admins to teleport to the location a user was last seen at + tpl: { + # Default: true + enabled: false + } + + # Allows admins to teleport to dimension + tpx: { + # Default: true + enabled: false + } + + # Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp + warp: { + # Cooldown between /warp commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.warp.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /warp command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.warp.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + } +} diff --git a/global-server-configs/ftblibrary/ftblibrary-client.snbt b/global-server-configs/ftblibrary/ftblibrary-client.snbt new file mode 100644 index 000000000..ee8fa4b3d --- /dev/null +++ b/global-server-configs/ftblibrary/ftblibrary-client.snbt @@ -0,0 +1,4 @@ +# Default config file that will be copied to local\ftblibrary-client.snbt if it doesn't exist! +# Just copy any values you wish to override in here! + +{ } diff --git a/global-server-configs/ftbquests/client-config.snbt b/global-server-configs/ftbquests/client-config.snbt new file mode 100644 index 000000000..406c7da71 --- /dev/null +++ b/global-server-configs/ftbquests/client-config.snbt @@ -0,0 +1,4 @@ +# Default config file that will be copied to local\ftbquests\client-config.snbt if it doesn't exist! +# Just copy any values you wish to override in here! + +{ } diff --git a/global-server-configs/ftbranks/README.txt b/global-server-configs/ftbranks/README.txt new file mode 100644 index 000000000..74c94df2c --- /dev/null +++ b/global-server-configs/ftbranks/README.txt @@ -0,0 +1,2103 @@ +=== FTB Ranks === + +Last README file update: Thu Jul 20 09:32:31 YEKT 2023 +Wiki: https://www.notion.so/feedthebeast/FTB-Mod-Documentation-da2e359bad2449459d58d787edda3168 +To refresh this file, run /ftbranks refresh_readme + += All available command nodes = +command +command.advancement +command.advancement.grant +command.advancement.grant.targets +command.advancement.grant.targets.everything +command.advancement.grant.targets.from +command.advancement.grant.targets.from.advancement +command.advancement.grant.targets.only +command.advancement.grant.targets.only.advancement +command.advancement.grant.targets.only.advancement.criterion +command.advancement.grant.targets.through +command.advancement.grant.targets.through.advancement +command.advancement.grant.targets.until +command.advancement.grant.targets.until.advancement +command.advancement.revoke +command.advancement.revoke.targets +command.advancement.revoke.targets.everything +command.advancement.revoke.targets.from +command.advancement.revoke.targets.from.advancement +command.advancement.revoke.targets.only +command.advancement.revoke.targets.only.advancement +command.advancement.revoke.targets.only.advancement.criterion +command.advancement.revoke.targets.through +command.advancement.revoke.targets.through.advancement +command.advancement.revoke.targets.until +command.advancement.revoke.targets.until.advancement +command.attribute +command.attribute.target +command.attribute.target.attribute +command.attribute.target.attribute.base +command.attribute.target.attribute.base.get +command.attribute.target.attribute.base.get.scale +command.attribute.target.attribute.base.set +command.attribute.target.attribute.base.set.value +command.attribute.target.attribute.get +command.attribute.target.attribute.get.scale +command.attribute.target.attribute.modifier +command.attribute.target.attribute.modifier.add +command.attribute.target.attribute.modifier.add.uuid +command.attribute.target.attribute.modifier.add.uuid.name +command.attribute.target.attribute.modifier.add.uuid.name.value +command.attribute.target.attribute.modifier.add.uuid.name.value.add +command.attribute.target.attribute.modifier.add.uuid.name.value.multiply +command.attribute.target.attribute.modifier.add.uuid.name.value.multiply_base +command.attribute.target.attribute.modifier.remove +command.attribute.target.attribute.modifier.remove.uuid +command.attribute.target.attribute.modifier.value +command.attribute.target.attribute.modifier.value.get +command.attribute.target.attribute.modifier.value.get.uuid +command.attribute.target.attribute.modifier.value.get.uuid.scale +command.back +command.betterbiomeblend +command.betterbiomeblend.toggleBenchmark +command.bossbar +command.bossbar.add +command.bossbar.add.id +command.bossbar.add.id.name +command.bossbar.get +command.bossbar.get.id +command.bossbar.get.id.max +command.bossbar.get.id.players +command.bossbar.get.id.value +command.bossbar.get.id.visible +command.bossbar.list +command.bossbar.remove +command.bossbar.remove.id +command.bossbar.set +command.bossbar.set.id +command.bossbar.set.id.color +command.bossbar.set.id.color.blue +command.bossbar.set.id.color.green +command.bossbar.set.id.color.pink +command.bossbar.set.id.color.purple +command.bossbar.set.id.color.red +command.bossbar.set.id.color.white +command.bossbar.set.id.color.yellow +command.bossbar.set.id.max +command.bossbar.set.id.max.max +command.bossbar.set.id.name +command.bossbar.set.id.name.name +command.bossbar.set.id.players +command.bossbar.set.id.players.targets +command.bossbar.set.id.style +command.bossbar.set.id.style.notched_10 +command.bossbar.set.id.style.notched_12 +command.bossbar.set.id.style.notched_20 +command.bossbar.set.id.style.notched_6 +command.bossbar.set.id.style.progress +command.bossbar.set.id.value +command.bossbar.set.id.value.value +command.bossbar.set.id.visible +command.bossbar.set.id.visible.visible +command.c +command.c.clone +command.c.clone.begin +command.c.clone.begin.end +command.c.clone.begin.end.destination +command.c.clone.begin.end.destination.skipBlocks +command.c.config +command.c.config.path +command.c.config.path.set +command.c.config.path.set.value +command.c.coupling +command.c.coupling.add +command.c.coupling.add.cart1 +command.c.coupling.add.cart1.cart2 +command.c.coupling.add.carts +command.c.coupling.remove +command.c.coupling.remove.cart1 +command.c.coupling.remove.cart1.cart2 +command.c.coupling.removeAll +command.c.coupling.removeAll.cart +command.c.dismissFabulousWarning +command.c.fixLighting +command.c.glue +command.c.glue.from +command.c.glue.from.to +command.c.highlight +command.c.highlight.pos +command.c.highlight.pos.players +command.c.killTrain +command.c.killTrain.train +command.c.overlay +command.c.overlay.reset +command.c.passenger +command.c.passenger.rider +command.c.passenger.rider.vehicle +command.c.passenger.rider.vehicle.seatIndex +command.c.ponder +command.c.ponder.scene +command.c.ponder.scene.targets +command.c.rainbowDebug +command.c.rainbowDebug.off +command.c.rainbowDebug.on +command.c.trains +command.c.u +command.c.u.angle +command.c.u.angle.players +command.c.u.angle.players.mode +command.c.u.angle.players.mode.exponential +command.c.u.angle.players.mode.exponential.speed +command.c.u.angle.players.mode.linear +command.c.u.angle.players.mode.linear.speed +command.c.u.angle.players.pitch +command.c.u.angle.players.pitch.degrees +command.c.u.angle.players.yaw +command.c.u.angle.players.yaw.degrees +command.c.u.camera +command.c.u.camera.multiplier +command.c.u.camera.reset +command.c.u.clearRenderBuffers +command.c.u.flySpeed +command.c.u.flySpeed.reset +command.c.u.flySpeed.reset.target +command.c.u.flySpeed.speed +command.c.u.flySpeed.speed.target +command.c.u.replaceInCommandBlocks +command.c.u.replaceInCommandBlocks.begin +command.c.u.replaceInCommandBlocks.begin.end +command.c.u.replaceInCommandBlocks.begin.end.toReplace +command.c.u.replaceInCommandBlocks.begin.end.toReplace.replaceWith +command.c.util +command.c.util.angle +command.c.util.angle.players +command.c.util.angle.players.mode +command.c.util.angle.players.mode.exponential +command.c.util.angle.players.mode.exponential.speed +command.c.util.angle.players.mode.linear +command.c.util.angle.players.mode.linear.speed +command.c.util.angle.players.pitch +command.c.util.angle.players.pitch.degrees +command.c.util.angle.players.yaw +command.c.util.angle.players.yaw.degrees +command.c.util.camera +command.c.util.camera.multiplier +command.c.util.camera.reset +command.c.util.clearRenderBuffers +command.c.util.flySpeed +command.c.util.flySpeed.reset +command.c.util.flySpeed.reset.target +command.c.util.flySpeed.speed +command.c.util.flySpeed.speed.target +command.c.util.replaceInCommandBlocks +command.c.util.replaceInCommandBlocks.begin +command.c.util.replaceInCommandBlocks.begin.end +command.c.util.replaceInCommandBlocks.begin.end.toReplace +command.c.util.replaceInCommandBlocks.begin.end.toReplace.replaceWith +command.candb +command.candb.clear +command.candb.clear.start +command.candb.clear.start.end +command.candb.fill +command.candb.fill.start +command.candb.fill.start.end +command.candb.fill.start.end.random +command.candb.fill.start.end.state +command.candb.give +command.candb.give.target +command.candb.give.target.state +command.candb.give.target.state.count +command.candb.load +command.candb.load.name +command.candb.profiling +command.candb.profiling.start +command.candb.profiling.stop +command.candb.redo +command.candb.redo.target +command.candb.save +command.candb.save.target +command.candb.save.target.name +command.candb.stats +command.candb.stats.start +command.candb.stats.start.end +command.candb.undo +command.candb.undo.target +command.carryon +command.carryon.clear +command.carryon.clear.target +command.carryon.debug +command.cca_api +command.clear +command.clear.targets +command.clear.targets.item +command.clear.targets.item.maxCount +command.clone +command.clone.begin +command.clone.begin.end +command.clone.begin.end.destination +command.clone.begin.end.destination.filtered +command.clone.begin.end.destination.filtered.filter +command.clone.begin.end.destination.filtered.filter.force +command.clone.begin.end.destination.filtered.filter.move +command.clone.begin.end.destination.filtered.filter.normal +command.clone.begin.end.destination.masked +command.clone.begin.end.destination.masked.force +command.clone.begin.end.destination.masked.move +command.clone.begin.end.destination.masked.normal +command.clone.begin.end.destination.replace +command.clone.begin.end.destination.replace.force +command.clone.begin.end.destination.replace.move +command.clone.begin.end.destination.replace.normal +command.config +command.config.showfile +command.config.showfile.mod +command.config.showfile.mod.type +command.create +command.create.clone +command.create.clone.begin +command.create.clone.begin.end +command.create.clone.begin.end.destination +command.create.clone.begin.end.destination.skipBlocks +command.create.config +command.create.config.path +command.create.config.path.set +command.create.config.path.set.value +command.create.coupling +command.create.coupling.add +command.create.coupling.add.cart1 +command.create.coupling.add.cart1.cart2 +command.create.coupling.add.carts +command.create.coupling.remove +command.create.coupling.remove.cart1 +command.create.coupling.remove.cart1.cart2 +command.create.coupling.removeAll +command.create.coupling.removeAll.cart +command.create.dismissFabulousWarning +command.create.fixLighting +command.create.glue +command.create.glue.from +command.create.glue.from.to +command.create.highlight +command.create.highlight.pos +command.create.highlight.pos.players +command.create.killTrain +command.create.killTrain.train +command.create.overlay +command.create.overlay.reset +command.create.passenger +command.create.passenger.rider +command.create.passenger.rider.vehicle +command.create.passenger.rider.vehicle.seatIndex +command.create.ponder +command.create.ponder.scene +command.create.ponder.scene.targets +command.create.rainbowDebug +command.create.rainbowDebug.off +command.create.rainbowDebug.on +command.create.trains +command.create.u +command.create.u.angle +command.create.u.angle.players +command.create.u.angle.players.mode +command.create.u.angle.players.mode.exponential +command.create.u.angle.players.mode.exponential.speed +command.create.u.angle.players.mode.linear +command.create.u.angle.players.mode.linear.speed +command.create.u.angle.players.pitch +command.create.u.angle.players.pitch.degrees +command.create.u.angle.players.yaw +command.create.u.angle.players.yaw.degrees +command.create.u.camera +command.create.u.camera.multiplier +command.create.u.camera.reset +command.create.u.clearRenderBuffers +command.create.u.flySpeed +command.create.u.flySpeed.reset +command.create.u.flySpeed.reset.target +command.create.u.flySpeed.speed +command.create.u.flySpeed.speed.target +command.create.u.replaceInCommandBlocks +command.create.u.replaceInCommandBlocks.begin +command.create.u.replaceInCommandBlocks.begin.end +command.create.u.replaceInCommandBlocks.begin.end.toReplace +command.create.u.replaceInCommandBlocks.begin.end.toReplace.replaceWith +command.create.util +command.create.util.angle +command.create.util.angle.players +command.create.util.angle.players.mode +command.create.util.angle.players.mode.exponential +command.create.util.angle.players.mode.exponential.speed +command.create.util.angle.players.mode.linear +command.create.util.angle.players.mode.linear.speed +command.create.util.angle.players.pitch +command.create.util.angle.players.pitch.degrees +command.create.util.angle.players.yaw +command.create.util.angle.players.yaw.degrees +command.create.util.camera +command.create.util.camera.multiplier +command.create.util.camera.reset +command.create.util.clearRenderBuffers +command.create.util.flySpeed +command.create.util.flySpeed.reset +command.create.util.flySpeed.reset.target +command.create.util.flySpeed.speed +command.create.util.flySpeed.speed.target +command.create.util.replaceInCommandBlocks +command.create.util.replaceInCommandBlocks.begin +command.create.util.replaceInCommandBlocks.begin.end +command.create.util.replaceInCommandBlocks.begin.end.toReplace +command.create.util.replaceInCommandBlocks.begin.end.toReplace.replaceWith +command.ctm +command.ctm.reload +command.curios +command.curios.add +command.curios.add.slot +command.curios.add.slot.player +command.curios.add.slot.player.amount +command.curios.clear +command.curios.clear.player +command.curios.clear.player.slot +command.curios.drop +command.curios.drop.player +command.curios.drop.player.slot +command.curios.list +command.curios.remove +command.curios.remove.slot +command.curios.remove.slot.player +command.curios.remove.slot.player.amount +command.curios.replace +command.curios.replace.slot +command.curios.replace.slot.index +command.curios.replace.slot.index.player +command.curios.replace.slot.index.player.with +command.curios.replace.slot.index.player.with.item +command.curios.replace.slot.index.player.with.item.count +command.curios.reset +command.curios.reset.player +command.curios.set +command.curios.set.slot +command.curios.set.slot.player +command.curios.set.slot.player.amount +command.data +command.data.get +command.data.get.block +command.data.get.block.targetPos +command.data.get.block.targetPos.path +command.data.get.block.targetPos.path.scale +command.data.get.entity +command.data.get.entity.target +command.data.get.entity.target.path +command.data.get.entity.target.path.scale +command.data.get.storage +command.data.get.storage.target +command.data.get.storage.target.path +command.data.get.storage.target.path.scale +command.data.merge +command.data.merge.block +command.data.merge.block.targetPos +command.data.merge.block.targetPos.nbt +command.data.merge.entity +command.data.merge.entity.target +command.data.merge.entity.target.nbt +command.data.merge.storage +command.data.merge.storage.target +command.data.merge.storage.target.nbt +command.data.modify +command.data.modify.block +command.data.modify.block.targetPos +command.data.modify.block.targetPos.targetPath +command.data.modify.block.targetPos.targetPath.append +command.data.modify.block.targetPos.targetPath.append.from +command.data.modify.block.targetPos.targetPath.append.from.block +command.data.modify.block.targetPos.targetPath.append.from.block.sourcePos +command.data.modify.block.targetPos.targetPath.append.from.block.sourcePos.sourcePath +command.data.modify.block.targetPos.targetPath.append.from.entity +command.data.modify.block.targetPos.targetPath.append.from.entity.source +command.data.modify.block.targetPos.targetPath.append.from.entity.source.sourcePath +command.data.modify.block.targetPos.targetPath.append.from.storage +command.data.modify.block.targetPos.targetPath.append.from.storage.source +command.data.modify.block.targetPos.targetPath.append.from.storage.source.sourcePath +command.data.modify.block.targetPos.targetPath.append.value +command.data.modify.block.targetPos.targetPath.append.value.value +command.data.modify.block.targetPos.targetPath.insert +command.data.modify.block.targetPos.targetPath.insert.index +command.data.modify.block.targetPos.targetPath.insert.index.from +command.data.modify.block.targetPos.targetPath.insert.index.from.block +command.data.modify.block.targetPos.targetPath.insert.index.from.block.sourcePos +command.data.modify.block.targetPos.targetPath.insert.index.from.block.sourcePos.sourcePath +command.data.modify.block.targetPos.targetPath.insert.index.from.entity +command.data.modify.block.targetPos.targetPath.insert.index.from.entity.source +command.data.modify.block.targetPos.targetPath.insert.index.from.entity.source.sourcePath +command.data.modify.block.targetPos.targetPath.insert.index.from.storage +command.data.modify.block.targetPos.targetPath.insert.index.from.storage.source +command.data.modify.block.targetPos.targetPath.insert.index.from.storage.source.sourcePath +command.data.modify.block.targetPos.targetPath.insert.index.value +command.data.modify.block.targetPos.targetPath.insert.index.value.value +command.data.modify.block.targetPos.targetPath.merge +command.data.modify.block.targetPos.targetPath.merge.from +command.data.modify.block.targetPos.targetPath.merge.from.block +command.data.modify.block.targetPos.targetPath.merge.from.block.sourcePos +command.data.modify.block.targetPos.targetPath.merge.from.block.sourcePos.sourcePath +command.data.modify.block.targetPos.targetPath.merge.from.entity +command.data.modify.block.targetPos.targetPath.merge.from.entity.source +command.data.modify.block.targetPos.targetPath.merge.from.entity.source.sourcePath +command.data.modify.block.targetPos.targetPath.merge.from.storage +command.data.modify.block.targetPos.targetPath.merge.from.storage.source +command.data.modify.block.targetPos.targetPath.merge.from.storage.source.sourcePath +command.data.modify.block.targetPos.targetPath.merge.value +command.data.modify.block.targetPos.targetPath.merge.value.value +command.data.modify.block.targetPos.targetPath.prepend +command.data.modify.block.targetPos.targetPath.prepend.from +command.data.modify.block.targetPos.targetPath.prepend.from.block +command.data.modify.block.targetPos.targetPath.prepend.from.block.sourcePos +command.data.modify.block.targetPos.targetPath.prepend.from.block.sourcePos.sourcePath +command.data.modify.block.targetPos.targetPath.prepend.from.entity +command.data.modify.block.targetPos.targetPath.prepend.from.entity.source +command.data.modify.block.targetPos.targetPath.prepend.from.entity.source.sourcePath +command.data.modify.block.targetPos.targetPath.prepend.from.storage +command.data.modify.block.targetPos.targetPath.prepend.from.storage.source +command.data.modify.block.targetPos.targetPath.prepend.from.storage.source.sourcePath +command.data.modify.block.targetPos.targetPath.prepend.value +command.data.modify.block.targetPos.targetPath.prepend.value.value +command.data.modify.block.targetPos.targetPath.set +command.data.modify.block.targetPos.targetPath.set.from +command.data.modify.block.targetPos.targetPath.set.from.block +command.data.modify.block.targetPos.targetPath.set.from.block.sourcePos +command.data.modify.block.targetPos.targetPath.set.from.block.sourcePos.sourcePath +command.data.modify.block.targetPos.targetPath.set.from.entity +command.data.modify.block.targetPos.targetPath.set.from.entity.source +command.data.modify.block.targetPos.targetPath.set.from.entity.source.sourcePath +command.data.modify.block.targetPos.targetPath.set.from.storage +command.data.modify.block.targetPos.targetPath.set.from.storage.source +command.data.modify.block.targetPos.targetPath.set.from.storage.source.sourcePath +command.data.modify.block.targetPos.targetPath.set.value +command.data.modify.block.targetPos.targetPath.set.value.value +command.data.modify.entity +command.data.modify.entity.target +command.data.modify.entity.target.targetPath +command.data.modify.entity.target.targetPath.append +command.data.modify.entity.target.targetPath.append.from +command.data.modify.entity.target.targetPath.append.from.block +command.data.modify.entity.target.targetPath.append.from.block.sourcePos +command.data.modify.entity.target.targetPath.append.from.block.sourcePos.sourcePath +command.data.modify.entity.target.targetPath.append.from.entity +command.data.modify.entity.target.targetPath.append.from.entity.source +command.data.modify.entity.target.targetPath.append.from.entity.source.sourcePath +command.data.modify.entity.target.targetPath.append.from.storage +command.data.modify.entity.target.targetPath.append.from.storage.source +command.data.modify.entity.target.targetPath.append.from.storage.source.sourcePath +command.data.modify.entity.target.targetPath.append.value +command.data.modify.entity.target.targetPath.append.value.value +command.data.modify.entity.target.targetPath.insert +command.data.modify.entity.target.targetPath.insert.index +command.data.modify.entity.target.targetPath.insert.index.from +command.data.modify.entity.target.targetPath.insert.index.from.block +command.data.modify.entity.target.targetPath.insert.index.from.block.sourcePos +command.data.modify.entity.target.targetPath.insert.index.from.block.sourcePos.sourcePath +command.data.modify.entity.target.targetPath.insert.index.from.entity +command.data.modify.entity.target.targetPath.insert.index.from.entity.source +command.data.modify.entity.target.targetPath.insert.index.from.entity.source.sourcePath +command.data.modify.entity.target.targetPath.insert.index.from.storage +command.data.modify.entity.target.targetPath.insert.index.from.storage.source +command.data.modify.entity.target.targetPath.insert.index.from.storage.source.sourcePath +command.data.modify.entity.target.targetPath.insert.index.value +command.data.modify.entity.target.targetPath.insert.index.value.value +command.data.modify.entity.target.targetPath.merge +command.data.modify.entity.target.targetPath.merge.from +command.data.modify.entity.target.targetPath.merge.from.block +command.data.modify.entity.target.targetPath.merge.from.block.sourcePos +command.data.modify.entity.target.targetPath.merge.from.block.sourcePos.sourcePath +command.data.modify.entity.target.targetPath.merge.from.entity +command.data.modify.entity.target.targetPath.merge.from.entity.source +command.data.modify.entity.target.targetPath.merge.from.entity.source.sourcePath +command.data.modify.entity.target.targetPath.merge.from.storage +command.data.modify.entity.target.targetPath.merge.from.storage.source +command.data.modify.entity.target.targetPath.merge.from.storage.source.sourcePath +command.data.modify.entity.target.targetPath.merge.value +command.data.modify.entity.target.targetPath.merge.value.value +command.data.modify.entity.target.targetPath.prepend +command.data.modify.entity.target.targetPath.prepend.from +command.data.modify.entity.target.targetPath.prepend.from.block +command.data.modify.entity.target.targetPath.prepend.from.block.sourcePos +command.data.modify.entity.target.targetPath.prepend.from.block.sourcePos.sourcePath +command.data.modify.entity.target.targetPath.prepend.from.entity +command.data.modify.entity.target.targetPath.prepend.from.entity.source +command.data.modify.entity.target.targetPath.prepend.from.entity.source.sourcePath +command.data.modify.entity.target.targetPath.prepend.from.storage +command.data.modify.entity.target.targetPath.prepend.from.storage.source +command.data.modify.entity.target.targetPath.prepend.from.storage.source.sourcePath +command.data.modify.entity.target.targetPath.prepend.value +command.data.modify.entity.target.targetPath.prepend.value.value +command.data.modify.entity.target.targetPath.set +command.data.modify.entity.target.targetPath.set.from +command.data.modify.entity.target.targetPath.set.from.block +command.data.modify.entity.target.targetPath.set.from.block.sourcePos +command.data.modify.entity.target.targetPath.set.from.block.sourcePos.sourcePath +command.data.modify.entity.target.targetPath.set.from.entity +command.data.modify.entity.target.targetPath.set.from.entity.source +command.data.modify.entity.target.targetPath.set.from.entity.source.sourcePath +command.data.modify.entity.target.targetPath.set.from.storage +command.data.modify.entity.target.targetPath.set.from.storage.source +command.data.modify.entity.target.targetPath.set.from.storage.source.sourcePath +command.data.modify.entity.target.targetPath.set.value +command.data.modify.entity.target.targetPath.set.value.value +command.data.modify.storage +command.data.modify.storage.target +command.data.modify.storage.target.targetPath +command.data.modify.storage.target.targetPath.append +command.data.modify.storage.target.targetPath.append.from +command.data.modify.storage.target.targetPath.append.from.block +command.data.modify.storage.target.targetPath.append.from.block.sourcePos +command.data.modify.storage.target.targetPath.append.from.block.sourcePos.sourcePath +command.data.modify.storage.target.targetPath.append.from.entity +command.data.modify.storage.target.targetPath.append.from.entity.source +command.data.modify.storage.target.targetPath.append.from.entity.source.sourcePath +command.data.modify.storage.target.targetPath.append.from.storage +command.data.modify.storage.target.targetPath.append.from.storage.source +command.data.modify.storage.target.targetPath.append.from.storage.source.sourcePath +command.data.modify.storage.target.targetPath.append.value +command.data.modify.storage.target.targetPath.append.value.value +command.data.modify.storage.target.targetPath.insert +command.data.modify.storage.target.targetPath.insert.index +command.data.modify.storage.target.targetPath.insert.index.from +command.data.modify.storage.target.targetPath.insert.index.from.block +command.data.modify.storage.target.targetPath.insert.index.from.block.sourcePos +command.data.modify.storage.target.targetPath.insert.index.from.block.sourcePos.sourcePath +command.data.modify.storage.target.targetPath.insert.index.from.entity +command.data.modify.storage.target.targetPath.insert.index.from.entity.source +command.data.modify.storage.target.targetPath.insert.index.from.entity.source.sourcePath +command.data.modify.storage.target.targetPath.insert.index.from.storage +command.data.modify.storage.target.targetPath.insert.index.from.storage.source +command.data.modify.storage.target.targetPath.insert.index.from.storage.source.sourcePath +command.data.modify.storage.target.targetPath.insert.index.value +command.data.modify.storage.target.targetPath.insert.index.value.value +command.data.modify.storage.target.targetPath.merge +command.data.modify.storage.target.targetPath.merge.from +command.data.modify.storage.target.targetPath.merge.from.block +command.data.modify.storage.target.targetPath.merge.from.block.sourcePos +command.data.modify.storage.target.targetPath.merge.from.block.sourcePos.sourcePath +command.data.modify.storage.target.targetPath.merge.from.entity +command.data.modify.storage.target.targetPath.merge.from.entity.source +command.data.modify.storage.target.targetPath.merge.from.entity.source.sourcePath +command.data.modify.storage.target.targetPath.merge.from.storage +command.data.modify.storage.target.targetPath.merge.from.storage.source +command.data.modify.storage.target.targetPath.merge.from.storage.source.sourcePath +command.data.modify.storage.target.targetPath.merge.value +command.data.modify.storage.target.targetPath.merge.value.value +command.data.modify.storage.target.targetPath.prepend +command.data.modify.storage.target.targetPath.prepend.from +command.data.modify.storage.target.targetPath.prepend.from.block +command.data.modify.storage.target.targetPath.prepend.from.block.sourcePos +command.data.modify.storage.target.targetPath.prepend.from.block.sourcePos.sourcePath +command.data.modify.storage.target.targetPath.prepend.from.entity +command.data.modify.storage.target.targetPath.prepend.from.entity.source +command.data.modify.storage.target.targetPath.prepend.from.entity.source.sourcePath +command.data.modify.storage.target.targetPath.prepend.from.storage +command.data.modify.storage.target.targetPath.prepend.from.storage.source +command.data.modify.storage.target.targetPath.prepend.from.storage.source.sourcePath +command.data.modify.storage.target.targetPath.prepend.value +command.data.modify.storage.target.targetPath.prepend.value.value +command.data.modify.storage.target.targetPath.set +command.data.modify.storage.target.targetPath.set.from +command.data.modify.storage.target.targetPath.set.from.block +command.data.modify.storage.target.targetPath.set.from.block.sourcePos +command.data.modify.storage.target.targetPath.set.from.block.sourcePos.sourcePath +command.data.modify.storage.target.targetPath.set.from.entity +command.data.modify.storage.target.targetPath.set.from.entity.source +command.data.modify.storage.target.targetPath.set.from.entity.source.sourcePath +command.data.modify.storage.target.targetPath.set.from.storage +command.data.modify.storage.target.targetPath.set.from.storage.source +command.data.modify.storage.target.targetPath.set.from.storage.source.sourcePath +command.data.modify.storage.target.targetPath.set.value +command.data.modify.storage.target.targetPath.set.value.value +command.data.remove +command.data.remove.block +command.data.remove.block.targetPos +command.data.remove.block.targetPos.path +command.data.remove.entity +command.data.remove.entity.target +command.data.remove.entity.target.path +command.data.remove.storage +command.data.remove.storage.target +command.data.remove.storage.target.path +command.datapack +command.datapack.disable +command.datapack.disable.name +command.datapack.enable +command.datapack.enable.name +command.datapack.enable.name.after +command.datapack.enable.name.after.existing +command.datapack.enable.name.before +command.datapack.enable.name.before.existing +command.datapack.enable.name.first +command.datapack.enable.name.last +command.datapack.list +command.datapack.list.available +command.datapack.list.enabled +command.deathhistory +command.deathhistory.player +command.deathhistory.player_uuid +command.debug +command.debug.function +command.debug.function.name +command.debug.start +command.debug.stop +command.defaultgamemode +command.defaultgamemode.adventure +command.defaultgamemode.creative +command.defaultgamemode.spectator +command.defaultgamemode.survival +command.delhome +command.delhome.name +command.delwarp +command.delwarp.name +command.difficulty +command.difficulty.easy +command.difficulty.hard +command.difficulty.normal +command.difficulty.peaceful +command.dt +command.dt.clearorphaned +command.dt.clearorphaned.location +command.dt.clearorphaned.location.radius +command.dt.createstaff +command.dt.createstaff.location +command.dt.createstaff.location.species +command.dt.createstaff.location.species.jo_code +command.dt.createstaff.location.species.jo_code.color +command.dt.createstaff.location.species.jo_code.color.readOnly +command.dt.createstaff.location.species.jo_code.color.readOnly.maxUses +command.dt.createtransformpotion +command.dt.createtransformpotion.location +command.dt.createtransformpotion.location.species +command.dt.fertility +command.dt.fertility.location +command.dt.fertility.location.fertility +command.dt.fertility.location.raw +command.dt.gettree +command.dt.gettree.location +command.dt.gettree.location.code_raw +command.dt.growpulse +command.dt.growpulse.location +command.dt.growpulse.location.number +command.dt.killtree +command.dt.killtree.location +command.dt.purgetrees +command.dt.purgetrees.location +command.dt.purgetrees.location.radius +command.dt.registry +command.dt.registry.cellkit +command.dt.registry.cellkit.list +command.dt.registry.cellkit.list.raw +command.dt.registry.family +command.dt.registry.family.list +command.dt.registry.family.list.raw +command.dt.registry.fruit +command.dt.registry.fruit.list +command.dt.registry.fruit.list.raw +command.dt.registry.genfeature +command.dt.registry.genfeature.list +command.dt.registry.genfeature.list.raw +command.dt.registry.growthlogickit +command.dt.registry.growthlogickit.list +command.dt.registry.growthlogickit.list.raw +command.dt.registry.leavesproperties +command.dt.registry.leavesproperties.list +command.dt.registry.leavesproperties.list.raw +command.dt.registry.pod +command.dt.registry.pod.list +command.dt.registry.pod.list.raw +command.dt.registry.registryhandler +command.dt.registry.registryhandler.list +command.dt.registry.registryhandler.list.raw +command.dt.registry.soilproperties +command.dt.registry.soilproperties.list +command.dt.registry.soilproperties.list.raw +command.dt.registry.species +command.dt.registry.species.list +command.dt.registry.species.list.raw +command.dt.rotatejocode +command.dt.rotatejocode.jo_code +command.dt.rotatejocode.jo_code.turns +command.dt.setcoordxor +command.dt.setcoordxor.xor +command.dt.settree +command.dt.settree.location +command.dt.settree.location.species +command.dt.settree.location.species.jo_code +command.dt.settree.location.species.jo_code.turns +command.dt.settree.location.species.jo_code.turns.fertility +command.dt.transform +command.dt.transform.location +command.dt.transform.location.species +command.dumpHandlers +command.effect +command.effect.clear +command.effect.clear.targets +command.effect.clear.targets.effect +command.effect.give +command.effect.give.targets +command.effect.give.targets.effect +command.effect.give.targets.effect.seconds +command.effect.give.targets.effect.seconds.amplifier +command.effect.give.targets.effect.seconds.amplifier.hideParticles +command.enchant +command.enchant.targets +command.enchant.targets.enchantment +command.enchant.targets.enchantment.level +command.enderchest +command.enderchest.player +command.execute +command.execute.align +command.execute.anchored +command.execute.as +command.execute.at +command.execute.facing +command.execute.facing.entity +command.execute.facing.entity.targets +command.execute.if +command.execute.if.block +command.execute.if.block.pos +command.execute.if.blocks +command.execute.if.blocks.start +command.execute.if.blocks.start.end +command.execute.if.blocks.start.end.destination +command.execute.if.data +command.execute.if.data.block +command.execute.if.data.block.sourcePos +command.execute.if.data.entity +command.execute.if.data.entity.source +command.execute.if.data.storage +command.execute.if.data.storage.source +command.execute.if.entity +command.execute.if.predicate +command.execute.if.score +command.execute.if.score.target +command.execute.if.score.target.targetObjective +command.execute.if.score.target.targetObjective.< +command.execute.if.score.target.targetObjective.<.source +command.execute.if.score.target.targetObjective.<= +command.execute.if.score.target.targetObjective.<=.source +command.execute.if.score.target.targetObjective.= +command.execute.if.score.target.targetObjective.=.source +command.execute.if.score.target.targetObjective.> +command.execute.if.score.target.targetObjective.>.source +command.execute.if.score.target.targetObjective.>= +command.execute.if.score.target.targetObjective.>=.source +command.execute.if.score.target.targetObjective.matches +command.execute.in +command.execute.positioned +command.execute.positioned.as +command.execute.rotated +command.execute.rotated.as +command.execute.run +command.execute.store +command.execute.store.result +command.execute.store.result.block +command.execute.store.result.block.targetPos +command.execute.store.result.block.targetPos.path +command.execute.store.result.block.targetPos.path.byte +command.execute.store.result.block.targetPos.path.double +command.execute.store.result.block.targetPos.path.float +command.execute.store.result.block.targetPos.path.int +command.execute.store.result.block.targetPos.path.long +command.execute.store.result.block.targetPos.path.short +command.execute.store.result.bossbar +command.execute.store.result.bossbar.id +command.execute.store.result.entity +command.execute.store.result.entity.target +command.execute.store.result.entity.target.path +command.execute.store.result.entity.target.path.byte +command.execute.store.result.entity.target.path.double +command.execute.store.result.entity.target.path.float +command.execute.store.result.entity.target.path.int +command.execute.store.result.entity.target.path.long +command.execute.store.result.entity.target.path.short +command.execute.store.result.score +command.execute.store.result.score.targets +command.execute.store.result.storage +command.execute.store.result.storage.target +command.execute.store.result.storage.target.path +command.execute.store.result.storage.target.path.byte +command.execute.store.result.storage.target.path.double +command.execute.store.result.storage.target.path.float +command.execute.store.result.storage.target.path.int +command.execute.store.result.storage.target.path.long +command.execute.store.result.storage.target.path.short +command.execute.store.success +command.execute.store.success.block +command.execute.store.success.block.targetPos +command.execute.store.success.block.targetPos.path +command.execute.store.success.block.targetPos.path.byte +command.execute.store.success.block.targetPos.path.double +command.execute.store.success.block.targetPos.path.float +command.execute.store.success.block.targetPos.path.int +command.execute.store.success.block.targetPos.path.long +command.execute.store.success.block.targetPos.path.short +command.execute.store.success.bossbar +command.execute.store.success.bossbar.id +command.execute.store.success.entity +command.execute.store.success.entity.target +command.execute.store.success.entity.target.path +command.execute.store.success.entity.target.path.byte +command.execute.store.success.entity.target.path.double +command.execute.store.success.entity.target.path.float +command.execute.store.success.entity.target.path.int +command.execute.store.success.entity.target.path.long +command.execute.store.success.entity.target.path.short +command.execute.store.success.score +command.execute.store.success.score.targets +command.execute.store.success.storage +command.execute.store.success.storage.target +command.execute.store.success.storage.target.path +command.execute.store.success.storage.target.path.byte +command.execute.store.success.storage.target.path.double +command.execute.store.success.storage.target.path.float +command.execute.store.success.storage.target.path.int +command.execute.store.success.storage.target.path.long +command.execute.store.success.storage.target.path.short +command.execute.unless +command.execute.unless.block +command.execute.unless.block.pos +command.execute.unless.blocks +command.execute.unless.blocks.start +command.execute.unless.blocks.start.end +command.execute.unless.blocks.start.end.destination +command.execute.unless.data +command.execute.unless.data.block +command.execute.unless.data.block.sourcePos +command.execute.unless.data.entity +command.execute.unless.data.entity.source +command.execute.unless.data.storage +command.execute.unless.data.storage.source +command.execute.unless.entity +command.execute.unless.predicate +command.execute.unless.score +command.execute.unless.score.target +command.execute.unless.score.target.targetObjective +command.execute.unless.score.target.targetObjective.< +command.execute.unless.score.target.targetObjective.<.source +command.execute.unless.score.target.targetObjective.<= +command.execute.unless.score.target.targetObjective.<=.source +command.execute.unless.score.target.targetObjective.= +command.execute.unless.score.target.targetObjective.=.source +command.execute.unless.score.target.targetObjective.> +command.execute.unless.score.target.targetObjective.>.source +command.execute.unless.score.target.targetObjective.>= +command.execute.unless.score.target.targetObjective.>=.source +command.execute.unless.score.target.targetObjective.matches +command.experience +command.experience.add +command.experience.add.targets +command.experience.add.targets.amount +command.experience.add.targets.amount.levels +command.experience.add.targets.amount.points +command.experience.query +command.experience.query.targets +command.experience.query.targets.levels +command.experience.query.targets.points +command.experience.set +command.experience.set.targets +command.experience.set.targets.amount +command.experience.set.targets.amount.levels +command.experience.set.targets.amount.points +command.fill +command.fill.from +command.fill.from.to +command.fill.from.to.block +command.fill.from.to.block.destroy +command.fill.from.to.block.hollow +command.fill.from.to.block.keep +command.fill.from.to.block.outline +command.fill.from.to.block.replace +command.fill.from.to.block.replace.filter +command.fly +command.fly.player +command.forceload +command.forceload.add +command.forceload.add.from +command.forceload.add.from.to +command.forceload.query +command.forceload.query.pos +command.forceload.remove +command.forceload.remove.all +command.forceload.remove.from +command.forceload.remove.from.to +command.forge +command.forge.dimensions +command.forge.entity +command.forge.entity.list +command.forge.entity.list.filter +command.forge.entity.list.filter.dim +command.forge.generate +command.forge.generate.pos +command.forge.generate.pos.count +command.forge.generate.pos.count.dim +command.forge.generate.pos.count.dim.interval +command.forge.mods +command.forge.tags +command.forge.tags.registry +command.forge.tags.registry.get +command.forge.tags.registry.get.tag +command.forge.tags.registry.get.tag.page +command.forge.tags.registry.list +command.forge.tags.registry.list.page +command.forge.tags.registry.query +command.forge.tags.registry.query.element +command.forge.tags.registry.query.element.page +command.forge.tps +command.forge.tps.dim +command.forge.track +command.forge.track.entity +command.forge.track.reset +command.forge.track.reset.entity +command.forge.track.reset.te +command.forge.track.start +command.forge.track.start.entity +command.forge.track.start.entity.duration +command.forge.track.start.te +command.forge.track.start.te.duration +command.forge.track.te +command.ftblibrary +command.ftblibrary.day +command.ftblibrary.gamemode +command.ftblibrary.generate_loot_tables +command.ftblibrary.nbtedit +command.ftblibrary.nbtedit.block +command.ftblibrary.nbtedit.block.pos +command.ftblibrary.nbtedit.entity +command.ftblibrary.nbtedit.entity.entity +command.ftblibrary.nbtedit.item +command.ftblibrary.nbtedit.player +command.ftblibrary.nbtedit.player.player +command.ftblibrary.night +command.ftblibrary.rain +command.ftbquests +command.ftbquests.block_rewards +command.ftbquests.block_rewards.enabled +command.ftbquests.block_rewards.enabled.player +command.ftbquests.change_progress +command.ftbquests.change_progress.players +command.ftbquests.change_progress.players.complete +command.ftbquests.change_progress.players.complete.quest_object +command.ftbquests.change_progress.players.reset +command.ftbquests.change_progress.players.reset.quest_object +command.ftbquests.delete_empty_reward_tables +command.ftbquests.editing_mode +command.ftbquests.editing_mode.enabled +command.ftbquests.editing_mode.enabled.player +command.ftbquests.export_reward_table_to_chest +command.ftbquests.export_reward_table_to_chest.reward_table +command.ftbquests.export_reward_table_to_chest.reward_table.pos +command.ftbquests.generate_chapter_with_all_items_in_game +command.ftbquests.import_reward_table_from_chest +command.ftbquests.import_reward_table_from_chest.name +command.ftbquests.import_reward_table_from_chest.name.pos +command.ftbquests.locked +command.ftbquests.locked.enabled +command.ftbquests.locked.enabled.player +command.ftbquests.reload +command.ftbranks +command.ftbranks.add +command.ftbranks.add.players +command.ftbranks.add.players.rank +command.ftbranks.condition +command.ftbranks.condition.rank +command.ftbranks.condition.rank.value +command.ftbranks.create +command.ftbranks.create.name +command.ftbranks.delete +command.ftbranks.delete.rank +command.ftbranks.list_all_ranks +command.ftbranks.list_players_with +command.ftbranks.list_players_with.rank +command.ftbranks.list_ranks_of +command.ftbranks.list_ranks_of.player +command.ftbranks.node +command.ftbranks.node.add +command.ftbranks.node.add.rank +command.ftbranks.node.add.rank.node +command.ftbranks.node.add.rank.node.value +command.ftbranks.node.remove +command.ftbranks.node.remove.rank +command.ftbranks.node.remove.rank.node +command.ftbranks.refresh_readme +command.ftbranks.reload +command.ftbranks.remove +command.ftbranks.remove.players +command.ftbranks.remove.players.rank +command.ftbranks.show_rank +command.ftbranks.show_rank.rank +command.ftbteams +command.ftbteams.info +command.ftbteams.info.server_id +command.ftbteams.info.team +command.ftbteams.list +command.ftbteams.list.parties +command.ftbteams.list.players +command.ftbteams.list.server_teams +command.ftbteams.msg +command.ftbteams.msg.text +command.ftbteams.party +command.ftbteams.party.allies +command.ftbteams.party.allies.add +command.ftbteams.party.allies.add.player +command.ftbteams.party.allies.list +command.ftbteams.party.allies.remove +command.ftbteams.party.allies.remove.player +command.ftbteams.party.create +command.ftbteams.party.create.name +command.ftbteams.party.deny_invite +command.ftbteams.party.deny_invite.team +command.ftbteams.party.invite +command.ftbteams.party.invite.players +command.ftbteams.party.join +command.ftbteams.party.join.team +command.ftbteams.party.kick +command.ftbteams.party.kick.players +command.ftbteams.party.leave +command.ftbteams.party.settings +command.ftbteams.party.settings.key +command.ftbteams.party.settings.key.value +command.ftbteams.party.settings_for +command.ftbteams.party.settings_for.team +command.ftbteams.party.settings_for.team.key +command.ftbteams.party.settings_for.team.key.value +command.ftbteams.party.transfer_ownership +command.ftbteams.party.transfer_ownership.player +command.ftbteams.server +command.ftbteams.server.create +command.ftbteams.server.create.name +command.ftbteams.server.delete +command.ftbteams.server.delete.team +command.ftbteams.server.settings +command.ftbteams.server.settings.team +command.ftbteams.server.settings.team.key +command.ftbteams.server.settings.team.key.value +command.function +command.function.name +command.gamemode +command.gamemode.adventure +command.gamemode.adventure.target +command.gamemode.creative +command.gamemode.creative.target +command.gamemode.spectator +command.gamemode.spectator.target +command.gamemode.survival +command.gamemode.survival.target +command.gamerule +command.gamerule.announceAdvancements +command.gamerule.announceAdvancements.value +command.gamerule.commandBlockOutput +command.gamerule.commandBlockOutput.value +command.gamerule.disableElytraMovementCheck +command.gamerule.disableElytraMovementCheck.value +command.gamerule.disableRaids +command.gamerule.disableRaids.value +command.gamerule.doDaylightCycle +command.gamerule.doDaylightCycle.value +command.gamerule.doEntityDrops +command.gamerule.doEntityDrops.value +command.gamerule.doFireTick +command.gamerule.doFireTick.value +command.gamerule.doImmediateRespawn +command.gamerule.doImmediateRespawn.value +command.gamerule.doInsomnia +command.gamerule.doInsomnia.value +command.gamerule.doLimitedCrafting +command.gamerule.doLimitedCrafting.value +command.gamerule.doMobLoot +command.gamerule.doMobLoot.value +command.gamerule.doMobSpawning +command.gamerule.doMobSpawning.value +command.gamerule.doPatrolSpawning +command.gamerule.doPatrolSpawning.value +command.gamerule.doTileDrops +command.gamerule.doTileDrops.value +command.gamerule.doTraderSpawning +command.gamerule.doTraderSpawning.value +command.gamerule.doWeatherCycle +command.gamerule.doWeatherCycle.value +command.gamerule.drowningDamage +command.gamerule.drowningDamage.value +command.gamerule.fallDamage +command.gamerule.fallDamage.value +command.gamerule.fireDamage +command.gamerule.fireDamage.value +command.gamerule.forgiveDeadPlayers +command.gamerule.forgiveDeadPlayers.value +command.gamerule.freezeDamage +command.gamerule.freezeDamage.value +command.gamerule.keepInventory +command.gamerule.keepInventory.value +command.gamerule.logAdminCommands +command.gamerule.logAdminCommands.value +command.gamerule.maxCommandChainLength +command.gamerule.maxCommandChainLength.value +command.gamerule.maxEntityCramming +command.gamerule.maxEntityCramming.value +command.gamerule.mobGriefing +command.gamerule.mobGriefing.value +command.gamerule.naturalRegeneration +command.gamerule.naturalRegeneration.value +command.gamerule.playersSleepingPercentage +command.gamerule.playersSleepingPercentage.value +command.gamerule.randomTickSpeed +command.gamerule.randomTickSpeed.value +command.gamerule.reducedDebugInfo +command.gamerule.reducedDebugInfo.value +command.gamerule.sendCommandFeedback +command.gamerule.sendCommandFeedback.value +command.gamerule.showDeathMessages +command.gamerule.showDeathMessages.value +command.gamerule.spawnRadius +command.gamerule.spawnRadius.value +command.gamerule.spectatorsGenerateChunks +command.gamerule.spectatorsGenerateChunks.value +command.gamerule.universalAnger +command.gamerule.universalAnger.value +command.give +command.give.targets +command.give.targets.item +command.give.targets.item.count +command.god +command.god.player +command.hat +command.heal +command.heal.player +command.help +command.help.command +command.home +command.home.name +command.ie +command.ie.clearshaders +command.ie.clearshaders.player +command.ie.mineral +command.ie.mineral.get +command.ie.mineral.get.location +command.ie.mineral.list +command.ie.mineral.put +command.ie.mineral.put.mineral +command.ie.mineral.put.mineral.radius +command.ie.mineral.put.mineral.radius.pos +command.ie.mineral.setDepletion +command.ie.mineral.setDepletion.depletion +command.ie.mineral.setDepletion.depletion.pos +command.invsee +command.invsee.player +command.ip +command.ip.reservoir +command.ip.reservoir.get +command.ip.reservoir.get.location +command.ip.reservoir.locate +command.ip.reservoir.set +command.ip.reservoir.set.amount +command.ip.reservoir.set.amount.amount +command.ip.reservoir.set.amount.amount.location +command.ip.reservoir.set.capacity +command.ip.reservoir.set.capacity.capacity +command.ip.reservoir.set.capacity.capacity.location +command.ip.reservoir.set.type +command.ip.reservoir.set.type.name +command.ip.reservoir.set.type.name.location +command.item +command.item.modify +command.item.modify.block +command.item.modify.block.pos +command.item.modify.block.pos.slot +command.item.modify.block.pos.slot.modifier +command.item.modify.entity +command.item.modify.entity.targets +command.item.modify.entity.targets.slot +command.item.modify.entity.targets.slot.modifier +command.item.replace +command.item.replace.block +command.item.replace.block.pos +command.item.replace.block.pos.slot +command.item.replace.block.pos.slot.from +command.item.replace.block.pos.slot.from.block +command.item.replace.block.pos.slot.from.block.source +command.item.replace.block.pos.slot.from.block.source.sourceSlot +command.item.replace.block.pos.slot.from.block.source.sourceSlot.modifier +command.item.replace.block.pos.slot.from.entity +command.item.replace.block.pos.slot.from.entity.source +command.item.replace.block.pos.slot.from.entity.source.sourceSlot +command.item.replace.block.pos.slot.from.entity.source.sourceSlot.modifier +command.item.replace.block.pos.slot.with +command.item.replace.block.pos.slot.with.item +command.item.replace.block.pos.slot.with.item.count +command.item.replace.entity +command.item.replace.entity.targets +command.item.replace.entity.targets.slot +command.item.replace.entity.targets.slot.from +command.item.replace.entity.targets.slot.from.block +command.item.replace.entity.targets.slot.from.block.source +command.item.replace.entity.targets.slot.from.block.source.sourceSlot +command.item.replace.entity.targets.slot.from.block.source.sourceSlot.modifier +command.item.replace.entity.targets.slot.from.entity +command.item.replace.entity.targets.slot.from.entity.source +command.item.replace.entity.targets.slot.from.entity.source.sourceSlot +command.item.replace.entity.targets.slot.from.entity.source.sourceSlot.modifier +command.item.replace.entity.targets.slot.with +command.item.replace.entity.targets.slot.with.item +command.item.replace.entity.targets.slot.with.item.count +command.jfr +command.jfr.start +command.jfr.stop +command.kick +command.kick.targets +command.kick.targets.reason +command.kickme +command.kill +command.kill.targets +command.kjs_hand +command.kubejs +command.kubejs.custom_command +command.kubejs.custom_command.id +command.kubejs.dump_registry +command.kubejs.dump_registry.registry +command.kubejs.errors +command.kubejs.export +command.kubejs.export_virtual_data +command.kubejs.hand +command.kubejs.hotbar +command.kubejs.inventory +command.kubejs.list_tag +command.kubejs.list_tag.registry +command.kubejs.list_tag.registry.tag +command.kubejs.offhand +command.kubejs.painter +command.kubejs.painter.player +command.kubejs.painter.player.object +command.kubejs.reload +command.kubejs.reload.client_scripts +command.kubejs.reload.lang +command.kubejs.reload.server_scripts +command.kubejs.reload.startup_scripts +command.kubejs.reload.textures +command.kubejs.stages +command.kubejs.stages.add +command.kubejs.stages.add.player +command.kubejs.stages.add.player.stage +command.kubejs.stages.clear +command.kubejs.stages.clear.player +command.kubejs.stages.list +command.kubejs.stages.list.player +command.kubejs.stages.remove +command.kubejs.stages.remove.player +command.kubejs.stages.remove.player.stage +command.kubejs.warnings +command.kubejs.wiki +command.leaderboard +command.leaderboard.damage_dealt +command.leaderboard.deaths +command.leaderboard.deaths_per_hour +command.leaderboard.distance_walked +command.leaderboard.jumps +command.leaderboard.mob_kills +command.leaderboard.player_kills +command.leaderboard.time_played +command.leaderboard.time_since_death +command.list +command.list.uuids +command.listhomes +command.listhomes.player +command.listwarps +command.locate +command.locate.structure +command.locatebiome +command.locatebiome.biome +command.loot +command.loot.give +command.loot.give.players +command.loot.give.players.fish +command.loot.give.players.fish.loot_table +command.loot.give.players.fish.loot_table.pos +command.loot.give.players.fish.loot_table.pos.mainhand +command.loot.give.players.fish.loot_table.pos.offhand +command.loot.give.players.fish.loot_table.pos.tool +command.loot.give.players.kill +command.loot.give.players.kill.target +command.loot.give.players.loot +command.loot.give.players.loot.loot_table +command.loot.give.players.mine +command.loot.give.players.mine.pos +command.loot.give.players.mine.pos.mainhand +command.loot.give.players.mine.pos.offhand +command.loot.give.players.mine.pos.tool +command.loot.insert +command.loot.insert.targetPos +command.loot.insert.targetPos.fish +command.loot.insert.targetPos.fish.loot_table +command.loot.insert.targetPos.fish.loot_table.pos +command.loot.insert.targetPos.fish.loot_table.pos.mainhand +command.loot.insert.targetPos.fish.loot_table.pos.offhand +command.loot.insert.targetPos.fish.loot_table.pos.tool +command.loot.insert.targetPos.kill +command.loot.insert.targetPos.kill.target +command.loot.insert.targetPos.loot +command.loot.insert.targetPos.loot.loot_table +command.loot.insert.targetPos.mine +command.loot.insert.targetPos.mine.pos +command.loot.insert.targetPos.mine.pos.mainhand +command.loot.insert.targetPos.mine.pos.offhand +command.loot.insert.targetPos.mine.pos.tool +command.loot.replace +command.loot.replace.block +command.loot.replace.block.targetPos +command.loot.replace.block.targetPos.slot +command.loot.replace.block.targetPos.slot.count +command.loot.replace.block.targetPos.slot.count.fish +command.loot.replace.block.targetPos.slot.count.fish.loot_table +command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos +command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.mainhand +command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.offhand +command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.tool +command.loot.replace.block.targetPos.slot.count.kill +command.loot.replace.block.targetPos.slot.count.kill.target +command.loot.replace.block.targetPos.slot.count.loot +command.loot.replace.block.targetPos.slot.count.loot.loot_table +command.loot.replace.block.targetPos.slot.count.mine +command.loot.replace.block.targetPos.slot.count.mine.pos +command.loot.replace.block.targetPos.slot.count.mine.pos.mainhand +command.loot.replace.block.targetPos.slot.count.mine.pos.offhand +command.loot.replace.block.targetPos.slot.count.mine.pos.tool +command.loot.replace.block.targetPos.slot.fish +command.loot.replace.block.targetPos.slot.fish.loot_table +command.loot.replace.block.targetPos.slot.fish.loot_table.pos +command.loot.replace.block.targetPos.slot.fish.loot_table.pos.mainhand +command.loot.replace.block.targetPos.slot.fish.loot_table.pos.offhand +command.loot.replace.block.targetPos.slot.fish.loot_table.pos.tool +command.loot.replace.block.targetPos.slot.kill +command.loot.replace.block.targetPos.slot.kill.target +command.loot.replace.block.targetPos.slot.loot +command.loot.replace.block.targetPos.slot.loot.loot_table +command.loot.replace.block.targetPos.slot.mine +command.loot.replace.block.targetPos.slot.mine.pos +command.loot.replace.block.targetPos.slot.mine.pos.mainhand +command.loot.replace.block.targetPos.slot.mine.pos.offhand +command.loot.replace.block.targetPos.slot.mine.pos.tool +command.loot.replace.entity +command.loot.replace.entity.entities +command.loot.replace.entity.entities.slot +command.loot.replace.entity.entities.slot.count +command.loot.replace.entity.entities.slot.count.fish +command.loot.replace.entity.entities.slot.count.fish.loot_table +command.loot.replace.entity.entities.slot.count.fish.loot_table.pos +command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.mainhand +command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.offhand +command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.tool +command.loot.replace.entity.entities.slot.count.kill +command.loot.replace.entity.entities.slot.count.kill.target +command.loot.replace.entity.entities.slot.count.loot +command.loot.replace.entity.entities.slot.count.loot.loot_table +command.loot.replace.entity.entities.slot.count.mine +command.loot.replace.entity.entities.slot.count.mine.pos +command.loot.replace.entity.entities.slot.count.mine.pos.mainhand +command.loot.replace.entity.entities.slot.count.mine.pos.offhand +command.loot.replace.entity.entities.slot.count.mine.pos.tool +command.loot.replace.entity.entities.slot.fish +command.loot.replace.entity.entities.slot.fish.loot_table +command.loot.replace.entity.entities.slot.fish.loot_table.pos +command.loot.replace.entity.entities.slot.fish.loot_table.pos.mainhand +command.loot.replace.entity.entities.slot.fish.loot_table.pos.offhand +command.loot.replace.entity.entities.slot.fish.loot_table.pos.tool +command.loot.replace.entity.entities.slot.kill +command.loot.replace.entity.entities.slot.kill.target +command.loot.replace.entity.entities.slot.loot +command.loot.replace.entity.entities.slot.loot.loot_table +command.loot.replace.entity.entities.slot.mine +command.loot.replace.entity.entities.slot.mine.pos +command.loot.replace.entity.entities.slot.mine.pos.mainhand +command.loot.replace.entity.entities.slot.mine.pos.offhand +command.loot.replace.entity.entities.slot.mine.pos.tool +command.loot.spawn +command.loot.spawn.targetPos +command.loot.spawn.targetPos.fish +command.loot.spawn.targetPos.fish.loot_table +command.loot.spawn.targetPos.fish.loot_table.pos +command.loot.spawn.targetPos.fish.loot_table.pos.mainhand +command.loot.spawn.targetPos.fish.loot_table.pos.offhand +command.loot.spawn.targetPos.fish.loot_table.pos.tool +command.loot.spawn.targetPos.kill +command.loot.spawn.targetPos.kill.target +command.loot.spawn.targetPos.loot +command.loot.spawn.targetPos.loot.loot_table +command.loot.spawn.targetPos.mine +command.loot.spawn.targetPos.mine.pos +command.loot.spawn.targetPos.mine.pos.mainhand +command.loot.spawn.targetPos.mine.pos.offhand +command.loot.spawn.targetPos.mine.pos.tool +command.me +command.me.action +command.modernfix +command.modernfix.upgradeStructures +command.msg +command.msg.targets +command.msg.targets.message +command.mute +command.mute.player +command.nickname +command.nickname.nickname +command.nicknamefor +command.nicknamefor.player +command.nicknamefor.player.nickname +command.open-patchouli-book +command.open-patchouli-book.targets +command.open-patchouli-book.targets.book +command.open-patchouli-book.targets.book.entry +command.open-patchouli-book.targets.book.entry.page +command.openpac +command.openpac-claims +command.openpac-claims.about +command.openpac-claims.about.profile +command.openpac-claims.admin-mode +command.openpac-claims.claim +command.openpac-claims.claim.anyway +command.openpac-claims.claim.anyway.block pos +command.openpac-claims.claim.block pos +command.openpac-claims.forceload +command.openpac-claims.forceload.anyway +command.openpac-claims.forceload.anyway.block pos +command.openpac-claims.forceload.block pos +command.openpac-claims.non-ally-mode +command.openpac-claims.server +command.openpac-claims.server-claim-mode +command.openpac-claims.server.claim +command.openpac-claims.server.claim.anyway +command.openpac-claims.server.claim.anyway.block pos +command.openpac-claims.server.claim.block pos +command.openpac-claims.server.forceload +command.openpac-claims.server.forceload.anyway +command.openpac-claims.server.forceload.anyway.block pos +command.openpac-claims.server.forceload.block pos +command.openpac-claims.server.sub-claim +command.openpac-claims.server.sub-claim.current +command.openpac-claims.server.sub-claim.for +command.openpac-claims.server.sub-claim.for.player +command.openpac-claims.server.sub-claim.for.player.current +command.openpac-claims.server.sub-claim.for.player.use +command.openpac-claims.server.sub-claim.for.player.use.sub-id +command.openpac-claims.server.sub-claim.use +command.openpac-claims.server.sub-claim.use.sub-id +command.openpac-claims.server.unclaim +command.openpac-claims.server.unclaim.anyway +command.openpac-claims.server.unclaim.anyway.block pos +command.openpac-claims.server.unclaim.block pos +command.openpac-claims.server.unforceload +command.openpac-claims.server.unforceload.anyway +command.openpac-claims.server.unforceload.anyway.block pos +command.openpac-claims.server.unforceload.block pos +command.openpac-claims.sub-claim +command.openpac-claims.sub-claim.current +command.openpac-claims.sub-claim.for +command.openpac-claims.sub-claim.for.player +command.openpac-claims.sub-claim.for.player.current +command.openpac-claims.sub-claim.for.player.use +command.openpac-claims.sub-claim.for.player.use.sub-id +command.openpac-claims.sub-claim.use +command.openpac-claims.sub-claim.use.sub-id +command.openpac-claims.unclaim +command.openpac-claims.unclaim.anyway +command.openpac-claims.unclaim.anyway.block pos +command.openpac-claims.unclaim.block pos +command.openpac-claims.unforceload +command.openpac-claims.unforceload.anyway +command.openpac-claims.unforceload.anyway.block pos +command.openpac-claims.unforceload.block pos +command.openpac-parties +command.openpac-parties.about +command.openpac-parties.about.player +command.openpac-parties.about.profile +command.openpac-parties.ally +command.openpac-parties.ally.add +command.openpac-parties.ally.add.player +command.openpac-parties.ally.remove +command.openpac-parties.ally.remove.owner +command.openpac-parties.chat +command.openpac-parties.chat.message +command.openpac-parties.create +command.openpac-parties.destroy +command.openpac-parties.destroy.confirm +command.openpac-parties.join +command.openpac-parties.join.id +command.openpac-parties.leave +command.openpac-parties.member +command.openpac-parties.member.invite +command.openpac-parties.member.invite.player +command.openpac-parties.member.kick +command.openpac-parties.member.kick.name +command.openpac-parties.member.rank +command.openpac-parties.member.rank.rank +command.openpac-parties.member.rank.rank.name +command.openpac-parties.transfer +command.openpac-parties.transfer.new-owner +command.openpac-parties.transfer.new-owner.confirm +command.openpac.expired-claims-config +command.openpac.expired-claims-config.get +command.openpac.expired-claims-config.get.key +command.openpac.expired-claims-config.help +command.openpac.expired-claims-config.help.key +command.openpac.expired-claims-config.reset +command.openpac.expired-claims-config.reset.key +command.openpac.expired-claims-config.set +command.openpac.expired-claims-config.set.key +command.openpac.expired-claims-config.set.key.value +command.openpac.player-config +command.openpac.player-config.default +command.openpac.player-config.default.get +command.openpac.player-config.default.get.key +command.openpac.player-config.default.help +command.openpac.player-config.default.help.key +command.openpac.player-config.default.reset +command.openpac.player-config.default.reset.key +command.openpac.player-config.default.set +command.openpac.player-config.default.set.key +command.openpac.player-config.default.set.key.value +command.openpac.player-config.for +command.openpac.player-config.for.player +command.openpac.player-config.for.player.get +command.openpac.player-config.for.player.get.key +command.openpac.player-config.for.player.help +command.openpac.player-config.for.player.help.key +command.openpac.player-config.for.player.reset +command.openpac.player-config.for.player.reset.key +command.openpac.player-config.for.player.set +command.openpac.player-config.for.player.set.key +command.openpac.player-config.for.player.set.key.value +command.openpac.player-config.for.player.sub +command.openpac.player-config.for.player.sub.create +command.openpac.player-config.for.player.sub.create.sub-id +command.openpac.player-config.for.player.sub.delete +command.openpac.player-config.for.player.sub.delete.sub-id +command.openpac.player-config.for.player.sub.get +command.openpac.player-config.for.player.sub.get.sub-id +command.openpac.player-config.for.player.sub.get.sub-id.key +command.openpac.player-config.for.player.sub.help +command.openpac.player-config.for.player.sub.help.sub-id +command.openpac.player-config.for.player.sub.help.sub-id.key +command.openpac.player-config.for.player.sub.list +command.openpac.player-config.for.player.sub.list.start-at +command.openpac.player-config.for.player.sub.reset +command.openpac.player-config.for.player.sub.reset.sub-id +command.openpac.player-config.for.player.sub.reset.sub-id.key +command.openpac.player-config.for.player.sub.set +command.openpac.player-config.for.player.sub.set.sub-id +command.openpac.player-config.for.player.sub.set.sub-id.key +command.openpac.player-config.for.player.sub.set.sub-id.key.value +command.openpac.player-config.get +command.openpac.player-config.get.key +command.openpac.player-config.help +command.openpac.player-config.help.key +command.openpac.player-config.reset +command.openpac.player-config.reset.key +command.openpac.player-config.set +command.openpac.player-config.set.key +command.openpac.player-config.set.key.value +command.openpac.player-config.sub +command.openpac.player-config.sub.create +command.openpac.player-config.sub.create.sub-id +command.openpac.player-config.sub.delete +command.openpac.player-config.sub.delete.sub-id +command.openpac.player-config.sub.get +command.openpac.player-config.sub.get.sub-id +command.openpac.player-config.sub.get.sub-id.key +command.openpac.player-config.sub.help +command.openpac.player-config.sub.help.sub-id +command.openpac.player-config.sub.help.sub-id.key +command.openpac.player-config.sub.list +command.openpac.player-config.sub.list.start-at +command.openpac.player-config.sub.reset +command.openpac.player-config.sub.reset.sub-id +command.openpac.player-config.sub.reset.sub-id.key +command.openpac.player-config.sub.set +command.openpac.player-config.sub.set.sub-id +command.openpac.player-config.sub.set.sub-id.key +command.openpac.player-config.sub.set.sub-id.key.value +command.openpac.server-claims-config +command.openpac.server-claims-config.get +command.openpac.server-claims-config.get.key +command.openpac.server-claims-config.help +command.openpac.server-claims-config.help.key +command.openpac.server-claims-config.reset +command.openpac.server-claims-config.reset.key +command.openpac.server-claims-config.set +command.openpac.server-claims-config.set.key +command.openpac.server-claims-config.set.key.value +command.openpac.server-claims-config.sub +command.openpac.server-claims-config.sub.create +command.openpac.server-claims-config.sub.create.sub-id +command.openpac.server-claims-config.sub.delete +command.openpac.server-claims-config.sub.delete.sub-id +command.openpac.server-claims-config.sub.get +command.openpac.server-claims-config.sub.get.sub-id +command.openpac.server-claims-config.sub.get.sub-id.key +command.openpac.server-claims-config.sub.help +command.openpac.server-claims-config.sub.help.sub-id +command.openpac.server-claims-config.sub.help.sub-id.key +command.openpac.server-claims-config.sub.list +command.openpac.server-claims-config.sub.list.start-at +command.openpac.server-claims-config.sub.reset +command.openpac.server-claims-config.sub.reset.sub-id +command.openpac.server-claims-config.sub.reset.sub-id.key +command.openpac.server-claims-config.sub.set +command.openpac.server-claims-config.sub.set.sub-id +command.openpac.server-claims-config.sub.set.sub-id.key +command.openpac.server-claims-config.sub.set.sub-id.key.value +command.openpac.wilderness-config +command.openpac.wilderness-config.get +command.openpac.wilderness-config.get.key +command.openpac.wilderness-config.help +command.openpac.wilderness-config.help.key +command.openpac.wilderness-config.reset +command.openpac.wilderness-config.reset.key +command.openpac.wilderness-config.set +command.openpac.wilderness-config.set.key +command.openpac.wilderness-config.set.key.value +command.opm +command.opm.message +command.particle +command.particle.name +command.particle.name.pos +command.particle.name.pos.delta +command.particle.name.pos.delta.speed +command.particle.name.pos.delta.speed.count +command.particle.name.pos.delta.speed.count.force +command.particle.name.pos.delta.speed.count.force.viewers +command.particle.name.pos.delta.speed.count.normal +command.particle.name.pos.delta.speed.count.normal.viewers +command.placefeature +command.placefeature.feature +command.placefeature.feature.pos +command.playsound +command.playsound.sound +command.playsound.sound.ambient +command.playsound.sound.ambient.targets +command.playsound.sound.ambient.targets.pos +command.playsound.sound.ambient.targets.pos.volume +command.playsound.sound.ambient.targets.pos.volume.pitch +command.playsound.sound.ambient.targets.pos.volume.pitch.minVolume +command.playsound.sound.block +command.playsound.sound.block.targets +command.playsound.sound.block.targets.pos +command.playsound.sound.block.targets.pos.volume +command.playsound.sound.block.targets.pos.volume.pitch +command.playsound.sound.block.targets.pos.volume.pitch.minVolume +command.playsound.sound.hostile +command.playsound.sound.hostile.targets +command.playsound.sound.hostile.targets.pos +command.playsound.sound.hostile.targets.pos.volume +command.playsound.sound.hostile.targets.pos.volume.pitch +command.playsound.sound.hostile.targets.pos.volume.pitch.minVolume +command.playsound.sound.master +command.playsound.sound.master.targets +command.playsound.sound.master.targets.pos +command.playsound.sound.master.targets.pos.volume +command.playsound.sound.master.targets.pos.volume.pitch +command.playsound.sound.master.targets.pos.volume.pitch.minVolume +command.playsound.sound.music +command.playsound.sound.music.targets +command.playsound.sound.music.targets.pos +command.playsound.sound.music.targets.pos.volume +command.playsound.sound.music.targets.pos.volume.pitch +command.playsound.sound.music.targets.pos.volume.pitch.minVolume +command.playsound.sound.neutral +command.playsound.sound.neutral.targets +command.playsound.sound.neutral.targets.pos +command.playsound.sound.neutral.targets.pos.volume +command.playsound.sound.neutral.targets.pos.volume.pitch +command.playsound.sound.neutral.targets.pos.volume.pitch.minVolume +command.playsound.sound.player +command.playsound.sound.player.targets +command.playsound.sound.player.targets.pos +command.playsound.sound.player.targets.pos.volume +command.playsound.sound.player.targets.pos.volume.pitch +command.playsound.sound.player.targets.pos.volume.pitch.minVolume +command.playsound.sound.record +command.playsound.sound.record.targets +command.playsound.sound.record.targets.pos +command.playsound.sound.record.targets.pos.volume +command.playsound.sound.record.targets.pos.volume.pitch +command.playsound.sound.record.targets.pos.volume.pitch.minVolume +command.playsound.sound.voice +command.playsound.sound.voice.targets +command.playsound.sound.voice.targets.pos +command.playsound.sound.voice.targets.pos.volume +command.playsound.sound.voice.targets.pos.volume.pitch +command.playsound.sound.voice.targets.pos.volume.pitch.minVolume +command.playsound.sound.weather +command.playsound.sound.weather.targets +command.playsound.sound.weather.targets.pos +command.playsound.sound.weather.targets.pos.volume +command.playsound.sound.weather.targets.pos.volume.pitch +command.playsound.sound.weather.targets.pos.volume.pitch.minVolume +command.publish +command.publish.port +command.railways +command.railways.split_train +command.railways.split_train.train_id +command.railways.split_train.train_id.number +command.railways.split_train.train_name +command.railways.split_train.train_name.number +command.railways.train_uuid +command.railways.train_uuid.name +command.recipe +command.recipe.give +command.recipe.give.targets +command.recipe.give.targets.all +command.recipe.give.targets.recipe +command.recipe.take +command.recipe.take.targets +command.recipe.take.targets.all +command.recipe.take.targets.recipe +command.recording +command.reload +command.rtp +command.say +command.say.message +command.schedule +command.schedule.clear +command.schedule.clear.function +command.schedule.function +command.schedule.function.function +command.schedule.function.function.time +command.schedule.function.function.time.append +command.schedule.function.function.time.replace +command.scoreboard +command.scoreboard.objectives +command.scoreboard.objectives.add +command.scoreboard.objectives.add.objective +command.scoreboard.objectives.add.objective.criteria +command.scoreboard.objectives.add.objective.criteria.displayName +command.scoreboard.objectives.list +command.scoreboard.objectives.modify +command.scoreboard.objectives.modify.objective +command.scoreboard.objectives.modify.objective.displayname +command.scoreboard.objectives.modify.objective.displayname.displayName +command.scoreboard.objectives.modify.objective.rendertype +command.scoreboard.objectives.modify.objective.rendertype.hearts +command.scoreboard.objectives.modify.objective.rendertype.integer +command.scoreboard.objectives.remove +command.scoreboard.objectives.remove.objective +command.scoreboard.objectives.setdisplay +command.scoreboard.objectives.setdisplay.slot +command.scoreboard.objectives.setdisplay.slot.objective +command.scoreboard.players +command.scoreboard.players.add +command.scoreboard.players.add.targets +command.scoreboard.players.add.targets.objective +command.scoreboard.players.add.targets.objective.score +command.scoreboard.players.enable +command.scoreboard.players.enable.targets +command.scoreboard.players.enable.targets.objective +command.scoreboard.players.get +command.scoreboard.players.get.target +command.scoreboard.players.get.target.objective +command.scoreboard.players.list +command.scoreboard.players.list.target +command.scoreboard.players.operation +command.scoreboard.players.operation.targets +command.scoreboard.players.operation.targets.targetObjective +command.scoreboard.players.operation.targets.targetObjective.operation +command.scoreboard.players.operation.targets.targetObjective.operation.source +command.scoreboard.players.operation.targets.targetObjective.operation.source.sourceObjective +command.scoreboard.players.remove +command.scoreboard.players.remove.targets +command.scoreboard.players.remove.targets.objective +command.scoreboard.players.remove.targets.objective.score +command.scoreboard.players.reset +command.scoreboard.players.reset.targets +command.scoreboard.players.reset.targets.objective +command.scoreboard.players.set +command.scoreboard.players.set.targets +command.scoreboard.players.set.targets.objective +command.scoreboard.players.set.targets.objective.score +command.seed +command.setblock +command.setblock.pos +command.setblock.pos.block +command.setblock.pos.block.destroy +command.setblock.pos.block.keep +command.setblock.pos.block.replace +command.sethome +command.sethome.name +command.setwarp +command.setwarp.name +command.setworldspawn +command.setworldspawn.pos +command.setworldspawn.pos.angle +command.snr +command.snr.split_train +command.snr.split_train.train_id +command.snr.split_train.train_id.number +command.snr.split_train.train_name +command.snr.split_train.train_name.number +command.snr.train_uuid +command.snr.train_uuid.name +command.spawn +command.spawnpoint +command.spawnpoint.targets +command.spawnpoint.targets.pos +command.spawnpoint.targets.pos.angle +command.spectate +command.spectate.target +command.spectate.target.player +command.spreadplayers +command.spreadplayers.center +command.spreadplayers.center.spreadDistance +command.spreadplayers.center.spreadDistance.maxRange +command.spreadplayers.center.spreadDistance.maxRange.respectTeams +command.spreadplayers.center.spreadDistance.maxRange.respectTeams.targets +command.spreadplayers.center.spreadDistance.maxRange.under +command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight +command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams +command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams.targets +command.stopsound +command.stopsound.targets +command.stopsound.targets.all +command.stopsound.targets.all.sound +command.stopsound.targets.ambient +command.stopsound.targets.ambient.sound +command.stopsound.targets.block +command.stopsound.targets.block.sound +command.stopsound.targets.hostile +command.stopsound.targets.hostile.sound +command.stopsound.targets.master +command.stopsound.targets.master.sound +command.stopsound.targets.music +command.stopsound.targets.music.sound +command.stopsound.targets.neutral +command.stopsound.targets.neutral.sound +command.stopsound.targets.player +command.stopsound.targets.player.sound +command.stopsound.targets.record +command.stopsound.targets.record.sound +command.stopsound.targets.voice +command.stopsound.targets.voice.sound +command.stopsound.targets.weather +command.stopsound.targets.weather.sound +command.streaming +command.summon +command.summon.entity +command.summon.entity.pos +command.summon.entity.pos.nbt +command.tag +command.tag.targets +command.tag.targets.add +command.tag.targets.add.name +command.tag.targets.list +command.tag.targets.remove +command.tag.targets.remove.name +command.tb +command.tb.access +command.tb.access.pos +command.tb.access.target +command.tb.clear +command.tb.clear.player +command.tb.remove +command.tb.remove.player +command.tb.restore +command.tb.restore.target +command.tb.restore.target.backpack_id +command.tb.unpack +command.tb.unpack.pos +command.tb.unpack.target +command.team +command.team.add +command.team.add.team +command.team.add.team.displayName +command.team.empty +command.team.empty.team +command.team.join +command.team.join.team +command.team.join.team.members +command.team.leave +command.team.leave.members +command.team.list +command.team.list.team +command.team.modify +command.team.modify.team +command.team.modify.team.collisionRule +command.team.modify.team.collisionRule.always +command.team.modify.team.collisionRule.never +command.team.modify.team.collisionRule.pushOtherTeams +command.team.modify.team.collisionRule.pushOwnTeam +command.team.modify.team.color +command.team.modify.team.color.value +command.team.modify.team.deathMessageVisibility +command.team.modify.team.deathMessageVisibility.always +command.team.modify.team.deathMessageVisibility.hideForOtherTeams +command.team.modify.team.deathMessageVisibility.hideForOwnTeam +command.team.modify.team.deathMessageVisibility.never +command.team.modify.team.displayName +command.team.modify.team.displayName.displayName +command.team.modify.team.friendlyFire +command.team.modify.team.friendlyFire.allowed +command.team.modify.team.nametagVisibility +command.team.modify.team.nametagVisibility.always +command.team.modify.team.nametagVisibility.hideForOtherTeams +command.team.modify.team.nametagVisibility.hideForOwnTeam +command.team.modify.team.nametagVisibility.never +command.team.modify.team.prefix +command.team.modify.team.prefix.prefix +command.team.modify.team.seeFriendlyInvisibles +command.team.modify.team.seeFriendlyInvisibles.allowed +command.team.modify.team.suffix +command.team.modify.team.suffix.suffix +command.team.remove +command.team.remove.team +command.teammsg +command.teammsg.message +command.teleport +command.teleport.destination +command.teleport.location +command.teleport.targets +command.teleport.targets.destination +command.teleport.targets.location +command.teleport.targets.location.facing +command.teleport.targets.location.facing.entity +command.teleport.targets.location.facing.entity.facingEntity +command.teleport.targets.location.facing.entity.facingEntity.facingAnchor +command.teleport.targets.location.facing.facingLocation +command.teleport.targets.location.rotation +command.teleport_last +command.teleport_last.player +command.tellraw +command.tellraw.targets +command.tellraw.targets.message +command.tfc +command.tfc.clearworld +command.tfc.clearworld.radius +command.tfc.clearworld.radius.preset +command.tfc.climateChunkUpdate +command.tfc.count +command.tfc.count.radius +command.tfc.count.radius.block +command.tfc.forge +command.tfc.forge.bonus +command.tfc.heat +command.tfc.heat.value +command.tfc.locate +command.tfc.locate.biome +command.tfc.locate.biome.biome +command.tfc.locate.vein +command.tfc.locate.vein.vein +command.tfc.locate.vein.vein.max_y +command.tfc.locate.volcano +command.tfc.player +command.tfc.player.target +command.tfc.player.target.add +command.tfc.player.target.add.hunger +command.tfc.player.target.add.hunger.value +command.tfc.player.target.add.saturation +command.tfc.player.target.add.saturation.value +command.tfc.player.target.add.water +command.tfc.player.target.add.water.value +command.tfc.player.target.query +command.tfc.player.target.query.hunger +command.tfc.player.target.query.nutrition +command.tfc.player.target.query.saturation +command.tfc.player.target.query.water +command.tfc.player.target.reset +command.tfc.player.target.reset.hunger +command.tfc.player.target.reset.saturation +command.tfc.player.target.reset.water +command.tfc.player.target.set +command.tfc.player.target.set.hunger +command.tfc.player.target.set.hunger.value +command.tfc.player.target.set.saturation +command.tfc.player.target.set.saturation.value +command.tfc.player.target.set.water +command.tfc.player.target.set.water.value +command.tfc.propick +command.tfc.propick.clearworld +command.tfc.propick.scan +command.tfc.tree +command.tfc.tree.pos +command.tfc.tree.pos.wood +command.tfc.tree.pos.wood.variant +command.time +command.time.add +command.time.add.days +command.time.add.days.value +command.time.add.months +command.time.add.months.value +command.time.add.ticks +command.time.add.ticks.value +command.time.add.years +command.time.add.years.value +command.time.query +command.time.query.calendarticks +command.time.query.day +command.time.query.daytime +command.time.query.gametime +command.time.query.ticks +command.time.set +command.time.set.day +command.time.set.midnight +command.time.set.monthlength +command.time.set.monthlength.value +command.time.set.night +command.time.set.noon +command.title +command.title.targets +command.title.targets.actionbar +command.title.targets.actionbar.title +command.title.targets.clear +command.title.targets.reset +command.title.targets.subtitle +command.title.targets.subtitle.title +command.title.targets.times +command.title.targets.times.fadeIn +command.title.targets.times.fadeIn.stay +command.title.targets.times.fadeIn.stay.fadeOut +command.title.targets.title +command.title.targets.title.title +command.tpa +command.tpa.target +command.tpaccept +command.tpaccept.id +command.tpahere +command.tpahere.target +command.tpdeny +command.tpdeny.id +command.tpx +command.tpx.dimension +command.trashcan +command.trigger +command.trigger.objective +command.trigger.objective.add +command.trigger.objective.add.value +command.trigger.objective.set +command.trigger.objective.set.value +command.unmute +command.unmute.player +command.warp +command.warp.name +command.weather +command.weather.clear +command.weather.clear.duration +command.weather.rain +command.weather.rain.duration +command.weather.rain.duration.intensity +command.weather.thunder +command.weather.thunder.duration +command.weather.thunder.duration.intensity +command.worldborder +command.worldborder.add +command.worldborder.add.distance +command.worldborder.add.distance.time +command.worldborder.center +command.worldborder.center.pos +command.worldborder.damage +command.worldborder.damage.amount +command.worldborder.damage.amount.damagePerBlock +command.worldborder.damage.buffer +command.worldborder.damage.buffer.distance +command.worldborder.get +command.worldborder.set +command.worldborder.set.distance +command.worldborder.set.distance.time +command.worldborder.warning +command.worldborder.warning.distance +command.worldborder.warning.distance.distance +command.worldborder.warning.time +command.worldborder.warning.time.time diff --git a/global-server-configs/ftbranks/players.snbt b/global-server-configs/ftbranks/players.snbt new file mode 100644 index 000000000..ffcd4415b --- /dev/null +++ b/global-server-configs/ftbranks/players.snbt @@ -0,0 +1 @@ +{ } diff --git a/global-server-configs/ftbranks/ranks.snbt b/global-server-configs/ftbranks/ranks.snbt new file mode 100644 index 000000000..16cfe32af --- /dev/null +++ b/global-server-configs/ftbranks/ranks.snbt @@ -0,0 +1,26 @@ +{ + member: { + name: "Player" + power: 1 + condition: "always_active" + ftbranks.name_format: "{name}" + ftbchunks.max_claimed: 50 + ftbchunks.max_force_loaded: 3 + command.trashcan: true + } + vip: { + name: "VIP" + power: 50 + ftbranks.name_format: "&b{name}&r" + ftbchunks.max_claimed: 150 + ftbchunks.max_force_loaded: 5 + } + admin: { + name: "Admin" + power: 1000 + condition: "op" + ftbranks.name_format: "&c{name}&r" + ftbchunks.max_claimed: 1000 + ftbchunks.max_force_loaded: 10 + } +} diff --git a/global-server-configs/ftbxmodcompat/ftbxmodcompat.snbt b/global-server-configs/ftbxmodcompat/ftbxmodcompat.snbt new file mode 100644 index 000000000..313ca3bf4 --- /dev/null +++ b/global-server-configs/ftbxmodcompat/ftbxmodcompat.snbt @@ -0,0 +1,4 @@ +# Default config file that will be copied to config\ftbxmodcompat.snbt if it doesn't exist! +# Just copy any values you wish to override in here! + +{ } diff --git a/global-server-configs/jei-server.toml b/global-server-configs/jei-server.toml new file mode 100644 index 000000000..752781a59 --- /dev/null +++ b/global-server-configs/jei-server.toml @@ -0,0 +1,9 @@ + +["cheat mode"] + #Enable Cheat Mode for Operators (/op) + enableCheatModeForOp = true + #Enable Cheat Mode for users in Creative Mode + enableCheatModeForCreative = true + #Enable Cheat Mode for users who can use /give + enableCheatModeForGive = false + diff --git a/global-server-configs/jumbofurnace-server.toml b/global-server-configs/jumbofurnace-server.toml new file mode 100644 index 000000000..299c60cd4 --- /dev/null +++ b/global-server-configs/jumbofurnace-server.toml @@ -0,0 +1,10 @@ + +["Cooking Settings"] + #Cook Time: Time in ticks needed for one cooking cycle + #Range: > 1 + cooktime = 200 + +["Construction Settings"] + #Shearable: Allow jumbo furnaces to be cleanly dismantled with shears + shearable = true + diff --git a/global-server-configs/morered-server.toml b/global-server-configs/morered-server.toml new file mode 100644 index 000000000..9fa3fdbfb --- /dev/null +++ b/global-server-configs/morered-server.toml @@ -0,0 +1,6 @@ + +["General Settings"] + #Maximum Plinth Connection Range + #Range: 0.0 ~ 1.7976931348623157E308 + max_wire_plinth_connection_range = 32.0 + diff --git a/global-server-configs/openpartiesandclaims-server.toml b/global-server-configs/openpartiesandclaims-server.toml new file mode 100644 index 000000000..0b3d1366c --- /dev/null +++ b/global-server-configs/openpartiesandclaims-server.toml @@ -0,0 +1,274 @@ + +[serverConfig] + #The default language used for server-side localization for players that don't have the mod installed. + defaultLanguage = "en_us" + #How often to auto-save modified data, e.g. parties, claims, player configs (in minutes). + #Range: > 1 + autosaveInterval = 10 + #How many sub-configs (sub-claims) can each player create. + #Range: 0 ~ 1024 + playerSubConfigLimit = 64 + #The permission system to use for everything that requires permission checks (e.g. permission_api, ftb_ranks, luck_perms, prometheus). Non-built-in permission systems can be registered through the API with an addon. + permissionSystem = "ftb_ranks" + #The player party system to prefer and use for anything that can't support multiple systems (e.g. default, ftb_teams, argonauts, argonauts_guilds). Non-built-in party systems can be registered through the API with an addon. + primaryPartySystem = "ftb_teams" + #A list of options in the player config that individual players can reconfigure. If an option is in neither of the configurable option lists, + #then the value in the default player config is used across the server. Check the default player config .toml file for the option names. + playerConfigurablePlayerConfigOptions = ["claims.protectClaimedChunks", "claims.forceload.enabled", "claims.name", "claims.color", "claims.protection.fromParty", "claims.protection.fromAllyParties", "claims.protection.buttonsFromProjectiles", "claims.protection.targetsFromProjectiles", "claims.protection.platesFromPlayers", "claims.protection.platesFromMobs", "claims.protection.platesFromOther", "claims.protection.tripwireFromPlayers", "claims.protection.tripwireFromMobs", "claims.protection.tripwireFromOther", "claims.protection.cropTrample", "claims.protection.playerLightning", "claims.protection.fromFrostWalking", "claims.protection.entitiesFromPlayers", "claims.protection.entitiesFromMobs", "claims.protection.entitiesFromOther", "claims.protection.entitiesRedirect", "claims.protection.entitiesFromExplosions", "claims.protection.entitiesFromFire", "claims.protection.netherPortalsPlayers", "claims.protection.netherPortalsMobs", "claims.protection.netherPortalsOther", "claims.protection.fluidBarrier", "claims.protection.dispenserBarrier", "claims.protection.pistonBarrier", "claims.protection.itemTossPlayers", "claims.protection.itemTossMobs", "claims.protection.itemTossOther", "claims.protection.itemTossRedirect", "claims.protection.mobLoot", "claims.protection.playerDeathLoot", "claims.protection.itemPickupPlayers", "claims.protection.itemPickupMobs", "claims.protection.itemPickupRedirect", "claims.protection.xpPickup", "claims.protection.raids", "claims.protection.naturalSpawnHostile", "claims.protection.naturalSpawnFriendly", "claims.protection.spawnersHostile", "claims.protection.spawnersFriendly", "claims.protection.projectileHitHostileSpawn", "claims.protection.projectileHitFriendlySpawn", "parties.name", "parties.shareLocationWithParty", "parties.shareLocationWithMutualAllyParties", "parties.receiveLocationsFromParty", "parties.receiveLocationsFromMutualAllyParties", "claims.protection.exceptionGroups.block.interact.Controls", "claims.protection.exceptionGroups.block.interact.Doors", "claims.protection.exceptionGroups.block.interact.Chests", "claims.protection.exceptionGroups.block.interact.Barrels", "claims.protection.exceptionGroups.block.interact.Ender_Chests", "claims.protection.exceptionGroups.block.interact.Shulker_Boxes", "claims.protection.exceptionGroups.block.interact.Furnaces", "claims.protection.exceptionGroups.block.interact.Hoppers", "claims.protection.exceptionGroups.block.interact.Dispenser-like", "claims.protection.exceptionGroups.block.interact.Anvils", "claims.protection.exceptionGroups.block.interact.Beds", "claims.protection.exceptionGroups.block.interact.Beacons", "claims.protection.exceptionGroups.block.interact.Enchanting_Tables", "claims.protection.exceptionGroups.block.break.Crops", "claims.protection.exceptionGroups.entity.interact.Traders", "claims.protection.exceptionGroups.entity.handInteract.Item_Frames", "claims.protection.exceptionGroups.entity.interact.Armor_Stands", "claims.protection.exceptionGroups.entity.break.Livestock", "claims.protection.exceptionGroups.entity.blockAccess.Villagers", "claims.protection.exceptionGroups.entity.entityAccess.Zombies", "claims.protection.exceptionGroups.entity.droppedItemAccess.Villagers", "claims.protection.exceptionGroups.entity.droppedItemAccess.Piglins", "claims.protection.exceptionGroups.entity.droppedItemAccess.Foxes", "claims.protection.exceptionGroups.item.interact.Books", "claims.protection.exceptionGroups.entity.barrier.Ender_Pearls", "/*remove comment to enable*/claims.protection.exceptionGroups.entity.barrier.Players"] + #A list of additional options in the player config that OPs can reconfigure for players. + #This is meant for options that should be configured per player but not by the players. + #If an option is in neither of the configurable option lists, then the value in the default player config is used across the server. + #Check the default player config .toml file for the option names. + opConfigurablePlayerConfigOptions = ["claims.bonusChunkClaims", "claims.bonusChunkForceloads"] + + [serverConfig.parties] + #Whether the parties part of this mod is enabled. + enabled = false + #The maximum number of members in a party. Existing members are not removed if the limit is reduced. + #Range: > 1 + maxPartyMembers = 64 + #The maximum number of allies for a party. Existing allies are not removed if the limit is reduced. + #Range: > 0 + maxPartyAllies = 64 + #The maximum number of invites to a party. Existing invites are not removed if the limit is reduced. + #Range: > 1 + maxPartyInvites = 16 + #For how long a party (members) can stay completely inactive on the server until it is deleted (in hours). This improves performance for servers running for years. + #Range: > 1 + partyExpirationTime = 168 + #How often to check for expired parties in order to remove them (in minutes). The interval is effectively rounded up to a multiple of 10 minutes. + #Range: > 10 + partyExpirationCheckInterval = 360 + + [serverConfig.claims] + #Whether the claims part of this mod is enabled. + enabled = true + #For how long a player can stay completely inactive on the server until their claims are expired (in hours). This improves performance for servers running for years. + #Range: > 1 + playerClaimsExpirationTime = 4380 + #How often to check for expired player chunk claims in order to remove them (in minutes). The interval is effectively rounded up to a multiple of 10 minutes. + #Range: > 10 + playerClaimsExpirationCheckInterval = 360 + #Whether to convert expired player chunk claims to "expired claims" instead of completely freeing them. This shouldn't be too bad for performance because it still reduces the number of unique claims. + playerClaimsConvertExpiredClaims = true + #The maximum number of chunks that a player can claim. Additional claims can be configured in the player config. + #This value can be overridden with a player permission. + #Range: > 0 + maxPlayerClaims = 50 + #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 + #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. + #The permission override only takes effect after the player logs in at least once after a server (re)launch, so it is recommended to keep all permission-based forceload limits equal to or greater than "maxPlayerClaimForceloads". + #The used permission system can be configured with "permissionSystem". + maxPlayerClaimForceloadsPermission = "ftbchunks.max_force_loaded" + #The permission that gives non-OP players the ability to make server claims and enable server claim mode. The used permission system can be configured with "permissionSystem". + serverClaimPermission = "xaero.pac_server_claims" + #The permission that gives non-OP players the ability to enable claim admin mode. The used permission system can be configured with "permissionSystem". + adminModePermission = "xaero.pac_admin_mode" + #The maximum distance on the X or Z axis (forming a square) that a chunk can be claimed at by a player. + #Range: > 0 + maxClaimDistance = 5 + #The type of the list defined in "claimableDimensionsList". ONLY - include only the listed dimensions. ALL_BUT - include all but the listed dimensions. + #Allowed Values: ONLY, ALL_BUT + claimableDimensionsListType = "ALL_BUT" + #Dimensions to include/exclude from being claimable, depending on the list type in "claimableDimensionsListType". + #For example ["minecraft:overworld", "minecraft:the_nether"]. + #By default the list is empty and of type ALL_BUT, meaning that all dimensions are claimable. + claimableDimensionsList = [] + #Whether to allow existing player claims to stay active in unclaimable dimensions which were previously claimable. + allowExistingClaimsInUnclaimableDimensions = true + #Whether to allow existing player forceloads to stay active in unclaimable dimensions which were previously claimable. Only relevant if existing claims are allowed. + allowExistingForceloadsInUnclaimableDimensions = false + #Whether to synchronize world chunk claims to the game clients. Enables client-side mods to access the claims data, e.g. to display it on a map. + #ALL - all claims are synced. OWNED_ONLY - only the claims that the client player owns and server claims are synced. NOT_SYNCED - claims are not synced. + #Allowed Values: NOT_SYNCED, OWNED_ONLY, ALL + claimsSynchronization = "ALL" + + [serverConfig.claims.protection] + #The type of the list defined in "friendlyChunkProtectedEntityList". ONLY - include only the listed entities. ALL_BUT - include all but the listed entities. + #Allowed Values: ONLY, ALL_BUT + friendlyChunkProtectedEntityListType = "ALL_BUT" + #Friendly entities to fully include/exclude in chunk protection, depending on the list type in "friendlyChunkProtectedEntityListType". Supports entity type tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["*:villager", "minecraft:m(ule|ooshroom)", "#minecraft:axolotl_hunt_targets"]. + #By default the list is empty with the type set to ALL_BUT, which means that all friendly entities are included. + friendlyChunkProtectedEntityList = ["minecraft:boat"] + #The type of the list defined in "hostileChunkProtectedEntityList". ONLY - include only the listed entities. ALL_BUT - include all but the listed entities. + #Allowed Values: ONLY, ALL_BUT + hostileChunkProtectedEntityListType = "ONLY" + #Hostile entities to fully include/exclude in chunk protection, depending on the list type in "hostileChunkProtectedEntityListType". Supports entity type tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(|wither_)skeleton", "minecraft:zombie(_villager|)", "#minecraft:raiders"] + hostileChunkProtectedEntityList = [] + #No longer a working option. Please transfer anything you still have here to "forcedBlockProtectionExceptionList" or "blockProtectionOptionalExceptionGroups", + #but keep in mind that those options work differently and please read their comments. + #This option will be completely removed on the full release of the mod. + blockProtectionExceptionList = [] + #No longer a working option. Please transfer anything you still have here to "forcedEntityProtectionExceptionList" or "entityProtectionOptionalExceptionGroups", + #but keep in mind that those options work differently and please read their comments. + #This option will be completely removed on the full release of the mod. + entityProtectionExceptionList = [] + #No longer a working option. Please transfer anything you still have here to "forcedEntityClaimBarrierList" or "entityClaimBarrierOptionalGroups", + #but keep in mind that those options work differently and please read their comments. + #This option will be completely removed on the full release of the mod. + entityClaimBarrierList = [] + #Blocks to partially exclude from chunk protection. Supports block tags. + #Just a block/tag ID in the list, e.g. "minecraft:lever" allows block interaction across the server if the item in the used hand isn't blocking it. + #Prefix "hand$" is the same as no prefix but enforces an empty hand requirement in protected chunks. Prefix "break$" allows breaking the block(s). + #Prefix "anything$" is the same as no prefix but allows interaction with any item held in the hand. Please make sure that no item does anything bad when used at a block with such an exception. + #Add the same block/tag multiple times to use multiple prefixes. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:lever", "minecraft:*_button", "break$minecraft:*_button", "break$minecraft:(*_|)sand"] + forcedBlockProtectionExceptionList = ["minecraft:crafting_table"] + #Custom groups of blocks that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple blocks and block tags. + #A group without a prefix creates a player config option for the right-click interaction with the group blocks. The format for a block group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-DIRT35{minecraft:dirt, minecraft:grass_block, minecraft:(oak|spruce)_*}". + #A group can be prefixed with "hand$" to create an option for the right-click interaction with an enforced empty hand requirement or "break$" for breaking the group blocks. + #Moreover, prefix "anything$" creates an option for the right-click interaction with any item held in the hand, not just allowed items. Please make sure that no item does anything + #bad when used at a block with such an exception. + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + blockProtectionOptionalExceptionGroups = ["Controls{minecraft:lever, #minecraft:buttons}", "Doors{#minecraft:doors, #minecraft:fence_gates, #forge:fence_gates, #minecraft:trapdoors}", "Chests{minecraft:chest, minecraft:trapped_chest, #forge:chests/wooden}", "Barrels{minecraft:barrel, #forge:barrels}", "Ender_Chests{minecraft:ender_chest, #forge:chests/ender}", "Shulker_Boxes{#minecraft:shulker_boxes}", "Furnaces{minecraft:furnace, minecraft:blast_furnace, minecraft:smoker}", "Hoppers{minecraft:hopper}", "Dispenser-like{minecraft:dispenser, minecraft:dropper}", "Anvils{#minecraft:anvil}", "Beds{#minecraft:beds}", "Beacons{minecraft:beacon}", "Enchanting_Tables{minecraft:enchanting_table}", "break$Crops{#minecraft:crops}"] + #Entities to partially exclude from chunk protection. Supports entity type tags. + #Just an entity/tag ID in the list, e.g. "minecraft:horse" allows entity interaction across the server if the item in the used hand isn't blocking it. + #Prefix "hand$" is the same as no prefix but enforces an empty hand requirement in protected chunks. Prefix "break$" allows killing the entities across the server. + #Prefix "anything$" is the same as no prefix but allows interaction with any item held in the hand. Please make sure that no item does anything bad when used at an entity with such an exception. + #Add the same entity/tag multiple times to use multiple prefixes. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:villager", "break$minecraft:villager", "break$minecraft:(trader_|)llama"] + forcedEntityProtectionExceptionList = ["minecraft:minecart"] + #Custom groups of entities that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple entities and entity tags. + #A group without a prefix creates a player config option for the right-click interaction with the group entities. The format for an entity group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". + #A group can be prefixed with "hand$" to create an option for the right-click interaction with an enforced empty hand requirement or "break$" for destroying the group entities. + #Moreover, prefix "anything$" creates an option for the right-click interaction with any item held in the hand, not just allowed items. Please make sure that no item does anything + #bad when used at an entity with such an exception. + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + entityProtectionOptionalExceptionGroups = ["Traders{minecraft:villager, minecraft:wandering_trader}", "hand$Item_Frames{minecraft:item_frame}", "break$Livestock{minecraft:cow, minecraft:mooshroom, minecraft:sheep, minecraft:chicken, minecraft:pig, minecraft:rabbit, minecraft:goat}", "Armor_Stands{minecraft:armor_stand}"] + #Entities that are prevented from entering the claim. Supports entity type tags. An entity/tag ID in the list, e.g. "minecraft:falling_block" prevents the entities from entering. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. For example: "minecraft:zombie(_villager|)". + forcedEntityClaimBarrierList = ["minecraft:falling_block", "supplementaries:slingshot_projectile"] + #Custom groups of entities that a player/claim config should be able to enable a barrier for. Each group can consist of multiple entities and entity tags. + #Each group creates a player config option for controlling the entity barrier. The format for a entity group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{#minecraft:raiders, minecraft:zombie(_villager|)}". + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + entityClaimBarrierOptionalGroups = ["Players{minecraft:player}", "Ender_Pearls{minecraft:ender_pearl}"] + #Entities that can bypass all block protection. Supports entity type tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] + entitiesAllowedToGrief = ["minecraft:sheep"] + #Entities that can bypass all protection of other entities. Supports entity type tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] + entitiesAllowedToGriefEntities = [] + #Entities that can bypass all dropped item protection. Supports entity type tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] + entitiesAllowedToGriefDroppedItems = [] + #(Forge-only option) Mobs that can grief entities/items but not blocks. This list is used when overriding the vanilla "mob griefing" game rule value. + #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection. + #This means that the "Protect Blocks From Mobs" option might cause entity or item protection, if that's what the mob is trying to affect. + #By adding a mob to this list, you're removing the block protection check for it during the "mob griefing" game rule check. + #Supports entity type tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:*illager", "minecraft:(v|p)illager", "#minecraft:raiders"] + nonBlockGriefingMobs = [] + #(Forge-only option) Mobs that can grief entities in ways other than attacking them, e.g. how evokers can change the color of sheep. This list is used when overriding the vanilla "mob griefing" game rule value. + #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection only. Add a mob to this list if you want the entity protection option to be checked as well when the rule is checked. + #Check out the "nonBlockGriefingMobs" option if you want to also remove the default block protection check for the mob. + #Supports entity type tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] + entityGriefingMobs = [] + #(Forge-only option) Mobs that can grief dropped items. This list is used when overriding the vanilla "mob griefing" game rule value. + #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection only. Add a mob to this list if you want the item pickup protection option to be checked as well when the rule is checked. + #This mod should detect most mobs picking up items by default, but if it doesn't already detect a specific mob, this option might help. + #Check out the "nonBlockGriefingMobs" option if you want to also remove the default block protection check for the mob. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] + droppedItemGriefingMobs = [] + #Custom groups of entities that a player/claim config should be able to make block access exceptions for (e.g. letting sheep eat grass or endermen take blocks). Each group can consist of multiple entities and entity tags. + #The format for an entity group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + blockAccessEntityGroups = ["Villagers{minecraft:villager}"] + #Custom groups of entities that a player/claim config should be able to make entity access exceptions for (e.g. letting zombies kill things). + #The groups should consist of entities that are the ones accessing other entities. The groups should not contain entities that are being accessed. Check out the "entityProtectionOptionalExceptionGroups" option for that. + #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + entityAccessEntityGroups = ["Zombies{minecraft:zombie, minecraft:zombie_villager, minecraft:husk, minecraft:drowned}"] + #Custom groups of entities that a player/claim config should be able to make dropped item access exceptions for (e.g. letting piglins pick up gold). + #The groups should consist of entities that are the ones trying to pick up items, not consist of specific items. + #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + droppedItemAccessEntityGroups = ["Villagers{minecraft:villager}", "Piglins{minecraft:piglin}", "Foxes{minecraft:fox}"] + #A list of fake players (UUIDs or names) that shouldn't be affected by any chunk claim protection if they try to access a chunk with building protection compatible with + #the chunk that the fake player's origin block is positioned in, e.g. claims with the same owner and block protection option values. + #This works great for fake players that are bound to the position of a specific placed block (origin block). Moreover, the mod supports fake players placed at a block + #next to the origin block, even if that means entering another chunk, e.g. in the case of the Integrated Tunnels mod, or if the origin block is touching the target block. + #The mod will try all positions next to the target block and the fake player as the possible position of the fake player origin block. + #This will always protect the target block if it or the fake player touch a claim with incompatible build protection. Avoid building on such claim edges. + #However, some fake players' origin blocks can be nowhere near the fake player or the target block, e.g. in the case of the Create mod, or there might be no origin block at all, + #e.g. NPCs that can move around. In this case, the mods that use such fake players require explicit support to be implemented. Although they might also sometimes + #be supported by default, if the fake players use UUIDs of actual players. + #Explicit support exists for the Create mod (requires an extension on Fabric) and you are not required to add anything to this list. + #Make sure to always test that claim edges are protected from outside interaction by fake players that you add to this list. + #Wondering where to get the UUIDs or usernames of specific fake players? You can check the source code of the mods that use them or politely ask the mod authors. + #For example ["41C82C87-7AfB-4024-BB57-13D2C99CAE77", "FakePlayerName"] + staticFakePlayers = ["[IntegratedTunnels]"] + #A list of Java classes of fake players that should be excluded from claim protection exceptions given to fake players with the "staticFakePlayers" option + #or built-in fake player support, like in the case of Create mod deployers. + #This option is meant for fake players similar to ComputerCraft's turtles, which take the UUID of the player that places them. It becomes a problem when a turtle takes + #the UUID of a fake player from "staticFakePlayers" or a deployer because the turtle then gets the same privileges without actually being stationary itself nor a deployer. + #Adding classes here should not break support of fake players that take the UUID of their owner. It simply takes away privileges which aren't meant for them. + #For example ["dan200.computercraft.shared.turtle.core.TurtlePlayer"] + staticFakePlayerClassExceptions = ["dan200.computercraft.shared.turtle.core.TurtlePlayer"] + #By default, right-click use of some items is allowed in protected chunks, e.g. swords, pickaxes, bows, shield, tridents, splash potions, to let the players protect themselves or interact with some blocks/entities. + #To remove such exceptions for specific items, add them to this list. This list applies to both using an item at air and using it at a block/entity. Supports item tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:trident", "minecraft:shield", "minecraft:(oak|spruce)_boat", "#minecraft:boats"] + additionalBannedItemsList = ["supplementaries:slingshot"] + #By default, most item right-click uses are disabled in protected chunks. To make an exception for a specific item, add it to this list. This option has a higher priority than "additionalBannedItemsList". + #This list applies to both using an item at air and using it at a block/entity. Supports item tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:fishing_rod", "minecraft:ender_pearl", "minecraft:(red|green)_bed", "#minecraft:beds"] + itemUseProtectionExceptionList = ["minecraft:firework_rocket"] + #Custom groups of items that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple items and item tags. + #Each group creates a player config option for the right-click use of the group items. The format for an item group is {}. + #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-stuff98{minecraft:(writable|written)_book, minecraft:*_book, #minecraft:compasses}". + #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. + #The exact paths of the added options can be found in the default player config file after you start the server. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + itemUseProtectionOptionalExceptionGroups = ["Books{minecraft:written_book, minecraft:writable_book}"] + #Items that are completely banned from right-click usage on the server, claimed or not. This list applies to both using an item at air and using it at a block/entity. Supports item tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:trident", "minecraft:shield", "minecraft:(oak|spruce)_boat", "#minecraft:boats"] + completelyDisabledItemInteractions = [] + #Blocks that are completely banned from being interacted with on the server, claimed or not. Does not affect block breaking. Supports block tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:dirt", "minecraft:*_table", "minecraft:(cartography|fletching)_table", "#minecraft:buttons"] + completelyDisabledBlockInteractions = [] + #Entities that are completely banned from being interacted with on the server, claimed or not. Does not affect killing the entities. Supports entity tags. + #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. + #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] + completelyDisabledEntityInteractions = [] + #Whether to completely disable frost walking on the server. Use this if the regular frost walking protection doesn't work, since there is no game rule for it. + completelyDisableFrostWalking = false + #Whether to ignore most detected entity collisions for boats. + #By default, boats detect entity collisions and handle them every tick for every entity that touches them, which is a lot. + #This can become very slow on a server if we also add the necessary claim protection checks in the mix. + #This option makes it so most collisions with boats are randomly ignored, which helps the performance without affecting gameplay all that much. + reducedBoatEntityCollisions = true + diff --git a/global-server-configs/railways-server.toml b/global-server-configs/railways-server.toml new file mode 100644 index 000000000..78e74925a --- /dev/null +++ b/global-server-configs/railways-server.toml @@ -0,0 +1,75 @@ + +#. +#Miscellaneous settings +[misc] + #. + #Coupler will require points to be on the same or adjacent track edge, this will prevent the coupler from working if there is any form of junction in between the two points. + strictCoupler = false + #. + #Allow controlling Brass Switches remotely when approaching them on a train + flipDistantSwitches = true + #. + #Max distance between targeted track and placed switch stand + #Range: 16 ~ 128 + switchPlacementRange = 64 + #. + #Allow creepers and ghast fireballs to damage tracks + creeperTrackDamage = false + #. + #Multiplier used for calculating exhaustion from speed when a handcar is used. + #Range: 0.0 ~ 1.0 + handcarHungerMultiplier = 0.009999999776482582 + +#. +#Semaphore settings +[semaphores] + #. + #. + #Simplified semaphore placement (no upside-down placement) + simplifiedPlacement = true + #. + #Whether semaphore color order is reversed when the semaphores are oriented upside-down + flipYellowOrder = false + +#. +#Conductor settings +[conductors] + #. + #. + #Conductor whistle is limited to the owner of a train + mustOwnBoundTrain = false + #. + #Maximum length of conductor vents + #Range: > 1 + maxConductorVentLength = 64 + #. + #How often a conductor whistle updates the train of the bound conductor + #Range: 1 ~ 600 + whistleRebindRate = 10 + +#. +#Journeymap compat settings +[journeymap] + #. + #. + #[in Ticks] + #Outside-of-render-distance train sync time + #Range: 10 ~ 600 + farTrainSyncTicks = 200 + #. + #[in Ticks] + #In-render-distance train sync time + #Range: 1 ~ 600 + nearTrainSyncTicks = 5 + +#. +#Realism Settings +[realism] + #. + #. + #Make trains require fuel to run (either from fuel tanks or solid fuels in chests/barrels) + realisticTrains = false + #. + #Make fuel tanks only accept proper liquid fuels (so water etc can't go into them) + realisticFuelTanks = true + diff --git a/global-server-configs/sophisticatedbackpacks-server.toml b/global-server-configs/sophisticatedbackpacks-server.toml new file mode 100644 index 000000000..facc03a10 --- /dev/null +++ b/global-server-configs/sophisticatedbackpacks-server.toml @@ -0,0 +1,439 @@ + +#Server Settings +[server] + #List of items that are not allowed to be put in backpacks - e.g. "minecraft:shulker_box" + disallowedItems = [] + #Determines if container items (those that override canFitInsideContainerItems to false) are able to fit in backpacks + containerItemsDisallowed = false + #List of blocks that inventory interaction upgrades can't interact with - e.g. "minecraft:shulker_box" + noInteractionBlocks = [] + #List of blocks that are not allowed to connect to backpacks - e.g. "refinedstorage:external_storage" + noConnectionBlocks = [] + #Turns on/off item fluid handler of backpack in its item form. There are some dupe bugs caused by default fluid handling implementation that manifest when backpack is drained / filled in its item form in another mod's tank and the only way to prevent them is disallowing drain/fill in item form altogether + itemFluidHandlerEnabled = true + #Determines whether player can right click on backpack that another player is wearing to open it. If off will turn off that capability for everyone and remove related settings from backpack. + allowOpeningOtherPlayerBackpacks = true + #Allows disabling item display settings. Primarily in cases where custom backpack model doesn't support showing the item. (Requires game restart to take effect) + itemDisplayDisabled = false + #Allows disabling logic that dedupes backpacks with the same UUID in players' inventory. This is here to allow turning off the logic just in case it would be causing performance issues. + tickDedupeLogicDisabled = false + #Determines if backpacks can be placed in container items (those that check for return value of canFitInsideContainerItems) + canBePlacedInContainerItems = false + #Maximum number of upgrades of type per backpack in format of "UpgradeRegistryName[or UpgradeGroup]|MaxNumber" + maxUpgradesPerStorage = ["jukebox_upgrade|1", "stack_upgrades|3", "furnace_upgrades|1"] + + #Leather Backpack Settings + [server.leatherBackpack] + #Number of inventory slots in the backpack + #Range: 1 ~ 144 + inventorySlotCount = 27 + #Number of upgrade slots in the backpack + #Range: 0 ~ 10 + upgradeSlotCount = 1 + + #Iron Backpack Settings + [server.ironBackpack] + #Number of inventory slots in the backpack + #Range: 1 ~ 144 + inventorySlotCount = 54 + #Number of upgrade slots in the backpack + #Range: 0 ~ 10 + upgradeSlotCount = 2 + + #Gold Backpack Settings + [server.goldBackpack] + #Number of inventory slots in the backpack + #Range: 1 ~ 144 + inventorySlotCount = 81 + #Number of upgrade slots in the backpack + #Range: 0 ~ 10 + upgradeSlotCount = 3 + + #Diamond Backpack Settings + [server.diamondBackpack] + #Number of inventory slots in the backpack + #Range: 1 ~ 144 + inventorySlotCount = 108 + #Number of upgrade slots in the backpack + #Range: 0 ~ 10 + upgradeSlotCount = 5 + + #Netherite Backpack Settings + [server.netheriteBackpack] + #Number of inventory slots in the backpack + #Range: 1 ~ 144 + inventorySlotCount = 120 + #Number of upgrade slots in the backpack + #Range: 0 ~ 10 + upgradeSlotCount = 7 + + #Compacting Upgrade Settings + [server.compactingUpgrade] + #Number of Compacting Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Compacting Upgrade Settings + [server.advancedCompactingUpgrade] + #Number of Advanced Compacting Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Deposit Upgrade Settings + [server.depositUpgrade] + #Number of Deposit Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Deposit Upgrade Settings + [server.advancedDepositUpgrade] + #Number of Advanced Deposit Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Feeding Upgrade Settings + [server.feedingUpgrade] + #Number of Feeding Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Feeding Upgrade Settings + [server.advancedFeedingUpgrade] + #Number of Advanced Feeding Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Filter Upgrade Settings + [server.filterUpgrade] + #Number of Filter Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Filter Upgrade Settings + [server.advancedFilterUpgrade] + #Number of Advanced Filter Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Magnet Upgrade Settings + [server.magnetUpgrade] + #Number of Magnet Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + #Range around storage in blocks at which magnet will pickup items + #Range: 1 ~ 20 + magnetRange = 3 + + #Advanced Magnet Upgrade Settings + [server.advancedMagnetUpgrade] + #Number of Advanced Magnet Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + #Range around storage in blocks at which magnet will pickup items + #Range: 1 ~ 20 + magnetRange = 5 + + #Pickup Upgrade Settings + [server.pickupUpgrade] + #Number of Pickup Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Pickup Upgrade Settings + [server.advancedPickupUpgrade] + #Number of Advanced Pickup Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Refill Upgrade Settings + [server.refillUpgrade] + #Number of Refill Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 6 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Refill Upgrade Settings + [server.advancedRefillUpgrade] + #Number of Advanced Refill Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 12 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Restock Upgrade Settings + [server.restockUpgrade] + #Number of Restock Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + + #Advanced Restock Upgrade Settings + [server.advancedRestockUpgrade] + #Number of Advanced Restock Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Void Upgrade Settings + [server.voidUpgrade] + #Number of Void Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 9 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 3 + #Determines whether void upgrade allows voiding anything or it only has overflow option + voidAnythingEnabled = true + + #Advanced Void Upgrade Settings + [server.advancedVoidUpgrade] + #Number of Advanced Void Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 16 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + #Determines whether void upgrade allows voiding anything or it only has overflow option + voidAnythingEnabled = true + + #Stack Upgrade Settings + [server.stackUpgrade] + #List of items that are not supposed to stack in storage even when stack upgrade is inserted. Item registry names are expected here. + nonStackableItems = ["minecraft:bundle", "minecraft:shulker_box", "minecraft:white_shulker_box", "minecraft:orange_shulker_box", "minecraft:magenta_shulker_box", "minecraft:light_blue_shulker_box", "minecraft:yellow_shulker_box", "minecraft:lime_shulker_box", "minecraft:pink_shulker_box", "minecraft:gray_shulker_box", "minecraft:light_gray_shulker_box", "minecraft:cyan_shulker_box", "minecraft:purple_shulker_box", "minecraft:blue_shulker_box", "minecraft:brown_shulker_box", "minecraft:green_shulker_box", "minecraft:red_shulker_box", "minecraft:black_shulker_box"] + + #Smelting Upgrade Settings + [server.smeltingUpgrade] + #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) + #Range: 0.25 ~ 4.0 + smeltingSpeedMultiplier = 1.0 + #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) + #Range: 0.25 ~ 4.0 + fuelEfficiencyMultiplier = 1.0 + + #Smoking Upgrade Settings + [server.smokingUpgrade] + #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) + #Range: 0.25 ~ 4.0 + smeltingSpeedMultiplier = 1.0 + #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) + #Range: 0.25 ~ 4.0 + fuelEfficiencyMultiplier = 1.0 + + #Blasting Upgrade Settings + [server.blastingUpgrade] + #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) + #Range: 0.25 ~ 4.0 + smeltingSpeedMultiplier = 1.0 + #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) + #Range: 0.25 ~ 4.0 + fuelEfficiencyMultiplier = 1.0 + + #Auto-Smelting Upgrade Settings + [server.autoSmeltingUpgrade] + #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) + #Range: 0.25 ~ 4.0 + smeltingSpeedMultiplier = 1.0 + #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) + #Range: 0.25 ~ 4.0 + fuelEfficiencyMultiplier = 1.0 + #Number of input filter slots + #Range: 1 ~ 20 + inputFilterSlots = 8 + #Number of input filter slots displayed in a row + #Range: 1 ~ 6 + inputFilterSlotsInRow = 4 + #Number of fuel filter slots + #Range: 1 ~ 20 + fuelFilterSlots = 4 + #Number of fuel filter slots displayed in a row + #Range: 1 ~ 6 + fuelFilterSlotsInRow = 4 + + #Auto-Smoking Upgrade Settings + [server.autoSmokingUpgrade] + #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) + #Range: 0.25 ~ 4.0 + smeltingSpeedMultiplier = 1.0 + #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) + #Range: 0.25 ~ 4.0 + fuelEfficiencyMultiplier = 1.0 + #Number of input filter slots + #Range: 1 ~ 20 + inputFilterSlots = 8 + #Number of input filter slots displayed in a row + #Range: 1 ~ 6 + inputFilterSlotsInRow = 4 + #Number of fuel filter slots + #Range: 1 ~ 20 + fuelFilterSlots = 4 + #Number of fuel filter slots displayed in a row + #Range: 1 ~ 6 + fuelFilterSlotsInRow = 4 + + #Auto-Blasting Upgrade Settings + [server.autoBlastingUpgrade] + #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) + #Range: 0.25 ~ 4.0 + smeltingSpeedMultiplier = 1.0 + #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) + #Range: 0.25 ~ 4.0 + fuelEfficiencyMultiplier = 1.0 + #Number of input filter slots + #Range: 1 ~ 20 + inputFilterSlots = 8 + #Number of input filter slots displayed in a row + #Range: 1 ~ 6 + inputFilterSlotsInRow = 4 + #Number of fuel filter slots + #Range: 1 ~ 20 + fuelFilterSlots = 4 + #Number of fuel filter slots displayed in a row + #Range: 1 ~ 6 + fuelFilterSlotsInRow = 4 + + #Inception Upgrade Settings + [server.inceptionUpgrade] + #Allows / Disallows backpack upgrades to work with inventories of Backpacks in the Backpack with Inception Upgrade + upgradesUseInventoriesOfBackpacksInBackpack = true + #Allows / Disallows upgrades to be functional even when they are in Backpacks in the inventory of Backpack with Inception Upgrade + upgradesInContainedBackpacksAreFunctional = true + + #Tool Swapper Upgrade Settings + [server.toolSwapperUpgrade] + #Number of Tool Swapper Upgrade's filter slots + #Range: 1 ~ 20 + filterSlots = 8 + #Number of filter slots displayed in a row + #Range: 1 ~ 6 + slotsInRow = 4 + + #Tank Upgrade Settings + [server.tankUpgrade] + #Capacity in mB the tank upgrade will have per row of storage slots + #Range: 500 ~ 20000 + capacityPerSlotRow = 4000 + #Ratio that gets applied (multiplies) to inventory stack multiplier before this is applied to max energy of the battery and max in/out. Value lower than 1 makes stack multiplier affect the max energy less, higher makes it affect the max energy more. 0 turns off stack multiplier affecting battery upgrade + #Range: 0.0 ~ 5.0 + stackMultiplierRatio = 1.0 + #Cooldown between fill/drain actions done on fluid containers in tank slots. Only fills/drains one bucket worth to/from container after this cooldown and then waits again. + #Range: 1 ~ 100 + autoFillDrainContainerCooldown = 20 + #How much FE can be transfered in / out per operation. This is a base transfer rate and same as max capacity gets multiplied by number of rows in storage and stack multiplier. + #Range: 1 ~ 1000 + maxInputOutput = 20 + #Energy in FE the battery upgrade will have per row of storage slots + #Range: 500 ~ 50000 + energyPerSlotRow = 10000 + + #Pump Upgrade Settings + [server.pumpUpgrade] + #Number of fluid filter slots + #Range: 1 ~ 20 + filterSlots = 4 + #How much mB can be transfered in / out per operation. This is a base transfer rate that gets multiplied by number of rows in storage and stack multiplier. + #Range: 1 ~ 1000 + maxInputOutput = 20 + #Ratio that gets applied (multiplies) to inventory stack multiplier before this is applied to max input/output value. Value lower than 1 makes stack multiplier affect the capacity less, higher makes it affect the capacity more. 0 turns off stack multiplier affecting input/output + #Range: 0.0 ~ 5.0 + stackMultiplierRatio = 1.0 + + #Xp Pump Upgrade Settings + [server.xpPumpUpgrade] + #Whether xp pump can mend items with mending. Set false here to turn off the feature altogether. + mendingOn = true + #How many experience points at a maximum would be used to mend an item per operation (every 5 ticks and 1 xp point usually translates to 2 damage repaired). + #Range: 1 ~ 20 + maxXpPointsPerMending = 5 + + #Settings for Spawning Entities with Backpack + [server.entityBackpackAdditions] + #Chance of an entity spawning with Backpack + #Range: 0.0 ~ 1.0 + chance = 0.0 + #Turns on/off addition of loot into backpacks + addLoot = false + #Turns on/off buffing the entity that wears backpack with potion effects. These are scaled based on how much loot is added. + buffWithPotionEffects = true + #Turns on/off buffing the entity that wears backpack with additional health. Health is scaled based on backpack tier the mob wears. + buffHealth = true + #Turns on/off equiping the entity that wears backpack with armor. What armor material and how enchanted is scaled based on backpack tier the mob wears. + equipWithArmor = true + #Map of entities that can spawn with backpack and related loot tables (if adding a loot is enabled) in format of "EntityRegistryName|LootTableName" + entityLootTableList = [] + #List of music discs that are not supposed to be played by entities + discBlockList = [] + #Turns on/off a chance that the entity that wears backpack gets jukebox upgrade and plays a music disc. + playJukebox = true + #Determines whether backpack drops to fake players if killed by them in addition to real ones that it always drops to + dropToFakePlayers = false + #Chance of mob dropping backpack when killed by player + #Range: 0.0 ~ 1.0 + backpackDropChance = 0.5 + #Chance increase per looting level of mob dropping backpack + #Range: 0.0 ~ 0.3 + lootingChanceIncreasePerLevel = 0.15 + + [server.nerfs] + #Determines if too many backpacks in player's inventory cause slowness to the player + tooManyBackpacksSlowness = true + #Maximum number of backpacks in player's inventory that will not cause slowness + #Range: 1 ~ 27 + maxNumberOfBackpacks = 1 + #Ratio of slowness levels per every backpack above the maximum number allowed. (number of backpacks above the max gets multiplied by this number and ceiled) + #Range: 0.1 ~ 5.0 + slownessLevelsPerAdditionalBackpack = 1.0 + #Determines if active upgrades will only work in the backpack that's worn by the player. Active upgrades are for example magnet, pickup, cooking, feeding upgrades. + onlyWornBackpackTriggersUpgrades = true + + #Copper Backpack Settings + [server.copperBackpack] + #Number of inventory slots in the backpack + #Range: 1 ~ 144 + inventorySlotCount = 45 + #Number of upgrade slots in the backpack + #Range: 0 ~ 10 + upgradeSlotCount = 1 + diff --git a/global-server-configs/tfc-server.toml b/global-server-configs/tfc-server.toml new file mode 100644 index 000000000..a78d29a13 --- /dev/null +++ b/global-server-configs/tfc-server.toml @@ -0,0 +1,1314 @@ +# +# Familiarity value above which familiarity no longer will decay. Default is 0.3, or 30%. Setting it to 0 will cause familiarity to never decay. +#Range: 0.0 ~ 1.0 +familiarityDecayLimit = 0.3 + +[general] + # + # Enable nether portal creation + enableNetherPortals = false + # + # Forces a number of game rules to specific values. + # naturalRegeneration = false (Health regen is much slower and not tied to extra saturation) + # doInsomnia = false (No phantoms) + # doTraderSpawning = false (No wandering traders) + # doPatrolSpawning = false (No pillager patrols) + enableForcedTFCGameRules = true + # + # If true, TFC will stop time when no players are online on a running server. + # This prevents food from decaying, the calendar from advancing, and the sun from moving, etc. + # !!Disable at your own risk!! + enableTimeStopWhenServerEmpty = true + # + # Enable fire arrows and fireballs to spread fire and light blocks. + enableFireArrowSpreading = true + # + # Base probability for a firestarter to start a fire. May change based on circumstances + #Range: 0.0 ~ 1.0 + fireStarterChance = 0.5 + # + # Enable rat infestations for improperly stored food. + enableInfestations = true + # + # Enables TFC setting the moon phase based on the progress of the month. The etymology of the English word 'month' is in fact related to the word 'moon'. + enableCalendarSensitiveMoonPhases = true + # + # If false, vanilla lightning will not strike. + enableLightning = true + # + # If true, lightning has a chance of stripping bark off of trees. + enableLightningStrippingLogs = true + # + # Every time the z coordinate reaches a multiple of this point, the wind over oceans will switch directions. + #Range: > 128 + oceanWindScale = 5000 + +[blocks] + + [blocks.farmland] + # + # If TFC soil blocks are able to be created into farmland using a hoe. + enableFarmlandCreation = true + + [blocks.grassPath] + # + # If TFC soil blocks are able to be created into (grass) path blocks using a hoe. + enableGrassPathCreation = true + + [blocks.grass] + # + # The chance that when grass that freezes and thaws it will have a loose rock rise to the surface, provided some conditions are met. Set to 0 to disable. + #Range: 0.0 ~ 1.0 + grassSpawningRocksChance = 0.001 + + [blocks.rootedDirt] + # + # If TFC rooted dirt blocks are able to be created into dirt blocks using a hoe. + enableRootedDirtToDirtCreation = true + + [blocks.snow] + # + # [Requires MC Restart] If snow will slow players that move on top of it similar to soul sand or honey. + enableSnowSlowEntities = true + # + # The chance that snow will accumulate during a storm. Lower values = faster snow accumulation, but also more block updates (aka lag). + #Range: > 1 + snowAccumulateChance = 20 + # + # The chance that snow will melt during a storm. Lower values = faster snow melting, but also more block updates (aka lag). + #Range: > 1 + snowMeltChance = 36 + + [blocks.plants] + # + # Chance for a plant to grow each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant growth. + #Range: 0.0 ~ 1.0 + plantGrowthChance = 0.04 + # + # Chance for a twisting/weeping/kelp plant to grow each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant growth. + #Range: 0.0 ~ 1.0 + plantLongGrowthChance = 0.03 + # + # Chance for a plant to spread each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant spreading. + #Range: 0.0 ~ 1.0 + plantSpreadChance = 0.001 + # + # A movement multiplier for players moving through plants. Individual plants will use a ratio of this value, and lower = slower. + #Range: 0.0 ~ 1.0 + plantsMovementModifier = 0.2 + + [blocks.leaves] + # + # A movement multiplier for players moving through leaves. Lower = slower. + #Range: 0.0 ~ 1.0 + leavesMovementModifier = 0.4 + # + # If true, then leaves will decay slowly over time when disconnected from logs (vanilla behavior), as opposed to instantly (TFC behavior). + enableLeavesDecaySlowly = false + + [blocks.cobblestone] + # + # If mossy rock blocks will spread their moss to nearby rock blocks (bricks and cobble; stairs, slabs and walls thereof). + enableMossyRockSpreading = true + # + # The rate at which rock blocks will accumulate moss. Higher value = slower. + #Range: > 1 + mossyRockSpreadRate = 20 + + [blocks.chest] + # + # The largest (inclusive) size of an item that is allowed in a chest. + #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE + chestMaximumItemSize = "LARGE" + + [blocks.largeVessel] + # + # If true, large vessels will interact with in-world automation such as hoppers on a side-specific basis. + largeVesselEnableAutomation = true + # + # If true, large vessels will seal and unseal on redstone signal. + largeVesselEnableRedstoneSeal = true + + [blocks.torch] + # + # Number of ticks required for a torch to burn out (1000 = 1 in game hour = 50 seconds), default is 72 hours. Set to -1 to disable torch burnout. + #Range: > -1 + torchTicks = 72000 + + [blocks.candle] + # + # Number of ticks required for a candle to burn out (1000 = 1 in game hour = 50 seconds), default is 264 hours. Set to -1 to disable candle burnout. + #Range: > -1 + candleTicks = 264000 + + [blocks.dryingBricks] + # + # Number of ticks required for mud bricks to dry (1000 = 1 in game hour = 50 seconds), default is 24 hours. Set to -1 to disable drying. + #Range: > -1 + mudBricksTicks = 24000 + + [blocks.charcoal] + # + # Number of ticks required for charcoal pit to complete. (1000 = 1 in game hour = 50 seconds), default is 18 hours. + #Range: > -1 + charcoalTicks = 18000 + + [blocks.pitKiln] + # + # Number of ticks required for a pit kiln to burn out. (1000 = 1 in game hour = 50 seconds), default is 8 hours. + #Range: > 20 + pitKilnTicks = 8000 + # + # The maximum temperature which a pit kiln reaches. + #Range: > 0 + pitKilnTemperature1 = 1400 + + [blocks.crucible] + # + # Tank capacity of a crucible (in mB). + #Range: 0 ~ 2147483645 + crucibleCapacity = 4000 + # + # A modifier for how fast fluid containers empty into crucibles. Containers will empty 1 mB every (this) number of ticks. + #Range: > 1 + cruciblePouringRate = 4 + # + # A modifier for how fast fluid containers empty into crucibles when shift is held. Containers will empty 1 mB every (this) number of ticks. + #Range: > 1 + crucibleFastPouringRate = 1 + # + # If true, barrels will interact with in-world automation such as hoppers on a side-specific basis. + crucibleEnableAutomation = true + + [blocks.anvil] + # + # The number of pixels that the anvil's result may be off by, but still count as recipe completion. By default this requires pixel perfect accuracy. + #Range: 0 ~ 150 + anvilAcceptableWorkRange = 0 + # + # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Modestly Forged'. + #Range: 1.0 ~ 1.7976931348623157E308 + anvilModestlyForgedThreshold = 10.0 + # + # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Well Forged'. + #Range: 1.0 ~ 1.7976931348623157E308 + anvilWellForgedThreshold = 5.0 + # + # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Expertly Forged'. + #Range: 1.0 ~ 1.7976931348623157E308 + anvilExpertForgedThreshold = 2.0 + # + # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Perfectly Forged'. + #Range: 1.0 ~ 1.7976931348623157E308 + anvilPerfectlyForgedThreshold = 1.5 + # + # The multiplier to efficiency (mining speed) that is applied to a 'Perfectly Forged' tool. + #Range: 1.0 ~ 1000.0 + anvilMaxEfficiencyMultiplier = 1.8 + # + # The bonus to durability (probability to ignore a point of damage) that is applied to a 'Perfectly Forged' tool. Note that 1 ~ infinite durability, and 0 ~ no bonus. + #Range: 0.0 ~ 1.0 + anvilMaxDurabilityMultiplier = 0.5 + # + # The boost to attack damage that is applied to a 'Perfectly Forged' tool. + #Range: 1.0 ~ 1000.0 + anvilMaxDamageMultiplier = 1.5 + + [blocks.barrel] + # + # Tank capacity of a barrel (in mB). + #Range: > 0 + barrelCapacity = 10000 + # + # If true, barrels will interact with in-world automation such as hoppers on a side-specific basis. + barrelEnableAutomation = true + # + # If true, barrels will seal and unseal on redstone signal. + barrelEnableRedstoneSeal = true + + [blocks.composter] + # + # Number of ticks required for a composter in normal conditions to complete. (24000 = 1 game day), default is 12 days. + #Range: > 20 + composterTicks = 288000 + # + # If true, the composter will interact with in-world automation such as hoppers on a side-specific basis. + composterEnableAutomation = true + + [blocks.sluice] + # + # Number of ticks required for a sluice to process an item. (20 = 1 second), default is 5 seconds. + #Range: > 1 + sluiceTicks = 100 + + [blocks.lamp] + # + # Tank capacity of a lamp (in mB). + #Range: 0 ~ 2147483645 + lampCapacity = 250 + + [blocks.pumpkin] + # + # Enables the knifing of pumpkins to carve them. + enablePumpkinCarving = false + # + # Number of ticks required for a jack 'o lantern to burn out (1000 = 1 in game hour = 50 seconds), default is 108 hours. Set to -1 to disable burnout. + #Range: > -1 + jackOLanternTicks = 108000 + + [blocks.bloomery] + # + # The maximum number of levels that can be built in a bloomery multiblock, for added capacity. + #Range: > 1 + bloomeryMaxChimneyHeight = 3 + # + # Inventory capacity (in number of items per level of chimney) of the bloomery. + #Range: > 1 + bloomeryCapacity1 = 16 + + [blocks.blastFurnace] + # + # Inventory capacity (in number of items per level of chimney) of the blast furnace. + #Range: > 1 + blastFurnaceCapacity = 4 + # + # Fluid capacity (in mB) of the output tank of the blast furnace. + #Range: > 1 + blastFurnaceFluidCapacity = 10000 + # + # A multiplier for how fast the blast furnace consumes fuel. Higher values = faster fuel consumption. + #Range: > 1 + blastFurnaceFuelConsumptionMultiplier = 4 + # + # The maximum number of levels that can be built in a blast furnace multiblock, for added capacity. + #Range: > 1 + blastFurnaceMaxChimneyHeight = 5 + # + # If true, blast furnaces will interact with in-world automation such as hoppers on a side-specific basis. + blastFurnaceEnableAutomation = true + + [blocks.loom] + # + # If true, looms will interact with in-world automation such as hoppers on a side-specific basis. + loomEnableAutomation = true + + [blocks.thatch] + # + # A movement multiplier for players moving through thatch. Lower = slower. + #Range: 0.0 ~ 1.0 + thatchMovementMultiplier = 0.6 + + [blocks.thatchBed] + # + # If true, thatch beds can set the player's spawn. + enableThatchBedSpawnSetting = true + # + # If true, the player can sleep the night in a thatch bed + enableThatchBedSleeping = false + # + # If true, the player cannot sleep in thatch beds during thunderstorms. + thatchBedNoSleepInThunderstorms = true + + [blocks.placedItems] + # + # The maximum size of items that can be placed as 4 items on the ground with V. If an item is larger than this, it could still be placed with the 'maxPlacedLargeItemSize' option. + #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE + maxPlacedItemSize = "LARGE" + # + # The maximum size of items that can be placed as a single item on the ground with V. Items are checked to see if they're the right size to be placed in a group of 4 items first. + #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE + maxPlacedLargeItemSize = "HUGE" + # + # If true, players can place items on the ground with V. + enablePlacingItems = true + # + # If true, the tag 'tfc:placed_item_whitelist' will be checked to allow items to be in placed items and will exclude everything else. + usePlacedItemWhitelist = false + + [blocks.charcoalForge] + # + # If true, charcoal forges will interact with in-world automation such as hoppers on a side-specific basis. + charcoalForgeEnableAutomation = true + + [blocks.firePitEnableAutomation] + # + # If true, fire pits will interact with in-world automation such as hoppers on a side-specific basis. + firePitEnableAutomation = true + + [blocks.nestBox] + # + # If true, nest boxes will interact with in-world automation such as hoppers on a side-specific basis. + nestBoxEnableAutomation = true + + [blocks.powderKeg] + # + # If true, powder kegs can be lit and exploded. + powderKegEnabled = true + # + # If true, powder kegs will interact with in-world automation such as hoppers on a side-specific basis. + powderKegEnableAutomation = true + # + # A modifier to the strength of powderkegs when exploding. A max powderkeg explosion is 64, and all explosions are capped to this size no matter the value of the modifier. + #Range: 0.0 ~ 64.0 + powderKegStrengthModifier = 1.0 + # + # If true, powder kegs will only break stone, ores, gravel, and dirt. + powderKegOnlyBreaksNaturalBlocks = false + # + # The time in ticks for a powderkeg to defuse. Default is 80 ticks, or 4 seconds. + #Range: > 1 + powderKegFuseTime = 80 + + [blocks.hotWater] + # + # An amount that sitting in hot water will restore health, approximately twice per second. + #Range: 0.0 ~ 20.0 + hotWaterHealAmount = 0.08 + + [blocks.saplings] + # + # Modifier applied to the growth time of every (non-fruit) sapling. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. + #Range: 0.0 ~ 1.7976931348623157E308 + globalSaplingGrowthModifier = 1.0 + # + # Modifier applied to the growth time of every fruit tree sapling. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. + #Range: 0.0 ~ 1.7976931348623157E308 + globalFruitSaplingGrowthModifier = 1.0 + # + # Days for a acacia tree sapling to be ready to grow into a full tree. + #Range: > 0 + acaciaSaplingGrowthDays = 11 + # + # Days for a ash tree sapling to be ready to grow into a full tree. + #Range: > 0 + ashSaplingGrowthDays = 7 + # + # Days for a aspen tree sapling to be ready to grow into a full tree. + #Range: > 0 + aspenSaplingGrowthDays = 8 + # + # Days for a birch tree sapling to be ready to grow into a full tree. + #Range: > 0 + birchSaplingGrowthDays = 7 + # + # Days for a blackwood tree sapling to be ready to grow into a full tree. + #Range: > 0 + blackwoodSaplingGrowthDays = 8 + # + # Days for a chestnut tree sapling to be ready to grow into a full tree. + #Range: > 0 + chestnutSaplingGrowthDays = 7 + # + # Days for a douglas_fir tree sapling to be ready to grow into a full tree. + #Range: > 0 + douglas_firSaplingGrowthDays = 7 + # + # Days for a hickory tree sapling to be ready to grow into a full tree. + #Range: > 0 + hickorySaplingGrowthDays = 10 + # + # Days for a kapok tree sapling to be ready to grow into a full tree. + #Range: > 0 + kapokSaplingGrowthDays = 7 + # + # Days for a mangrove tree sapling to be ready to grow into a full tree. + #Range: > 0 + mangroveSaplingGrowthDays = 8 + # + # Days for a maple tree sapling to be ready to grow into a full tree. + #Range: > 0 + mapleSaplingGrowthDays = 7 + # + # Days for a oak tree sapling to be ready to grow into a full tree. + #Range: > 0 + oakSaplingGrowthDays = 10 + # + # Days for a palm tree sapling to be ready to grow into a full tree. + #Range: > 0 + palmSaplingGrowthDays = 7 + # + # Days for a pine tree sapling to be ready to grow into a full tree. + #Range: > 0 + pineSaplingGrowthDays = 7 + # + # Days for a rosewood tree sapling to be ready to grow into a full tree. + #Range: > 0 + rosewoodSaplingGrowthDays = 8 + # + # Days for a sequoia tree sapling to be ready to grow into a full tree. + #Range: > 0 + sequoiaSaplingGrowthDays = 18 + # + # Days for a spruce tree sapling to be ready to grow into a full tree. + #Range: > 0 + spruceSaplingGrowthDays = 7 + # + # Days for a sycamore tree sapling to be ready to grow into a full tree. + #Range: > 0 + sycamoreSaplingGrowthDays = 8 + # + # Days for a white_cedar tree sapling to be ready to grow into a full tree. + #Range: > 0 + white_cedarSaplingGrowthDays = 7 + # + # Days for a willow tree sapling to be ready to grow into a full tree. + #Range: > 0 + willowSaplingGrowthDays = 11 + # + # Days for a cherry tree sapling to be eligible to grow + #Range: > 0 + cherrySaplingGrowthDays1 = 8 + # + # Days for a green_apple tree sapling to be eligible to grow + #Range: > 0 + green_appleSaplingGrowthDays1 = 10 + # + # Days for a lemon tree sapling to be eligible to grow + #Range: > 0 + lemonSaplingGrowthDays1 = 8 + # + # Days for a olive tree sapling to be eligible to grow + #Range: > 0 + oliveSaplingGrowthDays1 = 12 + # + # Days for a orange tree sapling to be eligible to grow + #Range: > 0 + orangeSaplingGrowthDays1 = 7 + # + # Days for a peach tree sapling to be eligible to grow + #Range: > 0 + peachSaplingGrowthDays1 = 11 + # + # Days for a plum tree sapling to be eligible to grow + #Range: > 0 + plumSaplingGrowthDays1 = 8 + # + # Days for a red_apple tree sapling to be eligible to grow + #Range: > 0 + red_appleSaplingGrowthDays1 = 10 + # + # Days for a banana tree sapling to be eligible to grow + #Range: > 0 + bananaSaplingGrowthDays = 6 + + [blocks.crops] + # + # Modifier applied to the growth time of every crop. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. + #Range: 0.001 ~ 1000.0 + cropGrowthModifier = 1.0 + # + # Modifier applied to the expiry time of every crop. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. + #Range: 0.001 ~ 1000.0 + cropExpiryModifier = 1.0 + + [blocks.dispenser] + # + # If true, dispensers can light TFC devices. + dispenserEnableLighting = true + + [blocks.powderBowl] + # + # If true, powder bowls will interact with in-world automation such as hoppers on a side-specific basis. + powderBowlEnableAutomation = true + + [blocks.mud] + # + # If TFC dirt blocks are able to be created into mud blocks using a water-filled fluid container. + enableDirtToMudCreation = true + + [blocks.quern] + # + # If true, querns will interact with in-world automation such as hoppers on a side-specific basis. + quernEnableAutomation = true + +[items] + + [items.smallVessel] + # + # Tank capacity of a small vessel (in mB). + #Range: 0 ~ 2147483645 + smallVesselCapacity = 3000 + # + # The largest (inclusive) size of an item that is allowed in a small vessel. + #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE + smallVesselMaximumItemSize = "SMALL" + # + # If true, the vessel can be inserted and extracted from by clicking on it in the inventory. You may want to disable this if you have a inventory-tweaking mod + enableSmallVesselInventoryInteraction = true + + [items.molds] + # + # Tank capacity of a Fire Ingot mold (in mB). + #Range: 0 ~ 2147483645 + moldIngotCapacity = 144 + # + # Tank capacity of a Pickaxe Head mold (in mB). + #Range: 0 ~ 2147483645 + moldPickaxeHeadCapacity = 144 + # + # Tank capacity of a Propick Head mold (in mB). + #Range: 0 ~ 2147483645 + moldPropickHeadCapacity = 144 + # + # Tank capacity of a Axe Head mold (in mB). + #Range: 0 ~ 2147483645 + moldAxeHeadCapacity = 144 + # + # Tank capacity of a Shovel Head mold (in mB). + #Range: 0 ~ 2147483645 + moldShovelHeadCapacity = 144 + # + # Tank capacity of a Hoe Head mold (in mB). + #Range: 0 ~ 2147483645 + moldHoeHeadCapacity = 144 + # + # Tank capacity of a Chisel Head mold (in mB). + #Range: 0 ~ 2147483645 + moldChiselHeadCapacity = 144 + # + # Tank capacity of a Hammer Head mold (in mB). + #Range: 0 ~ 2147483645 + moldHammerHeadCapacity = 144 + # + # Tank capacity of a Saw Blade mold (in mB). + #Range: 0 ~ 2147483645 + moldSawBladeCapacity = 144 + # + # Tank capacity of a Javelin Head mold (in mB). + #Range: 0 ~ 2147483645 + moldJavelinHeadCapacity = 144 + # + # Tank capacity of a Sword Blade mold (in mB). + #Range: 0 ~ 2147483645 + moldSwordBladeCapacity = 288 + # + # Tank capacity of a Mace Head mold (in mB). + #Range: 0 ~ 2147483645 + moldMaceHeadCapacity = 288 + # + # Tank capacity of a Knife Blade mold (in mB). + #Range: 0 ~ 2147483645 + moldKnifeBladeCapacity = 144 + # + # Tank capacity of a Bell mold (in mB). + #Range: 0 ~ 2147483645 + moldScytheBladeCapacity = 144 + + [items.jug] + # + # Tank capacity of a ceramic jug (in mB). + #Range: 0 ~ 2147483645 + jugCapacity = 100 + # + # The chance a jug will break after drinking. + #Range: 0.0 ~ 1.0 + jugBreakChance = 0.02 + + [items.glassBottle] + # + # Tank capacity of a silica glass bottle (in mB). + #Range: 0 ~ 2147483645 + silicaGlassBottleCapacity = 500 + # + # The chance a silica glass bottle will break after drinking. + #Range: 0.0 ~ 1.0 + silicaGlassBottleBreakChance = 0.005 + # + # Tank capacity of a hematitic glass bottle (in mB). + #Range: 0 ~ 2147483645 + hematiticGlassBottleCapacity = 400 + # + # The chance a hematitic glass bottle will break after drinking. + #Range: 0.0 ~ 1.0 + hematiticGlassBottleBreakChance = 0.02 + # + # Tank capacity of a volcanic glass bottle (in mB). + #Range: 0 ~ 2147483645 + volcanicGlassBottleCapacity = 400 + # + # The chance a volcanic glass bottle will break after drinking. + #Range: 0.0 ~ 1.0 + volcanicGlassBottleBreakChance = 0.04 + # + # Tank capacity of a olivine glass bottle (in mB). + #Range: 0 ~ 2147483645 + olivineGlassBottleCapacity = 400 + # + # The chance a olivine glass bottle will break after drinking. + #Range: 0.0 ~ 1.0 + olivineGlassBottleBreakChance = 0.01 + + [items.woodenBucket] + # + # Tank capacity of a wooden bucket (in mB). + #Range: 0 ~ 2147483645 + woodenBucketCapacity = 1000 + +[mechanics] + + [mechanics.heat] + # + # A multiplier for how fast devices themselves heat up. Higher = faster. + #Range: 0.0 ~ 1.7976931348623157E308 + deviceHeatingModifier = 1.0 + # + # A multiplier for how fast items heat in devices. Higher = faster. + #Range: 0.0 ~ 1.7976931348623157E308 + itemHeatingModifier = 1.0 + # + # A multiplier for how fast items cool. Higher = faster. + #Range: 0.0 ~ 1.7976931348623157E308 + itemCoolingModifier = 0.8 + # + # Should hot item entities cool off when in contact with blocks like water or snow? + coolHotItemEntities = true + # + # Ticks between each time an item loses temperature when sitting on a cold block. 20 ticks = 1 second. + #Range: > 1 + ticksBeforeItemCool = 10 + + [mechanics.collapses] + # + # Enable rock collapsing when mining raw stone blocks + enableBlockCollapsing = true + # + # Enable explosions causing immediate collapses. + enableExplosionCollapsing = true + # + # Enable land slides (gravity affected blocks) when placing blocks or on block updates. + enableBlockLandslides = true + # + # Enable chisels starting collapses + enableChiselsStartCollapses = true + # + # Chance for a collapse to be triggered by mining a block. + #Range: 0.0 ~ 1.0 + collapseTriggerChance = 0.1 + # + # Chance for a collapse to be fake triggered by mining a block. + #Range: 0.0 ~ 1.0 + collapseFakeTriggerChance = 0.35 + # + # Chance for a block fo fall from mining collapse. Higher = more likely. + #Range: 0.0 ~ 1.0 + collapsePropagateChance = 0.55 + # + # Chance for a block to fall from an explosion triggered collapse. Higher = mor likely. + #Range: 0.0 ~ 1.0 + collapseExplosionPropagateChance = 0.3 + # + # Minimum radius for a collapse + #Range: 1 ~ 32 + collapseMinRadius = 3 + # + # Variance of the radius of a collapse. Total size is in [minRadius, minRadius + radiusVariance] + #Range: 1 ~ 32 + collapseRadiusVariance = 16 + + [mechanics.player] + # + # If peaceful difficulty should still have vanilla-esque passive regeneration of health, food, and hunger + enablePeacefulDifficultyPassiveRegeneration = false + # + # A multiplier for passive exhaustion accumulation. + # Exhaustion is the hidden stat which controls when you get hungry. In vanilla it is incremented by running and jumping for example. In TFC, exhaustion is added just by existing. + # 1.0 = A full hunger bar's worth of exhaustion every 2.5 days. Set to zero to disable completely. + #Range: 0.0 ~ 100.0 + passiveExhaustionMultiplier = 1.0 + # + # A multiplier for how quickly the player gets thirsty. + # The player loses thirst in sync with when they lose hunger. This represents how much thirst they lose. 0 = None, 100 = the entire thirst bar. + #Range: 0.0 ~ 100.0 + thirstModifier1 = 5.0 + # + # Enables the player losing more thirst in hotter environments. + enableThirstOverheating = true + # + # How much thirst the player gains from drinking in the rain (standing outside in the rain and looking up) per tick. + #Range: 0.0 ~ 100.0 + thirstGainedFromDrinkingInTheRain = 0.20833333333333334 + # + # A multiplier for how quickly the player regenerates health, under TFC's passive regeneration. + # By default, the player regenerates 0.2 HP/second, or 0.6 HP/second when above 80% hunger and thirst, where 1 HP = 1/50 of a heart. + #Range: 0.0 ~ 100.0 + naturalRegenerationModifier = 1.0 + # + # How much total hunger consumed is required to completely refresh the player's nutrition. + # Player nutrition in TFC is calculated based on nutrition of the last few foods eaten - this is how many foods are used to calculate nutrition. By default, all TFC foods restore 4 hunger. + #Range: > 1 + nutritionRotationHungerWindow = 80 + # + # If player's nutrition should be kept even after death. Hunger and thirst are not affected and will be reset. + keepNutritionAfterDeath = true + # + # How many hours should different foods ignore when trying to stack together automatically? + # Food made with different creation dates doesn't stack by default, unless it's within a specific window. This is the number of hours that different foods will try and stack together at the loss of a little extra expiry time. + #Range: 1 ~ 100 + foodDecayStackWindow = 6 + # + # A multiplier for food decay, or expiration times. Larger values will result in naturally shorter expiration times. + # Setting this to zero will cause decay not to apply. + # Note that if you set this to zero **food items will lose their creation dates!!**. This is not reversible! + #Range: 0.0 ~ 1000.0 + foodDecayModifier = 1.0 + # + # Enables negative effects from carrying too many very heavy items, including potion effects. + enableOverburdening = true + # + # A multiplier for the minimum health that the player will obtain, based on their nutrition + #Range: 0.001 ~ 1000.0 + nutritionMinimumHealthModifier = 0.2 + # + # A multiplier for the default health that the player will have (this is at a average nutrition of 40%, aka the starting nutrition. + # Nutrition above this value will linearly scale to the maximum multiplier. + # Nutrition below this value will linearly scale to the minimum multiplier. + #Range: 0.001 ~ 1000.0 + nutritionDefaultHealthModifier = 0.85 + # + # A multiplier for the maximum health that the player will obtain, based on their nutrition + #Range: 0.001 ~ 1000.0 + nutritionMaximumHealthModifier = 3.0 + + [mechanics.foodTraits] + # + # The modifier for the 'Salted' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitSaltedModifier = 0.5 + # + # The modifier for the 'Brined' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitBrinedModifier = 1.0 + # + # The modifier for the 'Pickled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitPickledModifier = 0.5 + # + # The modifier for the 'Preserved' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitPreservedModifier = 0.5 + # + # The modifier for the 'Vinegar' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitVinegarModifier = 0.1 + # + # The modifier for the 'Charcoal Grilled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitCharcoalGrilledModifier = 1.25 + # + # The modifier for the 'Wood Grilled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitWoodGrilledModifier = 0.8 + # + # The modifier for the 'Burnt To A Crisp' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitBurntToACrispModifier = 2.5 + # + # The modifier for the 'Wild' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitWildModifier = 0.5 + + [mechanics.fluids] + # + # If true, TFC buckets that naturally place sources (colored steel) will place sources. If false, this behavior is disabled. + enableBucketsPlacingSources = true + + [mechanics.vanillaChanges] + # + # If vanilla bonemeal's instant-growth effect should be enabled. + enableVanillaBonemeal = false + # + # If true, vanilla's snow and ice formation mechanics will be used, and none of the TFC mechanics (improved snow and ice placement, snow stacking, icicle formation, passive snow or ice melting) will exist. + enableVanillaWeatherEffects = false + # + # If true, vanilla will attempt to spawn skeleton 'trap' horses during thunderstorms. + enableVanillaSkeletonHorseSpawning = false + # + # If true, enables the default vanilla behavior of mobs spawning with enchanted weapons sometimes. + enableVanillaMobsSpawningWithEnchantments = false + # + # If true, enables the default behavior of mobs spawning with vanilla armor and weapons + enableVanillaMobsSpawningWithVanillaEquipment = false + # + # If true, golems can be built + enableVanillaGolems = false + # + # If true, vanilla monsters are able to spawn. If false, the 'enableVanillaMonstersOnSurface' config option is not used, and all spawns are denied. + enableVanillaMonsters = true + # + # If true, vanilla monsters will spawn on the surface instead of just underground. If false, vanilla monsters will not spawn on the surface. + enableVanillaMonstersOnSurface = false + # + # If true, chicken jockies can spawn + enableChickenJockies = false + # + # If true, eggs can be thrown. + enableVanillaEggThrowing = false + # + # If true, drinking milk will clear potion effects and restore no nutrition, as in vanilla. + enableVanillaDrinkingMilkClearsPotionEffects = false + + [mechanics.animals] + + [mechanics.animals.pig] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + pigFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + pigAdulthoodDays = 80 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + pigUses = 60 + # + # Does the animal eat rotten food? + pigEatsRottenFood = true + # + # Length of pregnancy in days + #Range: > 0 + pigGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + pigChildCount = 10 + + [mechanics.animals.donkey] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + donkeyFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + donkeyAdulthoodDays = 80 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + donkeyUses = 60 + # + # Does the animal eat rotten food? + donkeyEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + donkeyGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + donkeyChildCount = 1 + + [mechanics.animals.mule] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + muleFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + muleAdulthoodDays = 80 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + muleUses = 60 + # + # Does the animal eat rotten food? + muleEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + muleGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + muleChildCount = 1 + + [mechanics.animals.horse] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + horseFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + horseAdulthoodDays = 80 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + horseUses = 60 + # + # Does the animal eat rotten food? + horseEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + horseGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + horseChildCount = 1 + + [mechanics.animals.cat] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + catFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + catAdulthoodDays = 50 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + catUses = 60 + # + # Does the animal eat rotten food? + catEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + catGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + catChildCount = 6 + + [mechanics.animals.dog] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + dogFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + dogAdulthoodDays = 50 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + dogUses = 60 + # + # Does the animal eat rotten food? + dogEatsRottenFood = true + # + # Length of pregnancy in days + #Range: > 0 + dogGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + dogChildCount = 2 + + [mechanics.animals.cow] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + cowFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + cowAdulthoodDays = 192 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + cowUses = 128 + # + # Does the animal eat rotten food? + cowEatsRottenFood = true + # + # Length of pregnancy in days + #Range: > 0 + cowGestationDays = 58 + # + # Max number of children born + #Range: 0 ~ 100 + cowChildCount = 2 + # + # Ticks until produce is ready + #Range: > 0 + cowProduceTicks = 24000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + cowMinProduceFamiliarity = 0.15 + + [mechanics.animals.goat] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + goatFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + goatAdulthoodDays = 96 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + goatUses = 60 + # + # Does the animal eat rotten food? + goatEatsRottenFood = true + # + # Length of pregnancy in days + #Range: > 0 + goatGestationDays = 32 + # + # Max number of children born + #Range: 0 ~ 100 + goatChildCount = 2 + # + # Ticks until produce is ready + #Range: > 0 + goatProduceTicks = 72000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + goatMinProduceFamiliarity = 0.15 + + [mechanics.animals.yak] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + yakFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + yakAdulthoodDays = 180 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + yakUses = 230 + # + # Does the animal eat rotten food? + yakEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + yakGestationDays = 64 + # + # Max number of children born + #Range: 0 ~ 100 + yakChildCount = 1 + # + # Ticks until produce is ready + #Range: > 0 + yakProduceTicks = 23500 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + yakMinProduceFamiliarity = 0.15 + + [mechanics.animals.alpaca] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + alpacaFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + alpacaAdulthoodDays = 98 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + alpacaUses = 128 + # + # Does the animal eat rotten food? + alpacaEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + alpacaGestationDays = 36 + # + # Max number of children born + #Range: 0 ~ 100 + alpacaChildCount = 2 + # + # Ticks until produce is ready + #Range: > 0 + alpacaProduceTicks = 120000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + alpacaMinProduceFamiliarity = 0.15 + + [mechanics.animals.sheep] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + sheepFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + sheepAdulthoodDays = 56 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + sheepUses = 60 + # + # Does the animal eat rotten food? + sheepEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + sheepGestationDays = 32 + # + # Max number of children born + #Range: 0 ~ 100 + sheepChildCount = 2 + # + # Ticks until produce is ready + #Range: > 0 + sheepProduceTicks = 168000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + sheepMinProduceFamiliarity = 0.15 + + [mechanics.animals.muskOx] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + muskOxFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + muskOxAdulthoodDays = 168 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + muskOxUses = 160 + # + # Does the animal eat rotten food? + muskOxEatsRottenFood = false + # + # Length of pregnancy in days + #Range: > 0 + muskOxGestationDays = 64 + # + # Max number of children born + #Range: 0 ~ 100 + muskOxChildCount = 1 + # + # Ticks until produce is ready + #Range: > 0 + muskOxProduceTicks = 96000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + muskOxMinProduceFamiliarity = 0.15 + + [mechanics.animals.chicken] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + chickenFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + chickenAdulthoodDays = 24 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + chickenUses = 100 + # + # Does the animal eat rotten food? + chickenEatsRottenFood = true + # + # Ticks until produce is ready + #Range: > 0 + chickenProduceTicks = 30000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + chickenMinProduceFamiliarity = 0.15 + # + # Ticks until egg is ready to hatch + #Range: > 0 + chickenHatchDays = 8 + + [mechanics.animals.duck] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + duckFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + duckAdulthoodDays = 32 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + duckUses = 72 + # + # Does the animal eat rotten food? + duckEatsRottenFood = false + # + # Ticks until produce is ready + #Range: > 0 + duckProduceTicks = 32000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + duckMinProduceFamiliarity = 0.15 + # + # Ticks until egg is ready to hatch + #Range: > 0 + duckHatchDays = 8 + + [mechanics.animals.quail] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + quailFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + quailAdulthoodDays = 22 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + quailUses = 48 + # + # Does the animal eat rotten food? + quailEatsRottenFood = true + # + # Ticks until produce is ready + #Range: > 0 + quailProduceTicks = 28000 + # + # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. + #Range: 0.0 ~ 3.4028234663852886E38 + quailMinProduceFamiliarity = 0.15 + # + # Ticks until egg is ready to hatch + #Range: > 0 + quailHatchDays = 8 + + [mechanics.animals.rabbit] + # + # Max familiarity an adult may reach + #Range: 0.0 ~ 1.0 + rabbitFamiliarityCap = 0.35 + # + # Days until animal reaches adulthood + #Range: > 0 + rabbitAdulthoodDays = 80 + # + # Uses before animal becomes old and can no longer be used + #Range: > 0 + rabbitUses = 40 + # + # Does the animal eat rotten food? + rabbitEatsRottenFood = true + # + # Length of pregnancy in days + #Range: > 0 + rabbitGestationDays = 19 + # + # Max number of children born + #Range: 0 ~ 100 + rabbitChildCount = 6 + +[weird] + farmlandMakesTheBestRaceTracks = false + diff --git a/global-server-configs/tfcchannelcasting-server.toml b/global-server-configs/tfcchannelcasting-server.toml new file mode 100644 index 000000000..bed592b2b --- /dev/null +++ b/global-server-configs/tfcchannelcasting-server.toml @@ -0,0 +1,6 @@ + +[molds] + #Tank capacity of a Pickaxe Head mold (in mB). + #Range: 0 ~ 2147483645 + moldHeartCapacity = 100 + diff --git a/global-server-configs/tfcea-server.toml b/global-server-configs/tfcea-server.toml new file mode 100644 index 000000000..087adc875 --- /dev/null +++ b/global-server-configs/tfcea-server.toml @@ -0,0 +1,6 @@ + +[general] + #The modifier for the 'Refrigerating' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitRefrigeratingModifier = 0.125 + diff --git a/global-server-configs/toolbelt-server.toml b/global-server-configs/toolbelt-server.toml new file mode 100644 index 000000000..39afc4a41 --- /dev/null +++ b/global-server-configs/toolbelt-server.toml @@ -0,0 +1,7 @@ + +[general] + #List of items to force-allow placing in the belt. Takes precedence over blacklist. + whitelist = [] + #List of items to disallow from placing in the belt. (whitelist takes precedence) + blacklist = [] + From 57c8c7bf4c64967c63b8b08fb7d6ebbf9bd8cbd0 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 11:58:26 +0700 Subject: [PATCH 151/266] drop old cfgs --- defaultconfigs/corpse-server.toml | 33 - defaultconfigs/create-server.toml | 517 ---- defaultconfigs/firmaciv-server.toml | 11 - defaultconfigs/ftbessentials-server.snbt | 241 -- defaultconfigs/ftbessentials.snbt | 232 -- .../ftblibrary/ftblibrary-client.snbt | 4 - defaultconfigs/ftbquests/client-config.snbt | 4 - defaultconfigs/ftbranks/README.txt | 2103 ----------------- defaultconfigs/ftbranks/players.snbt | 1 - defaultconfigs/ftbranks/ranks.snbt | 26 - .../ftbxmodcompat/ftbxmodcompat.snbt | 4 - .../openpartiesandclaims-server.toml | 274 --- .../sophisticatedbackpacks-server.toml | 428 ---- defaultconfigs/tfc-server.toml | 1264 ---------- 14 files changed, 5142 deletions(-) delete mode 100644 defaultconfigs/corpse-server.toml delete mode 100644 defaultconfigs/create-server.toml delete mode 100644 defaultconfigs/firmaciv-server.toml delete mode 100644 defaultconfigs/ftbessentials-server.snbt delete mode 100644 defaultconfigs/ftbessentials.snbt delete mode 100644 defaultconfigs/ftblibrary/ftblibrary-client.snbt delete mode 100644 defaultconfigs/ftbquests/client-config.snbt delete mode 100644 defaultconfigs/ftbranks/README.txt delete mode 100644 defaultconfigs/ftbranks/players.snbt delete mode 100644 defaultconfigs/ftbranks/ranks.snbt delete mode 100644 defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt delete mode 100644 defaultconfigs/openpartiesandclaims-server.toml delete mode 100644 defaultconfigs/sophisticatedbackpacks-server.toml delete mode 100644 defaultconfigs/tfc-server.toml diff --git a/defaultconfigs/corpse-server.toml b/defaultconfigs/corpse-server.toml deleted file mode 100644 index ff4eb11ee..000000000 --- a/defaultconfigs/corpse-server.toml +++ /dev/null @@ -1,33 +0,0 @@ -#The time (in real life days) deaths get stored -#-1 for infinite storage -#0 for not storing deaths at all -#Range: > -1 -death_storage_duration = -1 - -[corpse] - #The time passed (in ticks) after a corpse turns into a skeleton - #Range: > 0 - skeleton_time = 72000 - #If the corpse should lie on its face - lie_on_face = false - #If the corpse should wear the players equipment - show_equipment = true - #If the corpse should fall into the void - fall_into_void = false - #If the corpse should get removed when in lava - lava_damage = false - - [corpse.access] - #If only the owner of the corpse can access the inventory - only_owner = true - #If everybody can access the corpse in the skeleton stage (Only if only_owner_access is set to true) - skeleton = true - - [corpse.despawn] - #The time passed (in ticks) after a corpse despawns (only if empty) - #Range: > 20 - time = 600 - #The time passed (in ticks) after a corpse despawns even if its not empty (-1 = never) - #Range: > -1 - force_time = -1 - diff --git a/defaultconfigs/create-server.toml b/defaultconfigs/create-server.toml deleted file mode 100644 index b36e6d303..000000000 --- a/defaultconfigs/create-server.toml +++ /dev/null @@ -1,517 +0,0 @@ - -#. -#The Backbone of Create -[infrastructure] - #. - #[in Ticks] - #The amount of time a server waits before sending out tickrate synchronization packets. - #These packets help animations to be more accurate when tps is below 20. - #Range: > 5 - tickrateSyncTimer = 20 - -#. -#Packmakers' control panel for internal recipe compat -[recipes] - #. - #. - #Allow the Mechanical Press to process entire stacks at a time. - bulkPressing = false - #. - #Allow the Mechanical Saw to process entire stacks at a time. - bulkCutting = false - #. - #Allow supported potions to be brewed by a Mechanical Mixer + Basin. - allowBrewingInMixer = true - #. - #Allow any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin. - allowShapelessInMixer = true - #. - #Allow any single-ingredient 2x2 or 3x3 crafting recipes to be processed by a Mechanical Press + Basin. - allowShapedSquareInPress = true - #. - #Allow any standard crafting recipes to be processed by Mechanical Crafters. - allowRegularCraftingInCrafter = true - #. - #The Maximum amount of ingredients that can be used to craft Firework Rockets using Mechanical Crafters. - #Range: > 1 - maxFireworkIngredientsInCrafter = 9 - #. - #Allow any stonecutting recipes to be processed by a Mechanical Saw. - allowStonecuttingOnSaw = true - #. - #Allow any Druidcraft woodcutter recipes to be processed by a Mechanical Saw. - allowWoodcuttingOnSaw = true - #. - #Allow Spouts to interact with Casting Tables and Basins from Tinkers' Construct. - allowCastingBySpout = true - #. - #Display vanilla Log-stripping interactions in JEI. - displayLogStrippingRecipes = false - #. - #The amount of Light sources destroyed before Chromatic Compound turns into Refined Radiance. - #Range: > 1 - lightSourceCountForRefinedRadiance = 10 - #. - #Allow the standard in-world Refined Radiance recipes. - enableRefinedRadianceRecipe = true - #. - #Allow the standard in-world Shadow Steel recipe. - enableShadowSteelRecipe = true - -#. -#Parameters and abilities of Create's kinetic mechanisms -[kinetics] - #. - #. - #Disable the Stress mechanic altogether. - disableStress = false - #. - #Maximum length in blocks of mechanical belts. - #Range: > 5 - maxBeltLength = 20 - #. - #Damage dealt by active Crushing Wheels. - #Range: > 0 - crushingDamage = 4 - #. - #[in Revolutions per Minute] - #Maximum allowed rotation speed for any Kinetic Block. - #Range: > 64 - maxRotationSpeed = 256 - #. - #Select what mobs should ignore Deployers when attacked by them. - #Allowed Values: ALL, CREEPERS, NONE - ignoreDeployerAttacks = "CREEPERS" - #. - #Game ticks between Kinetic Blocks checking whether their source is still valid. - #Range: > 5 - kineticValidationFrequency = 60 - #. - #multiplier used for calculating exhaustion from speed when a crank is turned. - #Range: 0.0 ~ 1.0 - crankHungerMultiplier = 0.009999999776482582 - #. - #Amount of sail-type blocks required for a windmill to assemble successfully. - #Range: > 0 - minimumWindmillSails = 8 - #. - #Number of sail-type blocks required to increase windmill speed by 1RPM. - #Range: > 1 - windmillSailsPerRPM = 8 - #. - #Max Distance in blocks a Weighted Ejector can throw - #Range: > 0 - maxEjectorDistance = 32 - #. - #Time in ticks until the next item launched by an ejector scans blocks for potential collisions - #Range: > 10 - ejectorScanInterval = 120 - - #. - #Encased Fan - [kinetics.encasedFan] - #. - #Maximum distance in blocks Fans can push entities. - #Range: > 5 - fanPushDistance = 20 - #. - #Maximum distance in blocks from where Fans can pull entities. - #Range: > 5 - fanPullDistance = 20 - #. - #Game ticks between Fans checking for anything blocking their air flow. - #Range: > 10 - fanBlockCheckRate = 30 - #. - #[in Revolutions per Minute] - #Rotation speed at which the maximum stats of fans are reached. - #Range: > 64 - fanRotationArgmax = 256 - #. - #Game ticks required for a Fan-based processing recipe to take effect. - #Range: > 0 - fanProcessingTime = 150 - - #. - #Moving Contraptions - [kinetics.contraptions] - #. - #Maximum amount of blocks in a structure movable by Pistons, Bearings or other means. - #Range: > 1 - maxBlocksMoved = 2048 - #. - #[in Bytes] - #[0 to disable this limit] - #Maximum amount of data a contraption can have before it can't be synced with players. - #Un-synced contraptions will not be visible and will not have collision. - #Range: > 0 - maxDataSize = 2000000 - #. - #Maximum value of a chassis attachment range. - #Range: > 1 - maxChassisRange = 16 - #. - #Maximum amount of extension poles behind a Mechanical Piston. - #Range: > 1 - maxPistonPoles = 64 - #. - #Max length of rope available off a Rope Pulley. - #Range: > 1 - maxRopeLength = 256 - #. - #Maximum allowed distance of two coupled minecarts. - #Range: > 1 - maxCartCouplingLength = 32 - #. - #Maximum depth of blocks filled in using a Mechanical Roller. - #Range: > 1 - rollerFillDepth = 12 - #. - #Whether minecart contraptions can be picked up in survival mode. - survivalContraptionPickup = true - #. - #Configure how Spawner blocks can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - movableSpawners = "NO_PICKUP" - #. - #Configure how Budding Amethyst can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - amethystMovement = "NO_PICKUP" - #. - #Configure how Obsidian blocks can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - movableObsidian = "UNMOVABLE" - #. - #Configure how Reinforced Deepslate blocks can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - movableReinforcedDeepslate = "UNMOVABLE" - #. - #Whether items mined or harvested by contraptions should be placed in their mounted storage. - moveItemsToStorage = true - #. - #Whether harvesters should break crops that aren't fully grown. - harvestPartiallyGrown = false - #. - #Whether harvesters should replant crops after harvesting. - harvesterReplants = true - #. - #Whether minecart contraptions can be placed into container items. - minecartContraptionInContainers = false - - #. - #Configure speed/capacity levels for requirements and indicators. - [kinetics.stats] - #. - #[in Revolutions per Minute] - #Minimum speed of rotation to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumSpeed = 30.0 - #. - #[in Revolutions per Minute] - #Minimum speed of rotation to be considered 'fast' - #Range: 0.0 ~ 65535.0 - fastSpeed = 100.0 - #. - #[in Stress Units] - #Minimum stress impact to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumStressImpact = 4.0 - #. - #[in Stress Units] - #Minimum stress impact to be considered 'high' - #Range: 0.0 ~ 65535.0 - highStressImpact = 8.0 - #. - #[in Stress Units] - #Minimum added Capacity by sources to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumCapacity = 256.0 - #. - #[in Stress Units] - #Minimum added Capacity by sources to be considered 'high' - #Range: 0.0 ~ 65535.0 - highCapacity = 1024.0 - - [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] - 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 - speedometer = 0.0 - copper_backtank = 4.0 - mechanical_saw = 4.0 - flywheel = 0.0 - encased_chain_drive = 0.0 - clutch = 0.0 - encased_fan = 2.0 - adjustable_chain_gearshift = 0.0 - mechanical_pump = 4.0 - crushing_wheel = 8.0 - mechanical_mixer = 4.0 - gantry_shaft = 0.0 - rope_pulley = 4.0 - 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 - stressometer = 0.0 - shaft = 0.0 - brass_encased_shaft = 0.0 - gearshift = 0.0 - turntable = 4.0 - sticky_mechanical_piston = 4.0 - sequenced_gearshift = 0.0 - weighted_ejector = 2.0 - cogwheel = 0.0 - andesite_encased_cogwheel = 0.0 - belt = 0.0 - brass_encased_cogwheel = 0.0 - gearbox = 0.0 - hose_pulley = 4.0 - elevator_pulley = 4.0 - mechanical_crafter = 2.0 - - #. - #[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 - creative_motor = 16384.0 - large_water_wheel = 128.0 - water_wheel = 32.0 - windmill_bearing = 512.0 - -#. -#Create's liquid manipulation tools -[fluids] - #. - #. - #[in Buckets] - #The amount of liquid a tank can hold per block. - #Range: > 1 - fluidTankCapacity = 8 - #. - #[in Blocks] - #The maximum height a fluid tank can reach. - #Range: > 1 - fluidTankMaxHeight = 32 - #. - #[in Blocks] - #The maximum distance a mechanical pump can push or pull liquids on either side. - #Range: > 1 - mechanicalPumpRange = 16 - #. - #[in Blocks] - #The maximum distance a hose pulley can draw fluid blocks from. - #Range: > 1 - hosePulleyRange = 128 - #. - #[in Blocks] - #[-1 to disable this behaviour] - #The minimum amount of fluid blocks the hose pulley needs to find before deeming it an infinite source. - #Range: > -1 - hosePulleyBlockThreshold = 0 - #. - #Whether hose pulleys should continue filling up above-threshold sources. - fillInfinite = false - #. - #Configure which fluids can be drained infinitely. - #Allowed Values: ALLOW_ALL, DENY_ALL, ALLOW_BY_TAG, DENY_BY_TAG - bottomlessFluidMode = "ALLOW_BY_TAG" - #. - #Whether hose pulleys should be allowed to place fluid sources. - fluidFillPlaceFluidSourceBlocks = false - #. - #Whether open-ended pipes should be allowed to place fluid sources. - pipesPlaceFluidSourceBlocks = false - -#. -#Tweaks for logistical components -[logistics] - #. - #. - #The amount of ticks a funnel waits between item transferrals, when it is not re-activated by redstone. - #Range: > 1 - defaultExtractionTimer = 8 - #. - #The amount of ticks a portable storage interface waits for transfers until letting contraptions move along. - #Range: > 1 - psiTimeout = 60 - #. - #Maximum distance in blocks a Mechanical Arm can reach across. - #Range: > 1 - mechanicalArmRange = 5 - #. - #Maximum possible range in blocks of redstone link connections. - #Range: > 1 - linkRange = 256 - #. - #Maximum possible distance in blocks between data gatherers and their target. - #Range: > 1 - displayLinkRange = 64 - #. - #The total amount of stacks a vault can hold per block in size. - #Range: > 1 - vaultCapacity = 20 - #. - #The amount of ticks a brass tunnel waits between distributions. - #Range: 1 ~ 10 - brassTunnelTimer = 10 - #. - #Whether hostile mobs walking near a seat will start riding it. - seatHostileMobs = true - -#. -#Everything related to Schematic tools -[schematics] - #. - #. - #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 - maxSchematics = 256 - #. - #[in Bytes] - #The maximum packet size uploaded Schematics are split into. - #Range: 256 ~ 32767 - maxSchematicPacketSize = 1024 - #. - #Amount of game ticks without new packets arriving until an active schematic upload process is discarded. - #Range: > 100 - schematicIdleTimeout = 600 - - #. - #Schematicannon - [schematics.schematicannon] - #. - #Amount of game ticks between shots of the cannon. Higher => Slower - #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 - -#. -#Equipment and gadgets added by Create -[equipment] - #. - #. - #The Maximum Distance to an active mirror for the symmetry wand to trigger. - #Range: > 10 - maxSymmetryWandRange = 50 - #. - #The Maximum Distance a Block placed by Create's placement assist will have to its interaction point. - #Range: > 3 - placementAssistRange = 12 - #. - #The Maximum Distance at which a Toolbox can interact with Players' Inventories. - #Range: > 1 - toolboxRange = 10 - #. - #The Maximum volume of Air that can be stored in a backtank = Seconds of underwater breathing - #Range: > 1 - airInBacktank = 900 - #. - #The volume of Air added by each level of the backtanks Capacity Enchantment - #Range: > 1 - enchantedBacktankCapacity = 300 - #. - #Amount of free Extendo Grip actions provided by one filled Copper Backtank. Set to 0 makes Extendo Grips unbreakable - #Range: > 0 - maxExtendoGripActions = 1000 - #. - #Amount of free Potato Cannon shots provided by one filled Copper Backtank. Set to 0 makes Potato Cannons unbreakable - #Range: > 0 - maxPotatoCannonShots = 200 - -#. -#Create's builtin Railway systems -[trains] - #. - #. - #Whether moving Trains can hurt colliding mobs and players. - trainsCauseDamage = true - #. - #Maximum length of track that can be placed as one batch or turn. - #Range: 16 ~ 128 - maxTrackPlacementLength = 32 - #. - #Maximum length of a Train Stations' assembly track. - #Range: > 5 - maxAssemblyLength = 128 - #. - #Maximum amount of bogeys assembled as a single Train. - #Range: > 1 - maxBogeyCount = 20 - #. - #Relative speed of a manually controlled Train compared to a Scheduled one. - #Range: 0.0 ~ 3.4028234663852886E38 - manualTrainSpeedModifier = 0.75 - - #. - #Standard Trains - [trains.trainStats] - #. - #[in Blocks/Second] - #The top speed of any assembled Train. - #Range: 0.0 ~ 3.4028234663852886E38 - trainTopSpeed = 28.0 - #. - #[in Blocks/Second] - #The top speed of Trains during a turn. - #Range: 0.0 ~ 3.4028234663852886E38 - trainTurningTopSpeed = 14.0 - #. - #[in Blocks/Second²] - #The acceleration of any assembled Train. - #Range: 0.0 ~ 3.4028234663852886E38 - trainAcceleration = 3.0 - - #. - #Powered Trains - [trains.poweredTrainStats] - #. - #[in Blocks/Second] - #The top speed of powered Trains. - #Range: 0.0 ~ 3.4028234663852886E38 - poweredTrainTopSpeed = 40.0 - #. - #[in Blocks/Second] - #The top speed of powered Trains during a turn. - #Range: 0.0 ~ 3.4028234663852886E38 - poweredTrainTurningTopSpeed = 20.0 - #. - #[in Blocks/Second²] - #The acceleration of powered Trains. - #Range: 0.0 ~ 3.4028234663852886E38 - poweredTrainAcceleration = 3.0 - diff --git a/defaultconfigs/firmaciv-server.toml b/defaultconfigs/firmaciv-server.toml deleted file mode 100644 index 198809b0b..000000000 --- a/defaultconfigs/firmaciv-server.toml +++ /dev/null @@ -1,11 +0,0 @@ - -[general] - #Force creation of canoes from specified wood types. Turning this to false will make canoes craftable from any wood type. - canoeWoodRestriction = true - #Force creation of ships and rowboats from specified wood types. Turning this to false will make ships and rowboats craftable from any wood type. - shipWoodRestriction = true - #Force reduceDebugInfo gamerule. Turn this to FALSE if you want coordinates bad. - forceReducedDebugInfo = false - #Disables vanilla boats and base TFC boats from working. - disableVanillaBoatFunctionality = true - diff --git a/defaultconfigs/ftbessentials-server.snbt b/defaultconfigs/ftbessentials-server.snbt deleted file mode 100644 index c3f5803c5..000000000 --- a/defaultconfigs/ftbessentials-server.snbt +++ /dev/null @@ -1,241 +0,0 @@ -# Default config file that will be copied to world's serverconfig/ftbessentials.snbt location -# Copy values you wish to override in here -# Example: -# -# { -# misc: { -# enderchest: { -# enabled: false -# } -# } -# } - -{ - # Admin commands for cheating and moderation - admin: { - # Allows admins to toggle flying status using a command, without having to use Creative Mode - fly: { - # Default: true - enabled: true - } - - # Allows admins to toggle invincibility using a command, without having to use Creative Mode - god: { - # Default: true - enabled: true - } - - # Allows admins to heal themselves using a command - heal: { - # Default: true - enabled: true - } - - # Allows admins to view other users' inventories using a command - invsee: { - # Default: true - enabled: true - } - - # Allows admins to restrict players from chatting by using a command to mute (or unmute) them - mute: { - # Default: true - enabled: true - } - } - - # Miscellaneous features and utilities - misc: { - # Allows users to access their ender chest, as well as admins to manage other players' ender chests. - enderchest: { - # Default: true - enabled: true - } - - # Allows users to set a custom hat as their head item by using a command - hat: { - # Default: true - enabled: true - } - - # Allows users to kick themselves from the server, for example if they are stuck or desynced - kickme: { - # Default: true - enabled: false - } - - # Allows users to view player leaderboard stats. - leaderboard: { - # Default: true - enabled: true - } - - # Allows users to change their display name, as well as admins to change nicknames for other users - nick: { - # Default: true - enabled: false - } - - # Allows users to announce their recording or streaming status to the server by using commands - rec: { - # Default: true - enabled: false - } - - # Enables usage of a trash can inventory, which can be used to void unneeded items - trashcan: { - # Default: true - enabled: true - } - } - - # Teleportation-related settings - teleportation: { - # Allows users to return to their previous location after teleporting (or dying) - back: { - # Cooldown between /back commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.cooldown - # Default: 30 - # Range: 0 ~ 604800 - cooldown: 30 - - # Default: true - enabled: false - - # Max size of the teleport history. This limits how many times you can use /back - # You can override this with FTB Ranks using ftbessentials.back.max - # Default: 10 - # Range: 0 ~ 2147483647 - max: 10 - - # Warm-up time before /back command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows users to set 'homes', which they can then freely teleport to by using /home afterwards - home: { - # Cooldown between /home commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Max amount of homes a user can have. - # You can override this with FTB Ranks using ftbessentials.home.max - # Default: 1 - # Range: 0 ~ 2147483647 - max: 1 - - # Warm-up time before /home command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to teleport to a random point in the Wilderness - # Note: This currently does not respect Claimed Chunks yet! - rtp: { - # Cooldown between /rtp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.cooldown - # Default: 600 - # Range: 0 ~ 604800 - cooldown: 600 - - # Default: true - enabled: false - - # /rtp max distance from spawn point - # Default: 100000 - # Range: 0 ~ 30000000 - max_distance: 100000 - - # Number of tries before /rtp gives up - # Default: 100 - # Range: 1 ~ 1000 - max_tries: 100 - - # /rtp min distance from spawn point - # Default: 1000 - # Range: 0 ~ 30000000 - min_distance: 1000 - - # Warm-up time before /rtp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - spawn: { - # Cooldown between /spawn commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /spawn command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to create requests to teleport to other users on the server, - # as well as requesting other players to teleport to them - tpa: { - # Cooldown between /tpa commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /tpa command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows admins to teleport to the location a user was last seen at - tpl: { - # Default: true - enabled: false - } - - # Allows admins to teleport to dimension - tpx: { - # Default: true - enabled: true - } - - # Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp - warp: { - # Cooldown between /warp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /warp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - } -} diff --git a/defaultconfigs/ftbessentials.snbt b/defaultconfigs/ftbessentials.snbt deleted file mode 100644 index 888367213..000000000 --- a/defaultconfigs/ftbessentials.snbt +++ /dev/null @@ -1,232 +0,0 @@ -# FTB Essentials config file -# If you're a modpack maker, edit defaultconfigs/ftbessentials-server.snbt instead - -{ - # Admin commands for cheating and moderation - admin: { - # Allows admins to toggle flying status using a command, without having to use Creative Mode - fly: { - # Default: true - enabled: true - } - - # Allows admins to toggle invincibility using a command, without having to use Creative Mode - god: { - # Default: true - enabled: true - } - - # Allows admins to heal themselves using a command - heal: { - # Default: true - enabled: true - } - - # Allows admins to view other users' inventories using a command - invsee: { - # Default: true - enabled: true - } - - # Allows admins to restrict players from chatting by using a command to mute (or unmute) them - mute: { - # Default: true - enabled: true - } - } - - # Miscellaneous features and utilities - misc: { - # Allows users to access their ender chest, as well as admins to manage other players' ender chests. - enderchest: { - # Default: true - enabled: true - } - - # Allows users to set a custom hat as their head item by using a command - hat: { - # Default: true - enabled: false - } - - # Allows users to kick themselves from the server, for example if they are stuck or desynced - kickme: { - # Default: true - enabled: false - } - - # Allows users to view player leaderboard stats. - leaderboard: { - # Default: true - enabled: true - } - - # Allows users to change their display name, as well as admins to change nicknames for other users - nick: { - # Default: true - enabled: false - } - - # Allows users to announce their recording or streaming status to the server by using commands - rec: { - # Default: true - enabled: false - } - - # Enables usage of a trash can inventory, which can be used to void unneeded items - trashcan: { - # Default: true - enabled: true - } - } - - # Teleportation-related settings - teleportation: { - # Allows users to return to their previous location after teleporting (or dying) - back: { - # Cooldown between /back commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.cooldown - # Default: 30 - # Range: 0 ~ 604800 - cooldown: 30 - - # Default: true - enabled: false - - # Max size of the teleport history. This limits how many times you can use /back - # You can override this with FTB Ranks using ftbessentials.back.max - # Default: 10 - # Range: 0 ~ 2147483647 - max: 10 - - # Warm-up time before /back command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows users to set 'homes', which they can then freely teleport to by using /home afterwards - home: { - # Cooldown between /home commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Max amount of homes a user can have. - # You can override this with FTB Ranks using ftbessentials.home.max - # Default: 1 - # Range: 0 ~ 2147483647 - max: 1 - - # Warm-up time before /home command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to teleport to a random point in the Wilderness - # Note: This currently does not respect Claimed Chunks yet! - rtp: { - # Cooldown between /rtp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.cooldown - # Default: 600 - # Range: 0 ~ 604800 - cooldown: 600 - - # Default: true - enabled: false - - # /rtp max distance from spawn point - # Default: 100000 - # Range: 0 ~ 30000000 - max_distance: 100000 - - # Number of tries before /rtp gives up - # Default: 100 - # Range: 1 ~ 1000 - max_tries: 100 - - # /rtp min distance from spawn point - # Default: 1000 - # Range: 0 ~ 30000000 - min_distance: 1000 - - # Warm-up time before /rtp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - spawn: { - # Cooldown between /spawn commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /spawn command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to create requests to teleport to other users on the server, - # as well as requesting other players to teleport to them - tpa: { - # Cooldown between /tpa commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /tpa command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows admins to teleport to the location a user was last seen at - tpl: { - # Default: true - enabled: false - } - - # Allows admins to teleport to dimension - tpx: { - # Default: true - enabled: false - } - - # Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp - warp: { - # Cooldown between /warp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /warp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - } -} diff --git a/defaultconfigs/ftblibrary/ftblibrary-client.snbt b/defaultconfigs/ftblibrary/ftblibrary-client.snbt deleted file mode 100644 index ee8fa4b3d..000000000 --- a/defaultconfigs/ftblibrary/ftblibrary-client.snbt +++ /dev/null @@ -1,4 +0,0 @@ -# Default config file that will be copied to local\ftblibrary-client.snbt if it doesn't exist! -# Just copy any values you wish to override in here! - -{ } diff --git a/defaultconfigs/ftbquests/client-config.snbt b/defaultconfigs/ftbquests/client-config.snbt deleted file mode 100644 index 406c7da71..000000000 --- a/defaultconfigs/ftbquests/client-config.snbt +++ /dev/null @@ -1,4 +0,0 @@ -# Default config file that will be copied to local\ftbquests\client-config.snbt if it doesn't exist! -# Just copy any values you wish to override in here! - -{ } diff --git a/defaultconfigs/ftbranks/README.txt b/defaultconfigs/ftbranks/README.txt deleted file mode 100644 index 74c94df2c..000000000 --- a/defaultconfigs/ftbranks/README.txt +++ /dev/null @@ -1,2103 +0,0 @@ -=== FTB Ranks === - -Last README file update: Thu Jul 20 09:32:31 YEKT 2023 -Wiki: https://www.notion.so/feedthebeast/FTB-Mod-Documentation-da2e359bad2449459d58d787edda3168 -To refresh this file, run /ftbranks refresh_readme - -= All available command nodes = -command -command.advancement -command.advancement.grant -command.advancement.grant.targets -command.advancement.grant.targets.everything -command.advancement.grant.targets.from -command.advancement.grant.targets.from.advancement -command.advancement.grant.targets.only -command.advancement.grant.targets.only.advancement -command.advancement.grant.targets.only.advancement.criterion -command.advancement.grant.targets.through -command.advancement.grant.targets.through.advancement -command.advancement.grant.targets.until -command.advancement.grant.targets.until.advancement -command.advancement.revoke -command.advancement.revoke.targets -command.advancement.revoke.targets.everything -command.advancement.revoke.targets.from -command.advancement.revoke.targets.from.advancement -command.advancement.revoke.targets.only -command.advancement.revoke.targets.only.advancement -command.advancement.revoke.targets.only.advancement.criterion -command.advancement.revoke.targets.through -command.advancement.revoke.targets.through.advancement -command.advancement.revoke.targets.until -command.advancement.revoke.targets.until.advancement -command.attribute -command.attribute.target -command.attribute.target.attribute -command.attribute.target.attribute.base -command.attribute.target.attribute.base.get -command.attribute.target.attribute.base.get.scale -command.attribute.target.attribute.base.set -command.attribute.target.attribute.base.set.value -command.attribute.target.attribute.get -command.attribute.target.attribute.get.scale -command.attribute.target.attribute.modifier -command.attribute.target.attribute.modifier.add -command.attribute.target.attribute.modifier.add.uuid -command.attribute.target.attribute.modifier.add.uuid.name -command.attribute.target.attribute.modifier.add.uuid.name.value -command.attribute.target.attribute.modifier.add.uuid.name.value.add -command.attribute.target.attribute.modifier.add.uuid.name.value.multiply -command.attribute.target.attribute.modifier.add.uuid.name.value.multiply_base -command.attribute.target.attribute.modifier.remove -command.attribute.target.attribute.modifier.remove.uuid -command.attribute.target.attribute.modifier.value -command.attribute.target.attribute.modifier.value.get -command.attribute.target.attribute.modifier.value.get.uuid -command.attribute.target.attribute.modifier.value.get.uuid.scale -command.back -command.betterbiomeblend -command.betterbiomeblend.toggleBenchmark -command.bossbar -command.bossbar.add -command.bossbar.add.id -command.bossbar.add.id.name -command.bossbar.get -command.bossbar.get.id -command.bossbar.get.id.max -command.bossbar.get.id.players -command.bossbar.get.id.value -command.bossbar.get.id.visible -command.bossbar.list -command.bossbar.remove -command.bossbar.remove.id -command.bossbar.set -command.bossbar.set.id -command.bossbar.set.id.color -command.bossbar.set.id.color.blue -command.bossbar.set.id.color.green -command.bossbar.set.id.color.pink -command.bossbar.set.id.color.purple -command.bossbar.set.id.color.red -command.bossbar.set.id.color.white -command.bossbar.set.id.color.yellow -command.bossbar.set.id.max -command.bossbar.set.id.max.max -command.bossbar.set.id.name -command.bossbar.set.id.name.name -command.bossbar.set.id.players -command.bossbar.set.id.players.targets -command.bossbar.set.id.style -command.bossbar.set.id.style.notched_10 -command.bossbar.set.id.style.notched_12 -command.bossbar.set.id.style.notched_20 -command.bossbar.set.id.style.notched_6 -command.bossbar.set.id.style.progress -command.bossbar.set.id.value -command.bossbar.set.id.value.value -command.bossbar.set.id.visible -command.bossbar.set.id.visible.visible -command.c -command.c.clone -command.c.clone.begin -command.c.clone.begin.end -command.c.clone.begin.end.destination -command.c.clone.begin.end.destination.skipBlocks -command.c.config -command.c.config.path -command.c.config.path.set -command.c.config.path.set.value -command.c.coupling -command.c.coupling.add -command.c.coupling.add.cart1 -command.c.coupling.add.cart1.cart2 -command.c.coupling.add.carts -command.c.coupling.remove -command.c.coupling.remove.cart1 -command.c.coupling.remove.cart1.cart2 -command.c.coupling.removeAll -command.c.coupling.removeAll.cart -command.c.dismissFabulousWarning -command.c.fixLighting -command.c.glue -command.c.glue.from -command.c.glue.from.to -command.c.highlight -command.c.highlight.pos -command.c.highlight.pos.players -command.c.killTrain -command.c.killTrain.train -command.c.overlay -command.c.overlay.reset -command.c.passenger -command.c.passenger.rider -command.c.passenger.rider.vehicle -command.c.passenger.rider.vehicle.seatIndex -command.c.ponder -command.c.ponder.scene -command.c.ponder.scene.targets -command.c.rainbowDebug -command.c.rainbowDebug.off -command.c.rainbowDebug.on -command.c.trains -command.c.u -command.c.u.angle -command.c.u.angle.players -command.c.u.angle.players.mode -command.c.u.angle.players.mode.exponential -command.c.u.angle.players.mode.exponential.speed -command.c.u.angle.players.mode.linear -command.c.u.angle.players.mode.linear.speed -command.c.u.angle.players.pitch -command.c.u.angle.players.pitch.degrees -command.c.u.angle.players.yaw -command.c.u.angle.players.yaw.degrees -command.c.u.camera -command.c.u.camera.multiplier -command.c.u.camera.reset -command.c.u.clearRenderBuffers -command.c.u.flySpeed -command.c.u.flySpeed.reset -command.c.u.flySpeed.reset.target -command.c.u.flySpeed.speed -command.c.u.flySpeed.speed.target -command.c.u.replaceInCommandBlocks -command.c.u.replaceInCommandBlocks.begin -command.c.u.replaceInCommandBlocks.begin.end -command.c.u.replaceInCommandBlocks.begin.end.toReplace -command.c.u.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.c.util -command.c.util.angle -command.c.util.angle.players -command.c.util.angle.players.mode -command.c.util.angle.players.mode.exponential -command.c.util.angle.players.mode.exponential.speed -command.c.util.angle.players.mode.linear -command.c.util.angle.players.mode.linear.speed -command.c.util.angle.players.pitch -command.c.util.angle.players.pitch.degrees -command.c.util.angle.players.yaw -command.c.util.angle.players.yaw.degrees -command.c.util.camera -command.c.util.camera.multiplier -command.c.util.camera.reset -command.c.util.clearRenderBuffers -command.c.util.flySpeed -command.c.util.flySpeed.reset -command.c.util.flySpeed.reset.target -command.c.util.flySpeed.speed -command.c.util.flySpeed.speed.target -command.c.util.replaceInCommandBlocks -command.c.util.replaceInCommandBlocks.begin -command.c.util.replaceInCommandBlocks.begin.end -command.c.util.replaceInCommandBlocks.begin.end.toReplace -command.c.util.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.candb -command.candb.clear -command.candb.clear.start -command.candb.clear.start.end -command.candb.fill -command.candb.fill.start -command.candb.fill.start.end -command.candb.fill.start.end.random -command.candb.fill.start.end.state -command.candb.give -command.candb.give.target -command.candb.give.target.state -command.candb.give.target.state.count -command.candb.load -command.candb.load.name -command.candb.profiling -command.candb.profiling.start -command.candb.profiling.stop -command.candb.redo -command.candb.redo.target -command.candb.save -command.candb.save.target -command.candb.save.target.name -command.candb.stats -command.candb.stats.start -command.candb.stats.start.end -command.candb.undo -command.candb.undo.target -command.carryon -command.carryon.clear -command.carryon.clear.target -command.carryon.debug -command.cca_api -command.clear -command.clear.targets -command.clear.targets.item -command.clear.targets.item.maxCount -command.clone -command.clone.begin -command.clone.begin.end -command.clone.begin.end.destination -command.clone.begin.end.destination.filtered -command.clone.begin.end.destination.filtered.filter -command.clone.begin.end.destination.filtered.filter.force -command.clone.begin.end.destination.filtered.filter.move -command.clone.begin.end.destination.filtered.filter.normal -command.clone.begin.end.destination.masked -command.clone.begin.end.destination.masked.force -command.clone.begin.end.destination.masked.move -command.clone.begin.end.destination.masked.normal -command.clone.begin.end.destination.replace -command.clone.begin.end.destination.replace.force -command.clone.begin.end.destination.replace.move -command.clone.begin.end.destination.replace.normal -command.config -command.config.showfile -command.config.showfile.mod -command.config.showfile.mod.type -command.create -command.create.clone -command.create.clone.begin -command.create.clone.begin.end -command.create.clone.begin.end.destination -command.create.clone.begin.end.destination.skipBlocks -command.create.config -command.create.config.path -command.create.config.path.set -command.create.config.path.set.value -command.create.coupling -command.create.coupling.add -command.create.coupling.add.cart1 -command.create.coupling.add.cart1.cart2 -command.create.coupling.add.carts -command.create.coupling.remove -command.create.coupling.remove.cart1 -command.create.coupling.remove.cart1.cart2 -command.create.coupling.removeAll -command.create.coupling.removeAll.cart -command.create.dismissFabulousWarning -command.create.fixLighting -command.create.glue -command.create.glue.from -command.create.glue.from.to -command.create.highlight -command.create.highlight.pos -command.create.highlight.pos.players -command.create.killTrain -command.create.killTrain.train -command.create.overlay -command.create.overlay.reset -command.create.passenger -command.create.passenger.rider -command.create.passenger.rider.vehicle -command.create.passenger.rider.vehicle.seatIndex -command.create.ponder -command.create.ponder.scene -command.create.ponder.scene.targets -command.create.rainbowDebug -command.create.rainbowDebug.off -command.create.rainbowDebug.on -command.create.trains -command.create.u -command.create.u.angle -command.create.u.angle.players -command.create.u.angle.players.mode -command.create.u.angle.players.mode.exponential -command.create.u.angle.players.mode.exponential.speed -command.create.u.angle.players.mode.linear -command.create.u.angle.players.mode.linear.speed -command.create.u.angle.players.pitch -command.create.u.angle.players.pitch.degrees -command.create.u.angle.players.yaw -command.create.u.angle.players.yaw.degrees -command.create.u.camera -command.create.u.camera.multiplier -command.create.u.camera.reset -command.create.u.clearRenderBuffers -command.create.u.flySpeed -command.create.u.flySpeed.reset -command.create.u.flySpeed.reset.target -command.create.u.flySpeed.speed -command.create.u.flySpeed.speed.target -command.create.u.replaceInCommandBlocks -command.create.u.replaceInCommandBlocks.begin -command.create.u.replaceInCommandBlocks.begin.end -command.create.u.replaceInCommandBlocks.begin.end.toReplace -command.create.u.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.create.util -command.create.util.angle -command.create.util.angle.players -command.create.util.angle.players.mode -command.create.util.angle.players.mode.exponential -command.create.util.angle.players.mode.exponential.speed -command.create.util.angle.players.mode.linear -command.create.util.angle.players.mode.linear.speed -command.create.util.angle.players.pitch -command.create.util.angle.players.pitch.degrees -command.create.util.angle.players.yaw -command.create.util.angle.players.yaw.degrees -command.create.util.camera -command.create.util.camera.multiplier -command.create.util.camera.reset -command.create.util.clearRenderBuffers -command.create.util.flySpeed -command.create.util.flySpeed.reset -command.create.util.flySpeed.reset.target -command.create.util.flySpeed.speed -command.create.util.flySpeed.speed.target -command.create.util.replaceInCommandBlocks -command.create.util.replaceInCommandBlocks.begin -command.create.util.replaceInCommandBlocks.begin.end -command.create.util.replaceInCommandBlocks.begin.end.toReplace -command.create.util.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.ctm -command.ctm.reload -command.curios -command.curios.add -command.curios.add.slot -command.curios.add.slot.player -command.curios.add.slot.player.amount -command.curios.clear -command.curios.clear.player -command.curios.clear.player.slot -command.curios.drop -command.curios.drop.player -command.curios.drop.player.slot -command.curios.list -command.curios.remove -command.curios.remove.slot -command.curios.remove.slot.player -command.curios.remove.slot.player.amount -command.curios.replace -command.curios.replace.slot -command.curios.replace.slot.index -command.curios.replace.slot.index.player -command.curios.replace.slot.index.player.with -command.curios.replace.slot.index.player.with.item -command.curios.replace.slot.index.player.with.item.count -command.curios.reset -command.curios.reset.player -command.curios.set -command.curios.set.slot -command.curios.set.slot.player -command.curios.set.slot.player.amount -command.data -command.data.get -command.data.get.block -command.data.get.block.targetPos -command.data.get.block.targetPos.path -command.data.get.block.targetPos.path.scale -command.data.get.entity -command.data.get.entity.target -command.data.get.entity.target.path -command.data.get.entity.target.path.scale -command.data.get.storage -command.data.get.storage.target -command.data.get.storage.target.path -command.data.get.storage.target.path.scale -command.data.merge -command.data.merge.block -command.data.merge.block.targetPos -command.data.merge.block.targetPos.nbt -command.data.merge.entity -command.data.merge.entity.target -command.data.merge.entity.target.nbt -command.data.merge.storage -command.data.merge.storage.target -command.data.merge.storage.target.nbt -command.data.modify -command.data.modify.block -command.data.modify.block.targetPos -command.data.modify.block.targetPos.targetPath -command.data.modify.block.targetPos.targetPath.append -command.data.modify.block.targetPos.targetPath.append.from -command.data.modify.block.targetPos.targetPath.append.from.block -command.data.modify.block.targetPos.targetPath.append.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.append.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.append.from.entity -command.data.modify.block.targetPos.targetPath.append.from.entity.source -command.data.modify.block.targetPos.targetPath.append.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.append.from.storage -command.data.modify.block.targetPos.targetPath.append.from.storage.source -command.data.modify.block.targetPos.targetPath.append.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.append.value -command.data.modify.block.targetPos.targetPath.append.value.value -command.data.modify.block.targetPos.targetPath.insert -command.data.modify.block.targetPos.targetPath.insert.index -command.data.modify.block.targetPos.targetPath.insert.index.from -command.data.modify.block.targetPos.targetPath.insert.index.from.block -command.data.modify.block.targetPos.targetPath.insert.index.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.insert.index.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.insert.index.from.entity -command.data.modify.block.targetPos.targetPath.insert.index.from.entity.source -command.data.modify.block.targetPos.targetPath.insert.index.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.insert.index.from.storage -command.data.modify.block.targetPos.targetPath.insert.index.from.storage.source -command.data.modify.block.targetPos.targetPath.insert.index.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.insert.index.value -command.data.modify.block.targetPos.targetPath.insert.index.value.value -command.data.modify.block.targetPos.targetPath.merge -command.data.modify.block.targetPos.targetPath.merge.from -command.data.modify.block.targetPos.targetPath.merge.from.block -command.data.modify.block.targetPos.targetPath.merge.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.merge.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.merge.from.entity -command.data.modify.block.targetPos.targetPath.merge.from.entity.source -command.data.modify.block.targetPos.targetPath.merge.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.merge.from.storage -command.data.modify.block.targetPos.targetPath.merge.from.storage.source -command.data.modify.block.targetPos.targetPath.merge.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.merge.value -command.data.modify.block.targetPos.targetPath.merge.value.value -command.data.modify.block.targetPos.targetPath.prepend -command.data.modify.block.targetPos.targetPath.prepend.from -command.data.modify.block.targetPos.targetPath.prepend.from.block -command.data.modify.block.targetPos.targetPath.prepend.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.prepend.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.prepend.from.entity -command.data.modify.block.targetPos.targetPath.prepend.from.entity.source -command.data.modify.block.targetPos.targetPath.prepend.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.prepend.from.storage -command.data.modify.block.targetPos.targetPath.prepend.from.storage.source -command.data.modify.block.targetPos.targetPath.prepend.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.prepend.value -command.data.modify.block.targetPos.targetPath.prepend.value.value -command.data.modify.block.targetPos.targetPath.set -command.data.modify.block.targetPos.targetPath.set.from -command.data.modify.block.targetPos.targetPath.set.from.block -command.data.modify.block.targetPos.targetPath.set.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.set.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.set.from.entity -command.data.modify.block.targetPos.targetPath.set.from.entity.source -command.data.modify.block.targetPos.targetPath.set.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.set.from.storage -command.data.modify.block.targetPos.targetPath.set.from.storage.source -command.data.modify.block.targetPos.targetPath.set.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.set.value -command.data.modify.block.targetPos.targetPath.set.value.value -command.data.modify.entity -command.data.modify.entity.target -command.data.modify.entity.target.targetPath -command.data.modify.entity.target.targetPath.append -command.data.modify.entity.target.targetPath.append.from -command.data.modify.entity.target.targetPath.append.from.block -command.data.modify.entity.target.targetPath.append.from.block.sourcePos -command.data.modify.entity.target.targetPath.append.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.append.from.entity -command.data.modify.entity.target.targetPath.append.from.entity.source -command.data.modify.entity.target.targetPath.append.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.append.from.storage -command.data.modify.entity.target.targetPath.append.from.storage.source -command.data.modify.entity.target.targetPath.append.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.append.value -command.data.modify.entity.target.targetPath.append.value.value -command.data.modify.entity.target.targetPath.insert -command.data.modify.entity.target.targetPath.insert.index -command.data.modify.entity.target.targetPath.insert.index.from -command.data.modify.entity.target.targetPath.insert.index.from.block -command.data.modify.entity.target.targetPath.insert.index.from.block.sourcePos -command.data.modify.entity.target.targetPath.insert.index.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.insert.index.from.entity -command.data.modify.entity.target.targetPath.insert.index.from.entity.source -command.data.modify.entity.target.targetPath.insert.index.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.insert.index.from.storage -command.data.modify.entity.target.targetPath.insert.index.from.storage.source -command.data.modify.entity.target.targetPath.insert.index.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.insert.index.value -command.data.modify.entity.target.targetPath.insert.index.value.value -command.data.modify.entity.target.targetPath.merge -command.data.modify.entity.target.targetPath.merge.from -command.data.modify.entity.target.targetPath.merge.from.block -command.data.modify.entity.target.targetPath.merge.from.block.sourcePos -command.data.modify.entity.target.targetPath.merge.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.merge.from.entity -command.data.modify.entity.target.targetPath.merge.from.entity.source -command.data.modify.entity.target.targetPath.merge.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.merge.from.storage -command.data.modify.entity.target.targetPath.merge.from.storage.source -command.data.modify.entity.target.targetPath.merge.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.merge.value -command.data.modify.entity.target.targetPath.merge.value.value -command.data.modify.entity.target.targetPath.prepend -command.data.modify.entity.target.targetPath.prepend.from -command.data.modify.entity.target.targetPath.prepend.from.block -command.data.modify.entity.target.targetPath.prepend.from.block.sourcePos -command.data.modify.entity.target.targetPath.prepend.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.prepend.from.entity -command.data.modify.entity.target.targetPath.prepend.from.entity.source -command.data.modify.entity.target.targetPath.prepend.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.prepend.from.storage -command.data.modify.entity.target.targetPath.prepend.from.storage.source -command.data.modify.entity.target.targetPath.prepend.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.prepend.value -command.data.modify.entity.target.targetPath.prepend.value.value -command.data.modify.entity.target.targetPath.set -command.data.modify.entity.target.targetPath.set.from -command.data.modify.entity.target.targetPath.set.from.block -command.data.modify.entity.target.targetPath.set.from.block.sourcePos -command.data.modify.entity.target.targetPath.set.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.set.from.entity -command.data.modify.entity.target.targetPath.set.from.entity.source -command.data.modify.entity.target.targetPath.set.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.set.from.storage -command.data.modify.entity.target.targetPath.set.from.storage.source -command.data.modify.entity.target.targetPath.set.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.set.value -command.data.modify.entity.target.targetPath.set.value.value -command.data.modify.storage -command.data.modify.storage.target -command.data.modify.storage.target.targetPath -command.data.modify.storage.target.targetPath.append -command.data.modify.storage.target.targetPath.append.from -command.data.modify.storage.target.targetPath.append.from.block -command.data.modify.storage.target.targetPath.append.from.block.sourcePos -command.data.modify.storage.target.targetPath.append.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.append.from.entity -command.data.modify.storage.target.targetPath.append.from.entity.source -command.data.modify.storage.target.targetPath.append.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.append.from.storage -command.data.modify.storage.target.targetPath.append.from.storage.source -command.data.modify.storage.target.targetPath.append.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.append.value -command.data.modify.storage.target.targetPath.append.value.value -command.data.modify.storage.target.targetPath.insert -command.data.modify.storage.target.targetPath.insert.index -command.data.modify.storage.target.targetPath.insert.index.from -command.data.modify.storage.target.targetPath.insert.index.from.block -command.data.modify.storage.target.targetPath.insert.index.from.block.sourcePos -command.data.modify.storage.target.targetPath.insert.index.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.insert.index.from.entity -command.data.modify.storage.target.targetPath.insert.index.from.entity.source -command.data.modify.storage.target.targetPath.insert.index.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.insert.index.from.storage -command.data.modify.storage.target.targetPath.insert.index.from.storage.source -command.data.modify.storage.target.targetPath.insert.index.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.insert.index.value -command.data.modify.storage.target.targetPath.insert.index.value.value -command.data.modify.storage.target.targetPath.merge -command.data.modify.storage.target.targetPath.merge.from -command.data.modify.storage.target.targetPath.merge.from.block -command.data.modify.storage.target.targetPath.merge.from.block.sourcePos -command.data.modify.storage.target.targetPath.merge.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.merge.from.entity -command.data.modify.storage.target.targetPath.merge.from.entity.source -command.data.modify.storage.target.targetPath.merge.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.merge.from.storage -command.data.modify.storage.target.targetPath.merge.from.storage.source -command.data.modify.storage.target.targetPath.merge.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.merge.value -command.data.modify.storage.target.targetPath.merge.value.value -command.data.modify.storage.target.targetPath.prepend -command.data.modify.storage.target.targetPath.prepend.from -command.data.modify.storage.target.targetPath.prepend.from.block -command.data.modify.storage.target.targetPath.prepend.from.block.sourcePos -command.data.modify.storage.target.targetPath.prepend.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.prepend.from.entity -command.data.modify.storage.target.targetPath.prepend.from.entity.source -command.data.modify.storage.target.targetPath.prepend.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.prepend.from.storage -command.data.modify.storage.target.targetPath.prepend.from.storage.source -command.data.modify.storage.target.targetPath.prepend.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.prepend.value -command.data.modify.storage.target.targetPath.prepend.value.value -command.data.modify.storage.target.targetPath.set -command.data.modify.storage.target.targetPath.set.from -command.data.modify.storage.target.targetPath.set.from.block -command.data.modify.storage.target.targetPath.set.from.block.sourcePos -command.data.modify.storage.target.targetPath.set.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.set.from.entity -command.data.modify.storage.target.targetPath.set.from.entity.source -command.data.modify.storage.target.targetPath.set.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.set.from.storage -command.data.modify.storage.target.targetPath.set.from.storage.source -command.data.modify.storage.target.targetPath.set.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.set.value -command.data.modify.storage.target.targetPath.set.value.value -command.data.remove -command.data.remove.block -command.data.remove.block.targetPos -command.data.remove.block.targetPos.path -command.data.remove.entity -command.data.remove.entity.target -command.data.remove.entity.target.path -command.data.remove.storage -command.data.remove.storage.target -command.data.remove.storage.target.path -command.datapack -command.datapack.disable -command.datapack.disable.name -command.datapack.enable -command.datapack.enable.name -command.datapack.enable.name.after -command.datapack.enable.name.after.existing -command.datapack.enable.name.before -command.datapack.enable.name.before.existing -command.datapack.enable.name.first -command.datapack.enable.name.last -command.datapack.list -command.datapack.list.available -command.datapack.list.enabled -command.deathhistory -command.deathhistory.player -command.deathhistory.player_uuid -command.debug -command.debug.function -command.debug.function.name -command.debug.start -command.debug.stop -command.defaultgamemode -command.defaultgamemode.adventure -command.defaultgamemode.creative -command.defaultgamemode.spectator -command.defaultgamemode.survival -command.delhome -command.delhome.name -command.delwarp -command.delwarp.name -command.difficulty -command.difficulty.easy -command.difficulty.hard -command.difficulty.normal -command.difficulty.peaceful -command.dt -command.dt.clearorphaned -command.dt.clearorphaned.location -command.dt.clearorphaned.location.radius -command.dt.createstaff -command.dt.createstaff.location -command.dt.createstaff.location.species -command.dt.createstaff.location.species.jo_code -command.dt.createstaff.location.species.jo_code.color -command.dt.createstaff.location.species.jo_code.color.readOnly -command.dt.createstaff.location.species.jo_code.color.readOnly.maxUses -command.dt.createtransformpotion -command.dt.createtransformpotion.location -command.dt.createtransformpotion.location.species -command.dt.fertility -command.dt.fertility.location -command.dt.fertility.location.fertility -command.dt.fertility.location.raw -command.dt.gettree -command.dt.gettree.location -command.dt.gettree.location.code_raw -command.dt.growpulse -command.dt.growpulse.location -command.dt.growpulse.location.number -command.dt.killtree -command.dt.killtree.location -command.dt.purgetrees -command.dt.purgetrees.location -command.dt.purgetrees.location.radius -command.dt.registry -command.dt.registry.cellkit -command.dt.registry.cellkit.list -command.dt.registry.cellkit.list.raw -command.dt.registry.family -command.dt.registry.family.list -command.dt.registry.family.list.raw -command.dt.registry.fruit -command.dt.registry.fruit.list -command.dt.registry.fruit.list.raw -command.dt.registry.genfeature -command.dt.registry.genfeature.list -command.dt.registry.genfeature.list.raw -command.dt.registry.growthlogickit -command.dt.registry.growthlogickit.list -command.dt.registry.growthlogickit.list.raw -command.dt.registry.leavesproperties -command.dt.registry.leavesproperties.list -command.dt.registry.leavesproperties.list.raw -command.dt.registry.pod -command.dt.registry.pod.list -command.dt.registry.pod.list.raw -command.dt.registry.registryhandler -command.dt.registry.registryhandler.list -command.dt.registry.registryhandler.list.raw -command.dt.registry.soilproperties -command.dt.registry.soilproperties.list -command.dt.registry.soilproperties.list.raw -command.dt.registry.species -command.dt.registry.species.list -command.dt.registry.species.list.raw -command.dt.rotatejocode -command.dt.rotatejocode.jo_code -command.dt.rotatejocode.jo_code.turns -command.dt.setcoordxor -command.dt.setcoordxor.xor -command.dt.settree -command.dt.settree.location -command.dt.settree.location.species -command.dt.settree.location.species.jo_code -command.dt.settree.location.species.jo_code.turns -command.dt.settree.location.species.jo_code.turns.fertility -command.dt.transform -command.dt.transform.location -command.dt.transform.location.species -command.dumpHandlers -command.effect -command.effect.clear -command.effect.clear.targets -command.effect.clear.targets.effect -command.effect.give -command.effect.give.targets -command.effect.give.targets.effect -command.effect.give.targets.effect.seconds -command.effect.give.targets.effect.seconds.amplifier -command.effect.give.targets.effect.seconds.amplifier.hideParticles -command.enchant -command.enchant.targets -command.enchant.targets.enchantment -command.enchant.targets.enchantment.level -command.enderchest -command.enderchest.player -command.execute -command.execute.align -command.execute.anchored -command.execute.as -command.execute.at -command.execute.facing -command.execute.facing.entity -command.execute.facing.entity.targets -command.execute.if -command.execute.if.block -command.execute.if.block.pos -command.execute.if.blocks -command.execute.if.blocks.start -command.execute.if.blocks.start.end -command.execute.if.blocks.start.end.destination -command.execute.if.data -command.execute.if.data.block -command.execute.if.data.block.sourcePos -command.execute.if.data.entity -command.execute.if.data.entity.source -command.execute.if.data.storage -command.execute.if.data.storage.source -command.execute.if.entity -command.execute.if.predicate -command.execute.if.score -command.execute.if.score.target -command.execute.if.score.target.targetObjective -command.execute.if.score.target.targetObjective.< -command.execute.if.score.target.targetObjective.<.source -command.execute.if.score.target.targetObjective.<= -command.execute.if.score.target.targetObjective.<=.source -command.execute.if.score.target.targetObjective.= -command.execute.if.score.target.targetObjective.=.source -command.execute.if.score.target.targetObjective.> -command.execute.if.score.target.targetObjective.>.source -command.execute.if.score.target.targetObjective.>= -command.execute.if.score.target.targetObjective.>=.source -command.execute.if.score.target.targetObjective.matches -command.execute.in -command.execute.positioned -command.execute.positioned.as -command.execute.rotated -command.execute.rotated.as -command.execute.run -command.execute.store -command.execute.store.result -command.execute.store.result.block -command.execute.store.result.block.targetPos -command.execute.store.result.block.targetPos.path -command.execute.store.result.block.targetPos.path.byte -command.execute.store.result.block.targetPos.path.double -command.execute.store.result.block.targetPos.path.float -command.execute.store.result.block.targetPos.path.int -command.execute.store.result.block.targetPos.path.long -command.execute.store.result.block.targetPos.path.short -command.execute.store.result.bossbar -command.execute.store.result.bossbar.id -command.execute.store.result.entity -command.execute.store.result.entity.target -command.execute.store.result.entity.target.path -command.execute.store.result.entity.target.path.byte -command.execute.store.result.entity.target.path.double -command.execute.store.result.entity.target.path.float -command.execute.store.result.entity.target.path.int -command.execute.store.result.entity.target.path.long -command.execute.store.result.entity.target.path.short -command.execute.store.result.score -command.execute.store.result.score.targets -command.execute.store.result.storage -command.execute.store.result.storage.target -command.execute.store.result.storage.target.path -command.execute.store.result.storage.target.path.byte -command.execute.store.result.storage.target.path.double -command.execute.store.result.storage.target.path.float -command.execute.store.result.storage.target.path.int -command.execute.store.result.storage.target.path.long -command.execute.store.result.storage.target.path.short -command.execute.store.success -command.execute.store.success.block -command.execute.store.success.block.targetPos -command.execute.store.success.block.targetPos.path -command.execute.store.success.block.targetPos.path.byte -command.execute.store.success.block.targetPos.path.double -command.execute.store.success.block.targetPos.path.float -command.execute.store.success.block.targetPos.path.int -command.execute.store.success.block.targetPos.path.long -command.execute.store.success.block.targetPos.path.short -command.execute.store.success.bossbar -command.execute.store.success.bossbar.id -command.execute.store.success.entity -command.execute.store.success.entity.target -command.execute.store.success.entity.target.path -command.execute.store.success.entity.target.path.byte -command.execute.store.success.entity.target.path.double -command.execute.store.success.entity.target.path.float -command.execute.store.success.entity.target.path.int -command.execute.store.success.entity.target.path.long -command.execute.store.success.entity.target.path.short -command.execute.store.success.score -command.execute.store.success.score.targets -command.execute.store.success.storage -command.execute.store.success.storage.target -command.execute.store.success.storage.target.path -command.execute.store.success.storage.target.path.byte -command.execute.store.success.storage.target.path.double -command.execute.store.success.storage.target.path.float -command.execute.store.success.storage.target.path.int -command.execute.store.success.storage.target.path.long -command.execute.store.success.storage.target.path.short -command.execute.unless -command.execute.unless.block -command.execute.unless.block.pos -command.execute.unless.blocks -command.execute.unless.blocks.start -command.execute.unless.blocks.start.end -command.execute.unless.blocks.start.end.destination -command.execute.unless.data -command.execute.unless.data.block -command.execute.unless.data.block.sourcePos -command.execute.unless.data.entity -command.execute.unless.data.entity.source -command.execute.unless.data.storage -command.execute.unless.data.storage.source -command.execute.unless.entity -command.execute.unless.predicate -command.execute.unless.score -command.execute.unless.score.target -command.execute.unless.score.target.targetObjective -command.execute.unless.score.target.targetObjective.< -command.execute.unless.score.target.targetObjective.<.source -command.execute.unless.score.target.targetObjective.<= -command.execute.unless.score.target.targetObjective.<=.source -command.execute.unless.score.target.targetObjective.= -command.execute.unless.score.target.targetObjective.=.source -command.execute.unless.score.target.targetObjective.> -command.execute.unless.score.target.targetObjective.>.source -command.execute.unless.score.target.targetObjective.>= -command.execute.unless.score.target.targetObjective.>=.source -command.execute.unless.score.target.targetObjective.matches -command.experience -command.experience.add -command.experience.add.targets -command.experience.add.targets.amount -command.experience.add.targets.amount.levels -command.experience.add.targets.amount.points -command.experience.query -command.experience.query.targets -command.experience.query.targets.levels -command.experience.query.targets.points -command.experience.set -command.experience.set.targets -command.experience.set.targets.amount -command.experience.set.targets.amount.levels -command.experience.set.targets.amount.points -command.fill -command.fill.from -command.fill.from.to -command.fill.from.to.block -command.fill.from.to.block.destroy -command.fill.from.to.block.hollow -command.fill.from.to.block.keep -command.fill.from.to.block.outline -command.fill.from.to.block.replace -command.fill.from.to.block.replace.filter -command.fly -command.fly.player -command.forceload -command.forceload.add -command.forceload.add.from -command.forceload.add.from.to -command.forceload.query -command.forceload.query.pos -command.forceload.remove -command.forceload.remove.all -command.forceload.remove.from -command.forceload.remove.from.to -command.forge -command.forge.dimensions -command.forge.entity -command.forge.entity.list -command.forge.entity.list.filter -command.forge.entity.list.filter.dim -command.forge.generate -command.forge.generate.pos -command.forge.generate.pos.count -command.forge.generate.pos.count.dim -command.forge.generate.pos.count.dim.interval -command.forge.mods -command.forge.tags -command.forge.tags.registry -command.forge.tags.registry.get -command.forge.tags.registry.get.tag -command.forge.tags.registry.get.tag.page -command.forge.tags.registry.list -command.forge.tags.registry.list.page -command.forge.tags.registry.query -command.forge.tags.registry.query.element -command.forge.tags.registry.query.element.page -command.forge.tps -command.forge.tps.dim -command.forge.track -command.forge.track.entity -command.forge.track.reset -command.forge.track.reset.entity -command.forge.track.reset.te -command.forge.track.start -command.forge.track.start.entity -command.forge.track.start.entity.duration -command.forge.track.start.te -command.forge.track.start.te.duration -command.forge.track.te -command.ftblibrary -command.ftblibrary.day -command.ftblibrary.gamemode -command.ftblibrary.generate_loot_tables -command.ftblibrary.nbtedit -command.ftblibrary.nbtedit.block -command.ftblibrary.nbtedit.block.pos -command.ftblibrary.nbtedit.entity -command.ftblibrary.nbtedit.entity.entity -command.ftblibrary.nbtedit.item -command.ftblibrary.nbtedit.player -command.ftblibrary.nbtedit.player.player -command.ftblibrary.night -command.ftblibrary.rain -command.ftbquests -command.ftbquests.block_rewards -command.ftbquests.block_rewards.enabled -command.ftbquests.block_rewards.enabled.player -command.ftbquests.change_progress -command.ftbquests.change_progress.players -command.ftbquests.change_progress.players.complete -command.ftbquests.change_progress.players.complete.quest_object -command.ftbquests.change_progress.players.reset -command.ftbquests.change_progress.players.reset.quest_object -command.ftbquests.delete_empty_reward_tables -command.ftbquests.editing_mode -command.ftbquests.editing_mode.enabled -command.ftbquests.editing_mode.enabled.player -command.ftbquests.export_reward_table_to_chest -command.ftbquests.export_reward_table_to_chest.reward_table -command.ftbquests.export_reward_table_to_chest.reward_table.pos -command.ftbquests.generate_chapter_with_all_items_in_game -command.ftbquests.import_reward_table_from_chest -command.ftbquests.import_reward_table_from_chest.name -command.ftbquests.import_reward_table_from_chest.name.pos -command.ftbquests.locked -command.ftbquests.locked.enabled -command.ftbquests.locked.enabled.player -command.ftbquests.reload -command.ftbranks -command.ftbranks.add -command.ftbranks.add.players -command.ftbranks.add.players.rank -command.ftbranks.condition -command.ftbranks.condition.rank -command.ftbranks.condition.rank.value -command.ftbranks.create -command.ftbranks.create.name -command.ftbranks.delete -command.ftbranks.delete.rank -command.ftbranks.list_all_ranks -command.ftbranks.list_players_with -command.ftbranks.list_players_with.rank -command.ftbranks.list_ranks_of -command.ftbranks.list_ranks_of.player -command.ftbranks.node -command.ftbranks.node.add -command.ftbranks.node.add.rank -command.ftbranks.node.add.rank.node -command.ftbranks.node.add.rank.node.value -command.ftbranks.node.remove -command.ftbranks.node.remove.rank -command.ftbranks.node.remove.rank.node -command.ftbranks.refresh_readme -command.ftbranks.reload -command.ftbranks.remove -command.ftbranks.remove.players -command.ftbranks.remove.players.rank -command.ftbranks.show_rank -command.ftbranks.show_rank.rank -command.ftbteams -command.ftbteams.info -command.ftbteams.info.server_id -command.ftbteams.info.team -command.ftbteams.list -command.ftbteams.list.parties -command.ftbteams.list.players -command.ftbteams.list.server_teams -command.ftbteams.msg -command.ftbteams.msg.text -command.ftbteams.party -command.ftbteams.party.allies -command.ftbteams.party.allies.add -command.ftbteams.party.allies.add.player -command.ftbteams.party.allies.list -command.ftbteams.party.allies.remove -command.ftbteams.party.allies.remove.player -command.ftbteams.party.create -command.ftbteams.party.create.name -command.ftbteams.party.deny_invite -command.ftbteams.party.deny_invite.team -command.ftbteams.party.invite -command.ftbteams.party.invite.players -command.ftbteams.party.join -command.ftbteams.party.join.team -command.ftbteams.party.kick -command.ftbteams.party.kick.players -command.ftbteams.party.leave -command.ftbteams.party.settings -command.ftbteams.party.settings.key -command.ftbteams.party.settings.key.value -command.ftbteams.party.settings_for -command.ftbteams.party.settings_for.team -command.ftbteams.party.settings_for.team.key -command.ftbteams.party.settings_for.team.key.value -command.ftbteams.party.transfer_ownership -command.ftbteams.party.transfer_ownership.player -command.ftbteams.server -command.ftbteams.server.create -command.ftbteams.server.create.name -command.ftbteams.server.delete -command.ftbteams.server.delete.team -command.ftbteams.server.settings -command.ftbteams.server.settings.team -command.ftbteams.server.settings.team.key -command.ftbteams.server.settings.team.key.value -command.function -command.function.name -command.gamemode -command.gamemode.adventure -command.gamemode.adventure.target -command.gamemode.creative -command.gamemode.creative.target -command.gamemode.spectator -command.gamemode.spectator.target -command.gamemode.survival -command.gamemode.survival.target -command.gamerule -command.gamerule.announceAdvancements -command.gamerule.announceAdvancements.value -command.gamerule.commandBlockOutput -command.gamerule.commandBlockOutput.value -command.gamerule.disableElytraMovementCheck -command.gamerule.disableElytraMovementCheck.value -command.gamerule.disableRaids -command.gamerule.disableRaids.value -command.gamerule.doDaylightCycle -command.gamerule.doDaylightCycle.value -command.gamerule.doEntityDrops -command.gamerule.doEntityDrops.value -command.gamerule.doFireTick -command.gamerule.doFireTick.value -command.gamerule.doImmediateRespawn -command.gamerule.doImmediateRespawn.value -command.gamerule.doInsomnia -command.gamerule.doInsomnia.value -command.gamerule.doLimitedCrafting -command.gamerule.doLimitedCrafting.value -command.gamerule.doMobLoot -command.gamerule.doMobLoot.value -command.gamerule.doMobSpawning -command.gamerule.doMobSpawning.value -command.gamerule.doPatrolSpawning -command.gamerule.doPatrolSpawning.value -command.gamerule.doTileDrops -command.gamerule.doTileDrops.value -command.gamerule.doTraderSpawning -command.gamerule.doTraderSpawning.value -command.gamerule.doWeatherCycle -command.gamerule.doWeatherCycle.value -command.gamerule.drowningDamage -command.gamerule.drowningDamage.value -command.gamerule.fallDamage -command.gamerule.fallDamage.value -command.gamerule.fireDamage -command.gamerule.fireDamage.value -command.gamerule.forgiveDeadPlayers -command.gamerule.forgiveDeadPlayers.value -command.gamerule.freezeDamage -command.gamerule.freezeDamage.value -command.gamerule.keepInventory -command.gamerule.keepInventory.value -command.gamerule.logAdminCommands -command.gamerule.logAdminCommands.value -command.gamerule.maxCommandChainLength -command.gamerule.maxCommandChainLength.value -command.gamerule.maxEntityCramming -command.gamerule.maxEntityCramming.value -command.gamerule.mobGriefing -command.gamerule.mobGriefing.value -command.gamerule.naturalRegeneration -command.gamerule.naturalRegeneration.value -command.gamerule.playersSleepingPercentage -command.gamerule.playersSleepingPercentage.value -command.gamerule.randomTickSpeed -command.gamerule.randomTickSpeed.value -command.gamerule.reducedDebugInfo -command.gamerule.reducedDebugInfo.value -command.gamerule.sendCommandFeedback -command.gamerule.sendCommandFeedback.value -command.gamerule.showDeathMessages -command.gamerule.showDeathMessages.value -command.gamerule.spawnRadius -command.gamerule.spawnRadius.value -command.gamerule.spectatorsGenerateChunks -command.gamerule.spectatorsGenerateChunks.value -command.gamerule.universalAnger -command.gamerule.universalAnger.value -command.give -command.give.targets -command.give.targets.item -command.give.targets.item.count -command.god -command.god.player -command.hat -command.heal -command.heal.player -command.help -command.help.command -command.home -command.home.name -command.ie -command.ie.clearshaders -command.ie.clearshaders.player -command.ie.mineral -command.ie.mineral.get -command.ie.mineral.get.location -command.ie.mineral.list -command.ie.mineral.put -command.ie.mineral.put.mineral -command.ie.mineral.put.mineral.radius -command.ie.mineral.put.mineral.radius.pos -command.ie.mineral.setDepletion -command.ie.mineral.setDepletion.depletion -command.ie.mineral.setDepletion.depletion.pos -command.invsee -command.invsee.player -command.ip -command.ip.reservoir -command.ip.reservoir.get -command.ip.reservoir.get.location -command.ip.reservoir.locate -command.ip.reservoir.set -command.ip.reservoir.set.amount -command.ip.reservoir.set.amount.amount -command.ip.reservoir.set.amount.amount.location -command.ip.reservoir.set.capacity -command.ip.reservoir.set.capacity.capacity -command.ip.reservoir.set.capacity.capacity.location -command.ip.reservoir.set.type -command.ip.reservoir.set.type.name -command.ip.reservoir.set.type.name.location -command.item -command.item.modify -command.item.modify.block -command.item.modify.block.pos -command.item.modify.block.pos.slot -command.item.modify.block.pos.slot.modifier -command.item.modify.entity -command.item.modify.entity.targets -command.item.modify.entity.targets.slot -command.item.modify.entity.targets.slot.modifier -command.item.replace -command.item.replace.block -command.item.replace.block.pos -command.item.replace.block.pos.slot -command.item.replace.block.pos.slot.from -command.item.replace.block.pos.slot.from.block -command.item.replace.block.pos.slot.from.block.source -command.item.replace.block.pos.slot.from.block.source.sourceSlot -command.item.replace.block.pos.slot.from.block.source.sourceSlot.modifier -command.item.replace.block.pos.slot.from.entity -command.item.replace.block.pos.slot.from.entity.source -command.item.replace.block.pos.slot.from.entity.source.sourceSlot -command.item.replace.block.pos.slot.from.entity.source.sourceSlot.modifier -command.item.replace.block.pos.slot.with -command.item.replace.block.pos.slot.with.item -command.item.replace.block.pos.slot.with.item.count -command.item.replace.entity -command.item.replace.entity.targets -command.item.replace.entity.targets.slot -command.item.replace.entity.targets.slot.from -command.item.replace.entity.targets.slot.from.block -command.item.replace.entity.targets.slot.from.block.source -command.item.replace.entity.targets.slot.from.block.source.sourceSlot -command.item.replace.entity.targets.slot.from.block.source.sourceSlot.modifier -command.item.replace.entity.targets.slot.from.entity -command.item.replace.entity.targets.slot.from.entity.source -command.item.replace.entity.targets.slot.from.entity.source.sourceSlot -command.item.replace.entity.targets.slot.from.entity.source.sourceSlot.modifier -command.item.replace.entity.targets.slot.with -command.item.replace.entity.targets.slot.with.item -command.item.replace.entity.targets.slot.with.item.count -command.jfr -command.jfr.start -command.jfr.stop -command.kick -command.kick.targets -command.kick.targets.reason -command.kickme -command.kill -command.kill.targets -command.kjs_hand -command.kubejs -command.kubejs.custom_command -command.kubejs.custom_command.id -command.kubejs.dump_registry -command.kubejs.dump_registry.registry -command.kubejs.errors -command.kubejs.export -command.kubejs.export_virtual_data -command.kubejs.hand -command.kubejs.hotbar -command.kubejs.inventory -command.kubejs.list_tag -command.kubejs.list_tag.registry -command.kubejs.list_tag.registry.tag -command.kubejs.offhand -command.kubejs.painter -command.kubejs.painter.player -command.kubejs.painter.player.object -command.kubejs.reload -command.kubejs.reload.client_scripts -command.kubejs.reload.lang -command.kubejs.reload.server_scripts -command.kubejs.reload.startup_scripts -command.kubejs.reload.textures -command.kubejs.stages -command.kubejs.stages.add -command.kubejs.stages.add.player -command.kubejs.stages.add.player.stage -command.kubejs.stages.clear -command.kubejs.stages.clear.player -command.kubejs.stages.list -command.kubejs.stages.list.player -command.kubejs.stages.remove -command.kubejs.stages.remove.player -command.kubejs.stages.remove.player.stage -command.kubejs.warnings -command.kubejs.wiki -command.leaderboard -command.leaderboard.damage_dealt -command.leaderboard.deaths -command.leaderboard.deaths_per_hour -command.leaderboard.distance_walked -command.leaderboard.jumps -command.leaderboard.mob_kills -command.leaderboard.player_kills -command.leaderboard.time_played -command.leaderboard.time_since_death -command.list -command.list.uuids -command.listhomes -command.listhomes.player -command.listwarps -command.locate -command.locate.structure -command.locatebiome -command.locatebiome.biome -command.loot -command.loot.give -command.loot.give.players -command.loot.give.players.fish -command.loot.give.players.fish.loot_table -command.loot.give.players.fish.loot_table.pos -command.loot.give.players.fish.loot_table.pos.mainhand -command.loot.give.players.fish.loot_table.pos.offhand -command.loot.give.players.fish.loot_table.pos.tool -command.loot.give.players.kill -command.loot.give.players.kill.target -command.loot.give.players.loot -command.loot.give.players.loot.loot_table -command.loot.give.players.mine -command.loot.give.players.mine.pos -command.loot.give.players.mine.pos.mainhand -command.loot.give.players.mine.pos.offhand -command.loot.give.players.mine.pos.tool -command.loot.insert -command.loot.insert.targetPos -command.loot.insert.targetPos.fish -command.loot.insert.targetPos.fish.loot_table -command.loot.insert.targetPos.fish.loot_table.pos -command.loot.insert.targetPos.fish.loot_table.pos.mainhand -command.loot.insert.targetPos.fish.loot_table.pos.offhand -command.loot.insert.targetPos.fish.loot_table.pos.tool -command.loot.insert.targetPos.kill -command.loot.insert.targetPos.kill.target -command.loot.insert.targetPos.loot -command.loot.insert.targetPos.loot.loot_table -command.loot.insert.targetPos.mine -command.loot.insert.targetPos.mine.pos -command.loot.insert.targetPos.mine.pos.mainhand -command.loot.insert.targetPos.mine.pos.offhand -command.loot.insert.targetPos.mine.pos.tool -command.loot.replace -command.loot.replace.block -command.loot.replace.block.targetPos -command.loot.replace.block.targetPos.slot -command.loot.replace.block.targetPos.slot.count -command.loot.replace.block.targetPos.slot.count.fish -command.loot.replace.block.targetPos.slot.count.fish.loot_table -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.mainhand -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.offhand -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.tool -command.loot.replace.block.targetPos.slot.count.kill -command.loot.replace.block.targetPos.slot.count.kill.target -command.loot.replace.block.targetPos.slot.count.loot -command.loot.replace.block.targetPos.slot.count.loot.loot_table -command.loot.replace.block.targetPos.slot.count.mine -command.loot.replace.block.targetPos.slot.count.mine.pos -command.loot.replace.block.targetPos.slot.count.mine.pos.mainhand -command.loot.replace.block.targetPos.slot.count.mine.pos.offhand -command.loot.replace.block.targetPos.slot.count.mine.pos.tool -command.loot.replace.block.targetPos.slot.fish -command.loot.replace.block.targetPos.slot.fish.loot_table -command.loot.replace.block.targetPos.slot.fish.loot_table.pos -command.loot.replace.block.targetPos.slot.fish.loot_table.pos.mainhand -command.loot.replace.block.targetPos.slot.fish.loot_table.pos.offhand -command.loot.replace.block.targetPos.slot.fish.loot_table.pos.tool -command.loot.replace.block.targetPos.slot.kill -command.loot.replace.block.targetPos.slot.kill.target -command.loot.replace.block.targetPos.slot.loot -command.loot.replace.block.targetPos.slot.loot.loot_table -command.loot.replace.block.targetPos.slot.mine -command.loot.replace.block.targetPos.slot.mine.pos -command.loot.replace.block.targetPos.slot.mine.pos.mainhand -command.loot.replace.block.targetPos.slot.mine.pos.offhand -command.loot.replace.block.targetPos.slot.mine.pos.tool -command.loot.replace.entity -command.loot.replace.entity.entities -command.loot.replace.entity.entities.slot -command.loot.replace.entity.entities.slot.count -command.loot.replace.entity.entities.slot.count.fish -command.loot.replace.entity.entities.slot.count.fish.loot_table -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.mainhand -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.offhand -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.tool -command.loot.replace.entity.entities.slot.count.kill -command.loot.replace.entity.entities.slot.count.kill.target -command.loot.replace.entity.entities.slot.count.loot -command.loot.replace.entity.entities.slot.count.loot.loot_table -command.loot.replace.entity.entities.slot.count.mine -command.loot.replace.entity.entities.slot.count.mine.pos -command.loot.replace.entity.entities.slot.count.mine.pos.mainhand -command.loot.replace.entity.entities.slot.count.mine.pos.offhand -command.loot.replace.entity.entities.slot.count.mine.pos.tool -command.loot.replace.entity.entities.slot.fish -command.loot.replace.entity.entities.slot.fish.loot_table -command.loot.replace.entity.entities.slot.fish.loot_table.pos -command.loot.replace.entity.entities.slot.fish.loot_table.pos.mainhand -command.loot.replace.entity.entities.slot.fish.loot_table.pos.offhand -command.loot.replace.entity.entities.slot.fish.loot_table.pos.tool -command.loot.replace.entity.entities.slot.kill -command.loot.replace.entity.entities.slot.kill.target -command.loot.replace.entity.entities.slot.loot -command.loot.replace.entity.entities.slot.loot.loot_table -command.loot.replace.entity.entities.slot.mine -command.loot.replace.entity.entities.slot.mine.pos -command.loot.replace.entity.entities.slot.mine.pos.mainhand -command.loot.replace.entity.entities.slot.mine.pos.offhand -command.loot.replace.entity.entities.slot.mine.pos.tool -command.loot.spawn -command.loot.spawn.targetPos -command.loot.spawn.targetPos.fish -command.loot.spawn.targetPos.fish.loot_table -command.loot.spawn.targetPos.fish.loot_table.pos -command.loot.spawn.targetPos.fish.loot_table.pos.mainhand -command.loot.spawn.targetPos.fish.loot_table.pos.offhand -command.loot.spawn.targetPos.fish.loot_table.pos.tool -command.loot.spawn.targetPos.kill -command.loot.spawn.targetPos.kill.target -command.loot.spawn.targetPos.loot -command.loot.spawn.targetPos.loot.loot_table -command.loot.spawn.targetPos.mine -command.loot.spawn.targetPos.mine.pos -command.loot.spawn.targetPos.mine.pos.mainhand -command.loot.spawn.targetPos.mine.pos.offhand -command.loot.spawn.targetPos.mine.pos.tool -command.me -command.me.action -command.modernfix -command.modernfix.upgradeStructures -command.msg -command.msg.targets -command.msg.targets.message -command.mute -command.mute.player -command.nickname -command.nickname.nickname -command.nicknamefor -command.nicknamefor.player -command.nicknamefor.player.nickname -command.open-patchouli-book -command.open-patchouli-book.targets -command.open-patchouli-book.targets.book -command.open-patchouli-book.targets.book.entry -command.open-patchouli-book.targets.book.entry.page -command.openpac -command.openpac-claims -command.openpac-claims.about -command.openpac-claims.about.profile -command.openpac-claims.admin-mode -command.openpac-claims.claim -command.openpac-claims.claim.anyway -command.openpac-claims.claim.anyway.block pos -command.openpac-claims.claim.block pos -command.openpac-claims.forceload -command.openpac-claims.forceload.anyway -command.openpac-claims.forceload.anyway.block pos -command.openpac-claims.forceload.block pos -command.openpac-claims.non-ally-mode -command.openpac-claims.server -command.openpac-claims.server-claim-mode -command.openpac-claims.server.claim -command.openpac-claims.server.claim.anyway -command.openpac-claims.server.claim.anyway.block pos -command.openpac-claims.server.claim.block pos -command.openpac-claims.server.forceload -command.openpac-claims.server.forceload.anyway -command.openpac-claims.server.forceload.anyway.block pos -command.openpac-claims.server.forceload.block pos -command.openpac-claims.server.sub-claim -command.openpac-claims.server.sub-claim.current -command.openpac-claims.server.sub-claim.for -command.openpac-claims.server.sub-claim.for.player -command.openpac-claims.server.sub-claim.for.player.current -command.openpac-claims.server.sub-claim.for.player.use -command.openpac-claims.server.sub-claim.for.player.use.sub-id -command.openpac-claims.server.sub-claim.use -command.openpac-claims.server.sub-claim.use.sub-id -command.openpac-claims.server.unclaim -command.openpac-claims.server.unclaim.anyway -command.openpac-claims.server.unclaim.anyway.block pos -command.openpac-claims.server.unclaim.block pos -command.openpac-claims.server.unforceload -command.openpac-claims.server.unforceload.anyway -command.openpac-claims.server.unforceload.anyway.block pos -command.openpac-claims.server.unforceload.block pos -command.openpac-claims.sub-claim -command.openpac-claims.sub-claim.current -command.openpac-claims.sub-claim.for -command.openpac-claims.sub-claim.for.player -command.openpac-claims.sub-claim.for.player.current -command.openpac-claims.sub-claim.for.player.use -command.openpac-claims.sub-claim.for.player.use.sub-id -command.openpac-claims.sub-claim.use -command.openpac-claims.sub-claim.use.sub-id -command.openpac-claims.unclaim -command.openpac-claims.unclaim.anyway -command.openpac-claims.unclaim.anyway.block pos -command.openpac-claims.unclaim.block pos -command.openpac-claims.unforceload -command.openpac-claims.unforceload.anyway -command.openpac-claims.unforceload.anyway.block pos -command.openpac-claims.unforceload.block pos -command.openpac-parties -command.openpac-parties.about -command.openpac-parties.about.player -command.openpac-parties.about.profile -command.openpac-parties.ally -command.openpac-parties.ally.add -command.openpac-parties.ally.add.player -command.openpac-parties.ally.remove -command.openpac-parties.ally.remove.owner -command.openpac-parties.chat -command.openpac-parties.chat.message -command.openpac-parties.create -command.openpac-parties.destroy -command.openpac-parties.destroy.confirm -command.openpac-parties.join -command.openpac-parties.join.id -command.openpac-parties.leave -command.openpac-parties.member -command.openpac-parties.member.invite -command.openpac-parties.member.invite.player -command.openpac-parties.member.kick -command.openpac-parties.member.kick.name -command.openpac-parties.member.rank -command.openpac-parties.member.rank.rank -command.openpac-parties.member.rank.rank.name -command.openpac-parties.transfer -command.openpac-parties.transfer.new-owner -command.openpac-parties.transfer.new-owner.confirm -command.openpac.expired-claims-config -command.openpac.expired-claims-config.get -command.openpac.expired-claims-config.get.key -command.openpac.expired-claims-config.help -command.openpac.expired-claims-config.help.key -command.openpac.expired-claims-config.reset -command.openpac.expired-claims-config.reset.key -command.openpac.expired-claims-config.set -command.openpac.expired-claims-config.set.key -command.openpac.expired-claims-config.set.key.value -command.openpac.player-config -command.openpac.player-config.default -command.openpac.player-config.default.get -command.openpac.player-config.default.get.key -command.openpac.player-config.default.help -command.openpac.player-config.default.help.key -command.openpac.player-config.default.reset -command.openpac.player-config.default.reset.key -command.openpac.player-config.default.set -command.openpac.player-config.default.set.key -command.openpac.player-config.default.set.key.value -command.openpac.player-config.for -command.openpac.player-config.for.player -command.openpac.player-config.for.player.get -command.openpac.player-config.for.player.get.key -command.openpac.player-config.for.player.help -command.openpac.player-config.for.player.help.key -command.openpac.player-config.for.player.reset -command.openpac.player-config.for.player.reset.key -command.openpac.player-config.for.player.set -command.openpac.player-config.for.player.set.key -command.openpac.player-config.for.player.set.key.value -command.openpac.player-config.for.player.sub -command.openpac.player-config.for.player.sub.create -command.openpac.player-config.for.player.sub.create.sub-id -command.openpac.player-config.for.player.sub.delete -command.openpac.player-config.for.player.sub.delete.sub-id -command.openpac.player-config.for.player.sub.get -command.openpac.player-config.for.player.sub.get.sub-id -command.openpac.player-config.for.player.sub.get.sub-id.key -command.openpac.player-config.for.player.sub.help -command.openpac.player-config.for.player.sub.help.sub-id -command.openpac.player-config.for.player.sub.help.sub-id.key -command.openpac.player-config.for.player.sub.list -command.openpac.player-config.for.player.sub.list.start-at -command.openpac.player-config.for.player.sub.reset -command.openpac.player-config.for.player.sub.reset.sub-id -command.openpac.player-config.for.player.sub.reset.sub-id.key -command.openpac.player-config.for.player.sub.set -command.openpac.player-config.for.player.sub.set.sub-id -command.openpac.player-config.for.player.sub.set.sub-id.key -command.openpac.player-config.for.player.sub.set.sub-id.key.value -command.openpac.player-config.get -command.openpac.player-config.get.key -command.openpac.player-config.help -command.openpac.player-config.help.key -command.openpac.player-config.reset -command.openpac.player-config.reset.key -command.openpac.player-config.set -command.openpac.player-config.set.key -command.openpac.player-config.set.key.value -command.openpac.player-config.sub -command.openpac.player-config.sub.create -command.openpac.player-config.sub.create.sub-id -command.openpac.player-config.sub.delete -command.openpac.player-config.sub.delete.sub-id -command.openpac.player-config.sub.get -command.openpac.player-config.sub.get.sub-id -command.openpac.player-config.sub.get.sub-id.key -command.openpac.player-config.sub.help -command.openpac.player-config.sub.help.sub-id -command.openpac.player-config.sub.help.sub-id.key -command.openpac.player-config.sub.list -command.openpac.player-config.sub.list.start-at -command.openpac.player-config.sub.reset -command.openpac.player-config.sub.reset.sub-id -command.openpac.player-config.sub.reset.sub-id.key -command.openpac.player-config.sub.set -command.openpac.player-config.sub.set.sub-id -command.openpac.player-config.sub.set.sub-id.key -command.openpac.player-config.sub.set.sub-id.key.value -command.openpac.server-claims-config -command.openpac.server-claims-config.get -command.openpac.server-claims-config.get.key -command.openpac.server-claims-config.help -command.openpac.server-claims-config.help.key -command.openpac.server-claims-config.reset -command.openpac.server-claims-config.reset.key -command.openpac.server-claims-config.set -command.openpac.server-claims-config.set.key -command.openpac.server-claims-config.set.key.value -command.openpac.server-claims-config.sub -command.openpac.server-claims-config.sub.create -command.openpac.server-claims-config.sub.create.sub-id -command.openpac.server-claims-config.sub.delete -command.openpac.server-claims-config.sub.delete.sub-id -command.openpac.server-claims-config.sub.get -command.openpac.server-claims-config.sub.get.sub-id -command.openpac.server-claims-config.sub.get.sub-id.key -command.openpac.server-claims-config.sub.help -command.openpac.server-claims-config.sub.help.sub-id -command.openpac.server-claims-config.sub.help.sub-id.key -command.openpac.server-claims-config.sub.list -command.openpac.server-claims-config.sub.list.start-at -command.openpac.server-claims-config.sub.reset -command.openpac.server-claims-config.sub.reset.sub-id -command.openpac.server-claims-config.sub.reset.sub-id.key -command.openpac.server-claims-config.sub.set -command.openpac.server-claims-config.sub.set.sub-id -command.openpac.server-claims-config.sub.set.sub-id.key -command.openpac.server-claims-config.sub.set.sub-id.key.value -command.openpac.wilderness-config -command.openpac.wilderness-config.get -command.openpac.wilderness-config.get.key -command.openpac.wilderness-config.help -command.openpac.wilderness-config.help.key -command.openpac.wilderness-config.reset -command.openpac.wilderness-config.reset.key -command.openpac.wilderness-config.set -command.openpac.wilderness-config.set.key -command.openpac.wilderness-config.set.key.value -command.opm -command.opm.message -command.particle -command.particle.name -command.particle.name.pos -command.particle.name.pos.delta -command.particle.name.pos.delta.speed -command.particle.name.pos.delta.speed.count -command.particle.name.pos.delta.speed.count.force -command.particle.name.pos.delta.speed.count.force.viewers -command.particle.name.pos.delta.speed.count.normal -command.particle.name.pos.delta.speed.count.normal.viewers -command.placefeature -command.placefeature.feature -command.placefeature.feature.pos -command.playsound -command.playsound.sound -command.playsound.sound.ambient -command.playsound.sound.ambient.targets -command.playsound.sound.ambient.targets.pos -command.playsound.sound.ambient.targets.pos.volume -command.playsound.sound.ambient.targets.pos.volume.pitch -command.playsound.sound.ambient.targets.pos.volume.pitch.minVolume -command.playsound.sound.block -command.playsound.sound.block.targets -command.playsound.sound.block.targets.pos -command.playsound.sound.block.targets.pos.volume -command.playsound.sound.block.targets.pos.volume.pitch -command.playsound.sound.block.targets.pos.volume.pitch.minVolume -command.playsound.sound.hostile -command.playsound.sound.hostile.targets -command.playsound.sound.hostile.targets.pos -command.playsound.sound.hostile.targets.pos.volume -command.playsound.sound.hostile.targets.pos.volume.pitch -command.playsound.sound.hostile.targets.pos.volume.pitch.minVolume -command.playsound.sound.master -command.playsound.sound.master.targets -command.playsound.sound.master.targets.pos -command.playsound.sound.master.targets.pos.volume -command.playsound.sound.master.targets.pos.volume.pitch -command.playsound.sound.master.targets.pos.volume.pitch.minVolume -command.playsound.sound.music -command.playsound.sound.music.targets -command.playsound.sound.music.targets.pos -command.playsound.sound.music.targets.pos.volume -command.playsound.sound.music.targets.pos.volume.pitch -command.playsound.sound.music.targets.pos.volume.pitch.minVolume -command.playsound.sound.neutral -command.playsound.sound.neutral.targets -command.playsound.sound.neutral.targets.pos -command.playsound.sound.neutral.targets.pos.volume -command.playsound.sound.neutral.targets.pos.volume.pitch -command.playsound.sound.neutral.targets.pos.volume.pitch.minVolume -command.playsound.sound.player -command.playsound.sound.player.targets -command.playsound.sound.player.targets.pos -command.playsound.sound.player.targets.pos.volume -command.playsound.sound.player.targets.pos.volume.pitch -command.playsound.sound.player.targets.pos.volume.pitch.minVolume -command.playsound.sound.record -command.playsound.sound.record.targets -command.playsound.sound.record.targets.pos -command.playsound.sound.record.targets.pos.volume -command.playsound.sound.record.targets.pos.volume.pitch -command.playsound.sound.record.targets.pos.volume.pitch.minVolume -command.playsound.sound.voice -command.playsound.sound.voice.targets -command.playsound.sound.voice.targets.pos -command.playsound.sound.voice.targets.pos.volume -command.playsound.sound.voice.targets.pos.volume.pitch -command.playsound.sound.voice.targets.pos.volume.pitch.minVolume -command.playsound.sound.weather -command.playsound.sound.weather.targets -command.playsound.sound.weather.targets.pos -command.playsound.sound.weather.targets.pos.volume -command.playsound.sound.weather.targets.pos.volume.pitch -command.playsound.sound.weather.targets.pos.volume.pitch.minVolume -command.publish -command.publish.port -command.railways -command.railways.split_train -command.railways.split_train.train_id -command.railways.split_train.train_id.number -command.railways.split_train.train_name -command.railways.split_train.train_name.number -command.railways.train_uuid -command.railways.train_uuid.name -command.recipe -command.recipe.give -command.recipe.give.targets -command.recipe.give.targets.all -command.recipe.give.targets.recipe -command.recipe.take -command.recipe.take.targets -command.recipe.take.targets.all -command.recipe.take.targets.recipe -command.recording -command.reload -command.rtp -command.say -command.say.message -command.schedule -command.schedule.clear -command.schedule.clear.function -command.schedule.function -command.schedule.function.function -command.schedule.function.function.time -command.schedule.function.function.time.append -command.schedule.function.function.time.replace -command.scoreboard -command.scoreboard.objectives -command.scoreboard.objectives.add -command.scoreboard.objectives.add.objective -command.scoreboard.objectives.add.objective.criteria -command.scoreboard.objectives.add.objective.criteria.displayName -command.scoreboard.objectives.list -command.scoreboard.objectives.modify -command.scoreboard.objectives.modify.objective -command.scoreboard.objectives.modify.objective.displayname -command.scoreboard.objectives.modify.objective.displayname.displayName -command.scoreboard.objectives.modify.objective.rendertype -command.scoreboard.objectives.modify.objective.rendertype.hearts -command.scoreboard.objectives.modify.objective.rendertype.integer -command.scoreboard.objectives.remove -command.scoreboard.objectives.remove.objective -command.scoreboard.objectives.setdisplay -command.scoreboard.objectives.setdisplay.slot -command.scoreboard.objectives.setdisplay.slot.objective -command.scoreboard.players -command.scoreboard.players.add -command.scoreboard.players.add.targets -command.scoreboard.players.add.targets.objective -command.scoreboard.players.add.targets.objective.score -command.scoreboard.players.enable -command.scoreboard.players.enable.targets -command.scoreboard.players.enable.targets.objective -command.scoreboard.players.get -command.scoreboard.players.get.target -command.scoreboard.players.get.target.objective -command.scoreboard.players.list -command.scoreboard.players.list.target -command.scoreboard.players.operation -command.scoreboard.players.operation.targets -command.scoreboard.players.operation.targets.targetObjective -command.scoreboard.players.operation.targets.targetObjective.operation -command.scoreboard.players.operation.targets.targetObjective.operation.source -command.scoreboard.players.operation.targets.targetObjective.operation.source.sourceObjective -command.scoreboard.players.remove -command.scoreboard.players.remove.targets -command.scoreboard.players.remove.targets.objective -command.scoreboard.players.remove.targets.objective.score -command.scoreboard.players.reset -command.scoreboard.players.reset.targets -command.scoreboard.players.reset.targets.objective -command.scoreboard.players.set -command.scoreboard.players.set.targets -command.scoreboard.players.set.targets.objective -command.scoreboard.players.set.targets.objective.score -command.seed -command.setblock -command.setblock.pos -command.setblock.pos.block -command.setblock.pos.block.destroy -command.setblock.pos.block.keep -command.setblock.pos.block.replace -command.sethome -command.sethome.name -command.setwarp -command.setwarp.name -command.setworldspawn -command.setworldspawn.pos -command.setworldspawn.pos.angle -command.snr -command.snr.split_train -command.snr.split_train.train_id -command.snr.split_train.train_id.number -command.snr.split_train.train_name -command.snr.split_train.train_name.number -command.snr.train_uuid -command.snr.train_uuid.name -command.spawn -command.spawnpoint -command.spawnpoint.targets -command.spawnpoint.targets.pos -command.spawnpoint.targets.pos.angle -command.spectate -command.spectate.target -command.spectate.target.player -command.spreadplayers -command.spreadplayers.center -command.spreadplayers.center.spreadDistance -command.spreadplayers.center.spreadDistance.maxRange -command.spreadplayers.center.spreadDistance.maxRange.respectTeams -command.spreadplayers.center.spreadDistance.maxRange.respectTeams.targets -command.spreadplayers.center.spreadDistance.maxRange.under -command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight -command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams -command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams.targets -command.stopsound -command.stopsound.targets -command.stopsound.targets.all -command.stopsound.targets.all.sound -command.stopsound.targets.ambient -command.stopsound.targets.ambient.sound -command.stopsound.targets.block -command.stopsound.targets.block.sound -command.stopsound.targets.hostile -command.stopsound.targets.hostile.sound -command.stopsound.targets.master -command.stopsound.targets.master.sound -command.stopsound.targets.music -command.stopsound.targets.music.sound -command.stopsound.targets.neutral -command.stopsound.targets.neutral.sound -command.stopsound.targets.player -command.stopsound.targets.player.sound -command.stopsound.targets.record -command.stopsound.targets.record.sound -command.stopsound.targets.voice -command.stopsound.targets.voice.sound -command.stopsound.targets.weather -command.stopsound.targets.weather.sound -command.streaming -command.summon -command.summon.entity -command.summon.entity.pos -command.summon.entity.pos.nbt -command.tag -command.tag.targets -command.tag.targets.add -command.tag.targets.add.name -command.tag.targets.list -command.tag.targets.remove -command.tag.targets.remove.name -command.tb -command.tb.access -command.tb.access.pos -command.tb.access.target -command.tb.clear -command.tb.clear.player -command.tb.remove -command.tb.remove.player -command.tb.restore -command.tb.restore.target -command.tb.restore.target.backpack_id -command.tb.unpack -command.tb.unpack.pos -command.tb.unpack.target -command.team -command.team.add -command.team.add.team -command.team.add.team.displayName -command.team.empty -command.team.empty.team -command.team.join -command.team.join.team -command.team.join.team.members -command.team.leave -command.team.leave.members -command.team.list -command.team.list.team -command.team.modify -command.team.modify.team -command.team.modify.team.collisionRule -command.team.modify.team.collisionRule.always -command.team.modify.team.collisionRule.never -command.team.modify.team.collisionRule.pushOtherTeams -command.team.modify.team.collisionRule.pushOwnTeam -command.team.modify.team.color -command.team.modify.team.color.value -command.team.modify.team.deathMessageVisibility -command.team.modify.team.deathMessageVisibility.always -command.team.modify.team.deathMessageVisibility.hideForOtherTeams -command.team.modify.team.deathMessageVisibility.hideForOwnTeam -command.team.modify.team.deathMessageVisibility.never -command.team.modify.team.displayName -command.team.modify.team.displayName.displayName -command.team.modify.team.friendlyFire -command.team.modify.team.friendlyFire.allowed -command.team.modify.team.nametagVisibility -command.team.modify.team.nametagVisibility.always -command.team.modify.team.nametagVisibility.hideForOtherTeams -command.team.modify.team.nametagVisibility.hideForOwnTeam -command.team.modify.team.nametagVisibility.never -command.team.modify.team.prefix -command.team.modify.team.prefix.prefix -command.team.modify.team.seeFriendlyInvisibles -command.team.modify.team.seeFriendlyInvisibles.allowed -command.team.modify.team.suffix -command.team.modify.team.suffix.suffix -command.team.remove -command.team.remove.team -command.teammsg -command.teammsg.message -command.teleport -command.teleport.destination -command.teleport.location -command.teleport.targets -command.teleport.targets.destination -command.teleport.targets.location -command.teleport.targets.location.facing -command.teleport.targets.location.facing.entity -command.teleport.targets.location.facing.entity.facingEntity -command.teleport.targets.location.facing.entity.facingEntity.facingAnchor -command.teleport.targets.location.facing.facingLocation -command.teleport.targets.location.rotation -command.teleport_last -command.teleport_last.player -command.tellraw -command.tellraw.targets -command.tellraw.targets.message -command.tfc -command.tfc.clearworld -command.tfc.clearworld.radius -command.tfc.clearworld.radius.preset -command.tfc.climateChunkUpdate -command.tfc.count -command.tfc.count.radius -command.tfc.count.radius.block -command.tfc.forge -command.tfc.forge.bonus -command.tfc.heat -command.tfc.heat.value -command.tfc.locate -command.tfc.locate.biome -command.tfc.locate.biome.biome -command.tfc.locate.vein -command.tfc.locate.vein.vein -command.tfc.locate.vein.vein.max_y -command.tfc.locate.volcano -command.tfc.player -command.tfc.player.target -command.tfc.player.target.add -command.tfc.player.target.add.hunger -command.tfc.player.target.add.hunger.value -command.tfc.player.target.add.saturation -command.tfc.player.target.add.saturation.value -command.tfc.player.target.add.water -command.tfc.player.target.add.water.value -command.tfc.player.target.query -command.tfc.player.target.query.hunger -command.tfc.player.target.query.nutrition -command.tfc.player.target.query.saturation -command.tfc.player.target.query.water -command.tfc.player.target.reset -command.tfc.player.target.reset.hunger -command.tfc.player.target.reset.saturation -command.tfc.player.target.reset.water -command.tfc.player.target.set -command.tfc.player.target.set.hunger -command.tfc.player.target.set.hunger.value -command.tfc.player.target.set.saturation -command.tfc.player.target.set.saturation.value -command.tfc.player.target.set.water -command.tfc.player.target.set.water.value -command.tfc.propick -command.tfc.propick.clearworld -command.tfc.propick.scan -command.tfc.tree -command.tfc.tree.pos -command.tfc.tree.pos.wood -command.tfc.tree.pos.wood.variant -command.time -command.time.add -command.time.add.days -command.time.add.days.value -command.time.add.months -command.time.add.months.value -command.time.add.ticks -command.time.add.ticks.value -command.time.add.years -command.time.add.years.value -command.time.query -command.time.query.calendarticks -command.time.query.day -command.time.query.daytime -command.time.query.gametime -command.time.query.ticks -command.time.set -command.time.set.day -command.time.set.midnight -command.time.set.monthlength -command.time.set.monthlength.value -command.time.set.night -command.time.set.noon -command.title -command.title.targets -command.title.targets.actionbar -command.title.targets.actionbar.title -command.title.targets.clear -command.title.targets.reset -command.title.targets.subtitle -command.title.targets.subtitle.title -command.title.targets.times -command.title.targets.times.fadeIn -command.title.targets.times.fadeIn.stay -command.title.targets.times.fadeIn.stay.fadeOut -command.title.targets.title -command.title.targets.title.title -command.tpa -command.tpa.target -command.tpaccept -command.tpaccept.id -command.tpahere -command.tpahere.target -command.tpdeny -command.tpdeny.id -command.tpx -command.tpx.dimension -command.trashcan -command.trigger -command.trigger.objective -command.trigger.objective.add -command.trigger.objective.add.value -command.trigger.objective.set -command.trigger.objective.set.value -command.unmute -command.unmute.player -command.warp -command.warp.name -command.weather -command.weather.clear -command.weather.clear.duration -command.weather.rain -command.weather.rain.duration -command.weather.rain.duration.intensity -command.weather.thunder -command.weather.thunder.duration -command.weather.thunder.duration.intensity -command.worldborder -command.worldborder.add -command.worldborder.add.distance -command.worldborder.add.distance.time -command.worldborder.center -command.worldborder.center.pos -command.worldborder.damage -command.worldborder.damage.amount -command.worldborder.damage.amount.damagePerBlock -command.worldborder.damage.buffer -command.worldborder.damage.buffer.distance -command.worldborder.get -command.worldborder.set -command.worldborder.set.distance -command.worldborder.set.distance.time -command.worldborder.warning -command.worldborder.warning.distance -command.worldborder.warning.distance.distance -command.worldborder.warning.time -command.worldborder.warning.time.time diff --git a/defaultconfigs/ftbranks/players.snbt b/defaultconfigs/ftbranks/players.snbt deleted file mode 100644 index ffcd4415b..000000000 --- a/defaultconfigs/ftbranks/players.snbt +++ /dev/null @@ -1 +0,0 @@ -{ } diff --git a/defaultconfigs/ftbranks/ranks.snbt b/defaultconfigs/ftbranks/ranks.snbt deleted file mode 100644 index 16cfe32af..000000000 --- a/defaultconfigs/ftbranks/ranks.snbt +++ /dev/null @@ -1,26 +0,0 @@ -{ - member: { - name: "Player" - power: 1 - condition: "always_active" - ftbranks.name_format: "{name}" - ftbchunks.max_claimed: 50 - ftbchunks.max_force_loaded: 3 - command.trashcan: true - } - vip: { - name: "VIP" - power: 50 - ftbranks.name_format: "&b{name}&r" - ftbchunks.max_claimed: 150 - ftbchunks.max_force_loaded: 5 - } - admin: { - name: "Admin" - power: 1000 - condition: "op" - ftbranks.name_format: "&c{name}&r" - ftbchunks.max_claimed: 1000 - ftbchunks.max_force_loaded: 10 - } -} diff --git a/defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt b/defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt deleted file mode 100644 index 313ca3bf4..000000000 --- a/defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt +++ /dev/null @@ -1,4 +0,0 @@ -# Default config file that will be copied to config\ftbxmodcompat.snbt if it doesn't exist! -# Just copy any values you wish to override in here! - -{ } diff --git a/defaultconfigs/openpartiesandclaims-server.toml b/defaultconfigs/openpartiesandclaims-server.toml deleted file mode 100644 index 0b3d1366c..000000000 --- a/defaultconfigs/openpartiesandclaims-server.toml +++ /dev/null @@ -1,274 +0,0 @@ - -[serverConfig] - #The default language used for server-side localization for players that don't have the mod installed. - defaultLanguage = "en_us" - #How often to auto-save modified data, e.g. parties, claims, player configs (in minutes). - #Range: > 1 - autosaveInterval = 10 - #How many sub-configs (sub-claims) can each player create. - #Range: 0 ~ 1024 - playerSubConfigLimit = 64 - #The permission system to use for everything that requires permission checks (e.g. permission_api, ftb_ranks, luck_perms, prometheus). Non-built-in permission systems can be registered through the API with an addon. - permissionSystem = "ftb_ranks" - #The player party system to prefer and use for anything that can't support multiple systems (e.g. default, ftb_teams, argonauts, argonauts_guilds). Non-built-in party systems can be registered through the API with an addon. - primaryPartySystem = "ftb_teams" - #A list of options in the player config that individual players can reconfigure. If an option is in neither of the configurable option lists, - #then the value in the default player config is used across the server. Check the default player config .toml file for the option names. - playerConfigurablePlayerConfigOptions = ["claims.protectClaimedChunks", "claims.forceload.enabled", "claims.name", "claims.color", "claims.protection.fromParty", "claims.protection.fromAllyParties", "claims.protection.buttonsFromProjectiles", "claims.protection.targetsFromProjectiles", "claims.protection.platesFromPlayers", "claims.protection.platesFromMobs", "claims.protection.platesFromOther", "claims.protection.tripwireFromPlayers", "claims.protection.tripwireFromMobs", "claims.protection.tripwireFromOther", "claims.protection.cropTrample", "claims.protection.playerLightning", "claims.protection.fromFrostWalking", "claims.protection.entitiesFromPlayers", "claims.protection.entitiesFromMobs", "claims.protection.entitiesFromOther", "claims.protection.entitiesRedirect", "claims.protection.entitiesFromExplosions", "claims.protection.entitiesFromFire", "claims.protection.netherPortalsPlayers", "claims.protection.netherPortalsMobs", "claims.protection.netherPortalsOther", "claims.protection.fluidBarrier", "claims.protection.dispenserBarrier", "claims.protection.pistonBarrier", "claims.protection.itemTossPlayers", "claims.protection.itemTossMobs", "claims.protection.itemTossOther", "claims.protection.itemTossRedirect", "claims.protection.mobLoot", "claims.protection.playerDeathLoot", "claims.protection.itemPickupPlayers", "claims.protection.itemPickupMobs", "claims.protection.itemPickupRedirect", "claims.protection.xpPickup", "claims.protection.raids", "claims.protection.naturalSpawnHostile", "claims.protection.naturalSpawnFriendly", "claims.protection.spawnersHostile", "claims.protection.spawnersFriendly", "claims.protection.projectileHitHostileSpawn", "claims.protection.projectileHitFriendlySpawn", "parties.name", "parties.shareLocationWithParty", "parties.shareLocationWithMutualAllyParties", "parties.receiveLocationsFromParty", "parties.receiveLocationsFromMutualAllyParties", "claims.protection.exceptionGroups.block.interact.Controls", "claims.protection.exceptionGroups.block.interact.Doors", "claims.protection.exceptionGroups.block.interact.Chests", "claims.protection.exceptionGroups.block.interact.Barrels", "claims.protection.exceptionGroups.block.interact.Ender_Chests", "claims.protection.exceptionGroups.block.interact.Shulker_Boxes", "claims.protection.exceptionGroups.block.interact.Furnaces", "claims.protection.exceptionGroups.block.interact.Hoppers", "claims.protection.exceptionGroups.block.interact.Dispenser-like", "claims.protection.exceptionGroups.block.interact.Anvils", "claims.protection.exceptionGroups.block.interact.Beds", "claims.protection.exceptionGroups.block.interact.Beacons", "claims.protection.exceptionGroups.block.interact.Enchanting_Tables", "claims.protection.exceptionGroups.block.break.Crops", "claims.protection.exceptionGroups.entity.interact.Traders", "claims.protection.exceptionGroups.entity.handInteract.Item_Frames", "claims.protection.exceptionGroups.entity.interact.Armor_Stands", "claims.protection.exceptionGroups.entity.break.Livestock", "claims.protection.exceptionGroups.entity.blockAccess.Villagers", "claims.protection.exceptionGroups.entity.entityAccess.Zombies", "claims.protection.exceptionGroups.entity.droppedItemAccess.Villagers", "claims.protection.exceptionGroups.entity.droppedItemAccess.Piglins", "claims.protection.exceptionGroups.entity.droppedItemAccess.Foxes", "claims.protection.exceptionGroups.item.interact.Books", "claims.protection.exceptionGroups.entity.barrier.Ender_Pearls", "/*remove comment to enable*/claims.protection.exceptionGroups.entity.barrier.Players"] - #A list of additional options in the player config that OPs can reconfigure for players. - #This is meant for options that should be configured per player but not by the players. - #If an option is in neither of the configurable option lists, then the value in the default player config is used across the server. - #Check the default player config .toml file for the option names. - opConfigurablePlayerConfigOptions = ["claims.bonusChunkClaims", "claims.bonusChunkForceloads"] - - [serverConfig.parties] - #Whether the parties part of this mod is enabled. - enabled = false - #The maximum number of members in a party. Existing members are not removed if the limit is reduced. - #Range: > 1 - maxPartyMembers = 64 - #The maximum number of allies for a party. Existing allies are not removed if the limit is reduced. - #Range: > 0 - maxPartyAllies = 64 - #The maximum number of invites to a party. Existing invites are not removed if the limit is reduced. - #Range: > 1 - maxPartyInvites = 16 - #For how long a party (members) can stay completely inactive on the server until it is deleted (in hours). This improves performance for servers running for years. - #Range: > 1 - partyExpirationTime = 168 - #How often to check for expired parties in order to remove them (in minutes). The interval is effectively rounded up to a multiple of 10 minutes. - #Range: > 10 - partyExpirationCheckInterval = 360 - - [serverConfig.claims] - #Whether the claims part of this mod is enabled. - enabled = true - #For how long a player can stay completely inactive on the server until their claims are expired (in hours). This improves performance for servers running for years. - #Range: > 1 - playerClaimsExpirationTime = 4380 - #How often to check for expired player chunk claims in order to remove them (in minutes). The interval is effectively rounded up to a multiple of 10 minutes. - #Range: > 10 - playerClaimsExpirationCheckInterval = 360 - #Whether to convert expired player chunk claims to "expired claims" instead of completely freeing them. This shouldn't be too bad for performance because it still reduces the number of unique claims. - playerClaimsConvertExpiredClaims = true - #The maximum number of chunks that a player can claim. Additional claims can be configured in the player config. - #This value can be overridden with a player permission. - #Range: > 0 - maxPlayerClaims = 50 - #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 - #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. - #The permission override only takes effect after the player logs in at least once after a server (re)launch, so it is recommended to keep all permission-based forceload limits equal to or greater than "maxPlayerClaimForceloads". - #The used permission system can be configured with "permissionSystem". - maxPlayerClaimForceloadsPermission = "ftbchunks.max_force_loaded" - #The permission that gives non-OP players the ability to make server claims and enable server claim mode. The used permission system can be configured with "permissionSystem". - serverClaimPermission = "xaero.pac_server_claims" - #The permission that gives non-OP players the ability to enable claim admin mode. The used permission system can be configured with "permissionSystem". - adminModePermission = "xaero.pac_admin_mode" - #The maximum distance on the X or Z axis (forming a square) that a chunk can be claimed at by a player. - #Range: > 0 - maxClaimDistance = 5 - #The type of the list defined in "claimableDimensionsList". ONLY - include only the listed dimensions. ALL_BUT - include all but the listed dimensions. - #Allowed Values: ONLY, ALL_BUT - claimableDimensionsListType = "ALL_BUT" - #Dimensions to include/exclude from being claimable, depending on the list type in "claimableDimensionsListType". - #For example ["minecraft:overworld", "minecraft:the_nether"]. - #By default the list is empty and of type ALL_BUT, meaning that all dimensions are claimable. - claimableDimensionsList = [] - #Whether to allow existing player claims to stay active in unclaimable dimensions which were previously claimable. - allowExistingClaimsInUnclaimableDimensions = true - #Whether to allow existing player forceloads to stay active in unclaimable dimensions which were previously claimable. Only relevant if existing claims are allowed. - allowExistingForceloadsInUnclaimableDimensions = false - #Whether to synchronize world chunk claims to the game clients. Enables client-side mods to access the claims data, e.g. to display it on a map. - #ALL - all claims are synced. OWNED_ONLY - only the claims that the client player owns and server claims are synced. NOT_SYNCED - claims are not synced. - #Allowed Values: NOT_SYNCED, OWNED_ONLY, ALL - claimsSynchronization = "ALL" - - [serverConfig.claims.protection] - #The type of the list defined in "friendlyChunkProtectedEntityList". ONLY - include only the listed entities. ALL_BUT - include all but the listed entities. - #Allowed Values: ONLY, ALL_BUT - friendlyChunkProtectedEntityListType = "ALL_BUT" - #Friendly entities to fully include/exclude in chunk protection, depending on the list type in "friendlyChunkProtectedEntityListType". Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["*:villager", "minecraft:m(ule|ooshroom)", "#minecraft:axolotl_hunt_targets"]. - #By default the list is empty with the type set to ALL_BUT, which means that all friendly entities are included. - friendlyChunkProtectedEntityList = ["minecraft:boat"] - #The type of the list defined in "hostileChunkProtectedEntityList". ONLY - include only the listed entities. ALL_BUT - include all but the listed entities. - #Allowed Values: ONLY, ALL_BUT - hostileChunkProtectedEntityListType = "ONLY" - #Hostile entities to fully include/exclude in chunk protection, depending on the list type in "hostileChunkProtectedEntityListType". Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(|wither_)skeleton", "minecraft:zombie(_villager|)", "#minecraft:raiders"] - hostileChunkProtectedEntityList = [] - #No longer a working option. Please transfer anything you still have here to "forcedBlockProtectionExceptionList" or "blockProtectionOptionalExceptionGroups", - #but keep in mind that those options work differently and please read their comments. - #This option will be completely removed on the full release of the mod. - blockProtectionExceptionList = [] - #No longer a working option. Please transfer anything you still have here to "forcedEntityProtectionExceptionList" or "entityProtectionOptionalExceptionGroups", - #but keep in mind that those options work differently and please read their comments. - #This option will be completely removed on the full release of the mod. - entityProtectionExceptionList = [] - #No longer a working option. Please transfer anything you still have here to "forcedEntityClaimBarrierList" or "entityClaimBarrierOptionalGroups", - #but keep in mind that those options work differently and please read their comments. - #This option will be completely removed on the full release of the mod. - entityClaimBarrierList = [] - #Blocks to partially exclude from chunk protection. Supports block tags. - #Just a block/tag ID in the list, e.g. "minecraft:lever" allows block interaction across the server if the item in the used hand isn't blocking it. - #Prefix "hand$" is the same as no prefix but enforces an empty hand requirement in protected chunks. Prefix "break$" allows breaking the block(s). - #Prefix "anything$" is the same as no prefix but allows interaction with any item held in the hand. Please make sure that no item does anything bad when used at a block with such an exception. - #Add the same block/tag multiple times to use multiple prefixes. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:lever", "minecraft:*_button", "break$minecraft:*_button", "break$minecraft:(*_|)sand"] - forcedBlockProtectionExceptionList = ["minecraft:crafting_table"] - #Custom groups of blocks that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple blocks and block tags. - #A group without a prefix creates a player config option for the right-click interaction with the group blocks. The format for a block group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-DIRT35{minecraft:dirt, minecraft:grass_block, minecraft:(oak|spruce)_*}". - #A group can be prefixed with "hand$" to create an option for the right-click interaction with an enforced empty hand requirement or "break$" for breaking the group blocks. - #Moreover, prefix "anything$" creates an option for the right-click interaction with any item held in the hand, not just allowed items. Please make sure that no item does anything - #bad when used at a block with such an exception. - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - blockProtectionOptionalExceptionGroups = ["Controls{minecraft:lever, #minecraft:buttons}", "Doors{#minecraft:doors, #minecraft:fence_gates, #forge:fence_gates, #minecraft:trapdoors}", "Chests{minecraft:chest, minecraft:trapped_chest, #forge:chests/wooden}", "Barrels{minecraft:barrel, #forge:barrels}", "Ender_Chests{minecraft:ender_chest, #forge:chests/ender}", "Shulker_Boxes{#minecraft:shulker_boxes}", "Furnaces{minecraft:furnace, minecraft:blast_furnace, minecraft:smoker}", "Hoppers{minecraft:hopper}", "Dispenser-like{minecraft:dispenser, minecraft:dropper}", "Anvils{#minecraft:anvil}", "Beds{#minecraft:beds}", "Beacons{minecraft:beacon}", "Enchanting_Tables{minecraft:enchanting_table}", "break$Crops{#minecraft:crops}"] - #Entities to partially exclude from chunk protection. Supports entity type tags. - #Just an entity/tag ID in the list, e.g. "minecraft:horse" allows entity interaction across the server if the item in the used hand isn't blocking it. - #Prefix "hand$" is the same as no prefix but enforces an empty hand requirement in protected chunks. Prefix "break$" allows killing the entities across the server. - #Prefix "anything$" is the same as no prefix but allows interaction with any item held in the hand. Please make sure that no item does anything bad when used at an entity with such an exception. - #Add the same entity/tag multiple times to use multiple prefixes. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:villager", "break$minecraft:villager", "break$minecraft:(trader_|)llama"] - forcedEntityProtectionExceptionList = ["minecraft:minecart"] - #Custom groups of entities that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple entities and entity tags. - #A group without a prefix creates a player config option for the right-click interaction with the group entities. The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #A group can be prefixed with "hand$" to create an option for the right-click interaction with an enforced empty hand requirement or "break$" for destroying the group entities. - #Moreover, prefix "anything$" creates an option for the right-click interaction with any item held in the hand, not just allowed items. Please make sure that no item does anything - #bad when used at an entity with such an exception. - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - entityProtectionOptionalExceptionGroups = ["Traders{minecraft:villager, minecraft:wandering_trader}", "hand$Item_Frames{minecraft:item_frame}", "break$Livestock{minecraft:cow, minecraft:mooshroom, minecraft:sheep, minecraft:chicken, minecraft:pig, minecraft:rabbit, minecraft:goat}", "Armor_Stands{minecraft:armor_stand}"] - #Entities that are prevented from entering the claim. Supports entity type tags. An entity/tag ID in the list, e.g. "minecraft:falling_block" prevents the entities from entering. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. For example: "minecraft:zombie(_villager|)". - forcedEntityClaimBarrierList = ["minecraft:falling_block", "supplementaries:slingshot_projectile"] - #Custom groups of entities that a player/claim config should be able to enable a barrier for. Each group can consist of multiple entities and entity tags. - #Each group creates a player config option for controlling the entity barrier. The format for a entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{#minecraft:raiders, minecraft:zombie(_villager|)}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - entityClaimBarrierOptionalGroups = ["Players{minecraft:player}", "Ender_Pearls{minecraft:ender_pearl}"] - #Entities that can bypass all block protection. Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGrief = ["minecraft:sheep"] - #Entities that can bypass all protection of other entities. Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGriefEntities = [] - #Entities that can bypass all dropped item protection. Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGriefDroppedItems = [] - #(Forge-only option) Mobs that can grief entities/items but not blocks. This list is used when overriding the vanilla "mob griefing" game rule value. - #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection. - #This means that the "Protect Blocks From Mobs" option might cause entity or item protection, if that's what the mob is trying to affect. - #By adding a mob to this list, you're removing the block protection check for it during the "mob griefing" game rule check. - #Supports entity type tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:*illager", "minecraft:(v|p)illager", "#minecraft:raiders"] - nonBlockGriefingMobs = [] - #(Forge-only option) Mobs that can grief entities in ways other than attacking them, e.g. how evokers can change the color of sheep. This list is used when overriding the vanilla "mob griefing" game rule value. - #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection only. Add a mob to this list if you want the entity protection option to be checked as well when the rule is checked. - #Check out the "nonBlockGriefingMobs" option if you want to also remove the default block protection check for the mob. - #Supports entity type tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entityGriefingMobs = [] - #(Forge-only option) Mobs that can grief dropped items. This list is used when overriding the vanilla "mob griefing" game rule value. - #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection only. Add a mob to this list if you want the item pickup protection option to be checked as well when the rule is checked. - #This mod should detect most mobs picking up items by default, but if it doesn't already detect a specific mob, this option might help. - #Check out the "nonBlockGriefingMobs" option if you want to also remove the default block protection check for the mob. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - droppedItemGriefingMobs = [] - #Custom groups of entities that a player/claim config should be able to make block access exceptions for (e.g. letting sheep eat grass or endermen take blocks). Each group can consist of multiple entities and entity tags. - #The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - blockAccessEntityGroups = ["Villagers{minecraft:villager}"] - #Custom groups of entities that a player/claim config should be able to make entity access exceptions for (e.g. letting zombies kill things). - #The groups should consist of entities that are the ones accessing other entities. The groups should not contain entities that are being accessed. Check out the "entityProtectionOptionalExceptionGroups" option for that. - #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - entityAccessEntityGroups = ["Zombies{minecraft:zombie, minecraft:zombie_villager, minecraft:husk, minecraft:drowned}"] - #Custom groups of entities that a player/claim config should be able to make dropped item access exceptions for (e.g. letting piglins pick up gold). - #The groups should consist of entities that are the ones trying to pick up items, not consist of specific items. - #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - droppedItemAccessEntityGroups = ["Villagers{minecraft:villager}", "Piglins{minecraft:piglin}", "Foxes{minecraft:fox}"] - #A list of fake players (UUIDs or names) that shouldn't be affected by any chunk claim protection if they try to access a chunk with building protection compatible with - #the chunk that the fake player's origin block is positioned in, e.g. claims with the same owner and block protection option values. - #This works great for fake players that are bound to the position of a specific placed block (origin block). Moreover, the mod supports fake players placed at a block - #next to the origin block, even if that means entering another chunk, e.g. in the case of the Integrated Tunnels mod, or if the origin block is touching the target block. - #The mod will try all positions next to the target block and the fake player as the possible position of the fake player origin block. - #This will always protect the target block if it or the fake player touch a claim with incompatible build protection. Avoid building on such claim edges. - #However, some fake players' origin blocks can be nowhere near the fake player or the target block, e.g. in the case of the Create mod, or there might be no origin block at all, - #e.g. NPCs that can move around. In this case, the mods that use such fake players require explicit support to be implemented. Although they might also sometimes - #be supported by default, if the fake players use UUIDs of actual players. - #Explicit support exists for the Create mod (requires an extension on Fabric) and you are not required to add anything to this list. - #Make sure to always test that claim edges are protected from outside interaction by fake players that you add to this list. - #Wondering where to get the UUIDs or usernames of specific fake players? You can check the source code of the mods that use them or politely ask the mod authors. - #For example ["41C82C87-7AfB-4024-BB57-13D2C99CAE77", "FakePlayerName"] - staticFakePlayers = ["[IntegratedTunnels]"] - #A list of Java classes of fake players that should be excluded from claim protection exceptions given to fake players with the "staticFakePlayers" option - #or built-in fake player support, like in the case of Create mod deployers. - #This option is meant for fake players similar to ComputerCraft's turtles, which take the UUID of the player that places them. It becomes a problem when a turtle takes - #the UUID of a fake player from "staticFakePlayers" or a deployer because the turtle then gets the same privileges without actually being stationary itself nor a deployer. - #Adding classes here should not break support of fake players that take the UUID of their owner. It simply takes away privileges which aren't meant for them. - #For example ["dan200.computercraft.shared.turtle.core.TurtlePlayer"] - staticFakePlayerClassExceptions = ["dan200.computercraft.shared.turtle.core.TurtlePlayer"] - #By default, right-click use of some items is allowed in protected chunks, e.g. swords, pickaxes, bows, shield, tridents, splash potions, to let the players protect themselves or interact with some blocks/entities. - #To remove such exceptions for specific items, add them to this list. This list applies to both using an item at air and using it at a block/entity. Supports item tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:trident", "minecraft:shield", "minecraft:(oak|spruce)_boat", "#minecraft:boats"] - additionalBannedItemsList = ["supplementaries:slingshot"] - #By default, most item right-click uses are disabled in protected chunks. To make an exception for a specific item, add it to this list. This option has a higher priority than "additionalBannedItemsList". - #This list applies to both using an item at air and using it at a block/entity. Supports item tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:fishing_rod", "minecraft:ender_pearl", "minecraft:(red|green)_bed", "#minecraft:beds"] - itemUseProtectionExceptionList = ["minecraft:firework_rocket"] - #Custom groups of items that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple items and item tags. - #Each group creates a player config option for the right-click use of the group items. The format for an item group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-stuff98{minecraft:(writable|written)_book, minecraft:*_book, #minecraft:compasses}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - itemUseProtectionOptionalExceptionGroups = ["Books{minecraft:written_book, minecraft:writable_book}"] - #Items that are completely banned from right-click usage on the server, claimed or not. This list applies to both using an item at air and using it at a block/entity. Supports item tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:trident", "minecraft:shield", "minecraft:(oak|spruce)_boat", "#minecraft:boats"] - completelyDisabledItemInteractions = [] - #Blocks that are completely banned from being interacted with on the server, claimed or not. Does not affect block breaking. Supports block tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:dirt", "minecraft:*_table", "minecraft:(cartography|fletching)_table", "#minecraft:buttons"] - completelyDisabledBlockInteractions = [] - #Entities that are completely banned from being interacted with on the server, claimed or not. Does not affect killing the entities. Supports entity tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - completelyDisabledEntityInteractions = [] - #Whether to completely disable frost walking on the server. Use this if the regular frost walking protection doesn't work, since there is no game rule for it. - completelyDisableFrostWalking = false - #Whether to ignore most detected entity collisions for boats. - #By default, boats detect entity collisions and handle them every tick for every entity that touches them, which is a lot. - #This can become very slow on a server if we also add the necessary claim protection checks in the mix. - #This option makes it so most collisions with boats are randomly ignored, which helps the performance without affecting gameplay all that much. - reducedBoatEntityCollisions = true - diff --git a/defaultconfigs/sophisticatedbackpacks-server.toml b/defaultconfigs/sophisticatedbackpacks-server.toml deleted file mode 100644 index 26b05d451..000000000 --- a/defaultconfigs/sophisticatedbackpacks-server.toml +++ /dev/null @@ -1,428 +0,0 @@ - -#Server Settings -[server] - #List of items that are not allowed to be put in backpacks - e.g. "minecraft:shulker_box" - disallowedItems = [] - #Determines if container items (those that override canFitInsideContainerItems to false) are able to fit in backpacks - containerItemsDisallowed = false - #List of blocks that inventory interaction upgrades can't interact with - e.g. "minecraft:shulker_box" - noInteractionBlocks = [] - #List of blocks that are not allowed to connect to backpacks - e.g. "refinedstorage:external_storage" - noConnectionBlocks = [] - #Turns on/off item fluid handler of backpack in its item form. There are some dupe bugs caused by default fluid handling implementation that manifest when backpack is drained / filled in its item form in another mod's tank and the only way to prevent them is disallowing drain/fill in item form altogether - itemFluidHandlerEnabled = true - #Determines whether player can right click on backpack that another player is wearing to open it. If off will turn off that capability for everyone and remove related settings from backpack. - allowOpeningOtherPlayerBackpacks = true - #Allows disabling item display settings. Primarily in cases where custom backpack model doesn't support showing the item. (Requires game restart to take effect) - itemDisplayDisabled = false - #Allows disabling logic that dedupes backpacks with the same UUID in players' inventory. This is here to allow turning off the logic just in case it would be causing performance issues. - tickDedupeLogicDisabled = false - #Determines if backpacks can be placed in container items (those that check for return value of canFitInsideContainerItems) - canBePlacedInContainerItems = false - - #Leather Backpack Settings - [server.leatherBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 27 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 1 - - #Iron Backpack Settings - [server.ironBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 54 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 2 - - #Gold Backpack Settings - [server.goldBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 81 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 3 - - #Diamond Backpack Settings - [server.diamondBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 108 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 5 - - #Netherite Backpack Settings - [server.netheriteBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 120 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 7 - - #Compacting Upgrade Settings - [server.compactingUpgrade] - #Number of Compacting Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Compacting Upgrade Settings - [server.advancedCompactingUpgrade] - #Number of Advanced Compacting Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Deposit Upgrade Settings - [server.depositUpgrade] - #Number of Deposit Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Deposit Upgrade Settings - [server.advancedDepositUpgrade] - #Number of Advanced Deposit Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Feeding Upgrade Settings - [server.feedingUpgrade] - #Number of Feeding Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Feeding Upgrade Settings - [server.advancedFeedingUpgrade] - #Number of Advanced Feeding Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Filter Upgrade Settings - [server.filterUpgrade] - #Number of Filter Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Filter Upgrade Settings - [server.advancedFilterUpgrade] - #Number of Advanced Filter Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Magnet Upgrade Settings - [server.magnetUpgrade] - #Number of Magnet Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - #Range around storage in blocks at which magnet will pickup items - #Range: 1 ~ 20 - magnetRange = 3 - - #Advanced Magnet Upgrade Settings - [server.advancedMagnetUpgrade] - #Number of Advanced Magnet Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - #Range around storage in blocks at which magnet will pickup items - #Range: 1 ~ 20 - magnetRange = 5 - - #Pickup Upgrade Settings - [server.pickupUpgrade] - #Number of Pickup Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Pickup Upgrade Settings - [server.advancedPickupUpgrade] - #Number of Advanced Pickup Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Refill Upgrade Settings - [server.refillUpgrade] - #Number of Refill Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 6 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Refill Upgrade Settings - [server.advancedRefillUpgrade] - #Number of Advanced Refill Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 12 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Restock Upgrade Settings - [server.restockUpgrade] - #Number of Restock Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Restock Upgrade Settings - [server.advancedRestockUpgrade] - #Number of Advanced Restock Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Void Upgrade Settings - [server.voidUpgrade] - #Number of Void Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - #Determines whether void upgrade allows voiding anything or it only has overflow option - voidAnythingEnabled = true - - #Advanced Void Upgrade Settings - [server.advancedVoidUpgrade] - #Number of Advanced Void Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - #Determines whether void upgrade allows voiding anything or it only has overflow option - voidAnythingEnabled = true - - #Stack Upgrade Settings - [server.stackUpgrade] - #List of items that are not supposed to stack in storage even when stack upgrade is inserted. Item registry names are expected here. - nonStackableItems = ["minecraft:bundle", "minecraft:shulker_box", "minecraft:white_shulker_box", "minecraft:orange_shulker_box", "minecraft:magenta_shulker_box", "minecraft:light_blue_shulker_box", "minecraft:yellow_shulker_box", "minecraft:lime_shulker_box", "minecraft:pink_shulker_box", "minecraft:gray_shulker_box", "minecraft:light_gray_shulker_box", "minecraft:cyan_shulker_box", "minecraft:purple_shulker_box", "minecraft:blue_shulker_box", "minecraft:brown_shulker_box", "minecraft:green_shulker_box", "minecraft:red_shulker_box", "minecraft:black_shulker_box"] - - #Smelting Upgrade Settings - [server.smeltingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - - #Smoking Upgrade Settings - [server.smokingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - - #Blasting Upgrade Settings - [server.blastingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - - #Auto-Smelting Upgrade Settings - [server.autoSmeltingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - #Number of input filter slots - #Range: 1 ~ 20 - inputFilterSlots = 8 - #Number of input filter slots displayed in a row - #Range: 1 ~ 6 - inputFilterSlotsInRow = 4 - #Number of fuel filter slots - #Range: 1 ~ 20 - fuelFilterSlots = 4 - #Number of fuel filter slots displayed in a row - #Range: 1 ~ 6 - fuelFilterSlotsInRow = 4 - - #Auto-Smoking Upgrade Settings - [server.autoSmokingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - #Number of input filter slots - #Range: 1 ~ 20 - inputFilterSlots = 8 - #Number of input filter slots displayed in a row - #Range: 1 ~ 6 - inputFilterSlotsInRow = 4 - #Number of fuel filter slots - #Range: 1 ~ 20 - fuelFilterSlots = 4 - #Number of fuel filter slots displayed in a row - #Range: 1 ~ 6 - fuelFilterSlotsInRow = 4 - - #Auto-Blasting Upgrade Settings - [server.autoBlastingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - #Number of input filter slots - #Range: 1 ~ 20 - inputFilterSlots = 8 - #Number of input filter slots displayed in a row - #Range: 1 ~ 6 - inputFilterSlotsInRow = 4 - #Number of fuel filter slots - #Range: 1 ~ 20 - fuelFilterSlots = 4 - #Number of fuel filter slots displayed in a row - #Range: 1 ~ 6 - fuelFilterSlotsInRow = 4 - - #Inception Upgrade Settings - [server.inceptionUpgrade] - #Allows / Disallows backpack upgrades to work with inventories of Backpacks in the Backpack with Inception Upgrade - upgradesUseInventoriesOfBackpacksInBackpack = true - #Allows / Disallows upgrades to be functional even when they are in Backpacks in the inventory of Backpack with Inception Upgrade - upgradesInContainedBackpacksAreFunctional = true - - #Tool Swapper Upgrade Settings - [server.toolSwapperUpgrade] - #Number of Tool Swapper Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 8 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Tank Upgrade Settings - [server.tankUpgrade] - #Capacity in mB the tank upgrade will have per row of storage slots - #Range: 500 ~ 20000 - capacityPerSlotRow = 4000 - #Ratio that gets applied (multiplies) to inventory stack multiplier before this is applied to max energy of the battery and max in/out. Value lower than 1 makes stack multiplier affect the max energy less, higher makes it affect the max energy more. 0 turns off stack multiplier affecting battery upgrade - #Range: 0.0 ~ 5.0 - stackMultiplierRatio = 1.0 - #Cooldown between fill/drain actions done on fluid containers in tank slots. Only fills/drains one bucket worth to/from container after this cooldown and then waits again. - #Range: 1 ~ 100 - autoFillDrainContainerCooldown = 20 - #How much FE can be transfered in / out per operation. This is a base transfer rate and same as max capacity gets multiplied by number of rows in storage and stack multiplier. - #Range: 1 ~ 1000 - maxInputOutput = 20 - #Energy in FE the battery upgrade will have per row of storage slots - #Range: 500 ~ 50000 - energyPerSlotRow = 10000 - - #Pump Upgrade Settings - [server.pumpUpgrade] - #Number of fluid filter slots - #Range: 1 ~ 20 - filterSlots = 4 - #How much mB can be transfered in / out per operation. This is a base transfer rate that gets multiplied by number of rows in storage and stack multiplier. - #Range: 1 ~ 1000 - maxInputOutput = 20 - #Ratio that gets applied (multiplies) to inventory stack multiplier before this is applied to max input/output value. Value lower than 1 makes stack multiplier affect the capacity less, higher makes it affect the capacity more. 0 turns off stack multiplier affecting input/output - #Range: 0.0 ~ 5.0 - stackMultiplierRatio = 1.0 - - #Xp Pump Upgrade Settings - [server.xpPumpUpgrade] - #Whether xp pump can mend items with mending. Set false here to turn off the feature altogether. - mendingOn = true - #How many experience points at a maximum would be used to mend an item per operation (every 5 ticks and 1 xp point usually translates to 2 damage repaired). - #Range: 1 ~ 20 - maxXpPointsPerMending = 5 - - #Settings for Spawning Entities with Backpack - [server.entityBackpackAdditions] - #Chance of an entity spawning with Backpack - #Range: 0.0 ~ 1.0 - chance = 0.0 - #Turns on/off addition of loot into backpacks - addLoot = false - #Turns on/off buffing the entity that wears backpack with potion effects. These are scaled based on how much loot is added. - buffWithPotionEffects = true - #Turns on/off buffing the entity that wears backpack with additional health. Health is scaled based on backpack tier the mob wears. - buffHealth = true - #Turns on/off equiping the entity that wears backpack with armor. What armor material and how enchanted is scaled based on backpack tier the mob wears. - equipWithArmor = true - #Map of entities that can spawn with backpack and related loot tables (if adding a loot is enabled) in format of "EntityRegistryName|LootTableName" - entityLootTableList = [] - #List of music discs that are not supposed to be played by entities - discBlockList = [] - #Turns on/off a chance that the entity that wears backpack gets jukebox upgrade and plays a music disc. - playJukebox = true - #Determines whether backpack drops to fake players if killed by them in addition to real ones that it always drops to - dropToFakePlayers = false - #Chance of mob dropping backpack when killed by player - #Range: 0.0 ~ 1.0 - backpackDropChance = 0.5 - #Chance increase per looting level of mob dropping backpack - #Range: 0.0 ~ 0.3 - lootingChanceIncreasePerLevel = 0.15 - - [server.nerfs] - #Determines if too many backpacks in player's inventory cause slowness to the player - tooManyBackpacksSlowness = true - #Maximum number of backpacks in player's inventory that will not cause slowness - #Range: 1 ~ 27 - maxNumberOfBackpacks = 1 - #Ratio of slowness levels per every backpack above the maximum number allowed. (number of backpacks above the max gets multiplied by this number and ceiled) - #Range: 0.1 ~ 5.0 - slownessLevelsPerAdditionalBackpack = 1.0 - #Determines if active upgrades will only work in the backpack that's worn by the player. Active upgrades are for example magnet, pickup, cooking, feeding upgrades. - onlyWornBackpackTriggersUpgrades = true - diff --git a/defaultconfigs/tfc-server.toml b/defaultconfigs/tfc-server.toml deleted file mode 100644 index b92381f36..000000000 --- a/defaultconfigs/tfc-server.toml +++ /dev/null @@ -1,1264 +0,0 @@ - -[general] - # - # Enable nether portal creation - enableNetherPortals = false - # - # Forces a number of game rules to specific values. - # naturalRegeneration = false (Health regen is much slower and not tied to extra saturation) - # doInsomnia = false (No phantoms) - # doTraderSpawning = false (No wandering traders) - # doPatrolSpawning = false (No pillager patrols) - enableForcedTFCGameRules = true - # - # If true, TFC will stop time when no players are online on a running server. - # This prevents food from decaying, the calendar from advancing, and the sun from moving, etc. - # !!Disable at your own risk!! - enableTimeStopWhenServerEmpty = true - # - # Enable fire arrows and fireballs to spread fire and light blocks. - enableFireArrowSpreading = true - # - # Base probability for a firestarter to start a fire. May change based on circumstances - #Range: 0.0 ~ 1.0 - fireStarterChance = 0.5 - # - # Enable rat infestations for improperly stored food. - enableInfestations = true - # - # Enables TFC setting the moon phase based on the progress of the month. The etymology of the English word 'month' is in fact related to the word 'moon'. - enableCalendarSensitiveMoonPhases = true - # - # If false, vanilla lightning will not strike. - enableLightning = true - # - # If true, lightning has a chance of stripping bark off of trees. - enableLightningStrippingLogs = true - -[blocks] - - [blocks.farmland] - # - # If TFC soil blocks are able to be created into farmland using a hoe. - enableFarmlandCreation = true - - [blocks.grassPath] - # - # If TFC soil blocks are able to be created into (grass) path blocks using a hoe. - enableGrassPathCreation = true - - [blocks.grass] - # - # The chance that when grass that freezes and thaws it will have a loose rock rise to the surface, provided some conditions are met. Set to 0 to disable. - #Range: 0.0 ~ 1.0 - grassSpawningRocksChance = 0.001 - - [blocks.rootedDirt] - # - # If TFC rooted dirt blocks are able to be created into dirt blocks using a hoe. - enableRootedDirtToDirtCreation = true - - [blocks.snow] - # - # [Requires MC Restart] If snow will slow players that move on top of it similar to soul sand or honey. - enableSnowSlowEntities = true - # - # The chance that snow will accumulate during a storm. Lower values = faster snow accumulation, but also more block updates (aka lag). - #Range: > 1 - snowAccumulateChance = 20 - # - # The chance that snow will melt during a storm. Lower values = faster snow melting, but also more block updates (aka lag). - #Range: > 1 - snowMeltChance = 36 - - [blocks.plants] - # - # Chance for a plant to grow each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant growth. - #Range: 0.0 ~ 1.0 - plantGrowthChance = 0.04 - # - # Chance for a twisting/weeping/kelp plant to grow each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant growth. - #Range: 0.0 ~ 1.0 - plantLongGrowthChance = 0.03 - # - # Chance for a plant to spread each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant spreading. - #Range: 0.0 ~ 1.0 - plantSpreadChance = 0.001 - # - # A movement multiplier for players moving through plants. Individual plants will use a ratio of this value, and lower = slower. - #Range: 0.0 ~ 1.0 - plantsMovementModifier = 0.2 - - [blocks.leaves] - # - # A movement multiplier for players moving through leaves. Lower = slower. - #Range: 0.0 ~ 1.0 - leavesMovementModifier = 0.4 - # - # If true, then leaves will decay slowly over time when disconnected from logs (vanilla behavior), as opposed to instantly (TFC behavior). - enableLeavesDecaySlowly = false - - [blocks.cobblestone] - # - # If mossy rock blocks will spread their moss to nearby rock blocks (bricks and cobble; stairs, slabs and walls thereof). - enableMossyRockSpreading = true - # - # The rate at which rock blocks will accumulate moss. Higher value = slower. - #Range: > 1 - mossyRockSpreadRate = 20 - - [blocks.chest] - # - # The largest (inclusive) size of an item that is allowed in a chest. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - chestMaximumItemSize = "LARGE" - - [blocks.largeVessel] - # - # If true, large vessels will interact with in-world automation such as hoppers on a side-specific basis. - largeVesselEnableAutomation = true - # - # If true, large vessels will seal and unseal on redstone signal. - largeVesselEnableRedstoneSeal = true - - [blocks.torch] - # - # Number of ticks required for a torch to burn out (1000 = 1 in game hour = 50 seconds), default is 72 hours. Set to -1 to disable torch burnout. - #Range: > -1 - torchTicks = 72000 - - [blocks.candle] - # - # Number of ticks required for a candle to burn out (1000 = 1 in game hour = 50 seconds), default is 264 hours. Set to -1 to disable candle burnout. - #Range: > -1 - candleTicks = 264000 - - [blocks.dryingBricks] - # - # Number of ticks required for mud bricks to dry (1000 = 1 in game hour = 50 seconds), default is 24 hours. Set to -1 to disable drying. - #Range: > -1 - mudBricksTicks = 24000 - - [blocks.charcoal] - # - # Number of ticks required for charcoal pit to complete. (1000 = 1 in game hour = 50 seconds), default is 18 hours. - #Range: > -1 - charcoalTicks = 18000 - - [blocks.pitKiln] - # - # Number of ticks required for a pit kiln to burn out. (1000 = 1 in game hour = 50 seconds), default is 8 hours. - #Range: > 20 - pitKilnTicks = 8000 - # - # The maximum temperature which a pit kiln reaches. - #Range: > 0 - pitKilnTemperature1 = 1400 - - [blocks.crucible] - # - # Tank capacity of a crucible (in mB). - #Range: 0 ~ 2147483645 - crucibleCapacity = 4000 - # - # A modifier for how fast fluid containers empty into crucibles. Containers will empty 1 mB every (this) number of ticks. - #Range: > 1 - cruciblePouringRate = 4 - # - # A modifier for how fast fluid containers empty into crucibles when shift is held. Containers will empty 1 mB every (this) number of ticks. - #Range: > 1 - crucibleFastPouringRate = 1 - # - # If true, barrels will interact with in-world automation such as hoppers on a side-specific basis. - crucibleEnableAutomation = true - - [blocks.anvil] - # - # The number of pixels that the anvil's result may be off by, but still count as recipe completion. By default this requires pixel perfect accuracy. - #Range: 0 ~ 150 - anvilAcceptableWorkRange = 0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Modestly Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilModestlyForgedThreshold = 10.0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Well Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilWellForgedThreshold = 5.0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Expertly Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilExpertForgedThreshold = 2.0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Perfectly Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilPerfectlyForgedThreshold = 1.5 - # - # The multiplier to efficiency (mining speed) that is applied to a 'Perfectly Forged' tool. - #Range: 1.0 ~ 1000.0 - anvilMaxEfficiencyMultiplier = 1.8 - # - # The bonus to durability (probability to ignore a point of damage) that is applied to a 'Perfectly Forged' tool. Note that 1 ~ infinite durability, and 0 ~ no bonus. - #Range: 0.0 ~ 1.0 - anvilMaxDurabilityMultiplier = 0.5 - # - # The boost to attack damage that is applied to a 'Perfectly Forged' tool. - #Range: 1.0 ~ 1000.0 - anvilMaxDamageMultiplier = 1.5 - - [blocks.barrel] - # - # Tank capacity of a barrel (in mB). - #Range: > 0 - barrelCapacity = 10000 - # - # If true, barrels will interact with in-world automation such as hoppers on a side-specific basis. - barrelEnableAutomation = true - # - # If true, barrels will seal and unseal on redstone signal. - barrelEnableRedstoneSeal = true - - [blocks.composter] - # - # Number of ticks required for a composter in normal conditions to complete. (24000 = 1 game day), default is 12 days. - #Range: > 20 - composterTicks = 288000 - # - # If true, the composter will interact with in-world automation such as hoppers on a side-specific basis. - composterEnableAutomation = true - - [blocks.sluice] - # - # Number of ticks required for a sluice to process an item. (20 = 1 second), default is 5 seconds. - #Range: > 1 - sluiceTicks = 100 - - [blocks.lamp] - # - # Tank capacity of a lamp (in mB). - #Range: 0 ~ 2147483645 - lampCapacity = 250 - - [blocks.pumpkin] - # - # Enables the knifing of pumpkins to carve them. - enablePumpkinCarving = true - # - # Number of ticks required for a jack 'o lantern to burn out (1000 = 1 in game hour = 50 seconds), default is 108 hours. Set to -1 to disable burnout. - #Range: > -1 - jackOLanternTicks = 108000 - - [blocks.bloomery] - # - # Inventory capacity (in number of items per level of chimney) of the bloomery. - #Range: > 1 - bloomeryCapacity = 8 - # - # The maximum number of levels that can be built in a bloomery multiblock, for added capacity. - #Range: > 1 - bloomeryMaxChimneyHeight = 3 - - [blocks.blastFurnace] - # - # Inventory capacity (in number of items per level of chimney) of the blast furnace. - #Range: > 1 - blastFurnaceCapacity = 4 - # - # Fluid capacity (in mB) of the output tank of the blast furnace. - #Range: > 1 - blastFurnaceFluidCapacity = 10000 - # - # A multiplier for how fast the blast furnace consumes fuel. Higher values = faster fuel consumption. - #Range: > 1 - blastFurnaceFuelConsumptionMultiplier = 4 - # - # The maximum number of levels that can be built in a blast furnace multiblock, for added capacity. - #Range: > 1 - blastFurnaceMaxChimneyHeight = 5 - # - # If true, blast furnaces will interact with in-world automation such as hoppers on a side-specific basis. - blastFurnaceEnableAutomation = true - - [blocks.loom] - # - # If true, looms will interact with in-world automation such as hoppers on a side-specific basis. - loomEnableAutomation = true - - [blocks.thatch] - # - # A movement multiplier for players moving through thatch. Lower = slower. - #Range: 0.0 ~ 1.0 - thatchMovementMultiplier = 0.6 - - [blocks.thatchBed] - # - # If true, thatch beds can set the player's spawn. - enableThatchBedSpawnSetting = true - # - # If true, the player can sleep the night in a thatch bed - enableThatchBedSleeping = false - # - # If true, the player cannot sleep in thatch beds during thunderstorms. - thatchBedNoSleepInThunderstorms = true - - [blocks.placedItems] - # - # The maximum size of items that can be placed as 4 items on the ground with V. If an item is larger than this, it could still be placed with the 'maxPlacedLargeItemSize' option. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - maxPlacedItemSize = "LARGE" - # - # The maximum size of items that can be placed as a single item on the ground with V. Items are checked to see if they're the right size to be placed in a group of 4 items first. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - maxPlacedLargeItemSize = "HUGE" - # - # If true, players can place items on the ground with V. - enablePlacingItems = true - # - # If true, the tag 'tfc:placed_item_whitelist' will be checked to allow items to be in placed items and will exclude everything else. - usePlacedItemWhitelist = false - - [blocks.charcoalForge] - # - # If true, charcoal forges will interact with in-world automation such as hoppers on a side-specific basis. - charcoalForgeEnableAutomation = true - - [blocks.firePitEnableAutomation] - # - # If true, fire pits will interact with in-world automation such as hoppers on a side-specific basis. - firePitEnableAutomation = true - - [blocks.nestBox] - # - # If true, nest boxes will interact with in-world automation such as hoppers on a side-specific basis. - nestBoxEnableAutomation = true - - [blocks.powderKeg] - # - # If true, powder kegs can be lit and exploded. - powderKegEnabled = true - # - # If true, powder kegs will interact with in-world automation such as hoppers on a side-specific basis. - powderKegEnableAutomation = true - # - # A modifier to the strength of powderkegs when exploding. A max powderkeg explosion is 64, and all explosions are capped to this size no matter the value of the modifier. - #Range: 0.0 ~ 64.0 - powderKegStrengthModifier = 1.0 - - [blocks.hotWater] - # - # An amount that sitting in hot water will restore health, approximately twice per second. - #Range: 0.0 ~ 20.0 - hotWaterHealAmount = 0.08 - - [blocks.saplings] - # - # Modifier applied to the growth time of every (non-fruit) sapling. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.0 ~ 1.7976931348623157E308 - globalSaplingGrowthModifier = 1.0 - # - # Modifier applied to the growth time of every fruit tree sapling. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.0 ~ 1.7976931348623157E308 - globalFruitSaplingGrowthModifier = 1.0 - # - # Days for a acacia tree sapling to be ready to grow into a full tree. - #Range: > 0 - acaciaSaplingGrowthDays = 11 - # - # Days for a ash tree sapling to be ready to grow into a full tree. - #Range: > 0 - ashSaplingGrowthDays = 7 - # - # Days for a aspen tree sapling to be ready to grow into a full tree. - #Range: > 0 - aspenSaplingGrowthDays = 8 - # - # Days for a birch tree sapling to be ready to grow into a full tree. - #Range: > 0 - birchSaplingGrowthDays = 7 - # - # Days for a blackwood tree sapling to be ready to grow into a full tree. - #Range: > 0 - blackwoodSaplingGrowthDays = 8 - # - # Days for a chestnut tree sapling to be ready to grow into a full tree. - #Range: > 0 - chestnutSaplingGrowthDays = 7 - # - # Days for a douglas_fir tree sapling to be ready to grow into a full tree. - #Range: > 0 - douglas_firSaplingGrowthDays = 7 - # - # Days for a hickory tree sapling to be ready to grow into a full tree. - #Range: > 0 - hickorySaplingGrowthDays = 10 - # - # Days for a kapok tree sapling to be ready to grow into a full tree. - #Range: > 0 - kapokSaplingGrowthDays = 7 - # - # Days for a mangrove tree sapling to be ready to grow into a full tree. - #Range: > 0 - mangroveSaplingGrowthDays = 8 - # - # Days for a maple tree sapling to be ready to grow into a full tree. - #Range: > 0 - mapleSaplingGrowthDays = 7 - # - # Days for a oak tree sapling to be ready to grow into a full tree. - #Range: > 0 - oakSaplingGrowthDays = 10 - # - # Days for a palm tree sapling to be ready to grow into a full tree. - #Range: > 0 - palmSaplingGrowthDays = 7 - # - # Days for a pine tree sapling to be ready to grow into a full tree. - #Range: > 0 - pineSaplingGrowthDays = 7 - # - # Days for a rosewood tree sapling to be ready to grow into a full tree. - #Range: > 0 - rosewoodSaplingGrowthDays = 8 - # - # Days for a sequoia tree sapling to be ready to grow into a full tree. - #Range: > 0 - sequoiaSaplingGrowthDays = 18 - # - # Days for a spruce tree sapling to be ready to grow into a full tree. - #Range: > 0 - spruceSaplingGrowthDays = 7 - # - # Days for a sycamore tree sapling to be ready to grow into a full tree. - #Range: > 0 - sycamoreSaplingGrowthDays = 8 - # - # Days for a white_cedar tree sapling to be ready to grow into a full tree. - #Range: > 0 - white_cedarSaplingGrowthDays = 7 - # - # Days for a willow tree sapling to be ready to grow into a full tree. - #Range: > 0 - willowSaplingGrowthDays = 11 - # - # Days for a cherry tree sapling to be eligible to grow - #Range: > 0 - cherrySaplingGrowthDays1 = 8 - # - # Days for a green_apple tree sapling to be eligible to grow - #Range: > 0 - green_appleSaplingGrowthDays1 = 10 - # - # Days for a lemon tree sapling to be eligible to grow - #Range: > 0 - lemonSaplingGrowthDays1 = 8 - # - # Days for a olive tree sapling to be eligible to grow - #Range: > 0 - oliveSaplingGrowthDays1 = 12 - # - # Days for a orange tree sapling to be eligible to grow - #Range: > 0 - orangeSaplingGrowthDays1 = 7 - # - # Days for a peach tree sapling to be eligible to grow - #Range: > 0 - peachSaplingGrowthDays1 = 11 - # - # Days for a plum tree sapling to be eligible to grow - #Range: > 0 - plumSaplingGrowthDays1 = 8 - # - # Days for a red_apple tree sapling to be eligible to grow - #Range: > 0 - red_appleSaplingGrowthDays1 = 10 - # - # Days for a banana tree sapling to be eligible to grow - #Range: > 0 - bananaSaplingGrowthDays = 6 - - [blocks.crops] - # - # Modifier applied to the growth time of every crop. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.001 ~ 1000.0 - cropGrowthModifier = 1.0 - # - # Modifier applied to the expiry time of every crop. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.001 ~ 1000.0 - cropExpiryModifier = 1.0 - - [blocks.dispenser] - # - # If true, dispensers can light TFC devices. - dispenserEnableLighting = true - - [blocks.powderBowl] - # - # If true, powder bowls will interact with in-world automation such as hoppers on a side-specific basis. - powderBowlEnableAutomation = true - -[items] - - [items.smallVessel] - # - # Tank capacity of a small vessel (in mB). - #Range: 0 ~ 2147483645 - smallVesselCapacity = 3000 - # - # The largest (inclusive) size of an item that is allowed in a small vessel. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - smallVesselMaximumItemSize = "SMALL" - # - # If true, the vessel can be inserted and extracted from by clicking on it in the inventory. You may want to disable this if you have a inventory-tweaking mod - enableSmallVesselInventoryInteraction = true - - [items.molds] - # - # Tank capacity of a Fire Ingot mold (in mB). - #Range: 0 ~ 2147483645 - moldIngotCapacity = 144 - # - # Tank capacity of a Pickaxe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldPickaxeHeadCapacity = 144 - # - # Tank capacity of a Propick Head mold (in mB). - #Range: 0 ~ 2147483645 - moldPropickHeadCapacity = 144 - # - # Tank capacity of a Axe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldAxeHeadCapacity = 144 - # - # Tank capacity of a Shovel Head mold (in mB). - #Range: 0 ~ 2147483645 - moldShovelHeadCapacity = 144 - # - # Tank capacity of a Hoe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldHoeHeadCapacity = 144 - # - # Tank capacity of a Chisel Head mold (in mB). - #Range: 0 ~ 2147483645 - moldChiselHeadCapacity = 144 - # - # Tank capacity of a Hammer Head mold (in mB). - #Range: 0 ~ 2147483645 - moldHammerHeadCapacity = 144 - # - # Tank capacity of a Saw Blade mold (in mB). - #Range: 0 ~ 2147483645 - moldSawBladeCapacity = 144 - # - # Tank capacity of a Javelin Head mold (in mB). - #Range: 0 ~ 2147483645 - moldJavelinHeadCapacity = 144 - # - # Tank capacity of a Sword Blade mold (in mB). - #Range: 0 ~ 2147483645 - moldSwordBladeCapacity = 288 - # - # Tank capacity of a Mace Head mold (in mB). - #Range: 0 ~ 2147483645 - moldMaceHeadCapacity = 288 - # - # Tank capacity of a Knife Blade mold (in mB). - #Range: 0 ~ 2147483645 - moldKnifeBladeCapacity = 144 - # - # Tank capacity of a Bell mold (in mB). - #Range: 0 ~ 2147483645 - moldScytheBladeCapacity = 144 - - [items.jug] - # - # Tank capacity of a ceramic jug (in mB). - #Range: 0 ~ 2147483645 - jugCapacity = 100 - # - # The chance a jug will break after drinking. - #Range: 0.0 ~ 1.0 - jugBreakChance = 0.02 - - [items.glassBottle] - # - # Tank capacity of a silica glass bottle (in mB). - #Range: 0 ~ 2147483645 - silicaGlassBottleCapacity = 500 - # - # The chance a silica glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - silicaGlassBottleBreakChance = 0.005 - # - # Tank capacity of a hematitic glass bottle (in mB). - #Range: 0 ~ 2147483645 - hematiticGlassBottleCapacity = 400 - # - # The chance a hematitic glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - hematiticGlassBottleBreakChance = 0.02 - # - # Tank capacity of a volcanic glass bottle (in mB). - #Range: 0 ~ 2147483645 - volcanicGlassBottleCapacity = 400 - # - # The chance a volcanic glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - volcanicGlassBottleBreakChance = 0.04 - # - # Tank capacity of a olivine glass bottle (in mB). - #Range: 0 ~ 2147483645 - olivineGlassBottleCapacity = 400 - # - # The chance a olivine glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - olivineGlassBottleBreakChance = 0.01 - - [items.woodenBucket] - # - # Tank capacity of a wooden bucket (in mB). - #Range: 0 ~ 2147483645 - woodenBucketCapacity = 1000 - -[mechanics] - - [mechanics.heat] - # - # A multiplier for how fast devices themselves heat up. Higher = faster. - #Range: 0.0 ~ 1.7976931348623157E308 - deviceHeatingModifier = 1.0 - # - # A multiplier for how fast items heat in devices. Higher = faster. - #Range: 0.0 ~ 1.7976931348623157E308 - itemHeatingModifier = 1.0 - # - # A multiplier for how fast items cool. Higher = faster. - #Range: 0.0 ~ 1.7976931348623157E308 - itemCoolingModifier = 0.8 - # - # Should hot item entities cool off when in contact with blocks like water or snow? - coolHotItemEntities = true - # - # Ticks between each time an item loses temperature when sitting on a cold block. 20 ticks = 1 second. - #Range: > 1 - ticksBeforeItemCool = 10 - - [mechanics.collapses] - # - # Enable rock collapsing when mining raw stone blocks - enableBlockCollapsing = true - # - # Enable explosions causing immediate collapses. - enableExplosionCollapsing = true - # - # Enable land slides (gravity affected blocks) when placing blocks or on block updates. - enableBlockLandslides = true - # - # Enable chisels starting collapses - enableChiselsStartCollapses = true - # - # Chance for a collapse to be triggered by mining a block. - #Range: 0.0 ~ 1.0 - collapseTriggerChance = 0.1 - # - # Chance for a collapse to be fake triggered by mining a block. - #Range: 0.0 ~ 1.0 - collapseFakeTriggerChance = 0.35 - # - # Chance for a block fo fall from mining collapse. Higher = more likely. - #Range: 0.0 ~ 1.0 - collapsePropagateChance = 0.55 - # - # Chance for a block to fall from an explosion triggered collapse. Higher = mor likely. - #Range: 0.0 ~ 1.0 - collapseExplosionPropagateChance = 0.3 - # - # Minimum radius for a collapse - #Range: 1 ~ 32 - collapseMinRadius = 3 - # - # Variance of the radius of a collapse. Total size is in [minRadius, minRadius + radiusVariance] - #Range: 1 ~ 32 - collapseRadiusVariance = 16 - - [mechanics.player] - # - # If peaceful difficulty should still have vanilla-esque passive regeneration of health, food, and hunger - enablePeacefulDifficultyPassiveRegeneration = false - # - # A multiplier for passive exhaustion accumulation. - # Exhaustion is the hidden stat which controls when you get hungry. In vanilla it is incremented by running and jumping for example. In TFC, exhaustion is added just by existing. - # 1.0 = A full hunger bar's worth of exhaustion every 2.5 days. Set to zero to disable completely. - #Range: 0.0 ~ 100.0 - passiveExhaustionMultiplier = 1.0 - # - # A multiplier for how quickly the player gets thirsty. - # The player loses thirst in sync with when they lose hunger. This represents how much thirst they lose. 0 = None, 100 = the entire thirst bar. - #Range: 0.0 ~ 100.0 - thirstModifier1 = 5.0 - # - # Enables the player losing more thirst in hotter environments. - enableThirstOverheating = true - # - # How much thirst the player gains from drinking in the rain (standing outside in the rain and looking up) per tick. - #Range: 0.0 ~ 100.0 - thirstGainedFromDrinkingInTheRain = 0.20833333333333334 - # - # A multiplier for how quickly the player regenerates health, under TFC's passive regeneration. - # By default, the player regenerates 0.2 HP/second, or 0.6 HP/second when above 80% hunger and thirst, where 1 HP = 1/50 of a heart. - #Range: 0.0 ~ 100.0 - naturalRegenerationModifier = 1.0 - # - # How much total hunger consumed is required to completely refresh the player's nutrition. - # Player nutrition in TFC is calculated based on nutrition of the last few foods eaten - this is how many foods are used to calculate nutrition. By default, all TFC foods restore 4 hunger. - #Range: > 1 - nutritionRotationHungerWindow = 80 - # - # If player's nutrition should be kept even after death. Hunger and thirst are not affected and will be reset. - keepNutritionAfterDeath = true - # - # How many hours should different foods ignore when trying to stack together automatically? - # Food made with different creation dates doesn't stack by default, unless it's within a specific window. This is the number of hours that different foods will try and stack together at the loss of a little extra expiry time. - #Range: 1 ~ 100 - foodDecayStackWindow = 6 - # - # A multiplier for food decay, or expiration times. Larger values will result in naturally shorter expiration times. - # Setting this to zero will cause decay not to apply. - # Note that if you set this to zero **food items will lose their creation dates!!**. This is not reversible! - #Range: 0.0 ~ 1000.0 - foodDecayModifier = 1.0 - # - # Enables negative effects from carrying too many very heavy items, including potion effects. - enableOverburdening = true - # - # A multiplier for the minimum health that the player will obtain, based on their nutrition - #Range: 0.001 ~ 1000.0 - nutritionMinimumHealthModifier = 0.2 - # - # A multiplier for the default health that the player will have (this is at a average nutrition of 40%, aka the starting nutrition. - # Nutrition above this value will linearly scale to the maximum multiplier. - # Nutrition below this value will linearly scale to the minimum multiplier. - #Range: 0.001 ~ 1000.0 - nutritionDefaultHealthModifier = 0.85 - # - # A multiplier for the maximum health that the player will obtain, based on their nutrition - #Range: 0.001 ~ 1000.0 - nutritionMaximumHealthModifier = 3.0 - - [mechanics.foodTraits] - # - # The modifier for the 'Salted' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitSaltedModifier = 0.5 - # - # The modifier for the 'Brined' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitBrinedModifier = 1.0 - # - # The modifier for the 'Pickled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitPickledModifier = 0.5 - # - # The modifier for the 'Preserved' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitPreservedModifier = 0.5 - # - # The modifier for the 'Vinegar' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitVinegarModifier = 0.1 - # - # The modifier for the 'Charcoal Grilled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitCharcoalGrilledModifier = 1.25 - # - # The modifier for the 'Wood Grilled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitWoodGrilledModifier = 0.8 - # - # The modifier for the 'Burnt To A Crisp' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitBurntToACrispModifier = 2.5 - # - # The modifier for the 'Wild' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitWildModifier = 0.5 - - [mechanics.fluids] - # - # If true, TFC buckets that naturally place sources (colored steel) will place sources. If false, this behavior is disabled. - enableBucketsPlacingSources = true - - [mechanics.vanillaChanges] - # - # If vanilla bonemeal's instant-growth effect should be enabled. - enableVanillaBonemeal = false - # - # If true, vanilla's snow and ice formation mechanics will be used, and none of the TFC mechanics (improved snow and ice placement, snow stacking, icicle formation, passive snow or ice melting) will exist. - enableVanillaWeatherEffects = false - # - # If true, vanilla will attempt to spawn skeleton 'trap' horses during thunderstorms. - enableVanillaSkeletonHorseSpawning = false - # - # If true, enables the default vanilla behavior of mobs spawning with enchanted weapons sometimes. - enableVanillaMobsSpawningWithEnchantments = false - # - # If true, enables the default behavior of mobs sapwning with vanilla armor and weapons - enableVanillaMobsSpawningWithVanillaEquipment = false - # - # If true, golems can be built - enableVanillaGolems = false - # - # If true, vanilla monsters are able to spawn. If false, the 'enableVanillaMonstersOnSurface' config option is not used, and all spawns are denied. - enableVanillaMonsters = true - # - # If true, vanilla monsters will spawn on the surface instead of just underground. If false, vanilla monsters will not spawn on the surface. - enableVanillaMonstersOnSurface = false - # - # If true, chicken jockies can spawn - enableChickenJockies = false - # - # If true, eggs can be thrown. - enableVanillaEggThrowing = false - # - # If true, drinking milk will clear potion effects and restore no nutrition, as in vanilla. - enableVanillaDrinkingMilkClearsPotionEffects = false - - [mechanics.animals] - - [mechanics.animals.pig] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - pigFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - pigAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - pigUses = 60 - # - # Does the animal eat rotten food? - pigEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - pigGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - pigChildCount = 10 - - [mechanics.animals.donkey] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - donkeyFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - donkeyAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - donkeyUses = 60 - # - # Does the animal eat rotten food? - donkeyEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - donkeyGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - donkeyChildCount = 1 - - [mechanics.animals.mule] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - muleFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - muleAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - muleUses = 60 - # - # Does the animal eat rotten food? - muleEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - muleGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - muleChildCount = 1 - - [mechanics.animals.horse] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - horseFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - horseAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - horseUses = 60 - # - # Does the animal eat rotten food? - horseEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - horseGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - horseChildCount = 1 - - [mechanics.animals.cat] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - catFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - catAdulthoodDays = 50 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - catUses = 60 - # - # Does the animal eat rotten food? - catEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - catGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - catChildCount = 6 - - [mechanics.animals.dog] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - dogFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - dogAdulthoodDays = 50 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - dogUses = 60 - # - # Does the animal eat rotten food? - dogEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - dogGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - dogChildCount = 2 - - [mechanics.animals.cow] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - cowFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - cowAdulthoodDays = 192 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - cowUses = 128 - # - # Does the animal eat rotten food? - cowEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - cowGestationDays = 58 - # - # Max number of children born - #Range: 0 ~ 100 - cowChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - cowProduceTicks = 24000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - cowMinProduceFamiliarity = 0.15 - - [mechanics.animals.goat] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - goatFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - goatAdulthoodDays = 96 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - goatUses = 60 - # - # Does the animal eat rotten food? - goatEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - goatGestationDays = 32 - # - # Max number of children born - #Range: 0 ~ 100 - goatChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - goatProduceTicks = 72000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - goatMinProduceFamiliarity = 0.15 - - [mechanics.animals.yak] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - yakFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - yakAdulthoodDays = 180 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - yakUses = 230 - # - # Does the animal eat rotten food? - yakEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - yakGestationDays = 64 - # - # Max number of children born - #Range: 0 ~ 100 - yakChildCount = 1 - # - # Ticks until produce is ready - #Range: > 0 - yakProduceTicks = 23500 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - yakMinProduceFamiliarity = 0.15 - - [mechanics.animals.alpaca] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - alpacaFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - alpacaAdulthoodDays = 98 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - alpacaUses = 128 - # - # Does the animal eat rotten food? - alpacaEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - alpacaGestationDays = 36 - # - # Max number of children born - #Range: 0 ~ 100 - alpacaChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - alpacaProduceTicks = 120000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - alpacaMinProduceFamiliarity = 0.15 - - [mechanics.animals.sheep] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - sheepFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - sheepAdulthoodDays = 56 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - sheepUses = 60 - # - # Does the animal eat rotten food? - sheepEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - sheepGestationDays = 32 - # - # Max number of children born - #Range: 0 ~ 100 - sheepChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - sheepProduceTicks = 168000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - sheepMinProduceFamiliarity = 0.15 - - [mechanics.animals.muskOx] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - muskOxFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - muskOxAdulthoodDays = 168 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - muskOxUses = 160 - # - # Does the animal eat rotten food? - muskOxEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - muskOxGestationDays = 64 - # - # Max number of children born - #Range: 0 ~ 100 - muskOxChildCount = 1 - # - # Ticks until produce is ready - #Range: > 0 - muskOxProduceTicks = 96000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - muskOxMinProduceFamiliarity = 0.15 - - [mechanics.animals.chicken] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - chickenFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - chickenAdulthoodDays = 24 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - chickenUses = 100 - # - # Does the animal eat rotten food? - chickenEatsRottenFood = true - # - # Ticks until produce is ready - #Range: > 0 - chickenProduceTicks = 30000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - chickenMinProduceFamiliarity = 0.15 - # - # Ticks until egg is ready to hatch - #Range: > 0 - chickenHatchDays = 8 - - [mechanics.animals.duck] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - duckFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - duckAdulthoodDays = 32 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - duckUses = 72 - # - # Does the animal eat rotten food? - duckEatsRottenFood = false - # - # Ticks until produce is ready - #Range: > 0 - duckProduceTicks = 32000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - duckMinProduceFamiliarity = 0.15 - # - # Ticks until egg is ready to hatch - #Range: > 0 - duckHatchDays = 8 - - [mechanics.animals.quail] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - quailFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - quailAdulthoodDays = 22 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - quailUses = 48 - # - # Does the animal eat rotten food? - quailEatsRottenFood = true - # - # Ticks until produce is ready - #Range: > 0 - quailProduceTicks = 28000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - quailMinProduceFamiliarity = 0.15 - # - # Ticks until egg is ready to hatch - #Range: > 0 - quailHatchDays = 8 - -[weird] - farmlandMakesTheBestRaceTracks = false - From 076512565ff21dba3db4dd1aa47ef8e237fa072b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 11:58:36 +0700 Subject: [PATCH 152/266] new lumber --- .../assets/tfg/textures/item/crimson_lumber.png | Bin 0 -> 980 bytes kubejs/assets/tfg/textures/item/warped_lumber.png | Bin 0 -> 983 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/tfg/textures/item/crimson_lumber.png create mode 100644 kubejs/assets/tfg/textures/item/warped_lumber.png diff --git a/kubejs/assets/tfg/textures/item/crimson_lumber.png b/kubejs/assets/tfg/textures/item/crimson_lumber.png new file mode 100644 index 0000000000000000000000000000000000000000..078d4dae2893b7110856500d60451fde83234cdb GIT binary patch literal 980 zcmV;_11tQAP)4Tx0C=2zkv&MmKpe$iQ>7x64t9{@kfAzR5EXHhRxE;r(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;qmz@Oin&jJlk{d+ ziyi@?ZQ$a%tI2!7A(Ki)<;agyE&F!tTkJASrM_n!700)P_ zc$u=-J>EUg+uOfqI{p0sAeeH7VmoT%0006DNklA8IUp)2mvL}A>)*II&+KVvCF3- z3cxq}fTCALQ&i5F-6V`SZrC8>lzBP7%%h2`Cn5?!zFrY)`&-z)iyQi=ib5DQDR>ov zR+E+KC7#XR>4+SSkgMB#D(#{x8j*~!bd#8>vs2CE1Rf8@udp(`^apYTY#r{4bR|zc zY~Y3sT2Vw?GcYxSqE|%-cs_TR7nknIjsQT=3i({xBd!@VqZUF4EIkImmr{oH!VZro zuN@ob81S+9T{wY9pvYOrK`1S{y*4>C1nbqY000004Tx0C=2zkv&MmKpe$iQ>7x64t9{@kfAzR5EXHhRxE;r(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;qmz@Oin&jJlk{d+ ziyi@?ZQ$a%tI2!7A(Ki)<;agyE&F!tTkJASrM_n!700)P_ zc$u=-J>EUg+uOfqI{p0sAeeH7VmoT%0006GNklOu*9k--IBARhVv+vGlMGHhm;VF+R9%-~v;%~|&F874QVhR($@vHO zPel}fQhWn9mq*bwf*tMX;V`~!Q%P+x{$`H;CzB^43V@Tz2A z*(^2BV`%yXBQvjCB8?Ut%c8KlilXbtdL7*~Q4NDqGKpU!q@5!`e&wt1$`$sqIds#+t5lFuB2*P48pXG5ir;_W77E0!T$XV7k(y&~Z{rUQ zq8$QN$3YDQC~YLjep$q~ZK&5d)71qm9|v-aOX6(b1=-fygAs|~mCK~(7jUc$dN@pU z_!5eyky~1(+we2smpTi+EpopKxi82`GuBu4*(r@-vM_p^Pm6#002ovPDHLk FV1mn7(Ix-@ literal 0 HcmV?d00001 From 595fa0e5672269c168a2066cdcf5a100841fd235 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 12:01:20 +0700 Subject: [PATCH 153/266] funniest recipes ever --- kubejs/server_scripts/gregtech/tags.js | 14 + kubejs/server_scripts/main_server_script.js | 6 +- kubejs/server_scripts/minecraft/recipes.js | 509 ++++++- kubejs/server_scripts/minecraft/tags.js | 29 +- .../startup_scripts/gregtech/material_info.js | 2 +- kubejs/startup_scripts/main_startup_script.js | 1 + kubejs/startup_scripts/minecraft/constants.js | 1252 +++++++++-------- kubejs/startup_scripts/minecraft/items.js | 6 + 8 files changed, 1154 insertions(+), 665 deletions(-) create mode 100644 kubejs/startup_scripts/minecraft/items.js diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 19d180766..3b58a9079 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -69,6 +69,20 @@ const registerGregTechItemTags = (event) => { event.add('tfg:stone_dusts', 'gtceu:stone_dust') //#endregion + //#region Объединение некоторых предметов из WroughtIron и Iron в один тег + event.add('tfg:all_iron_screws', 'gtceu:iron_screw') + event.add('tfg:all_iron_screws', 'gtceu:wrought_iron_screw') + + event.add('tfg:all_iron_rings', 'gtceu:iron_ring') + event.add('tfg:all_iron_rings', 'gtceu:wrought_iron_ring') + + event.add('tfg:all_iron_bolts', 'gtceu:iron_bolt') + event.add('tfg:all_iron_bolts', 'gtceu:wrought_iron_bolt') + + event.add('tfg:all_iron_springs', 'gtceu:iron_spring') + event.add('tfg:all_iron_springs', 'gtceu:wrought_iron_spring') + //#endregion + //#region Скрываем все руды (не используем #forge:ores, потому что будет пересечение) event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/red_granite') //todo: может его удалить? event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/marble') diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 2dcc8450c..c398d71b5 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -17,7 +17,7 @@ ServerEvents.tags('item', event => { // registerFTBQuestsItemTags(event) registerGregTechItemTags(event) // registerMegaCellsItemTags(event) - // registerMinecraftItemTags(event) + registerMinecraftItemTags(event) // registerMoreRedItemTags(event) // registerHotOrNotItemTags(event) // registerRailWaysItemTags(event) @@ -42,7 +42,7 @@ ServerEvents.tags('block', event => { // registerFTBQuestsBlockTags(event) registerGregTechBlockTags(event) // registerMegaCellsBlockTags(event) - // registerMinecraftBlockTags(event) + registerMinecraftBlockTags(event) // registerMoreRedBlockTags(event) // registerHotOrNotBlockTags(event) // registerRailWaysBlockTags(event) @@ -121,7 +121,7 @@ ServerEvents.recipes(event => { // registerHotOrNotRecipes(event) // registerMegaCellsRecipes(event) // registerMERequesterRecipes(event) - // registerMinecraftRecipes(event) + registerMinecraftRecipes(event) // registerMoreRedRecipes(event) // registerRailWaysRecipes(event) // registerSophisticatedBackpacksRecipes(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index b7d88551b..1f0e6b800 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1,6 +1,483 @@ // priority: 0 -const registerMinecraftRecipes = (event) => { +const registerMinecraftRecipes = (e) => { + + //#region Дерево + + //#region Дерево обычного мира + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(wood => { + + // Wood + e.remove({ id: `minecraft:${wood}_wood` }) + + // Stripped Log + e.remove({ id: `create:cutting/${wood}_log` }) + + // Stripped Wood + e.remove({ id: `minecraft:stripped_${wood}_wood` }) + e.remove({ id: `create:cutting/${wood}_wood` }) + + // Planks + e.remove({ id: `gtceu:shapeless/${wood}_planks` }) + e.remove({ id: `gtceu:shaped/${wood}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${wood}_planks_water` }) + e.remove({ id: `gtceu:cutter/${wood}_planks` }) + e.remove({ id: `gtceu:cutter/${wood}_planks_distilled_water` }) + e.remove({ id: `create:cutting/stripped_${wood}_wood` }) + e.remove({ id: `create:cutting/stripped_${wood}_log` }) + + // Stairs + e.remove({ id: `minecraft:${wood}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${wood}_stairs_from_${wood}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${wood}_stairs` }) + + // Slabs + e.remove({ id: `gtceu:shaped/${wood}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${wood}_slab_from_${wood}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${wood}_slab` }) + e.remove({ id: `gtceu:cutter/${wood}_slab_distilled_water` }) + e.remove({ id: `gtceu:cutter/${wood}_slab_water` }) + + // Fence + e.remove({ id: `gtceu:shaped/${wood}_fence` }) + e.remove({ id: `gtceu:assembler/${wood}_fence` }) + + // Fence Gate + e.remove({ id: `gtceu:shaped/${wood}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${wood}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${wood}_fence_gate` }) + + // Door + e.remove({ id: `gtceu:shaped/${wood}_door` }) + e.remove({ id: `gtceu:assembler/${wood}_door` }) + + // Trapdoor + e.remove({ id: `minecraft:${wood}_trapdoor` }) + + // Pressure Plate + e.remove({ id: `gtceu:shaped/${wood}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${wood}_pressure_plate` }) + + // Button + e.remove({ id: `gtceu:shaped/${wood}_button` }) + e.remove({ id: `gtceu:cutter/${wood}_button` }) + e.remove({ id: `gtceu:cutter/${wood}_button_distilled_water` }) + e.remove({ id: `gtceu:cutter/${wood}_button_water` }) + + // Sign + e.remove({ id: `minecraft:${wood}_sign` }) + e.remove({ id: `gtceu:assembler/${wood}_sign` }) + + // Hanging Sign + e.remove({ id: `minecraft:${wood}_hanging_sign` }) + e.remove({ id: `gtceu:assembler/${wood}_hanging_sign` }) + + // Boat + e.remove({ id: `gtceu:shaped/${wood}_boat` }) + e.remove({ id: `gtceu:assembler/${wood}_boat` }) + + // Boat with chest + e.remove({ id: `gtceu:shaped/${wood}_chest_boat` }) + e.remove({ id: `gtceu:assembler/${wood}_chest_boat` }) + }) + //#endregion + + //#region Дерево ада + global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + + //#region Удаление + + // Planks + e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) + e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) + + // Stairs + e.remove({ id: `minecraft:${woodName}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) + + // Slabs + e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + + // Fence + e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence` }) + + // Fence Gate + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) + + // Door + e.remove({ id: `gtceu:shaped/${woodName}_door` }) + e.remove({ id: `gtceu:assembler/${woodName}_door` }) + + // Trapdoor + e.remove({ id: `minecraft:${woodName}_trapdoor` }) + + // Pressure Plate + e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) + + // Button + // e.remove({ id: `gtceu:shaped/${wood}_button` }) + // e.remove({ id: `gtceu:cutter/${wood}_button_water` }) + // e.remove({ id: `gtceu:cutter/${wood}_button` }) + // e.remove({ id: `gtceu:cutter/${wood}_button_distilled_water` }) + + // Sign + e.remove({ id: `minecraft:${wood}_sign` }) + e.remove({ id: `gtceu:assembler/${wood}_sign` }) + + //#endregion + + //#region Добавление + const allLogs = `#minecraft:${woodName}_stems` + + const log = Item.of(`minecraft:${woodName}_stem`); + const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) + + const wood = Item.of(`minecraft:${woodName}_hyphae`) + const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) + + const plank = Item.of(`minecraft:${woodName}_planks`) + const stair = Item.of(`minecraft:${woodName}_stairs`) + const slab = Item.of(`minecraft:${woodName}_slab`) + + const fence = Item.of(`minecraft:${woodName}_fence`) + const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) + + const door = Item.of(`minecraft:${woodName}_door`) + const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + + const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + // const button = Item.of(`minecraft:${woodName}_button`) + + const sign = Item.of(`minecraft:${woodName}_sign`) + const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + + const lumber = Item.of(`tfg:${woodName}_lumber`) + + //#region Stripped Log + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) + .itemInputs(log) + .circuit(0) + .itemOutputs(strippedLog) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Stripped Wood + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) + .itemInputs(wood) + .circuit(0) + .itemOutputs(strippedWood) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Planks + e.shaped(plank, [ + 'AA', + 'AA' + ], { + A: lumber + }).id(`tfg:${woodName}_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) + .itemInputs(allLogs) + .circuit(1) + .itemOutputs(plank.copyWithCount(6)) + .itemOutputs('2x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Stairs + e.shaped(stair, [ + 'As' + ], { + A: allLogs, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_stairs_saw`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) + .itemInputs(allLogs) + .circuit(2) + .itemOutputs(stair.copyWithCount(12)) + .itemOutputs('12x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) + .itemInputs(plank) + .circuit(0) + .itemOutputs(stair) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Slabs + e.shaped(slab.copyWithCount(2), [ + 's', + 'A' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_slabs_saw`) + + e.shaped(slab, [ + 'LL' + ], { + L: lumber + }).id(`tfg:${woodName}_slabs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) + .itemInputs(allLogs) + .circuit(3) + .itemOutputs(slab.copyWithCount(24)) + .itemOutputs('24x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) + .itemInputs(plank) + .circuit(1) + .itemOutputs(slab.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Fence + e.shaped(fence.copyWithCount(8), [ + 'h s', + 'ABA', + 'ACA' + ], { + A: plank, + B: '#forge:rods/wooden', + C: lumber, + h: '#forge:tools/hammers', + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_fence`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + .itemInputs(plank) + .circuit(2) + .itemOutputs(fence.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Fence Gate + e.shaped(fenceGate, [ + 'A A', + 'BCB', + 'DCD' + ], { + A: 'minecraft:flint', + B: '#forge:rods/wooden', + C: plank, + D: lumber + }).id(`tfg:${woodName}_fence_gate_flint`) + + e.shaped(fenceGate.copyWithCount(2), [ + 'AEA', + 'BCB', + 'DCD' + ], { + A: '#forge:screws', + B: '#forge:rods/wooden', + C: plank, + D: lumber, + E: '#forge:tools/screwdrivers' + }).id(`tfg:${woodName}_fence_gate_screws`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) + .itemInputs(plank.copyWithCount(2)) + .itemInputs('2x #forge:rods/wooden') + .circuit(3) + .itemOutputs(fenceGate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Door + e.shaped(door, [ + 'ABd', + 'ACD', + 'AAs' + ], { + A: lumber, + B: trapdoor, + C: '#forge:rings', + D: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:${woodName}_door`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_door`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs(trapdoor) + .inputFluids(Fluid.of('gtceu:iron', 16)) + .circuit(0) + .itemOutputs(door) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Trapdoor + e.shaped(trapdoor, [ + 'ABd', + 'ACs' + ], { + A: lumber, + B: '#forge:rings', + C: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:${woodName}_trapdoor`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) + .itemInputs(lumber.copyWithCount(2)) + .inputFluids(Fluid.of('gtceu:iron', 16)) + .circuit(0) + .itemOutputs(trapdoor) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Pressure Plate + e.shaped(pressurePlate.copyWithCount(2), [ + 'AmA', + 'BCB', + 'AdA' + ], { + A: 'gtceu:wood_bolt', + B: slab, + C: '#tfg:all_iron_springs', + m: '#forge:tools/mallets', + d: '#forge:tools/screwdrivers' + }).id(`tfg:${woodName}_pressure_plate`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) + .itemInputs(slab.copyWithCount(2)) + .itemInputs('#tfg:all_iron_springs') + .circuit(0) + .itemOutputs(pressurePlate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Lumber + + //#region Из бревен + e.shaped(lumber.copyWithCount(8), [ + 'A', + 's' + ], { + A: allLogs, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_planks_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(12).withChance(0.95), allLogs) + .id(`tfg:${woodName}_lumber_from_planks_cutting`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_planks`) + .itemInputs(allLogs) + .circuit(4) + .itemOutputs(lumber.copyWithCount(16)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из ступенек + e.shaped(lumber.copyWithCount(3), [ + 'A', + 's' + ], { + A: stair, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_stairs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(3).withChance(0.95), stair) + .id(`tfg:${woodName}_lumber_from_stairs_cutting`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_stairs`) + .itemInputs(stair) + .circuit(4) + .itemOutputs(lumber.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из полублоков + e.shaped(lumber.copyWithCount(2), [ + 'A', + 's' + ], { + A: slab, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_slab_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(2).withChance(0.95), slab) + .id(`tfg:${woodName}_lumber_from_slab_cutting`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_slab`) + .itemInputs(slab) + .circuit(4) + .itemOutputs(lumber.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Табличка + e.shaped(sign.copyWithCount(3), [ + 'AAA', + 'AAA', + 'mB ' + ], { + A: lumber, + B: '#forge:rods/wooden', + m: '#forge:tools/mallets' + }).id(`tfg:${woodName}_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) + .itemInputs(lumber.copyWithCount(6)) + .circuit(3) + .itemOutputs(sign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Висящая табличка + e.shaped(hangingSign.copyWithCount(3), [ + 'AmA', + 'CBC', + 'BBB' + ], { + A: '#tfg:metal_chains', + B: lumber, + C: '#forge:screws', + m: '#forge:tools/mallets' + }).id(`tfg:${woodName}_hanging_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs('2x #tfg:metal_chains') + .inputFluids(Fluid.of('gtceu:iron', 32)) + .circuit(4) + .itemOutputs(hangingSign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + }) + //#endregion + + //#endregion +} + +const registerMinecraftRecipes1 = (event) => { //#region Выход: Камень @@ -914,37 +1391,7 @@ const registerMinecraftRecipes = (event) => { //#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 Выход: Камнерез diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 596f3af33..9502ce007 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -2,27 +2,30 @@ const registerMinecraftItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) + // event.removeAllTagsFrom(item) + // event.add('c:hidden_from_recipe_viewers', item) }) - global.MINECRAFT_HIDED_ITEMS.forEach(item => { - event.add('c:hidden_from_recipe_viewers', item) - }) + // global.MINECRAFT_HIDED_ITEMS.forEach(item => { + // event.add('c:hidden_from_recipe_viewers', item) + // }) - // Теперь обсидиан сторадж блок - event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + event.add('tfc:lumber', 'tfg:crimson_lumber') + event.add('tfc:lumber', 'tfg:warped_lumber') - // Бамбуковые полублоки - event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') - event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') + // // Теперь обсидиан сторадж блок + // 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') } const registerMinecraftBlockTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) + // event.removeAllTagsFrom(item) }) - // Теперь обсидиан сторадж блок - event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + // // Теперь обсидиан сторадж блок + // event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') } \ No newline at end of file diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index 2c864c2d0..a3063cb32 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -3,7 +3,7 @@ const registerGregTechMaterialInfo = (event) => { //#region Дерево - global.VANILLA_WOOD_TYPES.forEach(woodType => { + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodType => { // event.remove(`minecraft:${woodType}_planks`) // event.remove(`minecraft:${woodType}_stairs`) // event.remove(`minecraft:${woodType}_slab`) diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index a52cbe931..caae33c19 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -5,6 +5,7 @@ */ StartupEvents.registry('item', event => { registerGregTechItems(event) + registerMinecraftItems(event) }) /** diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 329cfd31d..247a66c0f 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -5,192 +5,10 @@ * у которых должны быть удалены тэги и они должны быть скрыты в REI. */ global.MINECRAFT_DISABLED_ITEMS = [ - // Зараженные блоки - 'minecraft:infested_stone', - 'minecraft:infested_cobblestone', - 'minecraft:infested_stone_bricks', - 'minecraft:infested_mossy_stone_bricks', - 'minecraft:infested_cracked_stone_bricks', - 'minecraft:infested_chiseled_stone_bricks', - 'minecraft:infested_deepslate', - - // Каменные блоки - 'minecraft:stone', - 'minecraft:stone_stairs', - 'minecraft:stone_slab', - 'minecraft:stone_pressure_plate', - 'minecraft:stone_button', - 'minecraft:smooth_stone', - 'minecraft:smooth_stone_slab', - 'minecraft:cobblestone', - 'minecraft:cobblestone_stairs', - 'minecraft:cobblestone_slab', - 'minecraft:cobblestone_wall', - 'minecraft:stone_bricks', - 'minecraft:stone_brick_stairs', - 'minecraft:stone_brick_slab', - 'minecraft:stone_brick_wall', - 'minecraft:cracked_stone_bricks', - 'minecraft:chiseled_stone_bricks', - 'minecraft:mossy_stone_bricks', - 'minecraft:mossy_stone_brick_stairs', - 'minecraft:mossy_stone_brick_slab', - 'minecraft:mossy_stone_brick_wall', - 'minecraft:mossy_cobblestone', - 'minecraft:mossy_cobblestone_stairs', - 'minecraft:mossy_cobblestone_slab', - 'minecraft:mossy_cobblestone_wall', - - // Гранитовые блоки - 'minecraft:granite', - 'minecraft:granite_stairs', - 'minecraft:granite_slab', - 'minecraft:granite_wall', - 'minecraft:polished_granite', - 'minecraft:polished_granite_stairs', - 'minecraft:polished_granite_slab', - // Диоритовые блоки - 'minecraft:diorite', - 'minecraft:diorite_stairs', - 'minecraft:diorite_slab', - 'minecraft:diorite_wall', - 'minecraft:polished_diorite', - 'minecraft:polished_diorite_stairs', - 'minecraft:polished_diorite_slab', - - // Андезитовые блоки - 'minecraft:andesite', - 'minecraft:andesite_stairs', - 'minecraft:andesite_slab', - 'minecraft:andesite_wall', - 'minecraft:polished_andesite', - 'minecraft:polished_andesite_stairs', - 'minecraft:polished_andesite_slab', + //#region Дерево - // Призмарин - 'minecraft:prismarine', - 'minecraft:prismarine_stairs', - 'minecraft:prismarine_slab', - 'minecraft:prismarine_wall', - 'minecraft:prismarine_bricks', - 'minecraft:prismarine_brick_stairs', - 'minecraft:prismarine_brick_slab', - 'minecraft:dark_prismarine', - 'minecraft:dark_prismarine_stairs', - 'minecraft:dark_prismarine_slab', - 'minecraft:prismarine_crystals', - 'minecraft:prismarine_shard', - - // Эндстоун - 'minecraft:end_stone', - 'minecraft:end_stone_bricks', - 'minecraft:end_stone_brick_stairs', - 'minecraft:end_stone_brick_slab', - 'minecraft:end_stone_brick_wall', - - // Сланец - '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', - - // Грязь - 'minecraft:mud_brick_wall', - 'minecraft:packed_mud', - 'minecraft:mud_bricks', - 'minecraft:mud_brick_stairs', - 'minecraft:mud_brick_slab', - - // Руды - 'minecraft:coal_ore', - 'minecraft:iron_ore', - 'minecraft:copper_ore', - 'minecraft:gold_ore', - 'minecraft:redstone_ore', - 'minecraft:emerald_ore', - 'minecraft:lapis_ore', - 'minecraft:diamond_ore', - 'minecraft:deepslate_coal_ore', - 'minecraft:deepslate_iron_ore', - 'minecraft:deepslate_copper_ore', - 'minecraft:deepslate_gold_ore', - 'minecraft:deepslate_redstone_ore', - 'minecraft:deepslate_emerald_ore', - 'minecraft:deepslate_lapis_ore', - 'minecraft:deepslate_diamond_ore', - 'minecraft:nether_gold_ore', - 'minecraft:nether_quartz_ore', - 'minecraft:ancient_debris', - - // Песок - 'minecraft:sandstone', - 'minecraft:sandstone_stairs', - 'minecraft:sandstone_slab', - 'minecraft:sandstone_wall', - 'minecraft:smooth_sandstone', - 'minecraft:smooth_sandstone_stairs', - 'minecraft:smooth_sandstone_slab', - 'minecraft:cut_sandstone', - 'minecraft:cut_sandstone_slab', - 'minecraft:chiseled_sandstone', - 'minecraft:sand', - 'minecraft:suspicious_sand', - - // Красный песок - 'minecraft:red_sandstone', - 'minecraft:red_sandstone_stairs', - 'minecraft:red_sandstone_slab', - 'minecraft:red_sandstone_wall', - 'minecraft:smooth_red_sandstone', - 'minecraft:smooth_red_sandstone_stairs', - 'minecraft:smooth_red_sandstone_slab', - 'minecraft:cut_red_sandstone', - 'minecraft:cut_red_sandstone_slab', - 'minecraft:chiseled_red_sandstone', - 'minecraft:red_sand', - - // Кораллы - 'minecraft:horn_coral', - 'minecraft:horn_coral_fan', - 'minecraft:dead_brain_coral', - 'minecraft:dead_brain_coral_fan', - 'minecraft:dead_tube_coral_fan', - 'minecraft:dead_bubble_coral', - 'minecraft:dead_fire_coral', - 'minecraft:dead_horn_coral', - 'minecraft:dead_bubble_coral_fan', - 'minecraft:dead_fire_coral_fan', - 'minecraft:dead_tube_coral', - 'minecraft:brain_coral', - 'minecraft:tube_coral', - 'minecraft:tube_coral_fan', - 'minecraft:dead_horn_coral_fan', - 'minecraft:bubble_coral_fan', - 'minecraft:fire_coral_fan', - 'minecraft:brain_coral_fan', - 'minecraft:bubble_coral', - 'minecraft:fire_coral', - - // Дерево - // Дуб + //#region Дуб "minecraft:oak_wood", "minecraft:oak_leaves", "minecraft:oak_sapling", @@ -211,8 +29,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:oak_sign", "minecraft:oak_hanging_sign", "minecraft:oak_button", + //#endregion - // Темный дуб + //#region Темный дуб "minecraft:dark_oak_planks", "minecraft:dark_oak_sapling", "minecraft:dark_oak_log", @@ -232,8 +51,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:dark_oak_chest_boat", "minecraft:dark_oak_sign", "minecraft:dark_oak_hanging_sign", - - // Акация + //#endregion + + //#region Акация "minecraft:acacia_planks", "minecraft:acacia_sapling", "minecraft:acacia_log", @@ -253,8 +73,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:acacia_chest_boat", "minecraft:acacia_sign", "minecraft:acacia_hanging_sign", + //#endregion - // Береза + //#region Береза "minecraft:birch_planks", "minecraft:birch_sapling", "minecraft:birch_log", @@ -274,8 +95,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:birch_chest_boat", "minecraft:birch_sign", "minecraft:birch_hanging_sign", + //#endregion - // Тропическое + //#region Тропическое "minecraft:jungle_planks", "minecraft:jungle_sapling", "minecraft:jungle_log", @@ -295,8 +117,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:jungle_chest_boat", "minecraft:jungle_sign", "minecraft:jungle_hanging_sign", + //#endregion - // Ель + //#region Ель "minecraft:spruce_planks", "minecraft:spruce_sapling", "minecraft:spruce_log", @@ -316,8 +139,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:spruce_chest_boat", "minecraft:spruce_sign", "minecraft:spruce_hanging_sign", + //#endregion - // Вишня + //#region Вишня "minecraft:cherry_planks", "minecraft:cherry_sapling", "minecraft:cherry_log", @@ -337,8 +161,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:cherry_chest_boat", "minecraft:cherry_sign", "minecraft:cherry_hanging_sign", + //#endregion - // Мангровое + //#region Мангровое "minecraft:mangrove_planks", "minecraft:mangrove_propagule", "minecraft:mangrove_log", @@ -360,470 +185,658 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:mangrove_chest_boat", "minecraft:mangrove_sign", "minecraft:mangrove_hanging_sign", + //#endregion + + //#endregion + + + // Зараженные блоки + // 'minecraft:infested_stone', + // 'minecraft:infested_cobblestone', + // 'minecraft:infested_stone_bricks', + // 'minecraft:infested_mossy_stone_bricks', + // 'minecraft:infested_cracked_stone_bricks', + // 'minecraft:infested_chiseled_stone_bricks', + // 'minecraft:infested_deepslate', + + // Каменные блоки + // 'minecraft:stone', + // 'minecraft:stone_stairs', + // 'minecraft:stone_slab', + // 'minecraft:stone_pressure_plate', + // 'minecraft:stone_button', + // 'minecraft:smooth_stone', + // 'minecraft:smooth_stone_slab', + // 'minecraft:cobblestone', + // 'minecraft:cobblestone_stairs', + // 'minecraft:cobblestone_slab', + // 'minecraft:cobblestone_wall', + // 'minecraft:stone_bricks', + // 'minecraft:stone_brick_stairs', + // 'minecraft:stone_brick_slab', + // 'minecraft:stone_brick_wall', + // 'minecraft:cracked_stone_bricks', + // 'minecraft:chiseled_stone_bricks', + // 'minecraft:mossy_stone_bricks', + // 'minecraft:mossy_stone_brick_stairs', + // 'minecraft:mossy_stone_brick_slab', + // 'minecraft:mossy_stone_brick_wall', + // 'minecraft:mossy_cobblestone', + // 'minecraft:mossy_cobblestone_stairs', + // 'minecraft:mossy_cobblestone_slab', + // 'minecraft:mossy_cobblestone_wall', + + // Гранитовые блоки + // 'minecraft:granite', + // 'minecraft:granite_stairs', + // 'minecraft:granite_slab', + // 'minecraft:granite_wall', + // 'minecraft:polished_granite', + // 'minecraft:polished_granite_stairs', + // 'minecraft:polished_granite_slab', + + // Диоритовые блоки + // 'minecraft:diorite', + // 'minecraft:diorite_stairs', + // 'minecraft:diorite_slab', + // 'minecraft:diorite_wall', + // 'minecraft:polished_diorite', + // 'minecraft:polished_diorite_stairs', + // 'minecraft:polished_diorite_slab', + + // Андезитовые блоки + // 'minecraft:andesite', + // 'minecraft:andesite_stairs', + // 'minecraft:andesite_slab', + // 'minecraft:andesite_wall', + // 'minecraft:polished_andesite', + // 'minecraft:polished_andesite_stairs', + // 'minecraft:polished_andesite_slab', + + // Призмарин + // 'minecraft:prismarine', + // 'minecraft:prismarine_stairs', + // 'minecraft:prismarine_slab', + // 'minecraft:prismarine_wall', + // 'minecraft:prismarine_bricks', + // 'minecraft:prismarine_brick_stairs', + // 'minecraft:prismarine_brick_slab', + // 'minecraft:dark_prismarine', + // 'minecraft:dark_prismarine_stairs', + // 'minecraft:dark_prismarine_slab', + // 'minecraft:prismarine_crystals', + // 'minecraft:prismarine_shard', + + // Эндстоун + // 'minecraft:end_stone', + // 'minecraft:end_stone_bricks', + // 'minecraft:end_stone_brick_stairs', + // 'minecraft:end_stone_brick_slab', + // 'minecraft:end_stone_brick_wall', + + // Сланец + // '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', + + // Грязь + // 'minecraft:mud_brick_wall', + // 'minecraft:packed_mud', + // 'minecraft:mud_bricks', + // 'minecraft:mud_brick_stairs', + // 'minecraft:mud_brick_slab', + + // Руды + // 'minecraft:coal_ore', + // 'minecraft:iron_ore', + // 'minecraft:copper_ore', + // 'minecraft:gold_ore', + // 'minecraft:redstone_ore', + // 'minecraft:emerald_ore', + // 'minecraft:lapis_ore', + // 'minecraft:diamond_ore', + // 'minecraft:deepslate_coal_ore', + // 'minecraft:deepslate_iron_ore', + // 'minecraft:deepslate_copper_ore', + // 'minecraft:deepslate_gold_ore', + // 'minecraft:deepslate_redstone_ore', + // 'minecraft:deepslate_emerald_ore', + // 'minecraft:deepslate_lapis_ore', + // 'minecraft:deepslate_diamond_ore', + // 'minecraft:nether_gold_ore', + // 'minecraft:nether_quartz_ore', + // 'minecraft:ancient_debris', + + // Песок + // 'minecraft:sandstone', + // 'minecraft:sandstone_stairs', + // 'minecraft:sandstone_slab', + // 'minecraft:sandstone_wall', + // 'minecraft:smooth_sandstone', + // 'minecraft:smooth_sandstone_stairs', + // 'minecraft:smooth_sandstone_slab', + // 'minecraft:cut_sandstone', + // 'minecraft:cut_sandstone_slab', + // 'minecraft:chiseled_sandstone', + // 'minecraft:sand', + // 'minecraft:suspicious_sand', + + // Красный песок + // 'minecraft:red_sandstone', + // 'minecraft:red_sandstone_stairs', + // 'minecraft:red_sandstone_slab', + // 'minecraft:red_sandstone_wall', + // 'minecraft:smooth_red_sandstone', + // 'minecraft:smooth_red_sandstone_stairs', + // 'minecraft:smooth_red_sandstone_slab', + // 'minecraft:cut_red_sandstone', + // 'minecraft:cut_red_sandstone_slab', + // 'minecraft:chiseled_red_sandstone', + // 'minecraft:red_sand', + + // Кораллы + // 'minecraft:horn_coral', + // 'minecraft:horn_coral_fan', + // 'minecraft:dead_brain_coral', + // 'minecraft:dead_brain_coral_fan', + // 'minecraft:dead_tube_coral_fan', + // 'minecraft:dead_bubble_coral', + // 'minecraft:dead_fire_coral', + // 'minecraft:dead_horn_coral', + // 'minecraft:dead_bubble_coral_fan', + // 'minecraft:dead_fire_coral_fan', + // 'minecraft:dead_tube_coral', + // 'minecraft:brain_coral', + // 'minecraft:tube_coral', + // 'minecraft:tube_coral_fan', + // 'minecraft:dead_horn_coral_fan', + // 'minecraft:bubble_coral_fan', + // 'minecraft:fire_coral_fan', + // 'minecraft:brain_coral_fan', + // 'minecraft:bubble_coral', + // 'minecraft:fire_coral', // Бамбук - 'minecraft:bamboo_sign', - 'minecraft:bamboo_hanging_sign', - 'minecraft:bamboo_raft', - 'minecraft:bamboo_chest_raft', + // 'minecraft:bamboo_sign', + // 'minecraft:bamboo_hanging_sign', + // 'minecraft:bamboo_raft', + // 'minecraft:bamboo_chest_raft', // Шалкеры - 'minecraft:shulker_box', - 'minecraft:white_shulker_box', - 'minecraft:orange_shulker_box', - 'minecraft:magenta_shulker_box', - 'minecraft:light_blue_shulker_box', - 'minecraft:yellow_shulker_box', - 'minecraft:lime_shulker_box', - 'minecraft:pink_shulker_box', - 'minecraft:gray_shulker_box', - 'minecraft:light_gray_shulker_box', - 'minecraft:cyan_shulker_box', - 'minecraft:purple_shulker_box', - 'minecraft:blue_shulker_box', - 'minecraft:brown_shulker_box', - 'minecraft:green_shulker_box', - 'minecraft:red_shulker_box', - 'minecraft:black_shulker_box', + // 'minecraft:shulker_box', + // 'minecraft:white_shulker_box', + // 'minecraft:orange_shulker_box', + // 'minecraft:magenta_shulker_box', + // 'minecraft:light_blue_shulker_box', + // 'minecraft:yellow_shulker_box', + // 'minecraft:lime_shulker_box', + // 'minecraft:pink_shulker_box', + // 'minecraft:gray_shulker_box', + // 'minecraft:light_gray_shulker_box', + // 'minecraft:cyan_shulker_box', + // 'minecraft:purple_shulker_box', + // 'minecraft:blue_shulker_box', + // 'minecraft:brown_shulker_box', + // 'minecraft:green_shulker_box', + // 'minecraft:red_shulker_box', + // 'minecraft:black_shulker_box', // Мясо - 'minecraft:porkchop', - 'minecraft:chicken', - 'minecraft:mutton', - 'minecraft:rabbit', - 'minecraft:beef', - 'minecraft:cooked_porkchop', - 'minecraft:cooked_chicken', - 'minecraft:cooked_mutton', - 'minecraft:cooked_rabbit', - 'minecraft:cooked_beef', + // 'minecraft:porkchop', + // 'minecraft:chicken', + // 'minecraft:mutton', + // 'minecraft:rabbit', + // 'minecraft:beef', + // 'minecraft:cooked_porkchop', + // 'minecraft:cooked_chicken', + // 'minecraft:cooked_mutton', + // 'minecraft:cooked_rabbit', + // 'minecraft:cooked_beef', // Семена - 'minecraft:wheat_seeds', - 'minecraft:pumpkin_seeds', - 'minecraft:melon_seeds', - 'minecraft:torchflower_seeds', - 'minecraft:beetroot_seeds', + // 'minecraft:wheat_seeds', + // 'minecraft:pumpkin_seeds', + // 'minecraft:melon_seeds', + // 'minecraft:torchflower_seeds', + // 'minecraft:beetroot_seeds', // Инструменты - "minecraft:wooden_sword", - "minecraft:wooden_pickaxe", - "minecraft:wooden_axe", - "minecraft:wooden_shovel", - "minecraft:wooden_hoe", + // "minecraft:wooden_sword", + // "minecraft:wooden_pickaxe", + // "minecraft:wooden_axe", + // "minecraft:wooden_shovel", + // "minecraft:wooden_hoe", - "minecraft:stone_sword", - "minecraft:stone_pickaxe", - "minecraft:stone_axe", - "minecraft:stone_shovel", - "minecraft:stone_hoe", + // "minecraft:stone_sword", + // "minecraft:stone_pickaxe", + // "minecraft:stone_axe", + // "minecraft:stone_shovel", + // "minecraft:stone_hoe", - "minecraft:iron_sword", - "minecraft:iron_pickaxe", - "minecraft:iron_axe", - "minecraft:iron_shovel", - "minecraft:iron_hoe", + // "minecraft:iron_sword", + // "minecraft:iron_pickaxe", + // "minecraft:iron_axe", + // "minecraft:iron_shovel", + // "minecraft:iron_hoe", - "minecraft:golden_sword", - "minecraft:golden_pickaxe", - "minecraft:golden_axe", - "minecraft:golden_shovel", - "minecraft:golden_hoe", + // "minecraft:golden_sword", + // "minecraft:golden_pickaxe", + // "minecraft:golden_axe", + // "minecraft:golden_shovel", + // "minecraft:golden_hoe", - "minecraft:diamond_sword", - "minecraft:diamond_pickaxe", - "minecraft:diamond_axe", - "minecraft:diamond_shovel", - "minecraft:diamond_hoe", + // "minecraft:diamond_sword", + // "minecraft:diamond_pickaxe", + // "minecraft:diamond_axe", + // "minecraft:diamond_shovel", + // "minecraft:diamond_hoe", - "minecraft:netherite_sword", - "minecraft:netherite_pickaxe", - "minecraft:netherite_axe", - "minecraft:netherite_shovel", - "minecraft:netherite_hoe", + // "minecraft:netherite_sword", + // "minecraft:netherite_pickaxe", + // "minecraft:netherite_axe", + // "minecraft:netherite_shovel", + // "minecraft:netherite_hoe", // Броня - "minecraft:netherite_helmet", - "minecraft:netherite_chestplate", - "minecraft:netherite_leggings", - "minecraft:netherite_boots", - "minecraft:golden_helmet", - "minecraft:golden_chestplate", - "minecraft:golden_leggings", - "minecraft:golden_boots", - "minecraft:iron_helmet", - "minecraft:iron_chestplate", - "minecraft:iron_leggings", - "minecraft:iron_boots", - "minecraft:chainmail_helmet", - "minecraft:chainmail_chestplate", - "minecraft:chainmail_leggings", - "minecraft:chainmail_boots", - "minecraft:diamond_helmet", - "minecraft:diamond_chestplate", - "minecraft:diamond_leggings", - "minecraft:diamond_boots", + // "minecraft:netherite_helmet", + // "minecraft:netherite_chestplate", + // "minecraft:netherite_leggings", + // "minecraft:netherite_boots", + // "minecraft:golden_helmet", + // "minecraft:golden_chestplate", + // "minecraft:golden_leggings", + // "minecraft:golden_boots", + // "minecraft:iron_helmet", + // "minecraft:iron_chestplate", + // "minecraft:iron_leggings", + // "minecraft:iron_boots", + // "minecraft:chainmail_helmet", + // "minecraft:chainmail_chestplate", + // "minecraft:chainmail_leggings", + // "minecraft:chainmail_boots", + // "minecraft:diamond_helmet", + // "minecraft:diamond_chestplate", + // "minecraft:diamond_leggings", + // "minecraft:diamond_boots", - "minecraft:iron_horse_armor", - "minecraft:golden_horse_armor", - "minecraft:diamond_horse_armor", + // "minecraft:iron_horse_armor", + // "minecraft:golden_horse_armor", + // "minecraft:diamond_horse_armor", // Декоративные куски вазы - 'minecraft:danger_pottery_sherd', - 'minecraft:explorer_pottery_sherd', - 'minecraft:friend_pottery_sherd', - 'minecraft:heart_pottery_sherd', - 'minecraft:heartbreak_pottery_sherd', - 'minecraft:howl_pottery_sherd', - 'minecraft:arms_up_pottery_sherd', - 'minecraft:archer_pottery_sherd', - 'minecraft:angler_pottery_sherd', - 'minecraft:snort_pottery_sherd', - 'minecraft:skull_pottery_sherd', - 'minecraft:shelter_pottery_sherd', - 'minecraft:sheaf_pottery_sherd', - 'minecraft:prize_pottery_sherd', - 'minecraft:plenty_pottery_sherd', - 'minecraft:mourner_pottery_sherd', - 'minecraft:miner_pottery_sherd', - 'minecraft:blade_pottery_sherd', - 'minecraft:brewer_pottery_sherd', - 'minecraft:burn_pottery_sherd', + // 'minecraft:danger_pottery_sherd', + // 'minecraft:explorer_pottery_sherd', + // 'minecraft:friend_pottery_sherd', + // 'minecraft:heart_pottery_sherd', + // 'minecraft:heartbreak_pottery_sherd', + // 'minecraft:howl_pottery_sherd', + // 'minecraft:arms_up_pottery_sherd', + // 'minecraft:archer_pottery_sherd', + // 'minecraft:angler_pottery_sherd', + // 'minecraft:snort_pottery_sherd', + // 'minecraft:skull_pottery_sherd', + // 'minecraft:shelter_pottery_sherd', + // 'minecraft:sheaf_pottery_sherd', + // 'minecraft:prize_pottery_sherd', + // 'minecraft:plenty_pottery_sherd', + // 'minecraft:mourner_pottery_sherd', + // 'minecraft:miner_pottery_sherd', + // 'minecraft:blade_pottery_sherd', + // 'minecraft:brewer_pottery_sherd', + // 'minecraft:burn_pottery_sherd', // Шаблоны брони - 'minecraft:wayfinder_armor_trim_smithing_template', - 'minecraft:netherite_upgrade_smithing_template', - 'minecraft:dune_armor_trim_smithing_template', - 'minecraft:snout_armor_trim_smithing_template', - 'minecraft:shaper_armor_trim_smithing_template', - 'minecraft:coast_armor_trim_smithing_template', - 'minecraft:vex_armor_trim_smithing_template', - 'minecraft:host_armor_trim_smithing_template', - 'minecraft:rib_armor_trim_smithing_template', - 'minecraft:silence_armor_trim_smithing_template', - 'minecraft:spire_armor_trim_smithing_template', - 'minecraft:tide_armor_trim_smithing_template', - 'minecraft:eye_armor_trim_smithing_template', - 'minecraft:raiser_armor_trim_smithing_template', - 'minecraft:wild_armor_trim_smithing_template', - 'minecraft:sentry_armor_trim_smithing_template', - 'minecraft:ward_armor_trim_smithing_template', + // 'minecraft:wayfinder_armor_trim_smithing_template', + // 'minecraft:netherite_upgrade_smithing_template', + // 'minecraft:dune_armor_trim_smithing_template', + // 'minecraft:snout_armor_trim_smithing_template', + // 'minecraft:shaper_armor_trim_smithing_template', + // 'minecraft:coast_armor_trim_smithing_template', + // 'minecraft:vex_armor_trim_smithing_template', + // 'minecraft:host_armor_trim_smithing_template', + // 'minecraft:rib_armor_trim_smithing_template', + // 'minecraft:silence_armor_trim_smithing_template', + // 'minecraft:spire_armor_trim_smithing_template', + // 'minecraft:tide_armor_trim_smithing_template', + // 'minecraft:eye_armor_trim_smithing_template', + // 'minecraft:raiser_armor_trim_smithing_template', + // 'minecraft:wild_armor_trim_smithing_template', + // 'minecraft:sentry_armor_trim_smithing_template', + // 'minecraft:ward_armor_trim_smithing_template', // Свечи - 'minecraft:candle', - 'minecraft:white_candle', - 'minecraft:light_gray_candle', - 'minecraft:gray_candle', - 'minecraft:black_candle', - 'minecraft:brown_candle', - 'minecraft:red_candle', - 'minecraft:orange_candle', - 'minecraft:yellow_candle', - 'minecraft:lime_candle', - 'minecraft:green_candle', - 'minecraft:cyan_candle', - 'minecraft:light_blue_candle', - 'minecraft:blue_candle', - 'minecraft:purple_candle', - 'minecraft:magenta_candle', - 'minecraft:pink_candle', + // 'minecraft:candle', + // 'minecraft:white_candle', + // 'minecraft:light_gray_candle', + // 'minecraft:gray_candle', + // 'minecraft:black_candle', + // 'minecraft:brown_candle', + // 'minecraft:red_candle', + // 'minecraft:orange_candle', + // 'minecraft:yellow_candle', + // 'minecraft:lime_candle', + // 'minecraft:green_candle', + // 'minecraft:cyan_candle', + // 'minecraft:light_blue_candle', + // 'minecraft:blue_candle', + // 'minecraft:purple_candle', + // 'minecraft:magenta_candle', + // 'minecraft:pink_candle', // Другое - 'minecraft:calcite', - 'minecraft:tuff', - 'minecraft:dripstone_block', - 'minecraft:grass_block', - 'minecraft:dirt', - 'minecraft:coarse_dirt', - 'minecraft:podzol', - 'minecraft:rooted_dirt', - 'minecraft:mud', - 'minecraft:netherite_scrap', - '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', - 'minecraft:fern', - 'minecraft:dandelion', - 'minecraft:poppy', - 'minecraft:blue_orchid', - 'minecraft:allium', - 'minecraft:azure_bluet', - 'minecraft:red_tulip', - 'minecraft:orange_tulip', - 'minecraft:white_tulip', - 'minecraft:pink_tulip', - 'minecraft:oxeye_daisy', - 'minecraft:cornflower', - 'minecraft:lily_of_the_valley', - 'minecraft:wither_rose', - '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', - 'minecraft:pink_petals', - 'minecraft:chain', - 'minecraft:peony', - 'minecraft:rose_bush', - 'minecraft:lilac', - 'minecraft:sunflower', - 'minecraft:chain_command_block', - 'minecraft:turtle_egg', - 'minecraft:sniffer_egg', - 'minecraft:structure_block', - 'minecraft:jigsaw', - 'minecraft:sculk_sensor', - 'minecraft:calibrated_sculk_sensor', - 'minecraft:conduit', - 'minecraft:chest_minecart', - 'minecraft:bread', - 'minecraft:wheat', - 'minecraft:cookie', - 'minecraft:cake', - 'minecraft:crafting_table', - 'minecraft:chest', - 'minecraft:trapped_chest', - 'minecraft:fishing_rod', - 'minecraft:brewing_stand', - 'minecraft:warped_fungus_on_a_stick', - 'minecraft:carrot_on_a_stick', - 'minecraft:carrot', - 'minecraft:pumpkin', - 'minecraft:pearlescent_froglight', - 'minecraft:verdant_froglight', - 'minecraft:ochre_froglight', - 'minecraft:suspicious_stew', - 'minecraft:mycelium', - 'minecraft:farmland', - 'minecraft:composter', - 'minecraft:pufferfish_bucket', - 'minecraft:salmon_bucket', - 'minecraft:cod_bucket', - 'minecraft:tropical_fish_bucket', - 'minecraft:axolotl_bucket', - 'minecraft:tadpole_bucket', - 'minecraft:player_head', - 'minecraft:command_block_minecart', - 'minecraft:knowledge_book', - 'minecraft:bundle', - 'minecraft:debug_stick', - 'minecraft:spawner', - 'minecraft:pitcher_pod', - 'minecraft:beetroot', - 'minecraft:beetroot_soup', - 'minecraft:cocoa_beans', - 'minecraft:experience_bottle', - 'minecraft:shulker_shell', - 'minecraft:rabbit_stew', - 'minecraft:recovery_compass', - 'minecraft:chorus_plant', - 'minecraft:frogspawn', - 'minecraft:cactus', - 'minecraft:sweet_berries', - 'minecraft:glow_berries', - 'minecraft:campfire', - 'minecraft:soul_campfire', - 'minecraft:bee_nest', - 'minecraft:fletching_table', - 'minecraft:echo_shard', - 'minecraft:totem_of_undying', - 'minecraft:trident', - 'minecraft:heart_of_the_sea', - 'minecraft:barrel', - 'minecraft:chorus_flower', - 'minecraft:netherite_ingot', - 'minecraft:netherite_block', - 'minecraft:lodestone', - 'minecraft:iron_trapdoor', - 'minecraft:cod', - 'minecraft:cooked_cod', - 'minecraft:salmon', - 'minecraft:cooked_salmon', - 'minecraft:tropical_fish', - 'minecraft:melon_slice', - 'minecraft:beehive', - 'minecraft:honey_bottle', - 'minecraft:honeycomb_block', - 'minecraft:honey_block', - 'minecraft:chorus_fruit', - 'minecraft:popped_chorus_fruit', - 'minecraft:purpur_pillar', - 'minecraft:purpur_block', - 'minecraft:purpur_stairs', - 'minecraft:purpur_slab', - 'minecraft:shears', - 'minecraft:lantern', - 'minecraft:soul_lantern', - 'minecraft:smithing_table', - 'minecraft:smoker', - 'minecraft:blast_furnace', - 'minecraft:chiseled_bookshelf', - 'minecraft:decorated_pot', - 'minecraft:poisonous_potato', - 'minecraft:potato', - 'minecraft:baked_potato', - 'minecraft:end_rod', - 'minecraft:brush', - 'minecraft:sea_lantern', - 'minecraft:bookshelf', - 'minecraft:enchanted_book', - 'minecraft:repeating_command_block', - 'minecraft:command_block', - 'minecraft:azalea', - 'minecraft:light', - 'minecraft:azalea', - 'minecraft:flowering_azalea', - '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', - 'minecraft:torch', - 'minecraft:anvil', - 'minecraft:chipped_anvil', - '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:compass', - 'minecraft:iron_bars', - 'minecraft:honeycomb', + // 'minecraft:calcite', + // 'minecraft:tuff', + // 'minecraft:dripstone_block', + // 'minecraft:grass_block', + // 'minecraft:dirt', + // 'minecraft:coarse_dirt', + // 'minecraft:podzol', + // 'minecraft:rooted_dirt', + // 'minecraft:mud', + // 'minecraft:netherite_scrap', + // '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', + // 'minecraft:fern', + // 'minecraft:dandelion', + // 'minecraft:poppy', + // 'minecraft:blue_orchid', + // 'minecraft:allium', + // 'minecraft:azure_bluet', + // 'minecraft:red_tulip', + // 'minecraft:orange_tulip', + // 'minecraft:white_tulip', + // 'minecraft:pink_tulip', + // 'minecraft:oxeye_daisy', + // 'minecraft:cornflower', + // 'minecraft:lily_of_the_valley', + // 'minecraft:wither_rose', + // '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', + // 'minecraft:pink_petals', + // 'minecraft:chain', + // 'minecraft:peony', + // 'minecraft:rose_bush', + // 'minecraft:lilac', + // 'minecraft:sunflower', + // 'minecraft:chain_command_block', + // 'minecraft:turtle_egg', + // 'minecraft:sniffer_egg', + // 'minecraft:structure_block', + // 'minecraft:jigsaw', + // 'minecraft:sculk_sensor', + // 'minecraft:calibrated_sculk_sensor', + // 'minecraft:conduit', + // 'minecraft:chest_minecart', + // 'minecraft:bread', + // 'minecraft:wheat', + // 'minecraft:cookie', + // 'minecraft:cake', + // 'minecraft:crafting_table', + // 'minecraft:chest', + // 'minecraft:trapped_chest', + // 'minecraft:fishing_rod', + // 'minecraft:brewing_stand', + // 'minecraft:warped_fungus_on_a_stick', + // 'minecraft:carrot_on_a_stick', + // 'minecraft:carrot', + // 'minecraft:pumpkin', + // 'minecraft:pearlescent_froglight', + // 'minecraft:verdant_froglight', + // 'minecraft:ochre_froglight', + // 'minecraft:suspicious_stew', + // 'minecraft:mycelium', + // 'minecraft:farmland', + // 'minecraft:composter', + // 'minecraft:pufferfish_bucket', + // 'minecraft:salmon_bucket', + // 'minecraft:cod_bucket', + // 'minecraft:tropical_fish_bucket', + // 'minecraft:axolotl_bucket', + // 'minecraft:tadpole_bucket', + // 'minecraft:player_head', + // 'minecraft:command_block_minecart', + // 'minecraft:knowledge_book', + // 'minecraft:bundle', + // 'minecraft:debug_stick', + // 'minecraft:spawner', + // 'minecraft:pitcher_pod', + // 'minecraft:beetroot', + // 'minecraft:beetroot_soup', + // 'minecraft:cocoa_beans', + // 'minecraft:experience_bottle', + // 'minecraft:shulker_shell', + // 'minecraft:rabbit_stew', + // 'minecraft:recovery_compass', + // 'minecraft:chorus_plant', + // 'minecraft:frogspawn', + // 'minecraft:cactus', + // 'minecraft:sweet_berries', + // 'minecraft:glow_berries', + // 'minecraft:campfire', + // 'minecraft:soul_campfire', + // 'minecraft:bee_nest', + // 'minecraft:fletching_table', + // 'minecraft:echo_shard', + // 'minecraft:totem_of_undying', + // 'minecraft:trident', + // 'minecraft:heart_of_the_sea', + // 'minecraft:barrel', + // 'minecraft:chorus_flower', + // 'minecraft:netherite_ingot', + // 'minecraft:netherite_block', + // 'minecraft:lodestone', + // 'minecraft:iron_trapdoor', + // 'minecraft:cod', + // 'minecraft:cooked_cod', + // 'minecraft:salmon', + // 'minecraft:cooked_salmon', + // 'minecraft:tropical_fish', + // 'minecraft:melon_slice', + // 'minecraft:beehive', + // 'minecraft:honey_bottle', + // 'minecraft:honeycomb_block', + // 'minecraft:honey_block', + // 'minecraft:chorus_fruit', + // 'minecraft:popped_chorus_fruit', + // 'minecraft:purpur_pillar', + // 'minecraft:purpur_block', + // 'minecraft:purpur_stairs', + // 'minecraft:purpur_slab', + // 'minecraft:shears', + // 'minecraft:lantern', + // 'minecraft:soul_lantern', + // 'minecraft:smithing_table', + // 'minecraft:smoker', + // 'minecraft:blast_furnace', + // 'minecraft:chiseled_bookshelf', + // 'minecraft:decorated_pot', + // 'minecraft:poisonous_potato', + // 'minecraft:potato', + // 'minecraft:baked_potato', + // 'minecraft:end_rod', + // 'minecraft:brush', + // 'minecraft:sea_lantern', + // 'minecraft:bookshelf', + // 'minecraft:enchanted_book', + // 'minecraft:repeating_command_block', + // 'minecraft:command_block', + // 'minecraft:azalea', + // 'minecraft:light', + // 'minecraft:azalea', + // 'minecraft:flowering_azalea', + // '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', + // 'minecraft:torch', + // 'minecraft:anvil', + // 'minecraft:chipped_anvil', + // '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:compass', + // 'minecraft:iron_bars', + // 'minecraft:honeycomb', // Кримзон незер дерево // TODO: Разблокировать после добавления ада - 'minecraft:crimson_stem', - 'minecraft:crimson_hyphae', - 'minecraft:stripped_crimson_stem', - 'minecraft:stripped_crimson_hyphae', - 'minecraft:crimson_planks', - 'minecraft:crimson_stairs', - 'minecraft:crimson_slab', - 'minecraft:crimson_fence', - 'minecraft:crimson_fence_gate', - 'minecraft:crimson_door', - 'minecraft:crimson_trapdoor', - 'minecraft:crimson_pressure_plate', - 'minecraft:crimson_button', + // 'minecraft:crimson_stem', + // 'minecraft:crimson_hyphae', + // 'minecraft:stripped_crimson_stem', + // 'minecraft:stripped_crimson_hyphae', + // 'minecraft:crimson_planks', + // 'minecraft:crimson_stairs', + // 'minecraft:crimson_slab', + // 'minecraft:crimson_fence', + // 'minecraft:crimson_fence_gate', + // 'minecraft:crimson_door', + // 'minecraft:crimson_trapdoor', + // 'minecraft:crimson_pressure_plate', + // 'minecraft:crimson_button', // Варпед незер дерево // TODO: Разблокировать после добавления ада - 'minecraft:warped_stem', - 'minecraft:warped_hyphae', - 'minecraft:stripped_warped_stem', - 'minecraft:stripped_warped_hyphae', - 'minecraft:warped_planks', - 'minecraft:warped_stairs', - 'minecraft:warped_slab', - 'minecraft:warped_fence', - 'minecraft:warped_fence_gate', - 'minecraft:warped_door', - 'minecraft:warped_trapdoor', - 'minecraft:warped_pressure_plate', - 'minecraft:warped_button', + // 'minecraft:warped_stem', + // 'minecraft:warped_hyphae', + // 'minecraft:stripped_warped_stem', + // 'minecraft:stripped_warped_hyphae', + // 'minecraft:warped_planks', + // 'minecraft:warped_stairs', + // 'minecraft:warped_slab', + // 'minecraft:warped_fence', + // 'minecraft:warped_fence_gate', + // 'minecraft:warped_door', + // 'minecraft:warped_trapdoor', + // 'minecraft:warped_pressure_plate', + // 'minecraft:warped_button', // Куча незер блоков // 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', - 'minecraft:nether_brick_stairs', - 'minecraft:nether_brick_slab', - 'minecraft:nether_brick_wall', - 'minecraft:nether_brick_fence', - 'minecraft:chiseled_nether_bricks', - 'minecraft:red_nether_bricks', - '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', + // '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', + // 'minecraft:nether_brick_stairs', + // 'minecraft:nether_brick_slab', + // 'minecraft:nether_brick_wall', + // 'minecraft:nether_brick_fence', + // 'minecraft:chiseled_nether_bricks', + // 'minecraft:red_nether_bricks', + // '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:nether_wart_block', - 'minecraft:warped_wart_block', - 'minecraft:shroomlight', - 'minecraft:crimson_fungus', - 'minecraft:piglin_head', - 'minecraft:zombie_head', - 'minecraft:skeleton_skull', - 'minecraft:nether_sprouts', - 'minecraft:warped_roots', - 'minecraft:dragon_head', - 'minecraft:creeper_head', - 'minecraft:wither_skeleton_skull', - 'minecraft:weeping_vines', - 'minecraft:crimson_roots', - 'minecraft:nether_brick', - 'minecraft:nether_wart', - 'minecraft:twisting_vines', - 'minecraft:warped_fungus', - 'minecraft:respawn_anchor', + // 'minecraft:crying_obsidian', + // 'minecraft:crimson_nylium', + // 'minecraft:warped_nylium', + // 'minecraft:soul_sand', + // 'minecraft:soul_soil', + // 'minecraft:nether_wart_block', + // 'minecraft:warped_wart_block', + // 'minecraft:shroomlight', + // 'minecraft:crimson_fungus', + // 'minecraft:piglin_head', + // 'minecraft:zombie_head', + // 'minecraft:skeleton_skull', + // 'minecraft:nether_sprouts', + // 'minecraft:warped_roots', + // 'minecraft:dragon_head', + // 'minecraft:creeper_head', + // 'minecraft:wither_skeleton_skull', + // 'minecraft:weeping_vines', + // 'minecraft:crimson_roots', + // 'minecraft:nether_brick', + // 'minecraft:nether_wart', + // 'minecraft:twisting_vines', + // 'minecraft:warped_fungus', + // 'minecraft:respawn_anchor', ]; global.MINECRAFT_HIDED_ITEMS = [ - '/spawn_egg/', + // '/spawn_egg/', /* 'minecraft:exposed_copper', @@ -840,7 +853,7 @@ global.MINECRAFT_HIDED_ITEMS = [ 'minecraft:oxidized_cut_copper_slab',*/ ]; -global.VANILLA_WOOD_TYPES = [ +global.MINECRAFT_OVERWORLD_WOOD_TYPES = [ "oak", "spruce", "birch", @@ -849,11 +862,16 @@ global.VANILLA_WOOD_TYPES = [ "cherry", "dark_oak", "mangrove", +]; + +global.MINECRAFT_NETHER_WOOD_TYPES = [ "crimson", // TODO: Разблокировать когда появится АД "warped" // TODO: Разблокировать когда появится АД ]; -global.VANILLA_STONE_TYPES = [ +global.MINECRAFT_ALL_WOOD_TYPES = global.MINECRAFT_OVERWORLD_WOOD_TYPES.concat(global.VANILLA_NETHER_WOOD_TYPES); + +global.MINECRAFT_STONE_TYPES = [ "sand", "red_sand", "gravel", diff --git a/kubejs/startup_scripts/minecraft/items.js b/kubejs/startup_scripts/minecraft/items.js new file mode 100644 index 000000000..7d4c62905 --- /dev/null +++ b/kubejs/startup_scripts/minecraft/items.js @@ -0,0 +1,6 @@ +// priority: 0 + +const registerMinecraftItems = (event) => { + event.create('tfg:crimson_lumber') + event.create('tfg:warped_lumber') +} \ No newline at end of file From b85576076e920448bbb2fd2f76d3e9eab4623ea9 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 12:01:32 +0700 Subject: [PATCH 154/266] Delete keybindings.txt --- config/defaultoptions/keybindings.txt | 116 -------------------------- 1 file changed, 116 deletions(-) delete mode 100644 config/defaultoptions/keybindings.txt diff --git a/config/defaultoptions/keybindings.txt b/config/defaultoptions/keybindings.txt deleted file mode 100644 index e93a6bf5b..000000000 --- a/config/defaultoptions/keybindings.txt +++ /dev/null @@ -1,116 +0,0 @@ -key_key.attack:key.mouse.left:NONE -key_key.use:key.mouse.right:NONE -key_key.forward:key.keyboard.w:NONE -key_key.left:key.keyboard.a:NONE -key_key.back:key.keyboard.s:NONE -key_key.right:key.keyboard.d:NONE -key_key.jump:key.keyboard.space:NONE -key_key.sneak:key.keyboard.left.shift:NONE -key_key.sprint:key.keyboard.left.control:NONE -key_key.drop:key.keyboard.q:NONE -key_key.inventory:key.keyboard.e:NONE -key_key.chat:key.keyboard.t:NONE -key_key.playerlist:key.keyboard.tab:NONE -key_key.pickItem:key.mouse.middle:NONE -key_key.command:key.keyboard.slash:NONE -key_key.socialInteractions:key.keyboard.p:NONE -key_key.screenshot:key.keyboard.f2:NONE -key_key.togglePerspective:key.keyboard.f5:NONE -key_key.smoothCamera:key.keyboard.unknown:NONE -key_key.fullscreen:key.keyboard.f11:NONE -key_key.spectatorOutlines:key.keyboard.unknown:NONE -key_key.swapOffhand:key.keyboard.f:NONE -key_key.saveToolbarActivator:key.keyboard.c:NONE -key_key.loadToolbarActivator:key.keyboard.x:NONE -key_key.advancements:key.keyboard.unknown:NONE -key_key.hotbar.1:key.keyboard.1:NONE -key_key.hotbar.2:key.keyboard.2:NONE -key_key.hotbar.3:key.keyboard.3:NONE -key_key.hotbar.4:key.keyboard.4:NONE -key_key.hotbar.5:key.keyboard.5:NONE -key_key.hotbar.6:key.keyboard.6:NONE -key_key.hotbar.7:key.keyboard.7:NONE -key_key.hotbar.8:key.keyboard.8:NONE -key_key.hotbar.9:key.keyboard.9:NONE -key_key.clienttweaks.hideOffhandItem:key.keyboard.unknown:NONE -key_key.clienttweaks.disableStepAssist:key.keyboard.unknown:NONE -key_key.clienttweaks.disableLogStripping:key.keyboard.unknown:NONE -key_key.argonauts.open_party_chat:key.keyboard.y:NONE -key_key.argonauts.open_guild_chat:key.keyboard.u:NONE -key_gui.xaero_open_map:key.keyboard.m:NONE -key_gui.xaero_open_settings:key.keyboard.right.bracket:NONE -key_gui.xaero_map_zoom_in:key.keyboard.unknown:NONE -key_gui.xaero_map_zoom_out:key.keyboard.unknown:NONE -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_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 -key_keybind.sophisticatedbackpacks.sort:key.mouse.middle:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_1:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_2:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_3:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_4:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_5:key.keyboard.unknown:NONE -key_key.corpse.death_history:key.keyboard.unknown:NONE -key_tfc.key.place_block:key.keyboard.v:NONE -key_tfc.key.cycle_chisel_mode:key.keyboard.n:NONE -key_tfc.key.stack_food:key.keyboard.i:NONE -key_key.jade.config:key.keyboard.keypad.0:NONE -key_key.jade.show_overlay:key.keyboard.keypad.1:NONE -key_key.jade.toggle_liquid:key.keyboard.keypad.2:NONE -key_key.jade.show_recipes:key.keyboard.keypad.3:NONE -key_key.jade.show_uses:key.keyboard.keypad.4:NONE -key_key.jade.narrate:key.keyboard.keypad.5:NONE -key_key.jade.show_details:key.keyboard.left.shift:NONE -key_key.ae2.guide:key.keyboard.unknown:NONE -key_key.ae2.wireless_pattern_access_terminal:key.keyboard.unknown:NONE -key_key.ae2.ae2wtlib_restock:key.keyboard.unknown:NONE -key_key.ae2.ae2wtlib_magnet:key.keyboard.unknown:NONE -key_key.ae2.portable_item_cell:key.keyboard.unknown:NONE -key_key.ae2.portable_fluid_cell:key.keyboard.unknown:NONE -key_key.ae2.wireless_pattern_encoding_terminal:key.keyboard.unknown:NONE -key_key.ae2.wireless_terminal:key.keyboard.unknown:NONE -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_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 -key_gui.xaero_toggle_grid:key.keyboard.unknown:NONE -key_gui.xaero_toggle_waypoints:key.keyboard.unknown:NONE -key_gui.xaero_toggle_map_waypoints:key.keyboard.unknown:NONE -key_gui.xaero_toggle_map:key.keyboard.unknown:NONE -key_gui.xaero_enlarge_map:key.keyboard.z:NONE -key_gui.xaero_waypoints_key:key.keyboard.unknown:NONE -key_gui.xaero_zoom_in:key.keyboard.equal:NONE -key_gui.xaero_zoom_out:key.keyboard.minus:NONE -key_gui.xaero_new_waypoint:key.keyboard.semicolon:NONE -key_gui.xaero_display_all_sets:key.keyboard.unknown:NONE -key_gui.xaero_toggle_light_overlay:key.keyboard.unknown:NONE -key_gui.xaero_toggle_entity_radar:key.keyboard.unknown:NONE -key_gui.xaero_reverse_entity_radar:key.keyboard.unknown:NONE -key_gui.xaero_toggle_manual_cave_mode:key.keyboard.unknown:NONE -key_gui.xaero_alternative_list_players:key.keyboard.unknown:NONE -key_gui.xaero_toggle_tracked_players:key.keyboard.unknown:NONE -key_gui.xaero_toggle_pac_chunk_claims:key.keyboard.unknown:NONE -key_gui.xaero_minimap_settings:key.keyboard.unknown:NONE -key_iris.keybind.reload:key.keyboard.r:ALT -key_iris.keybind.toggleShaders:key.keyboard.unknown:NONE -key_iris.keybind.shaderPackSelection:key.keyboard.unknown:NONE -key_key.prometheus.open_homes:key.keyboard.unknown:NONE -key_key.inventoryhud.toggle:key.keyboard.unknown:NONE -key_key.inventoryhud.openconfig:key.keyboard.unknown:NONE -key_key.inventoryhud.togglepot:key.keyboard.unknown:NONE -key_key.inventoryhud.togglearm:key.keyboard.unknown:NONE -key_key.inventoryhud.toggleall:key.keyboard.unknown:NONE -key_Reload Menu | CTRL + ALT + :key.keyboard.r:NONE -key_Toggle Customization Overlay | CTRL + ALT + :key.keyboard.c:NONE -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 From 63ee76bd36a477034d0bfb137519f96035b53a19 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 13 Sep 2024 17:09:15 +0700 Subject: [PATCH 155/266] recipes --- kubejs/server_scripts/alekiroofs/recipes.js | 37 +++ kubejs/server_scripts/alekiroofs/tags.js | 31 +++ kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/minecraft/recipes.js | 275 ++++++++++++++------ kubejs/server_scripts/minecraft/tags.js | 29 ++- 5 files changed, 284 insertions(+), 89 deletions(-) create mode 100644 kubejs/server_scripts/alekiroofs/recipes.js create mode 100644 kubejs/server_scripts/alekiroofs/tags.js diff --git a/kubejs/server_scripts/alekiroofs/recipes.js b/kubejs/server_scripts/alekiroofs/recipes.js new file mode 100644 index 000000000..7a2fbc445 --- /dev/null +++ b/kubejs/server_scripts/alekiroofs/recipes.js @@ -0,0 +1,37 @@ +// priority: 0 + +const registerAlekiRoofsRecipes = (e) => { + + //#region Дерево + + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { + + // Wood + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + }) + + global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + + const plank = Item.of(`minecraft:${woodName}_planks`) + const roofing = Item.of(`alekiroofs:${woodName}_roofing`) + + e.shaped(roofing.copyWithCount(2), [ + 'A ', + ' s' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_roofing_saw`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_roofing_from_planks`) + .itemInputs(plank) + .circuit(3) + .itemOutputs(roofing.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + }) + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/alekiroofs/tags.js b/kubejs/server_scripts/alekiroofs/tags.js new file mode 100644 index 000000000..757e572bb --- /dev/null +++ b/kubejs/server_scripts/alekiroofs/tags.js @@ -0,0 +1,31 @@ +// priority: 0 + +const registerMinecraftItemTags123 = (event) => { + global.MINECRAFT_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // event.add('c:hidden_from_recipe_viewers', item) + }) + + // global.MINECRAFT_HIDED_ITEMS.forEach(item => { + // event.add('c:hidden_from_recipe_viewers', item) + // }) + + event.add('tfc:lumber', 'tfg:crimson_lumber') + event.add('tfc:lumber', 'tfg:warped_lumber') + + // // Теперь обсидиан сторадж блок + // 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') +} + +const registerMinecraftBlockTags123 = (event) => { + global.MINECRAFT_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + }) + + // // Теперь обсидиан сторадж блок + // event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') +} \ 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 c398d71b5..d9f474794 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -100,6 +100,7 @@ TFCEvents.data(event => { */ ServerEvents.recipes(event => { // registerAE2Recipes(event) + registerAlekiRoofsRecipes(event) // registerAsticorCartsRecipes(event) // registerAE2InsertExportCardRecipes(event) // registerAE2NetworkAnalyzerRecipes(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 1f0e6b800..5bcc93433 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3,86 +3,85 @@ const registerMinecraftRecipes = (e) => { //#region Дерево - - //#region Дерево обычного мира - global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(wood => { + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { // Wood - e.remove({ id: `minecraft:${wood}_wood` }) + e.remove({ id: `minecraft:${woodName}_wood` }) // Stripped Log - e.remove({ id: `create:cutting/${wood}_log` }) + e.remove({ id: `create:cutting/${woodName}_log` }) // Stripped Wood - e.remove({ id: `minecraft:stripped_${wood}_wood` }) - e.remove({ id: `create:cutting/${wood}_wood` }) + e.remove({ id: `minecraft:stripped_${woodName}_wood` }) + e.remove({ id: `create:cutting/${woodName}_wood` }) // Planks - e.remove({ id: `gtceu:shapeless/${wood}_planks` }) - e.remove({ id: `gtceu:shaped/${wood}_planks_saw` }) - e.remove({ id: `gtceu:cutter/${wood}_planks_water` }) - e.remove({ id: `gtceu:cutter/${wood}_planks` }) - e.remove({ id: `gtceu:cutter/${wood}_planks_distilled_water` }) - e.remove({ id: `create:cutting/stripped_${wood}_wood` }) - e.remove({ id: `create:cutting/stripped_${wood}_log` }) + e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + e.remove({ id: `create:cutting/stripped_${woodName}_wood` }) + e.remove({ id: `create:cutting/stripped_${woodName}_log` }) // Stairs - e.remove({ id: `minecraft:${wood}_stairs` }) - e.remove({ id: `everycomp:c/minecraft/${wood}_stairs_from_${wood}_planks_stonecutting` }) - e.remove({ id: `gtceu:assembler/${wood}_stairs` }) + e.remove({ id: `minecraft:${woodName}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) // Slabs - e.remove({ id: `gtceu:shaped/${wood}_slab_saw` }) - e.remove({ id: `everycomp:c/minecraft/${wood}_slab_from_${wood}_planks_stonecutting` }) - e.remove({ id: `gtceu:cutter/${wood}_slab` }) - e.remove({ id: `gtceu:cutter/${wood}_slab_distilled_water` }) - e.remove({ id: `gtceu:cutter/${wood}_slab_water` }) + e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) // Fence - e.remove({ id: `gtceu:shaped/${wood}_fence` }) - e.remove({ id: `gtceu:assembler/${wood}_fence` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence` }) // Fence Gate - e.remove({ id: `gtceu:shaped/${wood}_fence_gate` }) - e.remove({ id: `gtceu:shaped/${wood}_fence_gate_screws` }) - e.remove({ id: `gtceu:assembler/${wood}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) // Door - e.remove({ id: `gtceu:shaped/${wood}_door` }) - e.remove({ id: `gtceu:assembler/${wood}_door` }) + e.remove({ id: `gtceu:shaped/${woodName}_door` }) + e.remove({ id: `gtceu:assembler/${woodName}_door` }) // Trapdoor - e.remove({ id: `minecraft:${wood}_trapdoor` }) + e.remove({ id: `minecraft:${woodName}_trapdoor` }) // Pressure Plate - e.remove({ id: `gtceu:shaped/${wood}_pressure_plate` }) - e.remove({ id: `gtceu:assembler/${wood}_pressure_plate` }) + e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) // Button - e.remove({ id: `gtceu:shaped/${wood}_button` }) - e.remove({ id: `gtceu:cutter/${wood}_button` }) - e.remove({ id: `gtceu:cutter/${wood}_button_distilled_water` }) - e.remove({ id: `gtceu:cutter/${wood}_button_water` }) + e.remove({ id: `gtceu:shaped/${woodName}_button` }) + e.remove({ id: `gtceu:cutter/${woodName}_button` }) + e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) // Sign - e.remove({ id: `minecraft:${wood}_sign` }) - e.remove({ id: `gtceu:assembler/${wood}_sign` }) + e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign` }) // Hanging Sign - e.remove({ id: `minecraft:${wood}_hanging_sign` }) - e.remove({ id: `gtceu:assembler/${wood}_hanging_sign` }) + e.remove({ id: `minecraft:${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) // Boat - e.remove({ id: `gtceu:shaped/${wood}_boat` }) - e.remove({ id: `gtceu:assembler/${wood}_boat` }) + e.remove({ id: `gtceu:shaped/${woodName}_boat` }) + e.remove({ id: `gtceu:assembler/${woodName}_boat` }) // Boat with chest - e.remove({ id: `gtceu:shaped/${wood}_chest_boat` }) - e.remove({ id: `gtceu:assembler/${wood}_chest_boat` }) + e.remove({ id: `gtceu:shaped/${woodName}_chest_boat` }) + e.remove({ id: `gtceu:assembler/${woodName}_chest_boat` }) + + // Sticks + e.remove({ id: `everycomp:c/minecraft/null_from_${woodName}_planks_stonecutting` }) }) - //#endregion - //#region Дерево ада global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { //#region Удаление @@ -98,12 +97,12 @@ const registerMinecraftRecipes = (e) => { // Stairs e.remove({ id: `minecraft:${woodName}_stairs` }) - e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + // e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) // Slabs e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) - e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + // e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) e.remove({ id: `gtceu:cutter/${woodName}_slab` }) e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) @@ -129,14 +128,14 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) // Button - // e.remove({ id: `gtceu:shaped/${wood}_button` }) - // e.remove({ id: `gtceu:cutter/${wood}_button_water` }) - // e.remove({ id: `gtceu:cutter/${wood}_button` }) - // e.remove({ id: `gtceu:cutter/${wood}_button_distilled_water` }) + // e.remove({ id: `gtceu:shaped/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) // Sign - e.remove({ id: `minecraft:${wood}_sign` }) - e.remove({ id: `gtceu:assembler/${wood}_sign` }) + e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign` }) //#endregion @@ -167,7 +166,7 @@ const registerMinecraftRecipes = (e) => { const lumber = Item.of(`tfg:${woodName}_lumber`) - //#region Stripped Log + //#region Очищенные бревна e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) .itemInputs(log) .circuit(0) @@ -175,7 +174,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Stripped Wood + //#region Очищенная древесина e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) .itemInputs(wood) .circuit(0) @@ -183,7 +182,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Planks + //#region Доски e.shaped(plank, [ 'AA', 'AA' @@ -197,13 +196,16 @@ const registerMinecraftRecipes = (e) => { .itemOutputs(plank.copyWithCount(6)) .itemOutputs('2x gtceu:wood_dust') .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.create.cutting(plank.copyWithCount(3).withChance(0.95), allLogs) + .id(`tfg:${woodName}_planks_cutting`) //#endregion - //#region Stairs + //#region Ступень e.shaped(stair, [ 'As' ], { - A: allLogs, + A: plank, s: '#forge:tools/saws' }).id(`tfg:${woodName}_stairs_saw`) @@ -222,10 +224,9 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Slabs + //#region Полублок e.shaped(slab.copyWithCount(2), [ - 's', - 'A' + 'sA' ], { A: plank, s: '#forge:tools/saws' @@ -252,7 +253,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Fence + //#region Забор e.shaped(fence.copyWithCount(8), [ 'h s', 'ABA', @@ -273,7 +274,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Fence Gate + //#region Калитка e.shaped(fenceGate, [ 'A A', 'BCB', @@ -305,7 +306,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Door + //#region Дверь e.shaped(door, [ 'ABd', 'ACD', @@ -328,7 +329,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Trapdoor + //#region Люк e.shaped(trapdoor, [ 'ABd', 'ACs' @@ -348,7 +349,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Pressure Plate + //#region Нажимная пластина e.shaped(pressurePlate.copyWithCount(2), [ 'AmA', 'BCB', @@ -369,12 +370,12 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Lumber + //#region Пиломатериалы //#region Из бревен e.shaped(lumber.copyWithCount(8), [ - 'A', - 's' + 's', + 'A' ], { A: allLogs, s: '#forge:tools/saws' @@ -470,10 +471,136 @@ const registerMinecraftRecipes = (e) => { //#endregion //#endregion - }) + + //#region Бамбук + + // Доски + e.remove({ id: 'gtceu:shapeless/bamboo_planks' }) + + // Ступенька + e.remove({ id: 'minecraft:bamboo_stairs' }) + e.remove({ id: 'gtceu:assembler/bamboo_stairs' }) + + e.shaped('minecraft:bamboo_stairs', [ + 'As' + ], { + A: 'minecraft:bamboo_planks', + s: '#forge:tools/saws' + }).id(`tfg:bamboo_stairs_saw`) + + e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_logs`) + .itemInputs('#minecraft:bamboo_blocks') + .circuit(1) + .itemOutputs('4x minecraft:bamboo_stairs') + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_planks`) + .itemInputs('minecraft:bamboo_planks') + .circuit(0) + .itemOutputs('minecraft:bamboo_stairs') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + // Мозаичная ступенька + e.remove({ id: 'minecraft:bamboo_mosaic_stairs' }) + + e.shaped('minecraft:bamboo_mosaic_stairs', [ + 'As' + ], { + A: 'minecraft:bamboo_mosaic', + s: '#forge:tools/saws' + }).id(`tfg:bamboo_mosaic_stairs_saw`) + + e.recipes.gtceu.cutter(`tfg:bamboo_mosaic_stairs_from_planks`) + .itemInputs('minecraft:bamboo_mosaic') + .circuit(0) + .itemOutputs('minecraft:bamboo_mosaic_stairs') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.create.cutting('minecraft:bamboo_mosaic_stairs', 'minecraft:bamboo_mosaic') + .id(`tfg:bamboo_mosaic_planks_cutting`) + + // Полублок + e.recipes.create.cutting('2x minecraft:bamboo_mosaic_slab', 'minecraft:bamboo_mosaic') + .id(`tfg:bamboo_mosaic_slabs_cutting`) + + // Забор + e.remove({ id: 'gtceu:shaped/bamboo_fence' }) + e.remove({ id: 'gtceu:assembler/bamboo_fence' }) + + //todo: я устал, правда + // e.shaped(fence.copyWithCount(8), [ + // 'h s', + // 'ABA', + // 'ACA' + // ], { + // A: plank, + // B: '#forge:rods/wooden', + // C: lumber, + // h: '#forge:tools/hammers', + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_fence`) + + // e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + // .itemInputs(plank) + // .circuit(2) + // .itemOutputs(fence.copyWithCount(2)) + // .itemOutputs('1x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + // Дверь + // e.remove({ id: 'gtceu:shaped/bamboo_door' }) + + // Люк + // e.remove({ id: 'minecraft:bamboo_trapdoor' }) + + // Нажимная плита + // e.remove({ id: 'minecraft:bamboo_pressure_plate' }) + + + // Очищенный блок бамбука + e.recipes.gtceu.cutter(`tfg:stripped_bamboo`) + .itemInputs('minecraft:bamboo_block') + .circuit(0) + .itemOutputs('minecraft:stripped_bamboo_block') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + // Бамбуковый мозаичный блок + // e.recipes.gtceu.cutter(`tfg:bamboo_mosaic`) + // .itemInputs('minecraft:bamboo_planks') + // .circuit(0) + // .itemOutputs('minecraft:bamboo_mosaic') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + //#region Палки + e.remove({ id: 'gtceu:shaped/stick_normal' }) + e.remove({ id: 'minecraft:stick_from_bamboo_item' }) + + e.remove({ id: 'gtceu:lathe/lathe_planks' }) + + e.recipes.gtceu.lathe(`tfg:sticks_from_lumber`) + .itemInputs('#tfc:lumber') + .itemOutputs('minecraft:stick') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.lathe(`tfg:sticks_from_planks`) + .itemInputs('#minecraft:planks') + .itemOutputs('4x minecraft:stick') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.lathe(`tfg:sticks_from_logs`) + .itemInputs('#minecraft:logs') + .itemOutputs('32x minecraft:stick') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + //#endregion + + //#endregion + + //#region Камень //#endregion } @@ -3225,11 +3352,7 @@ const registerMinecraftRecipes1 = (event) => { //#endregion - //#region Выход: Палки - - event.remove({id: 'minecraft:stick'}) - - //#endregion + //#region Выход: Огниво diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 9502ce007..572ae6656 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -2,30 +2,33 @@ const registerMinecraftItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { - // event.removeAllTagsFrom(item) - // event.add('c:hidden_from_recipe_viewers', item) + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) }) - // global.MINECRAFT_HIDED_ITEMS.forEach(item => { - // event.add('c:hidden_from_recipe_viewers', item) - // }) + global.MINECRAFT_HIDED_ITEMS.forEach(item => { + event.add('c:hidden_from_recipe_viewers', item) + }) + //#region Ванильные пиломатериалы в TFC тег event.add('tfc:lumber', 'tfg:crimson_lumber') event.add('tfc:lumber', 'tfg:warped_lumber') + //#endregion - // // Теперь обсидиан сторадж блок - // event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + // Теперь обсидиан сторадж блок + 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') + //#region Бамбуковые полублоки в один тег + event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') + event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') + //#endregion } const registerMinecraftBlockTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { - // event.removeAllTagsFrom(item) + event.removeAllTagsFrom(item) }) - // // Теперь обсидиан сторадж блок - // event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + // Теперь обсидиан сторадж блок + event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') } \ No newline at end of file From 258a09029026522482a1bac9d7bdcf10abb6b799 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sat, 14 Sep 2024 19:21:14 +0500 Subject: [PATCH 156/266] Update .gitignore --- .gitignore | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ebe1e685b..a5d5fea5a 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,28 @@ config/voicechat/username-cache.json config/xaerominimap.txt config/xaeroworldmap.txt +# .minecraft +crash-reports/* +logs/* +saves/* +ldlib/ +local/* +modernfix/* +XaeroWaypoints* +XaeroWorldMap/* +CustomSkinLoader/* +screenshots/* +shaderpacks/* +chiselsandbits/* +.vscode/* +.new_mods/* + +# Extensions +**/*.log +**/*.gz +**/*.DS_Store +**/*.jar + # Client data .vscode/ .idea/ @@ -62,4 +84,6 @@ knownkeys.txt !.github/buildtools/serverpack/start_server.bat !.github/buildtools/serverpack/user_jvm_args.txt !.github/buildtools/serverpack/minecraft_server.jar -.github/buildtools/serverpack/* \ No newline at end of file +.github/buildtools/serverpack/* + + From 166a3a6db64315fa9a49cc5e8c4745652fba6259 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sat, 14 Sep 2024 19:23:11 +0500 Subject: [PATCH 157/266] Update .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index a5d5fea5a..977d59797 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ local/* modernfix/* XaeroWaypoints* XaeroWorldMap/* +defaultconfigs/* CustomSkinLoader/* screenshots/* shaderpacks/* @@ -87,3 +88,4 @@ knownkeys.txt .github/buildtools/serverpack/* + From 2863b54b3801c9fdcefd81ab972e822f0b3bc824 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sat, 14 Sep 2024 19:23:42 +0500 Subject: [PATCH 158/266] Update config --- config/InventoryHUD/curios.json | 2 +- config/astikorcarts-common.toml | 4 +- config/createlowheated-common.toml | 19 ++++++++ config/createpickywheels-common.toml | 43 +++++++++++++++++++ config/everycomp-hazardous.properties | 2 +- config/jade/plugins.json | 19 ++++---- config/jade/sort-order.json | 2 + config/jei/jei-client.ini | 15 +++++++ config/jei/jei-debug.ini | 5 +++ config/jei/recipe-category-sort-order.ini | 2 + config/packetfixer.properties | 2 +- config/sodiumdynamiclights-client.toml | 20 +++++++++ config/tfcambiental-common.toml | 3 ++ global-server-configs/firmaciv-server.toml | 2 + global-server-configs/firmalife-server.toml | 22 ++++++++-- .../openpartiesandclaims-server.toml | 24 +++++++++++ kubejs/config/probejs.json | 15 +++++++ 17 files changed, 183 insertions(+), 18 deletions(-) create mode 100644 config/createlowheated-common.toml create mode 100644 config/createpickywheels-common.toml create mode 100644 config/sodiumdynamiclights-client.toml create mode 100644 kubejs/config/probejs.json diff --git a/config/InventoryHUD/curios.json b/config/InventoryHUD/curios.json index c15a953f3..b597326ec 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"},"petrolpark_badge":{"x":0,"y":100,"enabled":false,"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 diff --git a/config/astikorcarts-common.toml b/config/astikorcarts-common.toml index f9f52e1a1..df87c6910 100644 --- a/config/astikorcarts-common.toml +++ b/config/astikorcarts-common.toml @@ -1,6 +1,8 @@ #Configuration for all carts and cart-like vehicles, check log for automatic "pull_animals" list. [carts] + #Enable carts being invulnerable to lightning (If false when struck, all items will disappear and mobs escape!) + lightningInvulnerable = true #The Supply Cart, a type of cart that stores items [carts.supply_cart] @@ -26,7 +28,7 @@ #Range: -1.0 ~ 0.0 pull_speed = 0.0 - #The Plow, an animal pulled machine for tilling soil and creating paths + #The Plow, n animal pulled machine for tilling soil and creating paths [carts.plow] #Animals that are able to pull this cart, such as ["minecraft:horse"] #An empty list defaults to all which may wear a saddle but not steered by an item diff --git a/config/createlowheated-common.toml b/config/createlowheated-common.toml new file mode 100644 index 000000000..381c3bbeb --- /dev/null +++ b/config/createlowheated-common.toml @@ -0,0 +1,19 @@ + +##Basic Burner Requirements +[basic_burner] + #When set to true, an active Basic Burner produces the same heat as a Kindled Blaze Burner and an empowered Basic Burner produces the same heat as a Seething Blaze Burner. Inactive state is unaffected. + hotBurners = false + #When set to false, it disables Basic Burner role in the steam engine heating system, only leaving it for recipes. This will also re-enable all passive heaters as a consequence. The Basic Burner Block tooltip must be altered via changing the lang file, if you use this and the inaccuracy bothers you. + basicBurnerBoiler = true + #When set to true, ignores Basic Burner Fuel Item Tag Whitelist, instead accepts anything with a valid BurnTime. + ignoresFuelTagWhitelist = true + #How much more fuel a non-empowered Basic Burner consumes. Use fanMultiplier for fan-empowered burners. Intended for use with the hotBurners option, the default value of 1 is recommended otherwise. + #Range: > 1 + baseMultiplier = 1 + #How much more fuel a Basic Burner consumes when empowered by an encased fan. + #Range: > 1 + fanMultiplier = 32 + #How much fan speed is needed for the Basic Burner to be empowered. + #Range: > 1 + fanSpeedRequired = 256 + diff --git a/config/createpickywheels-common.toml b/config/createpickywheels-common.toml new file mode 100644 index 000000000..f9ff7626c --- /dev/null +++ b/config/createpickywheels-common.toml @@ -0,0 +1,43 @@ + +##Waterwheel requirements +[waterwheels] + #Enable waterwheels modifications? + waterwheelsEnabled = true + #Only enable pickyness onPlacement, if the water wheel was instead generated during worldgen, it works as default. + waterwheelsPickyOnPlacement = true + #Penalty for Waterwheels placed on whitelisted but not on preferential biomes [waterwheel_boosted biome tag]. + #Range: 0.0 ~ 1.0 + waterwheelPenalty = 0.25 + #The minimum amount of fluid blocks the waterwheel needs to find before rotation begins. + #Range: > 1 + waterwheelThreshold = 2048 + #The maximum distance a waterwheel can consider fluid blocks from. + #Range: > 1 + waterwheelRange = 128 + +##Windmill requirements +[windmills] + #Enable windmills modifications? + windmillsEnabled = true + #Penalty for Windmills placed on whitelisted but not on preferential biomes [windmills_boosted biome tag]. + #Range: 0.0 ~ 1.0 + windmillPenalty = 0.75 + #The minimum floor area required. Default: 1/4 of the max area [PI * 32 ^ 2]. + #Range: > 1 + windmillThreshold = 804 + #The minimum length of air current required. + #Range: > 1 + windmillRequiredRange = 24 + #The minimum amount of points that must hit windmillRequiredRange. + #Range: > 1 + windmillRequiredRangePoints = 128 + #The maximum distance a waterwheel can consider air blocks from. + #Range: > 1 + windmillMaxRange = 32 + #The percentage of Generated Speed only given if windmills are raised enough. + #Range: 0.0 ~ 1.0 + windmillAbovePenalty = 0.5 + #The height required for the full benefit from windmillAbovePenalty. + #Range: > 1 + windmillAbove = 12 + diff --git a/config/everycomp-hazardous.properties b/config/everycomp-hazardous.properties index d00b0d730..5406199ba 100644 --- a/config/everycomp-hazardous.properties +++ b/config/everycomp-hazardous.properties @@ -1,2 +1,2 @@ #Hard disable entire modules. Use at your own risk and don't ask for support if you use this -#Tue Aug 27 09:45:44 NOVT 2024 +#Sat Sep 14 19:17:52 YEKT 2024 diff --git a/config/jade/plugins.json b/config/jade/plugins.json index 8dcb00930..02e6a2ef2 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, @@ -105,18 +106,19 @@ "part_name": true }, "firmalife": { - "oven_top": true, - "solar_drier": true, + "barrel_press": true, "string": true, "vat": true, + "drying_mat": true, + "tumbler": true, + "cheese": true, + "shelf": true, + "oven_top": true, + "solar_drier": true, "oven_bottom": true, "fruit_tree_sapling": true, "jarbnet": true, - "drying_mat": true, - "tumbler": true, - "hanger": true, - "cheese": true, - "shelf": true + "hanger": true }, "tfc": { "bloomery": true, @@ -196,9 +198,6 @@ "corpse": { "corpse": true }, - "tfc_support_indicator": { - "support_indicator": true - }, "treetap": { "tap": true } diff --git a/config/jade/sort-order.json b/config/jade/sort-order.json index bd9d8dfda..1d824abe9 100644 --- a/config/jade/sort-order.json +++ b/config/jade/sort-order.json @@ -46,6 +46,7 @@ "extendedcrafting:ultimate_table": null, "firmaciv:barrel": null, "firmaciv:tfc_chest": null, + "firmalife:barrel_press": null, "firmalife:cheese": null, "firmalife:drying_mat": null, "firmalife:fruit_tree_sapling": null, @@ -123,6 +124,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 dfb253e13..324191b82 100644 --- a/config/jei/jei-client.ini +++ b/config/jei/jei-client.ini @@ -76,6 +76,11 @@ # Default Value: false showTagRecipesEnabled = false + # 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 to become a drag operation @@ -141,6 +146,11 @@ # Default Value: DISABLED ResourceLocationSearchMode = DISABLED + # Description: Search mode for Creative Tabs (prefix: %) + # Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED] + # Default Value: DISABLED + CreativeTabSearchMode = DISABLED + # Description: Search advanced tooltips (visible with F3+H) # Valid Values: [true, false] # Default Value: false @@ -156,6 +166,11 @@ # 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 diff --git a/config/jei/jei-debug.ini b/config/jei/jei-debug.ini index 30ff2591f..eb75fc9b4 100644 --- a/config/jei/jei-debug.ini +++ b/config/jei/jei-debug.ini @@ -24,4 +24,9 @@ # 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/recipe-category-sort-order.ini b/config/jei/recipe-category-sort-order.ini index 0e648fb3b..1fdc1ec3b 100644 --- a/config/jei/recipe-category-sort-order.ini +++ b/config/jei/recipe-category-sort-order.ini @@ -86,3 +86,5 @@ firmalife:stinky_soup tfc:sewing petrolpark:item_decay petrolpark:manual_crafting +firmalife:press +firmalife:stomping diff --git a/config/packetfixer.properties b/config/packetfixer.properties index a73a08a48..cd25b6a7a 100644 --- a/config/packetfixer.properties +++ b/config/packetfixer.properties @@ -1,7 +1,7 @@ #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. -decoderSize=838860800 nbtMaxSize=209715200 +decoderSize=838860800 packetSize=104857600 varInt21=8 diff --git a/config/sodiumdynamiclights-client.toml b/config/sodiumdynamiclights-client.toml new file mode 100644 index 000000000..9d6bd7783 --- /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 = true + #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/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/global-server-configs/firmaciv-server.toml b/global-server-configs/firmaciv-server.toml index d146966fb..6d061efbe 100644 --- a/global-server-configs/firmaciv-server.toml +++ b/global-server-configs/firmaciv-server.toml @@ -8,4 +8,6 @@ forceReducedDebugInfo = false #Disables vanilla boats and base TFC boats from working. disableVanillaBoatFunctionality = true + #Automatically adjusts latitude and longitude to match the climate scale of the TFC world. + changeLatitudeLongitudeBasedOnClimateConfig = false diff --git a/global-server-configs/firmalife-server.toml b/global-server-configs/firmalife-server.toml index 451914b77..fe487192f 100644 --- a/global-server-configs/firmalife-server.toml +++ b/global-server-configs/firmalife-server.toml @@ -36,7 +36,7 @@ enableSeedBalls = true #If true, bees can swarm and hurt the player if provoked. enableBeeSwarm = true - #The capacity in mB of the hollow shell. Default 100 + #The capacity in mB of the wine glass. Default 250 #Range: > 1 hollowShellCapacity = 100 #The average temperature below which stronger decay modifiers apply to cellar blocks. @@ -60,6 +60,8 @@ #The max bounded distance from the climate station a cellar wall can be. Higher numbers = more lag. #Range: 1 ~ 128 cellarRadius = 15 + #If true, the tumbler and the pumping station work magically with a redstone signal and no power required. + mechanicalPowerCheatMode = false [foodTraits] #The modifier for the 'Dried' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. @@ -83,9 +85,6 @@ #The modifier for the 'Rancid_smoked' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. #Range: 0.0 ~ 1.7976931348623157E308 traitRancid_smokedModifier = 2.0 - #The modifier for the 'Raw' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitRawModifier = 1.0 #The modifier for the 'Shelved' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. #Range: 0.0 ~ 1.7976931348623157E308 traitShelvedModifier = 0.4000000059604645 @@ -104,4 +103,19 @@ #The modifier for the 'Hung_3' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. #Range: 0.0 ~ 1.7976931348623157E308 traitHung_3Modifier = 0.25 + #The modifier for the 'Fermented' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitFermentedModifier = 0.25 + #The modifier for the 'Bee_pollinated' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitBee_pollinatedModifier = 0.800000011920929 + #The modifier for the 'Dirt_grown' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitDirt_grownModifier = 0.8999999761581421 + #The modifier for the 'Gravel_grown' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitGravel_grownModifier = 0.800000011920929 + #The modifier for the 'Slope_grown' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. + #Range: 0.0 ~ 1.7976931348623157E308 + traitSlope_grownModifier = 0.800000011920929 diff --git a/global-server-configs/openpartiesandclaims-server.toml b/global-server-configs/openpartiesandclaims-server.toml index 0b3d1366c..21d82b8eb 100644 --- a/global-server-configs/openpartiesandclaims-server.toml +++ b/global-server-configs/openpartiesandclaims-server.toml @@ -161,10 +161,22 @@ #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. entityClaimBarrierOptionalGroups = ["Players{minecraft:player}", "Ender_Pearls{minecraft:ender_pearl}"] #Entities that can bypass all block protection. Supports entity type tags. + #Prefixing an entity id/tag with "interact$" creates an exception which tries to exclude block breaking. + #Prefixing an entity id/tag with "break$" creates an exception that only includes block breaking. + #Leaving an entity id/tag without a prefix creates an exception that includes all block interactions. + #Projectiles landing on blocks is considered a non-breaking interaction first, even if it can result in a block break, + #which is protected separately afterwards. + #Projectile landing on blocks requires non-break block access through this option or blockAccessEntityGroups. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] entitiesAllowedToGrief = ["minecraft:sheep"] #Entities that can bypass all protection of other entities. Supports entity type tags. + #Prefixing an entity id/tag with "interact$" creates an exception which tries to exclude attacks. + #Prefixing an entity id/tag with "break$" creates an exception that only includes attacks. + #Leaving an entity id/tag without a prefix creates an exception that includes all entity interactions. + #Projectiles landing on entities is considered a non-attack interaction first, even if it can result in an attack, + #which is protected separately afterwards. + #Projectile landing on entities requires non-attack entity access through this option or entityAccessEntityGroups. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] entitiesAllowedToGriefEntities = [] @@ -195,6 +207,12 @@ #Custom groups of entities that a player/claim config should be able to make block access exceptions for (e.g. letting sheep eat grass or endermen take blocks). Each group can consist of multiple entities and entity tags. #The format for an entity group is {}. #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". + #The group can be prefixed with "interact$" to create an exception that tries to exclude block breaking. + #The group can be prefixed with "break$" to create an exception that only includes block breaking. + #The group can be left without a prefix to create an exception that includes all block interactions. + #Projectiles landing on blocks is considered a non-breaking interaction first, even if it can result in a block break, + #which is protected separately afterwards. + #Projectile landing on blocks requires non-break block access through this option or entitiesAllowedToGrief. #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. #The exact paths of the added options can be found in the default player config file after you start the server. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. @@ -203,6 +221,12 @@ #The groups should consist of entities that are the ones accessing other entities. The groups should not contain entities that are being accessed. Check out the "entityProtectionOptionalExceptionGroups" option for that. #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". + #The group can be prefixed with "interact$" to create an exception that tries to exclude attacks. + #The group can be prefixed with "break$" to create an exception that only includes attacks. + #The group can be left without a prefix to create an exception that includes all entity interactions. + #Projectiles landing on entities is considered a non-attack interaction first, even if it can result in an attack, + #which is protected separately afterwards. + #Projectile landing on entities requires non-attack entity access through this option or entitiesAllowedToGriefEntities. #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. #The exact paths of the added options can be found in the default player config file after you start the server. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. 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 From a342bdb2be1334acf7185a38d3510e95da536103 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 21:49:22 +0700 Subject: [PATCH 159/266] why? --- defaultconfigs/ftbessentials-server.snbt | 13 +++++++++++++ defaultconfigs/ftblibrary/ftblibrary-client.snbt | 4 ++++ defaultconfigs/ftbquests/client-config.snbt | 4 ++++ defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt | 4 ++++ 4 files changed, 25 insertions(+) create mode 100644 defaultconfigs/ftbessentials-server.snbt create mode 100644 defaultconfigs/ftblibrary/ftblibrary-client.snbt create mode 100644 defaultconfigs/ftbquests/client-config.snbt create mode 100644 defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt diff --git a/defaultconfigs/ftbessentials-server.snbt b/defaultconfigs/ftbessentials-server.snbt new file mode 100644 index 000000000..9d8158544 --- /dev/null +++ b/defaultconfigs/ftbessentials-server.snbt @@ -0,0 +1,13 @@ +# Default config file that will be copied to world's serverconfig/ftbessentials.snbt location +# Copy values you wish to override in here +# Example: +# +# { +# misc: { +# enderchest: { +# enabled: false +# } +# } +# } + +{ } diff --git a/defaultconfigs/ftblibrary/ftblibrary-client.snbt b/defaultconfigs/ftblibrary/ftblibrary-client.snbt new file mode 100644 index 000000000..ee8fa4b3d --- /dev/null +++ b/defaultconfigs/ftblibrary/ftblibrary-client.snbt @@ -0,0 +1,4 @@ +# Default config file that will be copied to local\ftblibrary-client.snbt if it doesn't exist! +# Just copy any values you wish to override in here! + +{ } diff --git a/defaultconfigs/ftbquests/client-config.snbt b/defaultconfigs/ftbquests/client-config.snbt new file mode 100644 index 000000000..406c7da71 --- /dev/null +++ b/defaultconfigs/ftbquests/client-config.snbt @@ -0,0 +1,4 @@ +# Default config file that will be copied to local\ftbquests\client-config.snbt if it doesn't exist! +# Just copy any values you wish to override in here! + +{ } diff --git a/defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt b/defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt new file mode 100644 index 000000000..313ca3bf4 --- /dev/null +++ b/defaultconfigs/ftbxmodcompat/ftbxmodcompat.snbt @@ -0,0 +1,4 @@ +# Default config file that will be copied to config\ftbxmodcompat.snbt if it doesn't exist! +# Just copy any values you wish to override in here! + +{ } From ee3fe723202ca5363e1c33e2fb69bfce66cbcd56 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:58:27 +0700 Subject: [PATCH 160/266] fixes + improvements for emi world interaction page --- kubejs/client_scripts/main_client_script.js | 11 +++++++++ kubejs/client_scripts/minecraft/assets.js | 25 +++++++++++++++++++++ kubejs/client_scripts/tfc/assets.js | 25 +++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 kubejs/client_scripts/main_client_script.js create mode 100644 kubejs/client_scripts/minecraft/assets.js create mode 100644 kubejs/client_scripts/tfc/assets.js diff --git a/kubejs/client_scripts/main_client_script.js b/kubejs/client_scripts/main_client_script.js new file mode 100644 index 000000000..c4ac804c5 --- /dev/null +++ b/kubejs/client_scripts/main_client_script.js @@ -0,0 +1,11 @@ +// priority: 1 + +console.log('TerraFirmaGreg the best modpack in the world :)') + +/** + * Событие регистрации любых ассетов на клиентской стороне. + */ +ClientEvents.highPriorityAssets(event => { + registerMinecraftAssets(event) + registerTFCAssets(event) +}) \ No newline at end of file diff --git a/kubejs/client_scripts/minecraft/assets.js b/kubejs/client_scripts/minecraft/assets.js new file mode 100644 index 000000000..36ba65eaf --- /dev/null +++ b/kubejs/client_scripts/minecraft/assets.js @@ -0,0 +1,25 @@ +// priority: 0 + +const registerMinecraftAssets = (e) => { + + //#region Обработка дерева топором + global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + const logJson = { + type: 'emi:world_interaction', + left: `item:minecraft:${woodName}_stem`, + right: '#item:minecraft:axes', + output: `item:minecraft:stripped_${woodName}_stem` + } + + const woodJson = { + type: 'emi:world_interaction', + left: `item:minecraft:${woodName}_hyphae`, + right: '#item:minecraft:axes', + output: `item:minecraft:stripped_${woodName}_hyphae` + } + + e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, logJson) + e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, woodJson) + }) + //#endregion +} \ No newline at end of file diff --git a/kubejs/client_scripts/tfc/assets.js b/kubejs/client_scripts/tfc/assets.js new file mode 100644 index 000000000..8a8d590e8 --- /dev/null +++ b/kubejs/client_scripts/tfc/assets.js @@ -0,0 +1,25 @@ +// priority: 0 + +const registerTFCAssets = (e) => { + + //#region Обработка дерева топором + global.TFC_WOOD_TYPES.forEach(woodName => { + const logJson = { + type: 'emi:world_interaction', + left: `item:tfc:wood/log/${woodName}`, + right: '#item:minecraft:axes', + output: `item:tfc:wood/stripped_log/${woodName}` + } + + const woodJson = { + type: 'emi:world_interaction', + left: `item:tfc:wood/wood/${woodName}`, + right: '#item:minecraft:axes', + output: `item:tfc:wood/stripped_wood/${woodName}` + } + + e.add(`emi:recipe/additions/tfc_${woodName}_wood_conversion`, logJson) + e.add(`emi:recipe/additions/tfc_${woodName}_wood_conversion`, woodJson) + }) + //#endregion +} \ No newline at end of file From 4cab1b84654fe25d7e35017549bcead12afef7fe Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:58:34 +0700 Subject: [PATCH 161/266] Delete example.js --- kubejs/client_scripts/example.js | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 kubejs/client_scripts/example.js diff --git a/kubejs/client_scripts/example.js b/kubejs/client_scripts/example.js deleted file mode 100644 index c283f7462..000000000 --- a/kubejs/client_scripts/example.js +++ /dev/null @@ -1,3 +0,0 @@ -// priority: 1 - -console.log('TerraFirmaGreg the best modpack in the world :)') \ No newline at end of file From 6ea92de0ff6e5359a64296293d0438aa5316a936 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:58:37 +0700 Subject: [PATCH 162/266] Update categories.json --- .../assets/emi/recipe/filters/categories.json | 49 +++++++++++++++++-- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 6d0154068..01383d269 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -1,8 +1,5 @@ { "filters": [ - { - "category": "emi:world_interaction" - }, { "category": "minecraft:blasting" }, @@ -20,6 +17,52 @@ }, { "category": "emi:composting" + }, + + { + "category": "emi:world_interaction", + "id": "/emi:\/world\/flower_duping\//" + }, + { + "category": "emi:world_interaction", + "id": "/emi:\/world\/stripping\/minecraft\//" + }, + + { + "category": "emi:world_interaction", + "id": "emi:/world/shearing/minecraft/pumpkin" + }, + + { + "category": "emi:world_interaction", + "id": "/emi:\/world\/tilling\/minecraft\//" + }, + { + "category": "emi:world_interaction", + "id": "/emi:\/world\/flattening\/minecraft\/grass_block\//" + }, + + { + "category": "emi:world_interaction", + "id": "emi:/world/fluid_spring/minecraft/water" + }, + { + "category": "emi:world_interaction", + "id": "emi:/world/fluid_interaction/minecraft/cobblestone" + }, + { + "category": "emi:world_interaction", + "id": "emi:/world/fluid_interaction/minecraft/stone" + }, + + { + "category": "emi:world_interaction", + "id": "/emi:\/emi\/bucket_filling\/minecraft\//" + }, + + { + "category": "emi:world_interaction", + "id": "emi:/world/unique/minecraft/water_bottle" } ] } \ No newline at end of file From 3bb8cabb255f6a18b7c573c374873751fd5a10cb Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:58:46 +0700 Subject: [PATCH 163/266] Update constants.js --- kubejs/startup_scripts/minecraft/constants.js | 310 +++++++++--------- 1 file changed, 155 insertions(+), 155 deletions(-) diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 247a66c0f..2cadace2c 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -9,182 +9,182 @@ global.MINECRAFT_DISABLED_ITEMS = [ //#region Дерево //#region Дуб - "minecraft:oak_wood", - "minecraft:oak_leaves", - "minecraft:oak_sapling", - "minecraft:stripped_oak_wood", - "minecraft:oak_log", - "minecraft:stripped_oak_log", - "minecraft:oak_planks", - "minecraft:oak_stairs", - "minecraft:oak_slab", - "minecraft:petrified_oak_slab", - "minecraft:oak_pressure_plate", - "minecraft:oak_fence", - "minecraft:oak_fence_gate", - "minecraft:oak_door", - "minecraft:oak_trapdoor", - "minecraft:oak_boat", - "minecraft:oak_chest_boat", - "minecraft:oak_sign", - "minecraft:oak_hanging_sign", - "minecraft:oak_button", + // "minecraft:oak_wood", + // "minecraft:oak_leaves", + // "minecraft:oak_sapling", + // "minecraft:stripped_oak_wood", + // "minecraft:oak_log", + // "minecraft:stripped_oak_log", + // "minecraft:oak_planks", + // "minecraft:oak_stairs", + // "minecraft:oak_slab", + // "minecraft:petrified_oak_slab", + // "minecraft:oak_pressure_plate", + // "minecraft:oak_fence", + // "minecraft:oak_fence_gate", + // "minecraft:oak_door", + // "minecraft:oak_trapdoor", + // "minecraft:oak_boat", + // "minecraft:oak_chest_boat", + // "minecraft:oak_sign", + // "minecraft:oak_hanging_sign", + // "minecraft:oak_button", //#endregion //#region Темный дуб - "minecraft:dark_oak_planks", - "minecraft:dark_oak_sapling", - "minecraft:dark_oak_log", - "minecraft:stripped_dark_oak_log", - "minecraft:stripped_dark_oak_wood", - "minecraft:dark_oak_wood", - "minecraft:dark_oak_leaves", - "minecraft:dark_oak_slab", - "minecraft:dark_oak_fence", - "minecraft:dark_oak_stairs", - "minecraft:dark_oak_button", - "minecraft:dark_oak_pressure_plate", - "minecraft:dark_oak_door", - "minecraft:dark_oak_trapdoor", - "minecraft:dark_oak_fence_gate", - "minecraft:dark_oak_boat", - "minecraft:dark_oak_chest_boat", - "minecraft:dark_oak_sign", - "minecraft:dark_oak_hanging_sign", + // "minecraft:dark_oak_planks", + // "minecraft:dark_oak_sapling", + // "minecraft:dark_oak_log", + // "minecraft:stripped_dark_oak_log", + // "minecraft:stripped_dark_oak_wood", + // "minecraft:dark_oak_wood", + // "minecraft:dark_oak_leaves", + // "minecraft:dark_oak_slab", + // "minecraft:dark_oak_fence", + // "minecraft:dark_oak_stairs", + // "minecraft:dark_oak_button", + // "minecraft:dark_oak_pressure_plate", + // "minecraft:dark_oak_door", + // "minecraft:dark_oak_trapdoor", + // "minecraft:dark_oak_fence_gate", + // "minecraft:dark_oak_boat", + // "minecraft:dark_oak_chest_boat", + // "minecraft:dark_oak_sign", + // "minecraft:dark_oak_hanging_sign", //#endregion //#region Акация - "minecraft:acacia_planks", - "minecraft:acacia_sapling", - "minecraft:acacia_log", - "minecraft:stripped_acacia_log", - "minecraft:stripped_acacia_wood", - "minecraft:acacia_wood", - "minecraft:acacia_leaves", - "minecraft:acacia_slab", - "minecraft:acacia_fence", - "minecraft:acacia_stairs", - "minecraft:acacia_button", - "minecraft:acacia_pressure_plate", - "minecraft:acacia_door", - "minecraft:acacia_trapdoor", - "minecraft:acacia_fence_gate", - "minecraft:acacia_boat", - "minecraft:acacia_chest_boat", - "minecraft:acacia_sign", - "minecraft:acacia_hanging_sign", + // "minecraft:acacia_planks", + // "minecraft:acacia_sapling", + // "minecraft:acacia_log", + // "minecraft:stripped_acacia_log", + // "minecraft:stripped_acacia_wood", + // "minecraft:acacia_wood", + // "minecraft:acacia_leaves", + // "minecraft:acacia_slab", + // "minecraft:acacia_fence", + // "minecraft:acacia_stairs", + // "minecraft:acacia_button", + // "minecraft:acacia_pressure_plate", + // "minecraft:acacia_door", + // "minecraft:acacia_trapdoor", + // "minecraft:acacia_fence_gate", + // "minecraft:acacia_boat", + // "minecraft:acacia_chest_boat", + // "minecraft:acacia_sign", + // "minecraft:acacia_hanging_sign", //#endregion //#region Береза - "minecraft:birch_planks", - "minecraft:birch_sapling", - "minecraft:birch_log", - "minecraft:stripped_birch_log", - "minecraft:stripped_birch_wood", - "minecraft:birch_wood", - "minecraft:birch_leaves", - "minecraft:birch_slab", - "minecraft:birch_fence", - "minecraft:birch_stairs", - "minecraft:birch_button", - "minecraft:birch_pressure_plate", - "minecraft:birch_door", - "minecraft:birch_trapdoor", - "minecraft:birch_fence_gate", - "minecraft:birch_boat", - "minecraft:birch_chest_boat", - "minecraft:birch_sign", - "minecraft:birch_hanging_sign", + // "minecraft:birch_planks", + // "minecraft:birch_sapling", + // "minecraft:birch_log", + // "minecraft:stripped_birch_log", + // "minecraft:stripped_birch_wood", + // "minecraft:birch_wood", + // "minecraft:birch_leaves", + // "minecraft:birch_slab", + // "minecraft:birch_fence", + // "minecraft:birch_stairs", + // "minecraft:birch_button", + // "minecraft:birch_pressure_plate", + // "minecraft:birch_door", + // "minecraft:birch_trapdoor", + // "minecraft:birch_fence_gate", + // "minecraft:birch_boat", + // "minecraft:birch_chest_boat", + // "minecraft:birch_sign", + // "minecraft:birch_hanging_sign", //#endregion //#region Тропическое - "minecraft:jungle_planks", - "minecraft:jungle_sapling", - "minecraft:jungle_log", - "minecraft:stripped_jungle_log", - "minecraft:stripped_jungle_wood", - "minecraft:jungle_wood", - "minecraft:jungle_leaves", - "minecraft:jungle_slab", - "minecraft:jungle_fence", - "minecraft:jungle_stairs", - "minecraft:jungle_button", - "minecraft:jungle_pressure_plate", - "minecraft:jungle_door", - "minecraft:jungle_trapdoor", - "minecraft:jungle_fence_gate", - "minecraft:jungle_boat", - "minecraft:jungle_chest_boat", - "minecraft:jungle_sign", - "minecraft:jungle_hanging_sign", + // "minecraft:jungle_planks", + // "minecraft:jungle_sapling", + // "minecraft:jungle_log", + // "minecraft:stripped_jungle_log", + // "minecraft:stripped_jungle_wood", + // "minecraft:jungle_wood", + // "minecraft:jungle_leaves", + // "minecraft:jungle_slab", + // "minecraft:jungle_fence", + // "minecraft:jungle_stairs", + // "minecraft:jungle_button", + // "minecraft:jungle_pressure_plate", + // "minecraft:jungle_door", + // "minecraft:jungle_trapdoor", + // "minecraft:jungle_fence_gate", + // "minecraft:jungle_boat", + // "minecraft:jungle_chest_boat", + // "minecraft:jungle_sign", + // "minecraft:jungle_hanging_sign", //#endregion //#region Ель - "minecraft:spruce_planks", - "minecraft:spruce_sapling", - "minecraft:spruce_log", - "minecraft:stripped_spruce_log", - "minecraft:stripped_spruce_wood", - "minecraft:spruce_wood", - "minecraft:spruce_leaves", - "minecraft:spruce_slab", - "minecraft:spruce_fence", - "minecraft:spruce_stairs", - "minecraft:spruce_button", - "minecraft:spruce_pressure_plate", - "minecraft:spruce_door", - "minecraft:spruce_trapdoor", - "minecraft:spruce_fence_gate", - "minecraft:spruce_boat", - "minecraft:spruce_chest_boat", - "minecraft:spruce_sign", - "minecraft:spruce_hanging_sign", + // "minecraft:spruce_planks", + // "minecraft:spruce_sapling", + // "minecraft:spruce_log", + // "minecraft:stripped_spruce_log", + // "minecraft:stripped_spruce_wood", + // "minecraft:spruce_wood", + // "minecraft:spruce_leaves", + // "minecraft:spruce_slab", + // "minecraft:spruce_fence", + // "minecraft:spruce_stairs", + // "minecraft:spruce_button", + // "minecraft:spruce_pressure_plate", + // "minecraft:spruce_door", + // "minecraft:spruce_trapdoor", + // "minecraft:spruce_fence_gate", + // "minecraft:spruce_boat", + // "minecraft:spruce_chest_boat", + // "minecraft:spruce_sign", + // "minecraft:spruce_hanging_sign", //#endregion //#region Вишня - "minecraft:cherry_planks", - "minecraft:cherry_sapling", - "minecraft:cherry_log", - "minecraft:stripped_cherry_log", - "minecraft:stripped_cherry_wood", - "minecraft:cherry_wood", - "minecraft:cherry_leaves", - "minecraft:cherry_slab", - "minecraft:cherry_fence", - "minecraft:cherry_stairs", - "minecraft:cherry_button", - "minecraft:cherry_pressure_plate", - "minecraft:cherry_door", - "minecraft:cherry_trapdoor", - "minecraft:cherry_fence_gate", - "minecraft:cherry_boat", - "minecraft:cherry_chest_boat", - "minecraft:cherry_sign", - "minecraft:cherry_hanging_sign", + // "minecraft:cherry_planks", + // "minecraft:cherry_sapling", + // "minecraft:cherry_log", + // "minecraft:stripped_cherry_log", + // "minecraft:stripped_cherry_wood", + // "minecraft:cherry_wood", + // "minecraft:cherry_leaves", + // "minecraft:cherry_slab", + // "minecraft:cherry_fence", + // "minecraft:cherry_stairs", + // "minecraft:cherry_button", + // "minecraft:cherry_pressure_plate", + // "minecraft:cherry_door", + // "minecraft:cherry_trapdoor", + // "minecraft:cherry_fence_gate", + // "minecraft:cherry_boat", + // "minecraft:cherry_chest_boat", + // "minecraft:cherry_sign", + // "minecraft:cherry_hanging_sign", //#endregion //#region Мангровое - "minecraft:mangrove_planks", - "minecraft:mangrove_propagule", - "minecraft:mangrove_log", - "minecraft:mangrove_roots", - "minecraft:muddy_mangrove_roots", - "minecraft:stripped_mangrove_log", - "minecraft:stripped_mangrove_wood", - "minecraft:mangrove_wood", - "minecraft:mangrove_leaves", - "minecraft:mangrove_slab", - "minecraft:mangrove_fence", - "minecraft:mangrove_stairs", - "minecraft:mangrove_button", - "minecraft:mangrove_pressure_plate", - "minecraft:mangrove_door", - "minecraft:mangrove_trapdoor", - "minecraft:mangrove_fence_gate", - "minecraft:mangrove_boat", - "minecraft:mangrove_chest_boat", - "minecraft:mangrove_sign", - "minecraft:mangrove_hanging_sign", + // "minecraft:mangrove_planks", + // "minecraft:mangrove_propagule", + // "minecraft:mangrove_log", + // "minecraft:mangrove_roots", + // "minecraft:muddy_mangrove_roots", + // "minecraft:stripped_mangrove_log", + // "minecraft:stripped_mangrove_wood", + // "minecraft:mangrove_wood", + // "minecraft:mangrove_leaves", + // "minecraft:mangrove_slab", + // "minecraft:mangrove_fence", + // "minecraft:mangrove_stairs", + // "minecraft:mangrove_button", + // "minecraft:mangrove_pressure_plate", + // "minecraft:mangrove_door", + // "minecraft:mangrove_trapdoor", + // "minecraft:mangrove_fence_gate", + // "minecraft:mangrove_boat", + // "minecraft:mangrove_chest_boat", + // "minecraft:mangrove_sign", + // "minecraft:mangrove_hanging_sign", //#endregion //#endregion From 405e07114bc271306dbb0d4508e001c13802088b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:58:49 +0700 Subject: [PATCH 164/266] Update recipes.js --- kubejs/server_scripts/minecraft/recipes.js | 821 +++++++++++---------- 1 file changed, 436 insertions(+), 385 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 5bcc93433..2b276640d 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3,11 +3,10 @@ const registerMinecraftRecipes = (e) => { //#region Дерево - global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { - + const processOverworldWood = (woodName) => { // Wood e.remove({ id: `minecraft:${woodName}_wood` }) - + // Stripped Log e.remove({ id: `create:cutting/${woodName}_log` }) @@ -23,12 +22,12 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) e.remove({ id: `create:cutting/stripped_${woodName}_wood` }) e.remove({ id: `create:cutting/stripped_${woodName}_log` }) - + // Stairs e.remove({ id: `minecraft:${woodName}_stairs` }) e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) - + // Slabs e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) @@ -80,52 +79,110 @@ const registerMinecraftRecipes = (e) => { // Sticks e.remove({ id: `everycomp:c/minecraft/null_from_${woodName}_planks_stonecutting` }) - }) + } + + const processNetherWood = () => { + + const anyLogs = `#minecraft:${woodName}_stems` + + const log = Item.of(`minecraft:${woodName}_stem`) + const wood = Item.of(`minecraft:${woodName}_hyphae`) + + const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) + const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) + + //#region Бревно + + // Нечего добавлять + // Нечего удалять + + //#endregion + + //#region Цельное бревно + e.remove({ id: `minecraft:${woodName}_hyphae` }) + + e.shaped(wood, [ + 'AA', + ' s' + ], { + A: log, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_wood`) + + e.recipes.create.cutting(wood, log.copyWithCount(2)) + .id(`tfg:create_cutting/${woodName}_wood`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_wood`) + .itemInputs(log) + .circuit(0) + .itemOutputs(wood.copyWithCount(2)) + .itemOutputs('4x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Обтесанное бревно + e.recipes.create.cutting(strippedLog, log.copyWithCount(2)) + .id(`tfg:create_cutting/${woodName}_wood`) + + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) + .itemInputs(log) + .circuit(0) + .itemOutputs(strippedLog) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + //#region Обтесанное цельное бревно + //#endregion + } + + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { + processOverworldWood(woodName) + }) + global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { //#region Удаление // Planks - e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) - e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) - e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) - e.remove({ id: `gtceu:cutter/${woodName}_planks` }) - e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) - e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) - e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) + // e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + // e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + // e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + // e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + // e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) + // e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) // Stairs - e.remove({ id: `minecraft:${woodName}_stairs` }) + // e.remove({ id: `minecraft:${woodName}_stairs` }) // e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) - e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) + // e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) // Slabs - e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + // e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) // e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) - e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) - e.remove({ id: `gtceu:cutter/${woodName}_slab` }) - e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + // e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) // Fence - e.remove({ id: `gtceu:shaped/${woodName}_fence` }) - e.remove({ id: `gtceu:assembler/${woodName}_fence` }) + // e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + // e.remove({ id: `gtceu:assembler/${woodName}_fence` }) // Fence Gate - e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) - e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) - e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) + // e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + // e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + // e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) // Door - e.remove({ id: `gtceu:shaped/${woodName}_door` }) - e.remove({ id: `gtceu:assembler/${woodName}_door` }) + // e.remove({ id: `gtceu:shaped/${woodName}_door` }) + // e.remove({ id: `gtceu:assembler/${woodName}_door` }) // Trapdoor - e.remove({ id: `minecraft:${woodName}_trapdoor` }) + // e.remove({ id: `minecraft:${woodName}_trapdoor` }) // Pressure Plate - e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) - e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) + // e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + // e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) // Button // e.remove({ id: `gtceu:shaped/${woodName}_button` }) @@ -134,8 +191,8 @@ const registerMinecraftRecipes = (e) => { // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) // Sign - e.remove({ id: `minecraft:${woodName}_sign` }) - e.remove({ id: `gtceu:assembler/${woodName}_sign` }) + // e.remove({ id: `minecraft:${woodName}_sign` }) + // e.remove({ id: `gtceu:assembler/${woodName}_sign` }) //#endregion @@ -145,329 +202,323 @@ const registerMinecraftRecipes = (e) => { const log = Item.of(`minecraft:${woodName}_stem`); const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) - const wood = Item.of(`minecraft:${woodName}_hyphae`) - const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) + // const wood = Item.of(`minecraft:${woodName}_hyphae`) + // const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) - const plank = Item.of(`minecraft:${woodName}_planks`) - const stair = Item.of(`minecraft:${woodName}_stairs`) - const slab = Item.of(`minecraft:${woodName}_slab`) + // const plank = Item.of(`minecraft:${woodName}_planks`) + // const stair = Item.of(`minecraft:${woodName}_stairs`) + // const slab = Item.of(`minecraft:${woodName}_slab`) - const fence = Item.of(`minecraft:${woodName}_fence`) - const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) + // const fence = Item.of(`minecraft:${woodName}_fence`) + // const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) - const door = Item.of(`minecraft:${woodName}_door`) - const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + // const door = Item.of(`minecraft:${woodName}_door`) + // const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) - const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) - // const button = Item.of(`minecraft:${woodName}_button`) + // const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + // // const button = Item.of(`minecraft:${woodName}_button`) - const sign = Item.of(`minecraft:${woodName}_sign`) - const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + // const sign = Item.of(`minecraft:${woodName}_sign`) + // const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) - const lumber = Item.of(`tfg:${woodName}_lumber`) + // const lumber = Item.of(`tfg:${woodName}_lumber`) - //#region Очищенные бревна - e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) - .itemInputs(log) - .circuit(0) - .itemOutputs(strippedLog) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Очищенная древесина - e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) - .itemInputs(wood) - .circuit(0) - .itemOutputs(strippedWood) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Доски - e.shaped(plank, [ - 'AA', - 'AA' - ], { - A: lumber - }).id(`tfg:${woodName}_planks`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) - .itemInputs(allLogs) - .circuit(1) - .itemOutputs(plank.copyWithCount(6)) - .itemOutputs('2x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - e.recipes.create.cutting(plank.copyWithCount(3).withChance(0.95), allLogs) - .id(`tfg:${woodName}_planks_cutting`) - //#endregion - - //#region Ступень - e.shaped(stair, [ - 'As' - ], { - A: plank, - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_stairs_saw`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) - .itemInputs(allLogs) - .circuit(2) - .itemOutputs(stair.copyWithCount(12)) - .itemOutputs('12x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) - .itemInputs(plank) - .circuit(0) - .itemOutputs(stair) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Полублок - e.shaped(slab.copyWithCount(2), [ - 'sA' - ], { - A: plank, - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_slabs_saw`) - - e.shaped(slab, [ - 'LL' - ], { - L: lumber - }).id(`tfg:${woodName}_slabs`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) - .itemInputs(allLogs) - .circuit(3) - .itemOutputs(slab.copyWithCount(24)) - .itemOutputs('24x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) - .itemInputs(plank) - .circuit(1) - .itemOutputs(slab.copyWithCount(2)) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - //#region Забор - e.shaped(fence.copyWithCount(8), [ - 'h s', - 'ABA', - 'ACA' - ], { - A: plank, - B: '#forge:rods/wooden', - C: lumber, - h: '#forge:tools/hammers', - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_fence`) - e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) - .itemInputs(plank) - .circuit(2) - .itemOutputs(fence.copyWithCount(2)) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // //#region Очищенная древесина + // e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) + // .itemInputs(wood) + // .circuit(0) + // .itemOutputs(strippedWood) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - //#region Калитка - e.shaped(fenceGate, [ - 'A A', - 'BCB', - 'DCD' - ], { - A: 'minecraft:flint', - B: '#forge:rods/wooden', - C: plank, - D: lumber - }).id(`tfg:${woodName}_fence_gate_flint`) + // //#region Доски + // e.shaped(plank, [ + // 'AA', + // 'AA' + // ], { + // A: lumber + // }).id(`tfg:${woodName}_planks`) - e.shaped(fenceGate.copyWithCount(2), [ - 'AEA', - 'BCB', - 'DCD' - ], { - A: '#forge:screws', - B: '#forge:rods/wooden', - C: plank, - D: lumber, - E: '#forge:tools/screwdrivers' - }).id(`tfg:${woodName}_fence_gate_screws`) + // e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) + // .itemInputs(allLogs) + // .circuit(1) + // .itemOutputs(plank.copyWithCount(6)) + // .itemOutputs('2x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) - .itemInputs(plank.copyWithCount(2)) - .itemInputs('2x #forge:rods/wooden') - .circuit(3) - .itemOutputs(fenceGate) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // e.recipes.create.cutting(plank.copyWithCount(3).withChance(0.95), allLogs) + // .id(`tfg:${woodName}_planks_cutting`) + // //#endregion + + // //#region Ступень + // e.shaped(stair, [ + // 'As' + // ], { + // A: plank, + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_stairs_saw`) + + // e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) + // .itemInputs(allLogs) + // .circuit(2) + // .itemOutputs(stair.copyWithCount(12)) + // .itemOutputs('12x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + // e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) + // .itemInputs(plank) + // .circuit(0) + // .itemOutputs(stair) + // .itemOutputs('1x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion + + // //#region Полублок + // e.shaped(slab.copyWithCount(2), [ + // 'sA' + // ], { + // A: plank, + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_slabs_saw`) + + // e.shaped(slab, [ + // 'LL' + // ], { + // L: lumber + // }).id(`tfg:${woodName}_slabs`) + + // e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) + // .itemInputs(allLogs) + // .circuit(3) + // .itemOutputs(slab.copyWithCount(24)) + // .itemOutputs('24x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + // e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) + // .itemInputs(plank) + // .circuit(1) + // .itemOutputs(slab.copyWithCount(2)) + // .itemOutputs('1x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - //#region Дверь - e.shaped(door, [ - 'ABd', - 'ACD', - 'AAs' - ], { - A: lumber, - B: trapdoor, - C: '#forge:rings', - D: '#forge:screws', - d: '#forge:tools/screwdrivers', - s: '#forge:tools/saws', - }).id(`tfg:${woodName}_door`) + // //#region Забор + // e.shaped(fence.copyWithCount(8), [ + // 'h s', + // 'ABA', + // 'ACA' + // ], { + // A: plank, + // B: '#forge:rods/wooden', + // C: lumber, + // h: '#forge:tools/hammers', + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_fence`) - e.recipes.gtceu.assembler(`tfg:${woodName}_door`) - .itemInputs(lumber.copyWithCount(4)) - .itemInputs(trapdoor) - .inputFluids(Fluid.of('gtceu:iron', 16)) - .circuit(0) - .itemOutputs(door) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + // .itemInputs(plank) + // .circuit(2) + // .itemOutputs(fence.copyWithCount(2)) + // .itemOutputs('1x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - //#region Люк - e.shaped(trapdoor, [ - 'ABd', - 'ACs' - ], { - A: lumber, - B: '#forge:rings', - C: '#forge:screws', - d: '#forge:tools/screwdrivers', - s: '#forge:tools/saws', - }).id(`tfg:${woodName}_trapdoor`) + // //#region Калитка + // e.shaped(fenceGate, [ + // 'A A', + // 'BCB', + // 'DCD' + // ], { + // A: 'minecraft:flint', + // B: '#forge:rods/wooden', + // C: plank, + // D: lumber + // }).id(`tfg:${woodName}_fence_gate_flint`) - e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) - .itemInputs(lumber.copyWithCount(2)) - .inputFluids(Fluid.of('gtceu:iron', 16)) - .circuit(0) - .itemOutputs(trapdoor) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // e.shaped(fenceGate.copyWithCount(2), [ + // 'AEA', + // 'BCB', + // 'DCD' + // ], { + // A: '#forge:screws', + // B: '#forge:rods/wooden', + // C: plank, + // D: lumber, + // E: '#forge:tools/screwdrivers' + // }).id(`tfg:${woodName}_fence_gate_screws`) - //#region Нажимная пластина - e.shaped(pressurePlate.copyWithCount(2), [ - 'AmA', - 'BCB', - 'AdA' - ], { - A: 'gtceu:wood_bolt', - B: slab, - C: '#tfg:all_iron_springs', - m: '#forge:tools/mallets', - d: '#forge:tools/screwdrivers' - }).id(`tfg:${woodName}_pressure_plate`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) - .itemInputs(slab.copyWithCount(2)) - .itemInputs('#tfg:all_iron_springs') - .circuit(0) - .itemOutputs(pressurePlate) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) + // .itemInputs(plank.copyWithCount(2)) + // .itemInputs('2x #forge:rods/wooden') + // .circuit(3) + // .itemOutputs(fenceGate) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - //#region Пиломатериалы + // //#region Дверь + // e.shaped(door, [ + // 'ABd', + // 'ACD', + // 'AAs' + // ], { + // A: lumber, + // B: trapdoor, + // C: '#forge:rings', + // D: '#forge:screws', + // d: '#forge:tools/screwdrivers', + // s: '#forge:tools/saws', + // }).id(`tfg:${woodName}_door`) - //#region Из бревен - e.shaped(lumber.copyWithCount(8), [ - 's', - 'A' - ], { - A: allLogs, - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_lumber_from_planks_saw`) + // e.recipes.gtceu.assembler(`tfg:${woodName}_door`) + // .itemInputs(lumber.copyWithCount(4)) + // .itemInputs(trapdoor) + // .inputFluids(Fluid.of('gtceu:iron', 16)) + // .circuit(0) + // .itemOutputs(door) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - e.recipes.create.cutting(lumber.copyWithCount(12).withChance(0.95), allLogs) - .id(`tfg:${woodName}_lumber_from_planks_cutting`) + // //#region Люк + // e.shaped(trapdoor, [ + // 'ABd', + // 'ACs' + // ], { + // A: lumber, + // B: '#forge:rings', + // C: '#forge:screws', + // d: '#forge:tools/screwdrivers', + // s: '#forge:tools/saws', + // }).id(`tfg:${woodName}_trapdoor`) - e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_planks`) - .itemInputs(allLogs) - .circuit(4) - .itemOutputs(lumber.copyWithCount(16)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) + // .itemInputs(lumber.copyWithCount(2)) + // .inputFluids(Fluid.of('gtceu:iron', 16)) + // .circuit(0) + // .itemOutputs(trapdoor) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - //#region Из ступенек - e.shaped(lumber.copyWithCount(3), [ - 'A', - 's' - ], { - A: stair, - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_lumber_from_stairs_saw`) + // //#region Нажимная пластина + // e.shaped(pressurePlate.copyWithCount(2), [ + // 'AmA', + // 'BCB', + // 'AdA' + // ], { + // A: 'gtceu:wood_bolt', + // B: slab, + // C: '#tfg:all_iron_springs', + // m: '#forge:tools/mallets', + // d: '#forge:tools/screwdrivers' + // }).id(`tfg:${woodName}_pressure_plate`) - e.recipes.create.cutting(lumber.copyWithCount(3).withChance(0.95), stair) - .id(`tfg:${woodName}_lumber_from_stairs_cutting`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_stairs`) - .itemInputs(stair) - .circuit(4) - .itemOutputs(lumber.copyWithCount(3)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Из полублоков - e.shaped(lumber.copyWithCount(2), [ - 'A', - 's' - ], { - A: slab, - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_lumber_from_slab_saw`) - - e.recipes.create.cutting(lumber.copyWithCount(2).withChance(0.95), slab) - .id(`tfg:${woodName}_lumber_from_slab_cutting`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_slab`) - .itemInputs(slab) - .circuit(4) - .itemOutputs(lumber.copyWithCount(2)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#endregion + // e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) + // .itemInputs(slab.copyWithCount(2)) + // .itemInputs('#tfg:all_iron_springs') + // .circuit(0) + // .itemOutputs(pressurePlate) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion - //#region Табличка - e.shaped(sign.copyWithCount(3), [ - 'AAA', - 'AAA', - 'mB ' - ], { - A: lumber, - B: '#forge:rods/wooden', - m: '#forge:tools/mallets' - }).id(`tfg:${woodName}_sign`) + // //#region Пиломатериалы - e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) - .itemInputs(lumber.copyWithCount(6)) - .circuit(3) - .itemOutputs(sign.copyWithCount(3)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion + // //#region Из бревен + // e.shaped(lumber.copyWithCount(8), [ + // 's', + // 'A' + // ], { + // A: allLogs, + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_lumber_from_planks_saw`) - //#region Висящая табличка - e.shaped(hangingSign.copyWithCount(3), [ - 'AmA', - 'CBC', - 'BBB' - ], { - A: '#tfg:metal_chains', - B: lumber, - C: '#forge:screws', - m: '#forge:tools/mallets' - }).id(`tfg:${woodName}_hanging_sign`) + // e.recipes.create.cutting(lumber.copyWithCount(12).withChance(0.95), allLogs) + // .id(`tfg:${woodName}_lumber_from_planks_cutting`) - e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) - .itemInputs(lumber.copyWithCount(4)) - .itemInputs('2x #tfg:metal_chains') - .inputFluids(Fluid.of('gtceu:iron', 32)) - .circuit(4) - .itemOutputs(hangingSign.copyWithCount(3)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_planks`) + // .itemInputs(allLogs) + // .circuit(4) + // .itemOutputs(lumber.copyWithCount(16)) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion + + // //#region Из ступенек + // e.shaped(lumber.copyWithCount(3), [ + // 'A', + // 's' + // ], { + // A: stair, + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_lumber_from_stairs_saw`) + + // e.recipes.create.cutting(lumber.copyWithCount(3).withChance(0.95), stair) + // .id(`tfg:${woodName}_lumber_from_stairs_cutting`) + + // e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_stairs`) + // .itemInputs(stair) + // .circuit(4) + // .itemOutputs(lumber.copyWithCount(3)) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion + + // //#region Из полублоков + // e.shaped(lumber.copyWithCount(2), [ + // 'A', + // 's' + // ], { + // A: slab, + // s: '#forge:tools/saws' + // }).id(`tfg:${woodName}_lumber_from_slab_saw`) + + // e.recipes.create.cutting(lumber.copyWithCount(2).withChance(0.95), slab) + // .id(`tfg:${woodName}_lumber_from_slab_cutting`) + + // e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_slab`) + // .itemInputs(slab) + // .circuit(4) + // .itemOutputs(lumber.copyWithCount(2)) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion + + // //#endregion + + // //#region Табличка + // e.shaped(sign.copyWithCount(3), [ + // 'AAA', + // 'AAA', + // 'mB ' + // ], { + // A: lumber, + // B: '#forge:rods/wooden', + // m: '#forge:tools/mallets' + // }).id(`tfg:${woodName}_sign`) + + // e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) + // .itemInputs(lumber.copyWithCount(6)) + // .circuit(3) + // .itemOutputs(sign.copyWithCount(3)) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // //#endregion + + // //#region Висящая табличка + // e.shaped(hangingSign.copyWithCount(3), [ + // 'AmA', + // 'CBC', + // 'BBB' + // ], { + // A: '#tfg:metal_chains', + // B: lumber, + // C: '#forge:screws', + // m: '#forge:tools/mallets' + // }).id(`tfg:${woodName}_hanging_sign`) + + // e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) + // .itemInputs(lumber.copyWithCount(4)) + // .itemInputs('2x #tfg:metal_chains') + // .inputFluids(Fluid.of('gtceu:iron', 32)) + // .circuit(4) + // .itemOutputs(hangingSign.copyWithCount(3)) + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion //#endregion @@ -476,58 +527,58 @@ const registerMinecraftRecipes = (e) => { //#region Бамбук // Доски - e.remove({ id: 'gtceu:shapeless/bamboo_planks' }) + // e.remove({ id: 'gtceu:shapeless/bamboo_planks' }) // Ступенька - e.remove({ id: 'minecraft:bamboo_stairs' }) - e.remove({ id: 'gtceu:assembler/bamboo_stairs' }) + // e.remove({ id: 'minecraft:bamboo_stairs' }) + // e.remove({ id: 'gtceu:assembler/bamboo_stairs' }) - e.shaped('minecraft:bamboo_stairs', [ - 'As' - ], { - A: 'minecraft:bamboo_planks', - s: '#forge:tools/saws' - }).id(`tfg:bamboo_stairs_saw`) + // e.shaped('minecraft:bamboo_stairs', [ + // 'As' + // ], { + // A: 'minecraft:bamboo_planks', + // s: '#forge:tools/saws' + // }).id(`tfg:bamboo_stairs_saw`) - e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_logs`) - .itemInputs('#minecraft:bamboo_blocks') - .circuit(1) - .itemOutputs('4x minecraft:bamboo_stairs') - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_logs`) + // .itemInputs('#minecraft:bamboo_blocks') + // .circuit(1) + // .itemOutputs('4x minecraft:bamboo_stairs') + // .itemOutputs('1x gtceu:wood_dust') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_planks`) - .itemInputs('minecraft:bamboo_planks') - .circuit(0) - .itemOutputs('minecraft:bamboo_stairs') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_planks`) + // .itemInputs('minecraft:bamboo_planks') + // .circuit(0) + // .itemOutputs('minecraft:bamboo_stairs') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) // Мозаичная ступенька - e.remove({ id: 'minecraft:bamboo_mosaic_stairs' }) + // e.remove({ id: 'minecraft:bamboo_mosaic_stairs' }) - e.shaped('minecraft:bamboo_mosaic_stairs', [ - 'As' - ], { - A: 'minecraft:bamboo_mosaic', - s: '#forge:tools/saws' - }).id(`tfg:bamboo_mosaic_stairs_saw`) + // e.shaped('minecraft:bamboo_mosaic_stairs', [ + // 'As' + // ], { + // A: 'minecraft:bamboo_mosaic', + // s: '#forge:tools/saws' + // }).id(`tfg:bamboo_mosaic_stairs_saw`) - e.recipes.gtceu.cutter(`tfg:bamboo_mosaic_stairs_from_planks`) - .itemInputs('minecraft:bamboo_mosaic') - .circuit(0) - .itemOutputs('minecraft:bamboo_mosaic_stairs') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.cutter(`tfg:bamboo_mosaic_stairs_from_planks`) + // .itemInputs('minecraft:bamboo_mosaic') + // .circuit(0) + // .itemOutputs('minecraft:bamboo_mosaic_stairs') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - e.recipes.create.cutting('minecraft:bamboo_mosaic_stairs', 'minecraft:bamboo_mosaic') - .id(`tfg:bamboo_mosaic_planks_cutting`) + // e.recipes.create.cutting('minecraft:bamboo_mosaic_stairs', 'minecraft:bamboo_mosaic') + // .id(`tfg:bamboo_mosaic_planks_cutting`) // Полублок - e.recipes.create.cutting('2x minecraft:bamboo_mosaic_slab', 'minecraft:bamboo_mosaic') - .id(`tfg:bamboo_mosaic_slabs_cutting`) + // e.recipes.create.cutting('2x minecraft:bamboo_mosaic_slab', 'minecraft:bamboo_mosaic') + // .id(`tfg:bamboo_mosaic_slabs_cutting`) // Забор - e.remove({ id: 'gtceu:shaped/bamboo_fence' }) - e.remove({ id: 'gtceu:assembler/bamboo_fence' }) + // e.remove({ id: 'gtceu:shaped/bamboo_fence' }) + // e.remove({ id: 'gtceu:assembler/bamboo_fence' }) //todo: я устал, правда // e.shaped(fence.copyWithCount(8), [ @@ -560,11 +611,11 @@ const registerMinecraftRecipes = (e) => { // Очищенный блок бамбука - e.recipes.gtceu.cutter(`tfg:stripped_bamboo`) - .itemInputs('minecraft:bamboo_block') - .circuit(0) - .itemOutputs('minecraft:stripped_bamboo_block') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.cutter(`tfg:stripped_bamboo`) + // .itemInputs('minecraft:bamboo_block') + // .circuit(0) + // .itemOutputs('minecraft:stripped_bamboo_block') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) // Бамбуковый мозаичный блок // e.recipes.gtceu.cutter(`tfg:bamboo_mosaic`) @@ -576,25 +627,25 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Палки - e.remove({ id: 'gtceu:shaped/stick_normal' }) - e.remove({ id: 'minecraft:stick_from_bamboo_item' }) + // e.remove({ id: 'gtceu:shaped/stick_normal' }) + // e.remove({ id: 'minecraft:stick_from_bamboo_item' }) - e.remove({ id: 'gtceu:lathe/lathe_planks' }) + // e.remove({ id: 'gtceu:lathe/lathe_planks' }) - e.recipes.gtceu.lathe(`tfg:sticks_from_lumber`) - .itemInputs('#tfc:lumber') - .itemOutputs('minecraft:stick') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.lathe(`tfg:sticks_from_lumber`) + // .itemInputs('#tfc:lumber') + // .itemOutputs('minecraft:stick') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - e.recipes.gtceu.lathe(`tfg:sticks_from_planks`) - .itemInputs('#minecraft:planks') - .itemOutputs('4x minecraft:stick') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.lathe(`tfg:sticks_from_planks`) + // .itemInputs('#minecraft:planks') + // .itemOutputs('4x minecraft:stick') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - e.recipes.gtceu.lathe(`tfg:sticks_from_logs`) - .itemInputs('#minecraft:logs') - .itemOutputs('32x minecraft:stick') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) + // e.recipes.gtceu.lathe(`tfg:sticks_from_logs`) + // .itemInputs('#minecraft:logs') + // .itemOutputs('32x minecraft:stick') + // .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion From 3281a95e016f7d9a8817bf49a8ef6102bd112a73 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:59:02 +0700 Subject: [PATCH 165/266] Update openpartiesandclaims-server.toml --- global-server-configs/openpartiesandclaims-server.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global-server-configs/openpartiesandclaims-server.toml b/global-server-configs/openpartiesandclaims-server.toml index 21d82b8eb..f0ea92d63 100644 --- a/global-server-configs/openpartiesandclaims-server.toml +++ b/global-server-configs/openpartiesandclaims-server.toml @@ -169,7 +169,7 @@ #Projectile landing on blocks requires non-break block access through this option or blockAccessEntityGroups. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGrief = ["minecraft:sheep"] + entitiesAllowedToGrief = ["minecraft:sheep", "interact$minecraft:potion", "interact$minecraft:trident", "interact$minecraft:(*_|)arrow", "interact$minecraft:ender_pearl", "interact$minecraft:egg"] #Entities that can bypass all protection of other entities. Supports entity type tags. #Prefixing an entity id/tag with "interact$" creates an exception which tries to exclude attacks. #Prefixing an entity id/tag with "break$" creates an exception that only includes attacks. @@ -179,7 +179,7 @@ #Projectile landing on entities requires non-attack entity access through this option or entityAccessEntityGroups. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGriefEntities = [] + entitiesAllowedToGriefEntities = ["interact$minecraft:potion", "interact$minecraft:trident", "interact$minecraft:(*_|)arrow", "interact$minecraft:ender_pearl", "interact$minecraft:egg"] #Entities that can bypass all dropped item protection. Supports entity type tags. #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] From bae7f73f410b52622caaca38164a5d4216c69e9e Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 17 Sep 2024 23:59:10 +0700 Subject: [PATCH 166/266] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a16b36748..3a7eac3f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,8 @@ - Alternator recipes was sligthly nerfed. - Fixed bug when some items wont display inside EMI. - Simplified alternator multiblock reques and it controller block recipe. +- Added better recipes for any wood (nether wood too). +- Added stripping recipes in emi world interaction page. - ... ### Updated mods - ?? From 0fc959697148e3a5beae4869387cc3b2e74f6a1a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 18 Sep 2024 23:55:19 +0700 Subject: [PATCH 167/266] fixes --- kubejs/client_scripts/minecraft/assets.js | 2 +- kubejs/client_scripts/tfc/assets.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/client_scripts/minecraft/assets.js b/kubejs/client_scripts/minecraft/assets.js index 36ba65eaf..ed8f5787f 100644 --- a/kubejs/client_scripts/minecraft/assets.js +++ b/kubejs/client_scripts/minecraft/assets.js @@ -18,7 +18,7 @@ const registerMinecraftAssets = (e) => { output: `item:minecraft:stripped_${woodName}_hyphae` } - e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, logJson) + e.add(`emi:recipe/additions/vanilla_nether_${woodName}_log_conversion`, logJson) e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, woodJson) }) //#endregion diff --git a/kubejs/client_scripts/tfc/assets.js b/kubejs/client_scripts/tfc/assets.js index 8a8d590e8..18884ad2a 100644 --- a/kubejs/client_scripts/tfc/assets.js +++ b/kubejs/client_scripts/tfc/assets.js @@ -18,7 +18,7 @@ const registerTFCAssets = (e) => { output: `item:tfc:wood/stripped_wood/${woodName}` } - e.add(`emi:recipe/additions/tfc_${woodName}_wood_conversion`, logJson) + e.add(`emi:recipe/additions/tfc_${woodName}_log_conversion`, logJson) e.add(`emi:recipe/additions/tfc_${woodName}_wood_conversion`, woodJson) }) //#endregion From 88d7cee5679a6eea7970e96f9027f72be9ef3eb1 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 18 Sep 2024 23:55:28 +0700 Subject: [PATCH 168/266] more wood recipes --- kubejs/server_scripts/alekiroofs/recipes.js | 31 - kubejs/server_scripts/minecraft/recipes.js | 855 +++++++++++--------- 2 files changed, 462 insertions(+), 424 deletions(-) diff --git a/kubejs/server_scripts/alekiroofs/recipes.js b/kubejs/server_scripts/alekiroofs/recipes.js index 7a2fbc445..ad7827a64 100644 --- a/kubejs/server_scripts/alekiroofs/recipes.js +++ b/kubejs/server_scripts/alekiroofs/recipes.js @@ -2,36 +2,5 @@ const registerAlekiRoofsRecipes = (e) => { - //#region Дерево - - global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { - - // Wood - e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) - }) - - global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { - e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) - - const plank = Item.of(`minecraft:${woodName}_planks`) - const roofing = Item.of(`alekiroofs:${woodName}_roofing`) - - e.shaped(roofing.copyWithCount(2), [ - 'A ', - ' s' - ], { - A: plank, - s: '#forge:tools/saws' - }).id(`tfg:${woodName}_roofing_saw`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_roofing_from_planks`) - .itemInputs(plank) - .circuit(3) - .itemOutputs(roofing.copyWithCount(2)) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - }) - - //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 2b276640d..544816d2e 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -77,11 +77,14 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:shaped/${woodName}_chest_boat` }) e.remove({ id: `gtceu:assembler/${woodName}_chest_boat` }) + // Roofs + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + // Sticks e.remove({ id: `everycomp:c/minecraft/null_from_${woodName}_planks_stonecutting` }) } - const processNetherWood = () => { + const processNetherWood = (woodName) => { const anyLogs = `#minecraft:${woodName}_stems` @@ -91,10 +94,44 @@ const registerMinecraftRecipes = (e) => { const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) + const lumber = Item.of(`tfg:${woodName}_lumber`) + + const plank = Item.of(`minecraft:${woodName}_planks`) + const stair = Item.of(`minecraft:${woodName}_stairs`) + const slab = Item.of(`minecraft:${woodName}_slab`) + + const fence = Item.of(`minecraft:${woodName}_fence`) + const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) + + const door = Item.of(`minecraft:${woodName}_door`) + const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + + const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + const button = Item.of(`minecraft:${woodName}_button`) + + const sign = Item.of(`minecraft:${woodName}_sign`) + const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + + const roofing = Item.of(`alekiroofs:${woodName}_roofing`) + //#region Бревно - - // Нечего добавлять - // Нечего удалять + e.shaped(log, [ + 'A', + 's' + ], { + A: wood, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_log`) + + e.recipes.create.cutting([log, Item.of('4x gtceu:wood_dust').withChance(0.75)], wood) + .id(`tfg:create_cutting/${woodName}_log`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_log`) + .itemInputs(wood) + .circuit(0) + .itemOutputs(log) + .itemOutputs('4x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion @@ -109,29 +146,439 @@ const registerMinecraftRecipes = (e) => { s: '#forge:tools/saws' }).id(`tfg:workbench/${woodName}_wood`) - e.recipes.create.cutting(wood, log.copyWithCount(2)) + e.recipes.create.cutting(wood.withChance(0.75), log) .id(`tfg:create_cutting/${woodName}_wood`) e.recipes.gtceu.cutter(`tfg:${woodName}_wood`) - .itemInputs(log) + .itemInputs(log.copyWithCount(2)) .circuit(0) - .itemOutputs(wood.copyWithCount(2)) - .itemOutputs('4x gtceu:wood_dust') + .itemOutputs(wood) .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion //#region Обтесанное бревно - e.recipes.create.cutting(strippedLog, log.copyWithCount(2)) - .id(`tfg:create_cutting/${woodName}_wood`) + e.shaped(strippedLog, [ + 'A', + 's' + ], { + A: strippedWood, + s: '#forge:tools/saws' + }).id(`tfg:workbench/stripped_${woodName}_log`) + + e.recipes.create.cutting(strippedLog, log) + .id(`tfg:create_cutting/stripped_${woodName}_log`) e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) .itemInputs(log) - .circuit(0) + .circuit(1) .itemOutputs(strippedLog) + .itemOutputs('4x gtceu:wood_dust') .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion //#region Обтесанное цельное бревно + e.remove({ id: `minecraft:stripped_${woodName}_hyphae` }) + + e.shaped(strippedWood, [ + 'AA', + ' s' + ], { + A: strippedLog, + s: '#forge:tools/saws' + }).id(`tfg:workbench/stripped_${woodName}_wood`) + + e.recipes.create.cutting(strippedWood, wood) + .id(`tfg:create_cutting/stripped_${woodName}_wood`) + + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) + .itemInputs(wood) + .circuit(1) + .itemOutputs(strippedWood) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Пиломатериалы + + //#region Из бревен + e.shaped(lumber.copyWithCount(8), [ + 's', + 'A' + ], { + A: anyLogs, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_logs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(12), anyLogs) + .id(`tfg:create_cutting/${woodName}_lumber_from_logs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_logs`) + .itemInputs(anyLogs) + .circuit(2) + .itemOutputs(lumber.copyWithCount(16)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из досок + e.shaped(lumber.copyWithCount(4), [ + 's', + 'A' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_planks_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(3), plank) + .id(`tfg:create_cutting/${woodName}_lumber_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_planks`) + .itemInputs(plank) + .circuit(0) + .itemOutputs(lumber.copyWithCount(4)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из ступенек + e.shaped(lumber.copyWithCount(1), [ + 'A', + 's' + ], { + A: stair, + s: '#forge:tools/saws' + }).id(`tfg:create_cutting/${woodName}_lumber_from_stairs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(2), stair) + .id(`tfg:workbench/${woodName}_lumber_from_stairs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_stairs`) + .itemInputs(stair) + .circuit(2) + .itemOutputs(lumber.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из полублоков + e.shaped(lumber.copyWithCount(1), [ + 'A', + 's' + ], { + A: slab, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_slab_saw`) + + e.recipes.create.cutting([lumber, lumber.withChance(0.5)], slab) + .id(`tfg:create_cutting/${woodName}_lumber_from_slab`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_slab`) + .itemInputs(slab) + .circuit(2) + .itemOutputs(lumber.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Доски + e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) + e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) + + e.shaped(plank, [ + 'AA', + 'AA' + ], { + A: lumber + }).id(`tfg:workbench/${woodName}_planks`) + + e.recipes.create.cutting(plank.copyWithCount(3), anyLogs) + .id(`tfg:create_cutting/${woodName}_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) + .itemInputs(anyLogs) + .circuit(3) + .itemOutputs(plank.copyWithCount(6)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Ступень + e.remove({ id: `minecraft:${woodName}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) + + e.shaped(stair, [ + 'As' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_stairs_saw`) + + e.recipes.create.cutting(stair.copyWithCount(4), anyLogs) + .id(`tfg:create_cutting/${woodName}_stairs_from_logs`) + + e.recipes.create.cutting([stair, Item.of('1x gtceu:small_wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_stairs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) + .itemInputs(anyLogs) + .circuit(4) + .itemOutputs(stair.copyWithCount(8)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) + .itemInputs(plank) + .circuit(1) + .itemOutputs(stair) + .itemOutputs('1x gtceu:small_wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Полублок + e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + + e.shaped(slab.copyWithCount(2), [ + 'sA' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_slabs_saw`) + + e.recipes.create.cutting(slab.copyWithCount(6), anyLogs) + .id(`tfg:create_cutting/${woodName}_slabs_from_logs`) + + e.recipes.create.cutting(slab.copyWithCount(2), plank) + .id(`tfg:create_cutting/${woodName}_slabs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) + .itemInputs(anyLogs) + .circuit(5) + .itemOutputs(slab.copyWithCount(12)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) + .itemInputs(plank) + .circuit(2) + .itemOutputs(slab.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Забор + e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence` }) + + e.shaped(fence.copyWithCount(8), [ + 'h s', + 'ABA', + 'ACA' + ], { + A: plank, + B: '#forge:rods/wooden', + C: lumber, + h: '#forge:tools/hammers', + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_fence`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_fence`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + .itemInputs(plank) + .circuit(3) + .itemOutputs(fence.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Калитка + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) + + e.shaped(fenceGate, [ + 'A A', + 'BCB', + 'DCD' + ], { + A: 'minecraft:flint', + B: '#forge:rods/wooden', + C: plank, + D: lumber + }).id(`tfg:workbench/${woodName}_fence_gate_flint`) + + e.shaped(fenceGate.copyWithCount(2), [ + 'AEA', + 'BCB', + 'DCD' + ], { + A: '#forge:screws', + B: '#forge:rods/wooden', + C: plank, + D: lumber, + E: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_fence_gate_screws`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) + .itemInputs(plank.copyWithCount(2)) + .itemInputs('2x #forge:rods/wooden') + .itemInputs('2x #forge:screws') + .circuit(0) + .itemOutputs(fenceGate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Дверь + e.remove({ id: `gtceu:shaped/${woodName}_door` }) + e.remove({ id: `gtceu:assembler/${woodName}_door` }) + + e.shaped(door, [ + 'ABd', + 'ACD', + 'AAs' + ], { + A: lumber, + B: trapdoor, + C: '#forge:rings', + D: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_door`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_door`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs(trapdoor) + .inputFluids(Fluid.of('gtceu:iron', 16)) + .circuit(0) + .itemOutputs(door) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Люк + e.remove({ id: `minecraft:${woodName}_trapdoor` }) + + e.shaped(trapdoor, [ + 'ABd', + 'ACs' + ], { + A: lumber, + B: '#forge:rings', + C: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_trapdoor`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) + .itemInputs(lumber.copyWithCount(2)) + .itemInputs('2x #forge:screws') + .circuit(0) + .itemOutputs(trapdoor) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Нажимная пластина + e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) + + e.shaped(pressurePlate.copyWithCount(2), [ + 'AmA', + 'BCB', + 'AdA' + ], { + A: 'gtceu:wood_bolt', + B: slab, + C: '#forge:springs', + m: '#forge:tools/mallets', + d: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_pressure_plate`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) + .itemInputs(slab.copyWithCount(2)) + .itemInputs('#forge:springs') + .circuit(0) + .itemOutputs(pressurePlate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Кнопка + + // e.remove({ id: `gtceu:shaped/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) + + //#endregion + + //#region Табличка + e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign` }) + + e.shaped(sign.copyWithCount(3), [ + 'AAA', + 'AAA', + 'mB ' + ], { + A: lumber, + B: '#forge:rods/wooden', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) + .itemInputs(lumber.copyWithCount(6)) + .circuit(3) + .itemOutputs(sign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Висящая табличка + e.shaped(hangingSign.copyWithCount(3), [ + 'AmA', + 'CBC', + 'BBB' + ], { + A: '#tfg:metal_chains', + B: lumber, + C: '#forge:screws', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_hanging_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs('2x #tfg:metal_chains') + .itemInputs('4x #forge:screws') + .circuit(4) + .itemOutputs(hangingSign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Крыша + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + + e.shaped(roofing.copyWithCount(2), [ + 'A ', + ' s' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_roofing_saw`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_roofing`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_roofing`) + .itemInputs(plank) + .circuit(4) + .itemOutputs(roofing.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion } @@ -140,390 +587,12 @@ const registerMinecraftRecipes = (e) => { }) global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { - - //#region Удаление - - // Planks - // e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) - // e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) - // e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) - // e.remove({ id: `gtceu:cutter/${woodName}_planks` }) - // e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) - // e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) - // e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) - - // Stairs - // e.remove({ id: `minecraft:${woodName}_stairs` }) - // e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) - // e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) - - // Slabs - // e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) - // e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) - // e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) - // e.remove({ id: `gtceu:cutter/${woodName}_slab` }) - // e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) - - // Fence - // e.remove({ id: `gtceu:shaped/${woodName}_fence` }) - // e.remove({ id: `gtceu:assembler/${woodName}_fence` }) - - // Fence Gate - // e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) - // e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) - // e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) - - // Door - // e.remove({ id: `gtceu:shaped/${woodName}_door` }) - // e.remove({ id: `gtceu:assembler/${woodName}_door` }) - - // Trapdoor - // e.remove({ id: `minecraft:${woodName}_trapdoor` }) - - // Pressure Plate - // e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) - // e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) - - // Button - // e.remove({ id: `gtceu:shaped/${woodName}_button` }) - // e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) - // e.remove({ id: `gtceu:cutter/${woodName}_button` }) - // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) - - // Sign - // e.remove({ id: `minecraft:${woodName}_sign` }) - // e.remove({ id: `gtceu:assembler/${woodName}_sign` }) - - //#endregion - - //#region Добавление - const allLogs = `#minecraft:${woodName}_stems` - - const log = Item.of(`minecraft:${woodName}_stem`); - const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) - - // const wood = Item.of(`minecraft:${woodName}_hyphae`) - // const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) - - // const plank = Item.of(`minecraft:${woodName}_planks`) - // const stair = Item.of(`minecraft:${woodName}_stairs`) - // const slab = Item.of(`minecraft:${woodName}_slab`) - - // const fence = Item.of(`minecraft:${woodName}_fence`) - // const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) - - // const door = Item.of(`minecraft:${woodName}_door`) - // const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) - - // const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) - // // const button = Item.of(`minecraft:${woodName}_button`) - - // const sign = Item.of(`minecraft:${woodName}_sign`) - // const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) - - // const lumber = Item.of(`tfg:${woodName}_lumber`) - - - - // //#region Очищенная древесина - // e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) - // .itemInputs(wood) - // .circuit(0) - // .itemOutputs(strippedWood) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Доски - // e.shaped(plank, [ - // 'AA', - // 'AA' - // ], { - // A: lumber - // }).id(`tfg:${woodName}_planks`) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) - // .itemInputs(allLogs) - // .circuit(1) - // .itemOutputs(plank.copyWithCount(6)) - // .itemOutputs('2x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.create.cutting(plank.copyWithCount(3).withChance(0.95), allLogs) - // .id(`tfg:${woodName}_planks_cutting`) - // //#endregion - - // //#region Ступень - // e.shaped(stair, [ - // 'As' - // ], { - // A: plank, - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_stairs_saw`) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) - // .itemInputs(allLogs) - // .circuit(2) - // .itemOutputs(stair.copyWithCount(12)) - // .itemOutputs('12x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) - // .itemInputs(plank) - // .circuit(0) - // .itemOutputs(stair) - // .itemOutputs('1x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Полублок - // e.shaped(slab.copyWithCount(2), [ - // 'sA' - // ], { - // A: plank, - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_slabs_saw`) - - // e.shaped(slab, [ - // 'LL' - // ], { - // L: lumber - // }).id(`tfg:${woodName}_slabs`) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) - // .itemInputs(allLogs) - // .circuit(3) - // .itemOutputs(slab.copyWithCount(24)) - // .itemOutputs('24x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) - // .itemInputs(plank) - // .circuit(1) - // .itemOutputs(slab.copyWithCount(2)) - // .itemOutputs('1x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Забор - // e.shaped(fence.copyWithCount(8), [ - // 'h s', - // 'ABA', - // 'ACA' - // ], { - // A: plank, - // B: '#forge:rods/wooden', - // C: lumber, - // h: '#forge:tools/hammers', - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_fence`) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) - // .itemInputs(plank) - // .circuit(2) - // .itemOutputs(fence.copyWithCount(2)) - // .itemOutputs('1x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Калитка - // e.shaped(fenceGate, [ - // 'A A', - // 'BCB', - // 'DCD' - // ], { - // A: 'minecraft:flint', - // B: '#forge:rods/wooden', - // C: plank, - // D: lumber - // }).id(`tfg:${woodName}_fence_gate_flint`) - - // e.shaped(fenceGate.copyWithCount(2), [ - // 'AEA', - // 'BCB', - // 'DCD' - // ], { - // A: '#forge:screws', - // B: '#forge:rods/wooden', - // C: plank, - // D: lumber, - // E: '#forge:tools/screwdrivers' - // }).id(`tfg:${woodName}_fence_gate_screws`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) - // .itemInputs(plank.copyWithCount(2)) - // .itemInputs('2x #forge:rods/wooden') - // .circuit(3) - // .itemOutputs(fenceGate) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Дверь - // e.shaped(door, [ - // 'ABd', - // 'ACD', - // 'AAs' - // ], { - // A: lumber, - // B: trapdoor, - // C: '#forge:rings', - // D: '#forge:screws', - // d: '#forge:tools/screwdrivers', - // s: '#forge:tools/saws', - // }).id(`tfg:${woodName}_door`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_door`) - // .itemInputs(lumber.copyWithCount(4)) - // .itemInputs(trapdoor) - // .inputFluids(Fluid.of('gtceu:iron', 16)) - // .circuit(0) - // .itemOutputs(door) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Люк - // e.shaped(trapdoor, [ - // 'ABd', - // 'ACs' - // ], { - // A: lumber, - // B: '#forge:rings', - // C: '#forge:screws', - // d: '#forge:tools/screwdrivers', - // s: '#forge:tools/saws', - // }).id(`tfg:${woodName}_trapdoor`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) - // .itemInputs(lumber.copyWithCount(2)) - // .inputFluids(Fluid.of('gtceu:iron', 16)) - // .circuit(0) - // .itemOutputs(trapdoor) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Нажимная пластина - // e.shaped(pressurePlate.copyWithCount(2), [ - // 'AmA', - // 'BCB', - // 'AdA' - // ], { - // A: 'gtceu:wood_bolt', - // B: slab, - // C: '#tfg:all_iron_springs', - // m: '#forge:tools/mallets', - // d: '#forge:tools/screwdrivers' - // }).id(`tfg:${woodName}_pressure_plate`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) - // .itemInputs(slab.copyWithCount(2)) - // .itemInputs('#tfg:all_iron_springs') - // .circuit(0) - // .itemOutputs(pressurePlate) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Пиломатериалы - - // //#region Из бревен - // e.shaped(lumber.copyWithCount(8), [ - // 's', - // 'A' - // ], { - // A: allLogs, - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_lumber_from_planks_saw`) - - // e.recipes.create.cutting(lumber.copyWithCount(12).withChance(0.95), allLogs) - // .id(`tfg:${woodName}_lumber_from_planks_cutting`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_planks`) - // .itemInputs(allLogs) - // .circuit(4) - // .itemOutputs(lumber.copyWithCount(16)) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Из ступенек - // e.shaped(lumber.copyWithCount(3), [ - // 'A', - // 's' - // ], { - // A: stair, - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_lumber_from_stairs_saw`) - - // e.recipes.create.cutting(lumber.copyWithCount(3).withChance(0.95), stair) - // .id(`tfg:${woodName}_lumber_from_stairs_cutting`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_stairs`) - // .itemInputs(stair) - // .circuit(4) - // .itemOutputs(lumber.copyWithCount(3)) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Из полублоков - // e.shaped(lumber.copyWithCount(2), [ - // 'A', - // 's' - // ], { - // A: slab, - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_lumber_from_slab_saw`) - - // e.recipes.create.cutting(lumber.copyWithCount(2).withChance(0.95), slab) - // .id(`tfg:${woodName}_lumber_from_slab_cutting`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_lumber_from_slab`) - // .itemInputs(slab) - // .circuit(4) - // .itemOutputs(lumber.copyWithCount(2)) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#endregion - - // //#region Табличка - // e.shaped(sign.copyWithCount(3), [ - // 'AAA', - // 'AAA', - // 'mB ' - // ], { - // A: lumber, - // B: '#forge:rods/wooden', - // m: '#forge:tools/mallets' - // }).id(`tfg:${woodName}_sign`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) - // .itemInputs(lumber.copyWithCount(6)) - // .circuit(3) - // .itemOutputs(sign.copyWithCount(3)) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - // //#endregion - - // //#region Висящая табличка - // e.shaped(hangingSign.copyWithCount(3), [ - // 'AmA', - // 'CBC', - // 'BBB' - // ], { - // A: '#tfg:metal_chains', - // B: lumber, - // C: '#forge:screws', - // m: '#forge:tools/mallets' - // }).id(`tfg:${woodName}_hanging_sign`) - - // e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) - // .itemInputs(lumber.copyWithCount(4)) - // .itemInputs('2x #tfg:metal_chains') - // .inputFluids(Fluid.of('gtceu:iron', 32)) - // .circuit(4) - // .itemOutputs(hangingSign.copyWithCount(3)) - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#endregion + processNetherWood(woodName) }) + //#region Бамбук + //#endregion + //#region Бамбук // Доски From 084481265694132b8bd95f87a0386ccad7e7bc18 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Thu, 19 Sep 2024 09:02:09 +0700 Subject: [PATCH 169/266] ... --- kubejs/server_scripts/gregtech/tags.js | 3 + kubejs/server_scripts/minecraft/recipes.js | 141 +++++++- kubejs/server_scripts/minecraft/tags.js | 4 +- kubejs/startup_scripts/minecraft/constants.js | 310 +++++++++--------- 4 files changed, 298 insertions(+), 160 deletions(-) diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 3b58a9079..d26b8f313 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -81,6 +81,9 @@ const registerGregTechItemTags = (event) => { event.add('tfg:all_iron_springs', 'gtceu:iron_spring') event.add('tfg:all_iron_springs', 'gtceu:wrought_iron_spring') + + event.add('tfg:all_iron_nuggets', 'minecraft:iron_nugget') + event.add('tfg:all_iron_nuggets', 'gtceu:wrought_iron_nugget') //#endregion //#region Скрываем все руды (не используем #forge:ores, потому что будет пересечение) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 544816d2e..41689dffc 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -77,9 +77,24 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:shaped/${woodName}_chest_boat` }) e.remove({ id: `gtceu:assembler/${woodName}_chest_boat` }) - // Roofs + // Roofs (AlekiRoofs) e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + // Window (Create) + e.remove({ id: `create:oak_window` }) + + // Window Pane (Create) + e.remove({ id: `create:oak_window_pane` }) + + // Train Track Narrow + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + + // Train Track Normal + e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + + // Train Track Wide + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + // Sticks e.remove({ id: `everycomp:c/minecraft/null_from_${woodName}_planks_stonecutting` }) } @@ -113,6 +128,17 @@ const registerMinecraftRecipes = (e) => { const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) const roofing = Item.of(`alekiroofs:${woodName}_roofing`) + + const window = Item.of(`create:${woodName}_window_pane`) + const windowPane = Item.of(`create:${woodName}_window_pane`) + + const incompleteTrackNarrow = Item.of(`railways:track_incomplete_${woodName}_narrow`) + const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) + const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) + + const trackNarrow = Item.of(`railways:narrow_${woodName}_track`) + const track = Item.of(`railways:${woodName}_track`) + const trackWide = Item.of(`railways:wide_${woodName}_track`) //#region Бревно e.shaped(log, [ @@ -198,7 +224,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Пиломатериалы + //#region Пиломатериалы (TFC) //#region Из бревен e.shaped(lumber.copyWithCount(8), [ @@ -559,7 +585,7 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Крыша + //#region Крыша (AlekiRoofs) e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) e.shaped(roofing.copyWithCount(2), [ @@ -580,6 +606,115 @@ const registerMinecraftRecipes = (e) => { .itemOutputs('1x gtceu:wood_dust') .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion + + //#region Окно (Create) + e.remove({ id: `create:${woodName}_window` }) + + e.shaped(window, [ + ' A ', + 'ABA', + ' m ' + ], { + A: plank, + B: '#forge:glass/colorless', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_window`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_window`) + .itemInputs(plank) + .itemInputs('#forge:glass/colorless') + .circuit(16) + .itemOutputs(window) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Окнонная панель (Create) + e.remove({ id: `create:${woodName}_window_pane` }) + + e.shaped(windowPane.copyWithCount(2), [ + 'AB', + 'Am' + ], { + A: plank, + B: '#forge:glass/colorless', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_window_pane`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_window_pane`) + .itemInputs(plank) + .itemInputs('#forge:glass/colorless') + .circuit(17) + .itemOutputs(windowPane.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + //#endregion + + //#region Железнодорожное полотно (Узкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + + e.recipes.createSequencedAssembly([ + trackNarrow, + ], slab, [ + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), + e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), + ]).transitionalItem(incompleteTrackNarrow).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) + + e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) + .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') + .itemOutputs(trackNarrow) + .circuit(24) + .duration(800) + .EUt(32) + + //#endregion + + //#region Железнодорожное полотно (Нормальное) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + + e.recipes.createSequencedAssembly([ + track, + ], trackNarrow, [ + e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '4x #tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrack, [incompleteTrack]), + ]).transitionalItem(incompleteTrack).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}`) + .itemInputs(slab, trackNarrow, '4x #forge:screws') + .itemOutputs(track) + .circuit(24) + .duration(1200) + .EUt(32) + + //#endregion + + //#region Железнодорожное полотно (Широкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + + e.recipes.createSequencedAssembly([ + trackWide, + ], track, [ + e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '4x #tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), + ]).transitionalItem(incompleteTrackWide).loops(1) + .id(`tfg:sequenced_assembly/track_${woodType}_wide`) + + e.recipes.gtceu.assembler(`tfg:track_${woodType}_wide`) + .itemInputs(slab, track, '4x #forge:screws') + .itemOutputs(trackWide) + .duration(1600) + .EUt(16) + + //#endregion } global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 572ae6656..424bad999 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -3,11 +3,11 @@ const registerMinecraftItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) + //event.add('c:hidden_from_recipe_viewers', item) }) global.MINECRAFT_HIDED_ITEMS.forEach(item => { - event.add('c:hidden_from_recipe_viewers', item) + //event.add('c:hidden_from_recipe_viewers', item) }) //#region Ванильные пиломатериалы в TFC тег diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 2cadace2c..247a66c0f 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -9,182 +9,182 @@ global.MINECRAFT_DISABLED_ITEMS = [ //#region Дерево //#region Дуб - // "minecraft:oak_wood", - // "minecraft:oak_leaves", - // "minecraft:oak_sapling", - // "minecraft:stripped_oak_wood", - // "minecraft:oak_log", - // "minecraft:stripped_oak_log", - // "minecraft:oak_planks", - // "minecraft:oak_stairs", - // "minecraft:oak_slab", - // "minecraft:petrified_oak_slab", - // "minecraft:oak_pressure_plate", - // "minecraft:oak_fence", - // "minecraft:oak_fence_gate", - // "minecraft:oak_door", - // "minecraft:oak_trapdoor", - // "minecraft:oak_boat", - // "minecraft:oak_chest_boat", - // "minecraft:oak_sign", - // "minecraft:oak_hanging_sign", - // "minecraft:oak_button", + "minecraft:oak_wood", + "minecraft:oak_leaves", + "minecraft:oak_sapling", + "minecraft:stripped_oak_wood", + "minecraft:oak_log", + "minecraft:stripped_oak_log", + "minecraft:oak_planks", + "minecraft:oak_stairs", + "minecraft:oak_slab", + "minecraft:petrified_oak_slab", + "minecraft:oak_pressure_plate", + "minecraft:oak_fence", + "minecraft:oak_fence_gate", + "minecraft:oak_door", + "minecraft:oak_trapdoor", + "minecraft:oak_boat", + "minecraft:oak_chest_boat", + "minecraft:oak_sign", + "minecraft:oak_hanging_sign", + "minecraft:oak_button", //#endregion //#region Темный дуб - // "minecraft:dark_oak_planks", - // "minecraft:dark_oak_sapling", - // "minecraft:dark_oak_log", - // "minecraft:stripped_dark_oak_log", - // "minecraft:stripped_dark_oak_wood", - // "minecraft:dark_oak_wood", - // "minecraft:dark_oak_leaves", - // "minecraft:dark_oak_slab", - // "minecraft:dark_oak_fence", - // "minecraft:dark_oak_stairs", - // "minecraft:dark_oak_button", - // "minecraft:dark_oak_pressure_plate", - // "minecraft:dark_oak_door", - // "minecraft:dark_oak_trapdoor", - // "minecraft:dark_oak_fence_gate", - // "minecraft:dark_oak_boat", - // "minecraft:dark_oak_chest_boat", - // "minecraft:dark_oak_sign", - // "minecraft:dark_oak_hanging_sign", + "minecraft:dark_oak_planks", + "minecraft:dark_oak_sapling", + "minecraft:dark_oak_log", + "minecraft:stripped_dark_oak_log", + "minecraft:stripped_dark_oak_wood", + "minecraft:dark_oak_wood", + "minecraft:dark_oak_leaves", + "minecraft:dark_oak_slab", + "minecraft:dark_oak_fence", + "minecraft:dark_oak_stairs", + "minecraft:dark_oak_button", + "minecraft:dark_oak_pressure_plate", + "minecraft:dark_oak_door", + "minecraft:dark_oak_trapdoor", + "minecraft:dark_oak_fence_gate", + "minecraft:dark_oak_boat", + "minecraft:dark_oak_chest_boat", + "minecraft:dark_oak_sign", + "minecraft:dark_oak_hanging_sign", //#endregion //#region Акация - // "minecraft:acacia_planks", - // "minecraft:acacia_sapling", - // "minecraft:acacia_log", - // "minecraft:stripped_acacia_log", - // "minecraft:stripped_acacia_wood", - // "minecraft:acacia_wood", - // "minecraft:acacia_leaves", - // "minecraft:acacia_slab", - // "minecraft:acacia_fence", - // "minecraft:acacia_stairs", - // "minecraft:acacia_button", - // "minecraft:acacia_pressure_plate", - // "minecraft:acacia_door", - // "minecraft:acacia_trapdoor", - // "minecraft:acacia_fence_gate", - // "minecraft:acacia_boat", - // "minecraft:acacia_chest_boat", - // "minecraft:acacia_sign", - // "minecraft:acacia_hanging_sign", + "minecraft:acacia_planks", + "minecraft:acacia_sapling", + "minecraft:acacia_log", + "minecraft:stripped_acacia_log", + "minecraft:stripped_acacia_wood", + "minecraft:acacia_wood", + "minecraft:acacia_leaves", + "minecraft:acacia_slab", + "minecraft:acacia_fence", + "minecraft:acacia_stairs", + "minecraft:acacia_button", + "minecraft:acacia_pressure_plate", + "minecraft:acacia_door", + "minecraft:acacia_trapdoor", + "minecraft:acacia_fence_gate", + "minecraft:acacia_boat", + "minecraft:acacia_chest_boat", + "minecraft:acacia_sign", + "minecraft:acacia_hanging_sign", //#endregion //#region Береза - // "minecraft:birch_planks", - // "minecraft:birch_sapling", - // "minecraft:birch_log", - // "minecraft:stripped_birch_log", - // "minecraft:stripped_birch_wood", - // "minecraft:birch_wood", - // "minecraft:birch_leaves", - // "minecraft:birch_slab", - // "minecraft:birch_fence", - // "minecraft:birch_stairs", - // "minecraft:birch_button", - // "minecraft:birch_pressure_plate", - // "minecraft:birch_door", - // "minecraft:birch_trapdoor", - // "minecraft:birch_fence_gate", - // "minecraft:birch_boat", - // "minecraft:birch_chest_boat", - // "minecraft:birch_sign", - // "minecraft:birch_hanging_sign", + "minecraft:birch_planks", + "minecraft:birch_sapling", + "minecraft:birch_log", + "minecraft:stripped_birch_log", + "minecraft:stripped_birch_wood", + "minecraft:birch_wood", + "minecraft:birch_leaves", + "minecraft:birch_slab", + "minecraft:birch_fence", + "minecraft:birch_stairs", + "minecraft:birch_button", + "minecraft:birch_pressure_plate", + "minecraft:birch_door", + "minecraft:birch_trapdoor", + "minecraft:birch_fence_gate", + "minecraft:birch_boat", + "minecraft:birch_chest_boat", + "minecraft:birch_sign", + "minecraft:birch_hanging_sign", //#endregion //#region Тропическое - // "minecraft:jungle_planks", - // "minecraft:jungle_sapling", - // "minecraft:jungle_log", - // "minecraft:stripped_jungle_log", - // "minecraft:stripped_jungle_wood", - // "minecraft:jungle_wood", - // "minecraft:jungle_leaves", - // "minecraft:jungle_slab", - // "minecraft:jungle_fence", - // "minecraft:jungle_stairs", - // "minecraft:jungle_button", - // "minecraft:jungle_pressure_plate", - // "minecraft:jungle_door", - // "minecraft:jungle_trapdoor", - // "minecraft:jungle_fence_gate", - // "minecraft:jungle_boat", - // "minecraft:jungle_chest_boat", - // "minecraft:jungle_sign", - // "minecraft:jungle_hanging_sign", + "minecraft:jungle_planks", + "minecraft:jungle_sapling", + "minecraft:jungle_log", + "minecraft:stripped_jungle_log", + "minecraft:stripped_jungle_wood", + "minecraft:jungle_wood", + "minecraft:jungle_leaves", + "minecraft:jungle_slab", + "minecraft:jungle_fence", + "minecraft:jungle_stairs", + "minecraft:jungle_button", + "minecraft:jungle_pressure_plate", + "minecraft:jungle_door", + "minecraft:jungle_trapdoor", + "minecraft:jungle_fence_gate", + "minecraft:jungle_boat", + "minecraft:jungle_chest_boat", + "minecraft:jungle_sign", + "minecraft:jungle_hanging_sign", //#endregion //#region Ель - // "minecraft:spruce_planks", - // "minecraft:spruce_sapling", - // "minecraft:spruce_log", - // "minecraft:stripped_spruce_log", - // "minecraft:stripped_spruce_wood", - // "minecraft:spruce_wood", - // "minecraft:spruce_leaves", - // "minecraft:spruce_slab", - // "minecraft:spruce_fence", - // "minecraft:spruce_stairs", - // "minecraft:spruce_button", - // "minecraft:spruce_pressure_plate", - // "minecraft:spruce_door", - // "minecraft:spruce_trapdoor", - // "minecraft:spruce_fence_gate", - // "minecraft:spruce_boat", - // "minecraft:spruce_chest_boat", - // "minecraft:spruce_sign", - // "minecraft:spruce_hanging_sign", + "minecraft:spruce_planks", + "minecraft:spruce_sapling", + "minecraft:spruce_log", + "minecraft:stripped_spruce_log", + "minecraft:stripped_spruce_wood", + "minecraft:spruce_wood", + "minecraft:spruce_leaves", + "minecraft:spruce_slab", + "minecraft:spruce_fence", + "minecraft:spruce_stairs", + "minecraft:spruce_button", + "minecraft:spruce_pressure_plate", + "minecraft:spruce_door", + "minecraft:spruce_trapdoor", + "minecraft:spruce_fence_gate", + "minecraft:spruce_boat", + "minecraft:spruce_chest_boat", + "minecraft:spruce_sign", + "minecraft:spruce_hanging_sign", //#endregion //#region Вишня - // "minecraft:cherry_planks", - // "minecraft:cherry_sapling", - // "minecraft:cherry_log", - // "minecraft:stripped_cherry_log", - // "minecraft:stripped_cherry_wood", - // "minecraft:cherry_wood", - // "minecraft:cherry_leaves", - // "minecraft:cherry_slab", - // "minecraft:cherry_fence", - // "minecraft:cherry_stairs", - // "minecraft:cherry_button", - // "minecraft:cherry_pressure_plate", - // "minecraft:cherry_door", - // "minecraft:cherry_trapdoor", - // "minecraft:cherry_fence_gate", - // "minecraft:cherry_boat", - // "minecraft:cherry_chest_boat", - // "minecraft:cherry_sign", - // "minecraft:cherry_hanging_sign", + "minecraft:cherry_planks", + "minecraft:cherry_sapling", + "minecraft:cherry_log", + "minecraft:stripped_cherry_log", + "minecraft:stripped_cherry_wood", + "minecraft:cherry_wood", + "minecraft:cherry_leaves", + "minecraft:cherry_slab", + "minecraft:cherry_fence", + "minecraft:cherry_stairs", + "minecraft:cherry_button", + "minecraft:cherry_pressure_plate", + "minecraft:cherry_door", + "minecraft:cherry_trapdoor", + "minecraft:cherry_fence_gate", + "minecraft:cherry_boat", + "minecraft:cherry_chest_boat", + "minecraft:cherry_sign", + "minecraft:cherry_hanging_sign", //#endregion //#region Мангровое - // "minecraft:mangrove_planks", - // "minecraft:mangrove_propagule", - // "minecraft:mangrove_log", - // "minecraft:mangrove_roots", - // "minecraft:muddy_mangrove_roots", - // "minecraft:stripped_mangrove_log", - // "minecraft:stripped_mangrove_wood", - // "minecraft:mangrove_wood", - // "minecraft:mangrove_leaves", - // "minecraft:mangrove_slab", - // "minecraft:mangrove_fence", - // "minecraft:mangrove_stairs", - // "minecraft:mangrove_button", - // "minecraft:mangrove_pressure_plate", - // "minecraft:mangrove_door", - // "minecraft:mangrove_trapdoor", - // "minecraft:mangrove_fence_gate", - // "minecraft:mangrove_boat", - // "minecraft:mangrove_chest_boat", - // "minecraft:mangrove_sign", - // "minecraft:mangrove_hanging_sign", + "minecraft:mangrove_planks", + "minecraft:mangrove_propagule", + "minecraft:mangrove_log", + "minecraft:mangrove_roots", + "minecraft:muddy_mangrove_roots", + "minecraft:stripped_mangrove_log", + "minecraft:stripped_mangrove_wood", + "minecraft:mangrove_wood", + "minecraft:mangrove_leaves", + "minecraft:mangrove_slab", + "minecraft:mangrove_fence", + "minecraft:mangrove_stairs", + "minecraft:mangrove_button", + "minecraft:mangrove_pressure_plate", + "minecraft:mangrove_door", + "minecraft:mangrove_trapdoor", + "minecraft:mangrove_fence_gate", + "minecraft:mangrove_boat", + "minecraft:mangrove_chest_boat", + "minecraft:mangrove_sign", + "minecraft:mangrove_hanging_sign", //#endregion //#endregion From a137eeb76527211e9f7db769186fd3fa546e6a91 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 20 Sep 2024 00:00:56 +0700 Subject: [PATCH 170/266] fixes --- kubejs/server_scripts/minecraft/recipes.js | 58 +++++++++++++++---- .../startup_scripts/gregtech/material_info.js | 22 +++---- 2 files changed, 58 insertions(+), 22 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 41689dffc..378a44946 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1,5 +1,7 @@ // priority: 0 + + const registerMinecraftRecipes = (e) => { //#region Дерево @@ -50,6 +52,10 @@ const registerMinecraftRecipes = (e) => { // Trapdoor e.remove({ id: `minecraft:${woodName}_trapdoor` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_iron` }) // Pressure Plate e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) @@ -63,7 +69,11 @@ const registerMinecraftRecipes = (e) => { // Sign e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) e.remove({ id: `gtceu:assembler/${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) // Hanging Sign e.remove({ id: `minecraft:${woodName}_hanging_sign` }) @@ -81,10 +91,10 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) // Window (Create) - e.remove({ id: `create:oak_window` }) + e.remove({ id: `create:${woodName}_window` }) // Window Pane (Create) - e.remove({ id: `create:oak_window_pane` }) + e.remove({ id: `create:${woodName}_window_pane` }) // Train Track Narrow e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) @@ -136,9 +146,9 @@ const registerMinecraftRecipes = (e) => { const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) - const trackNarrow = Item.of(`railways:narrow_${woodName}_track`) - const track = Item.of(`railways:${woodName}_track`) - const trackWide = Item.of(`railways:wide_${woodName}_track`) + const trackNarrow = Item.of(`railways:track_${woodName}_narrow`) + const track = Item.of(`railways:track_${woodName}`) + const trackWide = Item.of(`railways:track_${woodName}_wide`) //#region Бревно e.shaped(log, [ @@ -490,6 +500,8 @@ const registerMinecraftRecipes = (e) => { //#region Люк e.remove({ id: `minecraft:${woodName}_trapdoor` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) e.shaped(trapdoor, [ 'ABd', @@ -497,14 +509,14 @@ const registerMinecraftRecipes = (e) => { ], { A: lumber, B: '#forge:rings', - C: '#forge:screws', + C: '#forge:bolts', d: '#forge:tools/screwdrivers', s: '#forge:tools/saws', }).id(`tfg:workbench/${woodName}_trapdoor`) e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) .itemInputs(lumber.copyWithCount(2)) - .itemInputs('2x #forge:screws') + .itemInputs('2x #forge:bolts') .circuit(0) .itemOutputs(trapdoor) .EUt(GTValues.VA[GTValues.ULV]).duration(200) @@ -545,7 +557,11 @@ const registerMinecraftRecipes = (e) => { //#region Табличка e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) e.remove({ id: `gtceu:assembler/${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) e.shaped(sign.copyWithCount(3), [ 'AAA', @@ -670,7 +686,6 @@ const registerMinecraftRecipes = (e) => { .circuit(24) .duration(800) .EUt(32) - //#endregion //#region Железнодорожное полотно (Нормальное) (Create) @@ -681,7 +696,10 @@ const registerMinecraftRecipes = (e) => { ], trackNarrow, [ e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), - e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '4x #tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), e.recipes.createPressing(incompleteTrack, [incompleteTrack]), ]).transitionalItem(incompleteTrack).loops(1) .id(`tfg:sequenced_assembly/track_${woodName}`) @@ -693,6 +711,12 @@ const registerMinecraftRecipes = (e) => { .duration(1200) .EUt(32) + e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) + .itemInputs(slab.copyWithCount(2), '8x #forge:screws') + .itemOutputs(track) + .circuit(25) + .duration(1200) + .EUt(32) //#endregion //#region Железнодорожное полотно (Широкое) (Create) @@ -703,17 +727,27 @@ const registerMinecraftRecipes = (e) => { ], track, [ e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), - e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '4x #tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), ]).transitionalItem(incompleteTrackWide).loops(1) - .id(`tfg:sequenced_assembly/track_${woodType}_wide`) + .id(`tfg:sequenced_assembly/track_${woodName}_wide`) - e.recipes.gtceu.assembler(`tfg:track_${woodType}_wide`) + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide`) .itemInputs(slab, track, '4x #forge:screws') .itemOutputs(trackWide) + .circuit(24) .duration(1600) .EUt(16) + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide_skip`) + .itemInputs(slab.copyWithCount(3), '12x #forge:screws') + .itemOutputs(trackWide) + .circuit(26) + .duration(1600) + .EUt(16) //#endregion } diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index a3063cb32..76ad8ff30 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -3,16 +3,18 @@ const registerGregTechMaterialInfo = (event) => { //#region Дерево - global.MINECRAFT_OVERWORLD_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`) - }) + // ChemicalHelper.ITEM_MATERIAL_INFO.remove(Item.of('minecraft:acacia_planks')) + + // global.MINECRAFT_ALL_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); From aeec19190a9edc5c0b9017d50a5594d67d190032 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 21 Sep 2024 13:27:43 +0700 Subject: [PATCH 171/266] some recipes --- kubejs/server_scripts/alekiroofs/tags.js | 11 +- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/minecraft/recipes.js | 822 +++++++++++++++--- kubejs/server_scripts/minecraft/tags.js | 14 +- .../startup_scripts/gregtech/material_info.js | 32 +- 5 files changed, 739 insertions(+), 141 deletions(-) diff --git a/kubejs/server_scripts/alekiroofs/tags.js b/kubejs/server_scripts/alekiroofs/tags.js index 757e572bb..a4e2c6e41 100644 --- a/kubejs/server_scripts/alekiroofs/tags.js +++ b/kubejs/server_scripts/alekiroofs/tags.js @@ -1,6 +1,6 @@ // priority: 0 -const registerMinecraftItemTags123 = (event) => { +const registerAlekiRoofsItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { // event.removeAllTagsFrom(item) // event.add('c:hidden_from_recipe_viewers', item) @@ -10,8 +10,8 @@ const registerMinecraftItemTags123 = (event) => { // event.add('c:hidden_from_recipe_viewers', item) // }) - event.add('tfc:lumber', 'tfg:crimson_lumber') - event.add('tfc:lumber', 'tfg:warped_lumber') + // event.add('tfc:lumber', 'tfg:crimson_lumber') + // event.add('tfc:lumber', 'tfg:warped_lumber') // // Теперь обсидиан сторадж блок // event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') @@ -19,6 +19,11 @@ const registerMinecraftItemTags123 = (event) => { // // Бамбуковые полублоки // event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') // event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') + + //#region Бамбуковые крыши в один тег + event.add('tfg:bamboo_roofings', 'alekiroofs:bamboo_roofing') + event.add('tfg:bamboo_roofings', 'alekiroofs:bamboo_mosaic_roofing') + //#endregion } const registerMinecraftBlockTags123 = (event) => { diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index d9f474794..01b127831 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -5,6 +5,7 @@ */ ServerEvents.tags('item', event => { registerAE2ItemTags(event) + registerAlekiRoofsItemTags(event) // registerAsticorCartsItemTags(event) // registerChiselAndBitsItemTags(event) // registerComputerCraftItemTags(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 378a44946..54bff2ea9 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1,9 +1,32 @@ // priority: 0 - - const registerMinecraftRecipes = (e) => { + const removeMaterialnfoRecipes = () => { + //#region Дерево + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { + e.remove({ id: `gtceu:macerator/macerate_${woodName}_planks` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_stairs` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_slab` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_fence` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_fence_gate` }) + + e.remove({ id: `gtceu:arc_furnace/arc_${woodName}_door` }) + e.remove({ id: `gtceu:macerator/macerate_${woodName}_door` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_button` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_boat` }) + }) + //#endregion + } + + removeMaterialnfoRecipes() + //#region Дерево const processOverworldWood = (woodName) => { // Wood @@ -58,6 +81,7 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_iron` }) // Pressure Plate + e.remove({ id: `minecraft:${woodName}_pressure_plate` }) e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) @@ -109,6 +133,656 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `everycomp:c/minecraft/null_from_${woodName}_planks_stonecutting` }) } + const processBambooRecipes = () => { + const woodName = 'bamboo' + + const logAny = `#minecraft:${woodName}_blocks` + + const log = Item.of(`minecraft:${woodName}_block`) + const logStripped = Item.of(`minecraft:stripped_${woodName}_block`) + + const lumber = Item.of(`minecraft:${woodName}`) + + const plankAny = `#tfg:${woodName}_planks` + + const plank = Item.of(`minecraft:${woodName}_planks`) + const plankMosaic = Item.of(`minecraft:${woodName}_mosaic`) + + const stairAny = `#tfg:${woodName}_stairs` + + const stair = Item.of(`minecraft:${woodName}_stairs`) + const stairMosaic = Item.of(`minecraft:${woodName}_mosaic_stairs`) + + const slabAny = `#tfg:${woodName}_slabs` + + const slab = Item.of(`minecraft:${woodName}_slab`) + const slabMosaic = Item.of(`minecraft:${woodName}_mosaic_slab`) + + const fence = Item.of(`minecraft:${woodName}_fence`) + const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) + + const door = Item.of(`minecraft:${woodName}_door`) + const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + + const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + const button = Item.of(`minecraft:${woodName}_button`) + + const sign = Item.of(`minecraft:${woodName}_sign`) + const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + + const roofingAny = `#tfg:${woodName}_roofings` + + const roofing = Item.of(`alekiroofs:${woodName}_roofing`) + const roofingMosaic = Item.of(`alekiroofs:${woodName}_mosaic_roofing`) + + const incompleteTrackNarrow = Item.of(`railways:track_incomplete_${woodName}_narrow`) + const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) + const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) + + const incompleteStrippedTrackNarrow = Item.of(`railways:track_incomplete_stripped_${woodName}_narrow`) + const incompleteStrippedTrack = Item.of(`railways:track_incomplete_stripped_${woodName}`) + const incompleteStrippedTrackWide = Item.of(`railways:track_incomplete_stripped_${woodName}_wide`) + + const trackNarrow = Item.of(`railways:track_${woodName}_narrow`) + const track = Item.of(`railways:track_${woodName}`) + const trackWide = Item.of(`railways:track_${woodName}_wide`) + + const trackStrippedNarrow = Item.of(`railways:track_stripped_${woodName}_narrow`) + const trackStripped = Item.of(`railways:track_stripped_${woodName}`) + const trackStrippedWide = Item.of(`railways:track_stripped_${woodName}_wide`) + + //#region Бревно + e.remove({ id: `minecraft:${woodName}_block` }) + + e.shaped(log, [ + 'AAA', + 'AAA', + 'AAA' + ], { + A: lumber + }).id(`tfg:workbench/${woodName}_log`) + //#endregion + + //#region Обтесанное бревно + e.remove({ id: `create:cutting/${woodName}_block` }) + + e.recipes.create.cutting(logStripped, log) + .id(`tfg:create_cutting/stripped_${woodName}_log`) + + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) + .itemInputs(log) + .circuit(1) + .itemOutputs(logStripped) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Пиломатериалы + + //#region Из бревен + e.shaped(lumber.copyWithCount(4), [ + 's', + 'A' + ], { + A: logAny, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_logs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(8), logAny) + .id(`tfg:create_cutting/${woodName}_lumber_from_logs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_logs`) + .itemInputs(logAny) + .circuit(2) + .itemOutputs(lumber.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из досок + e.shaped(lumber, [ + 's', + 'A' + ], { + A: plankAny, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_planks_saw`) + + e.recipes.create.cutting(lumber, plankAny) + .id(`tfg:create_cutting/${woodName}_lumber_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_planks`) + .itemInputs(plankAny) + .circuit(0) + .itemOutputs(lumber.copyWithCount(4)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из ступенек + e.shaped(lumber, [ + 'A', + 's' + ], { + A: stairAny, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_stairs_saw`) + + e.recipes.create.cutting(lumber, stairAny) + .id(`tfg:create_cutting/${woodName}_lumber_from_stairs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_stairs`) + .itemInputs(stairAny) + .circuit(2) + .itemOutputs(lumber) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из полублоков + e.shaped(lumber, [ + 'A', + 's' + ], { + A: slabAny, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_slab_saw`) + + e.recipes.create.cutting(lumber, slab) + .id(`tfg:create_cutting/${woodName}_lumber_from_slab`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_slab`) + .itemInputs(slab) + .circuit(2) + .itemOutputs(lumber) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Обычные Доски + e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + e.remove({ id: `jei:/create/cutting/stripped_${woodName}_block` }) + + e.shaped(plank, [ + 'AA', + 'AA' + ], { + A: lumber + }).id(`tfg:workbench/${woodName}_planks`) + + e.recipes.create.cutting(plank, logAny) + .id(`tfg:create_cutting/${woodName}_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) + .itemInputs(logAny) + .circuit(3) + .itemOutputs(plank.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Мозаичные Доски + e.shaped(plankMosaic, [ + 'A ', + ' s' + ], { + A: plank, + s: 'forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_planks`) + + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_planks`) + .itemInputs(plank) + .notConsumable('#forge:lenses/white') + .itemOutputs(plankMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Обычные Ступени + e.remove({ id: `minecraft:${woodName}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) + + e.shaped(stair, [ + 'As' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_stairs_saw`) + + e.recipes.create.cutting(stair, logAny) + .id(`tfg:create_cutting/${woodName}_stairs_from_logs`) + + e.recipes.create.cutting([stair, Item.of('1x gtceu:small_wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_stairs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) + .itemInputs(logAny) + .circuit(4) + .itemOutputs(stair.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) + .itemInputs(plank) + .circuit(1) + .itemOutputs(stair) + .itemOutputs('1x gtceu:small_wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Мозаичные Ступени + e.remove({ id: `minecraft:${woodName}_mosaic_stairs` }) + + //#region Через обычные + e.shaped(stairMosaic, [ + 'A ', + ' s' + ], { + A: stair, + s: 'forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_stairs`) + + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_stairs`) + .itemInputs(stair) + .notConsumable('#forge:lenses/white') + .itemOutputs(stairMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Через мозаичные + e.shaped(stairMosaic, [ + 'As' + ], { + A: plankMosaic, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_stairs_saw`) + + e.recipes.create.cutting([stairMosaic, Item.of('1x gtceu:small_wood_dust')], plankMosaic) + .id(`tfg:create_cutting/${woodName}_mosaic_stairs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_mosaic_stairs_from_planks`) + .itemInputs(plankMosaic) + .circuit(1) + .itemOutputs(stairMosaic) + .itemOutputs('1x gtceu:small_wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + + //#endregion + + //#region Обычные Полублоки + e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + + e.shaped(slab.copyWithCount(2), [ + 'sA' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_slabs_saw`) + + e.recipes.create.cutting(slab.copyWithCount(3), logAny) + .id(`tfg:create_cutting/${woodName}_slabs_from_logs`) + + e.recipes.create.cutting(slab.copyWithCount(2), plank) + .id(`tfg:create_cutting/${woodName}_slabs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) + .itemInputs(logAny) + .circuit(5) + .itemOutputs(slab.copyWithCount(4)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) + .itemInputs(plank) + .circuit(2) + .itemOutputs(slab.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Мозаичные Полублоки + e.remove({ id: `gtceu:shaped/${woodName}_mosaic_slab_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_mosaic_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_mosaic_slab_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_mosaic_slab` }) + + //#region Через обычные + e.shaped(slabMosaic, [ + 'A ', + ' s' + ], { + A: slab, + s: 'forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_slabs`) + + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_slabs`) + .itemInputs(slab) + .notConsumable('#forge:lenses/white') + .itemOutputs(slabMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Через мозаичные + e.shaped(slabMosaic.copyWithCount(2), [ + 'sA' + ], { + A: plankMosaic, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_slabs_saw`) + + e.recipes.create.cutting(slabMosaic.copyWithCount(2), plankMosaic) + .id(`tfg:create_cutting/${woodName}_mosaic_slabs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_mosaic_slabs_from_planks`) + .itemInputs(plankMosaic) + .circuit(2) + .itemOutputs(slabMosaic.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Забор + e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence` }) + + e.shaped(fence.copyWithCount(3), [ + 'h s', + 'ABA', + 'ACA' + ], { + A: plank, + B: '#forge:rods/wooden', + C: lumber, + h: '#forge:tools/hammers', + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_fence`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_fence`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + .itemInputs(plank) + .circuit(3) + .itemOutputs(fence.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Калитка + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) + + e.shaped(fenceGate, [ + 'A A', + 'BCB', + 'DCD' + ], { + A: 'minecraft:flint', + B: '#forge:rods/wooden', + C: plank, + D: lumber + }).id(`tfg:workbench/${woodName}_fence_gate_flint`) + + e.shaped(fenceGate.copyWithCount(2), [ + 'AEA', + 'BCB', + 'DCD' + ], { + A: '#forge:screws', + B: '#forge:rods/wooden', + C: plank, + D: lumber, + E: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_fence_gate_screws`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) + .itemInputs(plank.copyWithCount(2)) + .itemInputs('2x #forge:rods/wooden') + .itemInputs('2x #forge:screws') + .circuit(0) + .itemOutputs(fenceGate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Дверь + e.remove({ id: `gtceu:shaped/${woodName}_door` }) + e.remove({ id: `gtceu:assembler/${woodName}_door` }) + + e.shaped(door, [ + 'ABd', + 'ACD', + 'AAs' + ], { + A: lumber, + B: trapdoor, + C: '#forge:rings', + D: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_door`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_door`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs(trapdoor) + .inputFluids(Fluid.of('gtceu:iron', 16)) + .circuit(0) + .itemOutputs(door) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Люк + e.remove({ id: `minecraft:${woodName}_trapdoor` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) + + e.shaped(trapdoor, [ + 'ABd', + 'ACs' + ], { + A: lumber, + B: '#forge:rings', + C: '#forge:bolts', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_trapdoor`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) + .itemInputs(lumber.copyWithCount(2)) + .itemInputs('2x #forge:bolts') + .circuit(0) + .itemOutputs(trapdoor) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Нажимная пластина + e.remove({ id: `minecraft:${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) + + e.shaped(pressurePlate.copyWithCount(2), [ + 'AmA', + 'BCB', + 'AdA' + ], { + A: 'gtceu:wood_bolt', + B: slab, + C: '#forge:springs', + m: '#forge:tools/mallets', + d: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_pressure_plate`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) + .itemInputs(slab.copyWithCount(2)) + .itemInputs('#forge:springs') + .circuit(0) + .itemOutputs(pressurePlate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Кнопка + + // e.remove({ id: `gtceu:shaped/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) + + //#endregion + + //#region Табличка + e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) + + e.shaped(sign.copyWithCount(3), [ + 'AAA', + 'AAA', + 'mB ' + ], { + A: lumber, + B: '#forge:rods/wooden', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) + .itemInputs(lumber.copyWithCount(6)) + .circuit(3) + .itemOutputs(sign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Висящая табличка + e.remove({ id: `minecraft:${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) + + e.shaped(hangingSign.copyWithCount(3), [ + 'AmA', + 'CBC', + 'BBB' + ], { + A: '#tfg:metal_chains', + B: lumber, + C: '#forge:screws', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_hanging_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs('2x #tfg:metal_chains') + .itemInputs('4x #forge:screws') + .circuit(4) + .itemOutputs(hangingSign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Крыша (AlekiRoofs) + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + + e.shaped(roofing.copyWithCount(2), [ + 'A ', + ' s' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_roofing_saw`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_roofing`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_roofing`) + .itemInputs(plank) + .circuit(4) + .itemOutputs(roofing.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Железнодорожное полотно (Узкое) (Create) + // e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + + // e.recipes.createSequencedAssembly([ + // trackNarrow, + // ], slab, [ + // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), + // e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), + // ]).transitionalItem(incompleteTrackNarrow).loops(1) + // .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) + + // e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) + // .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') + // .itemOutputs(trackNarrow) + // .circuit(24) + // .duration(800) + // .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Нормальное) (Create) + // e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + + // e.recipes.createSequencedAssembly([ + // track, + // ], trackNarrow, [ + // e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), + // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), + // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + // e.recipes.createPressing(incompleteTrack, [incompleteTrack]), + // ]).transitionalItem(incompleteTrack).loops(1) + // .id(`tfg:sequenced_assembly/track_${woodName}`) + + // e.recipes.gtceu.assembler(`tfg:track_${woodName}`) + // .itemInputs(slab, trackNarrow, '4x #forge:screws') + // .itemOutputs(track) + // .circuit(24) + // .duration(1200) + // .EUt(32) + + // e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) + // .itemInputs(slab.copyWithCount(2), '8x #forge:screws') + // .itemOutputs(track) + // .circuit(25) + // .duration(1200) + // .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Широкое) (Create) + // e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + + // e.recipes.createSequencedAssembly([ + // trackWide, + // ], track, [ + // e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), + // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), + // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + // e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), + // ]).transitionalItem(incompleteTrackWide).loops(1) + // .id(`tfg:sequenced_assembly/track_${woodName}_wide`) + //#endregion + + } + + processBambooRecipes() + const processNetherWood = (woodName) => { const anyLogs = `#minecraft:${woodName}_stems` @@ -168,7 +842,6 @@ const registerMinecraftRecipes = (e) => { .itemOutputs(log) .itemOutputs('4x gtceu:wood_dust') .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion //#region Цельное бревно @@ -243,7 +916,7 @@ const registerMinecraftRecipes = (e) => { ], { A: anyLogs, s: '#forge:tools/saws' - }).id(`tfg:${woodName}_lumber_from_logs_saw`) + }).id(`tfg:workbench/${woodName}_lumber_from_logs_saw`) e.recipes.create.cutting(lumber.copyWithCount(12), anyLogs) .id(`tfg:create_cutting/${woodName}_lumber_from_logs`) @@ -262,7 +935,7 @@ const registerMinecraftRecipes = (e) => { ], { A: plank, s: '#forge:tools/saws' - }).id(`tfg:${woodName}_lumber_from_planks_saw`) + }).id(`tfg:workbench/${woodName}_lumber_from_planks_saw`) e.recipes.create.cutting(lumber.copyWithCount(3), plank) .id(`tfg:create_cutting/${woodName}_lumber_from_planks`) @@ -281,10 +954,10 @@ const registerMinecraftRecipes = (e) => { ], { A: stair, s: '#forge:tools/saws' - }).id(`tfg:create_cutting/${woodName}_lumber_from_stairs_saw`) + }).id(`tfg:workbench//${woodName}_lumber_from_stairs_saw`) e.recipes.create.cutting(lumber.copyWithCount(2), stair) - .id(`tfg:workbench/${woodName}_lumber_from_stairs`) + .id(`tfg:create_cutting/${woodName}_lumber_from_stairs`) e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_stairs`) .itemInputs(stair) @@ -523,6 +1196,7 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Нажимная пластина + e.remove({ id: `minecraft:${woodName}_pressure_plate` }) e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) @@ -581,6 +1255,9 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Висящая табличка + e.remove({ id: `minecraft:${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) + e.shaped(hangingSign.copyWithCount(3), [ 'AmA', 'CBC', @@ -759,137 +1436,12 @@ const registerMinecraftRecipes = (e) => { processNetherWood(woodName) }) - //#region Бамбук - //#endregion - - //#region Бамбук - - // Доски - // e.remove({ id: 'gtceu:shapeless/bamboo_planks' }) - - // Ступенька - // e.remove({ id: 'minecraft:bamboo_stairs' }) - // e.remove({ id: 'gtceu:assembler/bamboo_stairs' }) - - // e.shaped('minecraft:bamboo_stairs', [ - // 'As' - // ], { - // A: 'minecraft:bamboo_planks', - // s: '#forge:tools/saws' - // }).id(`tfg:bamboo_stairs_saw`) - - // e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_logs`) - // .itemInputs('#minecraft:bamboo_blocks') - // .circuit(1) - // .itemOutputs('4x minecraft:bamboo_stairs') - // .itemOutputs('1x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.gtceu.cutter(`tfg:bamboo_stairs_from_planks`) - // .itemInputs('minecraft:bamboo_planks') - // .circuit(0) - // .itemOutputs('minecraft:bamboo_stairs') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // Мозаичная ступенька - // e.remove({ id: 'minecraft:bamboo_mosaic_stairs' }) - - // e.shaped('minecraft:bamboo_mosaic_stairs', [ - // 'As' - // ], { - // A: 'minecraft:bamboo_mosaic', - // s: '#forge:tools/saws' - // }).id(`tfg:bamboo_mosaic_stairs_saw`) - - // e.recipes.gtceu.cutter(`tfg:bamboo_mosaic_stairs_from_planks`) - // .itemInputs('minecraft:bamboo_mosaic') - // .circuit(0) - // .itemOutputs('minecraft:bamboo_mosaic_stairs') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.create.cutting('minecraft:bamboo_mosaic_stairs', 'minecraft:bamboo_mosaic') - // .id(`tfg:bamboo_mosaic_planks_cutting`) - - // Полублок - // e.recipes.create.cutting('2x minecraft:bamboo_mosaic_slab', 'minecraft:bamboo_mosaic') - // .id(`tfg:bamboo_mosaic_slabs_cutting`) - - // Забор - // e.remove({ id: 'gtceu:shaped/bamboo_fence' }) - // e.remove({ id: 'gtceu:assembler/bamboo_fence' }) - - //todo: я устал, правда - // e.shaped(fence.copyWithCount(8), [ - // 'h s', - // 'ABA', - // 'ACA' - // ], { - // A: plank, - // B: '#forge:rods/wooden', - // C: lumber, - // h: '#forge:tools/hammers', - // s: '#forge:tools/saws' - // }).id(`tfg:${woodName}_fence`) - - // e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) - // .itemInputs(plank) - // .circuit(2) - // .itemOutputs(fence.copyWithCount(2)) - // .itemOutputs('1x gtceu:wood_dust') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // Дверь - // e.remove({ id: 'gtceu:shaped/bamboo_door' }) - - // Люк - // e.remove({ id: 'minecraft:bamboo_trapdoor' }) - - // Нажимная плита - // e.remove({ id: 'minecraft:bamboo_pressure_plate' }) - - - // Очищенный блок бамбука - // e.recipes.gtceu.cutter(`tfg:stripped_bamboo`) - // .itemInputs('minecraft:bamboo_block') - // .circuit(0) - // .itemOutputs('minecraft:stripped_bamboo_block') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // Бамбуковый мозаичный блок - // e.recipes.gtceu.cutter(`tfg:bamboo_mosaic`) - // .itemInputs('minecraft:bamboo_planks') - // .circuit(0) - // .itemOutputs('minecraft:bamboo_mosaic') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - //#endregion - - //#region Палки - // e.remove({ id: 'gtceu:shaped/stick_normal' }) - // e.remove({ id: 'minecraft:stick_from_bamboo_item' }) - - // e.remove({ id: 'gtceu:lathe/lathe_planks' }) - - // e.recipes.gtceu.lathe(`tfg:sticks_from_lumber`) - // .itemInputs('#tfc:lumber') - // .itemOutputs('minecraft:stick') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.gtceu.lathe(`tfg:sticks_from_planks`) - // .itemInputs('#minecraft:planks') - // .itemOutputs('4x minecraft:stick') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - // e.recipes.gtceu.lathe(`tfg:sticks_from_logs`) - // .itemInputs('#minecraft:logs') - // .itemOutputs('32x minecraft:stick') - // .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - //#endregion - //#endregion //#region Камень + const pizda = () => { + + } //#endregion } diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 424bad999..4b4c511db 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -3,11 +3,11 @@ const registerMinecraftItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) - //event.add('c:hidden_from_recipe_viewers', item) + event.add('c:hidden_from_recipe_viewers', item) }) global.MINECRAFT_HIDED_ITEMS.forEach(item => { - //event.add('c:hidden_from_recipe_viewers', item) + event.add('c:hidden_from_recipe_viewers', item) }) //#region Ванильные пиломатериалы в TFC тег @@ -18,6 +18,16 @@ const registerMinecraftItemTags = (event) => { // Теперь обсидиан сторадж блок event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + //#region Бамбуковые доски в один тег + event.add('tfg:bamboo_planks', 'minecraft:bamboo_planks') + event.add('tfg:bamboo_planks', 'minecraft:bamboo_mosaic') + //#endregion + + //#region Бамбуковые ступени в один тег + event.add('tfg:bamboo_stairs', 'minecraft:bamboo_stairs') + event.add('tfg:bamboo_stairs', 'minecraft:bamboo_mosaic_stairs') + //#endregion + //#region Бамбуковые полублоки в один тег event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index 76ad8ff30..01d344f0e 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -1,8 +1,38 @@ // priority: 0 const registerGregTechMaterialInfo = (event) => { - //#region Дерево + + //#region Ванильное незер дерево + global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + const button = Item.of(`minecraft:${woodName}_button`) + const sign = Item.of(`minecraft:${woodName}_sign`) + const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + const trapdoorMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + const pressurePlateMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + const buttonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M / 9)) + const signMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + const hangingButtonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + + event.add(trapdoor, trapdoorMaterialInfo); + event.add(pressurePlate, pressurePlateMaterialInfo); + event.add(button, buttonMaterialInfo); + event.add(sign, signMaterialInfo); + event.add(hangingSign, hangingButtonMaterialInfo); + + }) + //#endregion + + //#region ТФК дерево + global.TFC_WOOD_TYPES.forEach(woodName => { + + }) + //#endregion + + + //#region Дерево // ChemicalHelper.ITEM_MATERIAL_INFO.remove(Item.of('minecraft:acacia_planks')) // global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodType => { From dda3bb8d26d437b75242a5f42c9f4e8fd83e75ad Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 21 Sep 2024 14:26:18 +0700 Subject: [PATCH 172/266] finish vanilla wood recipes --- kubejs/client_scripts/minecraft/assets.js | 15 ++ kubejs/server_scripts/minecraft/recipes.js | 268 ++++++++++++++------- 2 files changed, 199 insertions(+), 84 deletions(-) diff --git a/kubejs/client_scripts/minecraft/assets.js b/kubejs/client_scripts/minecraft/assets.js index ed8f5787f..e836e3b60 100644 --- a/kubejs/client_scripts/minecraft/assets.js +++ b/kubejs/client_scripts/minecraft/assets.js @@ -21,5 +21,20 @@ const registerMinecraftAssets = (e) => { e.add(`emi:recipe/additions/vanilla_nether_${woodName}_log_conversion`, logJson) e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, woodJson) }) + + //#region Бамбук + const woodName = 'bamboo' + + const bambooJson = { + type: 'emi:world_interaction', + left: `item:minecraft:${woodName}_block`, + right: '#item:minecraft:axes', + output: `item:minecraft:stripped_${woodName}_block` + } + + e.add(`emi:recipe/additions/vanilla_${woodName}_log_conversion`, bambooJson) + + //#endregion + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 54bff2ea9..f1db4757c 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -4,6 +4,8 @@ const registerMinecraftRecipes = (e) => { const removeMaterialnfoRecipes = () => { //#region Дерево + + //#region Незер global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { e.remove({ id: `gtceu:macerator/macerate_${woodName}_planks` }) @@ -23,6 +25,16 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:macerator/macerate_${woodName}_boat` }) }) //#endregion + + //#region Бамбук + e.remove({ id: `gtceu:macerator/macerate_bamboo_raft` }) + //#endregion + + //#endregion + + //#region Камень + + //#endregion } removeMaterialnfoRecipes() @@ -175,21 +187,29 @@ const registerMinecraftRecipes = (e) => { const roofing = Item.of(`alekiroofs:${woodName}_roofing`) const roofingMosaic = Item.of(`alekiroofs:${woodName}_mosaic_roofing`) - const incompleteTrackNarrow = Item.of(`railways:track_incomplete_${woodName}_narrow`) - const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) - const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) + // const incompleteTrackNarrow = Item.of(`railways:track_incomplete_${woodName}_narrow`) + // const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) + // const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) + + const incompleteTrackNarrow = Item.of(`railways:track_incomplete_stripped_${woodName}_narrow`) + const incompleteTrack = Item.of(`railways:track_incomplete_stripped_${woodName}`) + const incompleteTrackWide = Item.of(`railways:track_incomplete_stripped_${woodName}_wide`) + + // const incompleteStrippedTrackNarrow = Item.of(`railways:track_incomplete_stripped_${woodName}_narrow`) + // const incompleteStrippedTrack = Item.of(`railways:track_incomplete_stripped_${woodName}`) + // const incompleteStrippedTrackWide = Item.of(`railways:track_incomplete_stripped_${woodName}_wide`) - const incompleteStrippedTrackNarrow = Item.of(`railways:track_incomplete_stripped_${woodName}_narrow`) - const incompleteStrippedTrack = Item.of(`railways:track_incomplete_stripped_${woodName}`) - const incompleteStrippedTrackWide = Item.of(`railways:track_incomplete_stripped_${woodName}_wide`) + // const trackNarrow = Item.of(`railways:track_${woodName}_narrow`) + // const track = Item.of(`railways:track_${woodName}`) + // const trackWide = Item.of(`railways:track_${woodName}_wide`) + + const trackNarrow = Item.of(`railways:track_stripped_${woodName}_narrow`) + const track = Item.of(`railways:track_stripped_${woodName}`) + const trackWide = Item.of(`railways:track_stripped_${woodName}_wide`) - const trackNarrow = Item.of(`railways:track_${woodName}_narrow`) - const track = Item.of(`railways:track_${woodName}`) - const trackWide = Item.of(`railways:track_${woodName}_wide`) - - const trackStrippedNarrow = Item.of(`railways:track_stripped_${woodName}_narrow`) - const trackStripped = Item.of(`railways:track_stripped_${woodName}`) - const trackStrippedWide = Item.of(`railways:track_stripped_${woodName}_wide`) + // const trackStrippedNarrow = Item.of(`railways:track_stripped_${woodName}_narrow`) + // const trackStripped = Item.of(`railways:track_stripped_${woodName}`) + // const trackStrippedWide = Item.of(`railways:track_stripped_${woodName}_wide`) //#region Бревно e.remove({ id: `minecraft:${woodName}_block` }) @@ -303,7 +323,7 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:cutter/${woodName}_planks` }) e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) - e.remove({ id: `jei:/create/cutting/stripped_${woodName}_block` }) + e.remove({ id: `create:cutting/stripped_${woodName}_block` }) e.shaped(plank, [ 'AA', @@ -324,12 +344,14 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Мозаичные Доски + e.remove({ id: `minecraft:bamboo_mosaic` }) + e.shaped(plankMosaic, [ 'A ', ' s' ], { A: plank, - s: 'forge:tools/saws' + s: '#forge:tools/saws' }).id(`tfg:workbench/${woodName}_mosaic_planks`) e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_planks`) @@ -573,7 +595,7 @@ const registerMinecraftRecipes = (e) => { e.recipes.gtceu.assembler(`tfg:${woodName}_door`) .itemInputs(lumber.copyWithCount(4)) .itemInputs(trapdoor) - .inputFluids(Fluid.of('gtceu:iron', 16)) + .itemInputs('4x #forge:screws') .circuit(0) .itemOutputs(door) .EUt(GTValues.VA[GTValues.ULV]).duration(200) @@ -686,6 +708,17 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion + //#region Лодка + e.remove({ id: `minecraft:${woodName}_chest_raft` }) + e.remove({ id: `gtceu:shaped/${woodName}_chest_raft` }) + e.remove({ id: `gtceu:assembler/${woodName}_chest_boat` }) + //#endregion + + //#region Лодка с сундуком + e.remove({ id: `gtceu:shaped/${woodName}_raft` }) + e.remove({ id: `gtceu:assembler/${woodName}_boat` }) + //#endregion + //#region Крыша (AlekiRoofs) e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) @@ -708,77 +741,141 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Железнодорожное полотно (Узкое) (Create) - // e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + //#region Мозаичная крыша (AlekiRoofs) + e.remove({ id: `alekiroofs:crafting/${woodName}_mosaic_roofing` }) + + //#region Через обычные + e.shaped(roofingMosaic, [ + 'A ', + ' s' + ], { + A: roofing, + s: 'forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_roofing`) - // e.recipes.createSequencedAssembly([ - // trackNarrow, - // ], slab, [ - // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), - // e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), - // ]).transitionalItem(incompleteTrackNarrow).loops(1) - // .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) - - // e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) - // .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') - // .itemOutputs(trackNarrow) - // .circuit(24) - // .duration(800) - // .EUt(32) + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_roofing`) + .itemInputs(roofing) + .notConsumable('#forge:lenses/white') + .itemOutputs(roofingMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#region Железнодорожное полотно (Нормальное) (Create) - // e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + //#region Через мозаичные + e.shaped(roofingMosaic.copyWithCount(2), [ + 'sA' + ], { + A: roofingMosaic, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_roofing_saw`) + + e.recipes.create.cutting(roofingMosaic.copyWithCount(2), plankMosaic) + .id(`tfg:create_cutting/${woodName}_mosaic_roofing_from_planks`) - // e.recipes.createSequencedAssembly([ - // track, - // ], trackNarrow, [ - // e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), - // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), - // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - // e.recipes.createPressing(incompleteTrack, [incompleteTrack]), - // ]).transitionalItem(incompleteTrack).loops(1) - // .id(`tfg:sequenced_assembly/track_${woodName}`) - - // e.recipes.gtceu.assembler(`tfg:track_${woodName}`) - // .itemInputs(slab, trackNarrow, '4x #forge:screws') - // .itemOutputs(track) - // .circuit(24) - // .duration(1200) - // .EUt(32) - - // e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) - // .itemInputs(slab.copyWithCount(2), '8x #forge:screws') - // .itemOutputs(track) - // .circuit(25) - // .duration(1200) - // .EUt(32) - //#endregion - - //#region Железнодорожное полотно (Широкое) (Create) - // e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) - - // e.recipes.createSequencedAssembly([ - // trackWide, - // ], track, [ - // e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), - // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), - // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - // e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - // e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), - // ]).transitionalItem(incompleteTrackWide).loops(1) - // .id(`tfg:sequenced_assembly/track_${woodName}_wide`) + e.recipes.gtceu.cutter(`tfg:${woodName}_mosaic_roofing_from_planks`) + .itemInputs(plankMosaic) + .circuit(2) + .itemOutputs(roofingMosaic.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion + //#endregion + + //#region Железнодорожное полотно (Узкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}_narrow` }) + + e.recipes.createSequencedAssembly([ + trackNarrow, + ], slab, [ + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), + e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), + ]).transitionalItem(incompleteTrackNarrow).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) + + e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) + .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') + .itemOutputs(trackNarrow) + .circuit(24) + .duration(800) + .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Необтесанное) (Узкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + //#endregion + + //#region Железнодорожное полотно (Нормальное) (Create) + e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}` }) + + e.recipes.createSequencedAssembly([ + track, + ], trackNarrow, [ + e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrack, [incompleteTrack]), + ]).transitionalItem(incompleteTrack).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}`) + .itemInputs(slab, trackNarrow, '4x #forge:screws') + .itemOutputs(track) + .circuit(24) + .duration(1200) + .EUt(32) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) + .itemInputs(slab.copyWithCount(2), '8x #forge:screws') + .itemOutputs(track) + .circuit(25) + .duration(1200) + .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Необтесанное) (Нормальное) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + //#endregion + + //#region Железнодорожное полотно (Широкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}_wide` }) + + e.recipes.createSequencedAssembly([ + trackWide, + ], track, [ + e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), + ]).transitionalItem(incompleteTrackWide).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_wide`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide`) + .itemInputs(slab, track, '4x #forge:screws') + .itemOutputs(trackWide) + .circuit(24) + .duration(1600) + .EUt(16) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide_skip`) + .itemInputs(slab.copyWithCount(3), '12x #forge:screws') + .itemOutputs(trackWide) + .circuit(26) + .duration(1600) + .EUt(16) + //#endregion + + //#region Железнодорожное полотно (Необтесанное) (Широкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + //#endregion } processBambooRecipes() @@ -866,6 +963,8 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Обтесанное бревно + e.remove({ id: `create:cutting/crimson_stem` }) + e.shaped(strippedLog, [ 'A', 's' @@ -887,6 +986,7 @@ const registerMinecraftRecipes = (e) => { //#region Обтесанное цельное бревно e.remove({ id: `minecraft:stripped_${woodName}_hyphae` }) + e.remove({ id: `create:cutting/${woodName}_hyphae` }) e.shaped(strippedWood, [ 'AA', @@ -1165,7 +1265,7 @@ const registerMinecraftRecipes = (e) => { e.recipes.gtceu.assembler(`tfg:${woodName}_door`) .itemInputs(lumber.copyWithCount(4)) .itemInputs(trapdoor) - .inputFluids(Fluid.of('gtceu:iron', 16)) + .itemInputs('4x #forge:screws') .circuit(0) .itemOutputs(door) .EUt(GTValues.VA[GTValues.ULV]).duration(200) @@ -1439,8 +1539,8 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Камень - const pizda = () => { - + const processGovno = () => { + } //#endregion } From 7f052b16bf4d1112fcdfdeff1d3087155ff147da Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sun, 22 Sep 2024 01:52:32 +0500 Subject: [PATCH 173/266] Update .gitignore --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index 977d59797..72a2e3631 100644 --- a/.gitignore +++ b/.gitignore @@ -87,5 +87,3 @@ knownkeys.txt !.github/buildtools/serverpack/minecraft_server.jar .github/buildtools/serverpack/* - - From 7dd5cdcd0118120442b3e01ff01c097e1f73e10a Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sun, 22 Sep 2024 02:03:44 +0500 Subject: [PATCH 174/266] =?UTF-8?q?=D0=BE=D0=BD=D0=BE=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=B0=D0=B5=D1=82=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/create_connected-common.toml | 23 +- config/cyclopscore-common.toml | 23 + config/everycomp-hazardous.properties | 2 +- config/iconexporter-common.toml | 17 + global-server-configs/etched-server.toml | 9 + global-server-configs/firmaciv-server.toml | 2 + .../getittogetherdrops-server.toml | 6 + .../inventorysorter-server.toml | 8 + .../startup_scripts/gregtech/material_info.js | 40 +- kubejs/startup_scripts/tfc/constants.js | 1051 ++++++++++------- 10 files changed, 761 insertions(+), 420 deletions(-) create mode 100644 config/cyclopscore-common.toml create mode 100644 config/iconexporter-common.toml create mode 100644 global-server-configs/etched-server.toml create mode 100644 global-server-configs/getittogetherdrops-server.toml create mode 100644 global-server-configs/inventorysorter-server.toml 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/cyclopscore-common.toml b/config/cyclopscore-common.toml new file mode 100644 index 000000000..134cfdb9c --- /dev/null +++ b/config/cyclopscore-common.toml @@ -0,0 +1,23 @@ + +[core] + + [core.general] + #If mod compatibility loader should crash hard if errors occur in that process. + crashOnModCompatCrash = false + #Set 'true' to enable development debug mode. This will result in a lower performance! + debug = false + #The anonymous id used by the analytics service. + anonymousAnalyticsID = "1892b4c4-92f9-4e3a-9116-b11bad1b1b8f" + #If the recipe loader should crash when finding invalid recipes. + crashOnInvalidRecipe = false + #If an anonymous mod startup analytics request may be sent to our analytics service. + analytics = true + #If the version checker should be enabled. + versionChecker = true + +[general] + + [general.general] + #If a button should be added to the main menu to open a dev world (shift-click creates a new world). + devWorldButton = false + diff --git a/config/everycomp-hazardous.properties b/config/everycomp-hazardous.properties index 5406199ba..09aaea256 100644 --- a/config/everycomp-hazardous.properties +++ b/config/everycomp-hazardous.properties @@ -1,2 +1,2 @@ #Hard disable entire modules. Use at your own risk and don't ask for support if you use this -#Sat Sep 14 19:17:52 YEKT 2024 +#Sun Sep 22 02:00:00 YEKT 2024 diff --git a/config/iconexporter-common.toml b/config/iconexporter-common.toml new file mode 100644 index 000000000..2ad215612 --- /dev/null +++ b/config/iconexporter-common.toml @@ -0,0 +1,17 @@ + +[core] + + [core.general] + #If mod compatibility loader should crash hard if errors occur in that process. + crashOnModCompatCrash = false + #The default image width in px to render at. + defaultScale = 32 + #If the NBT tag should be hashed with MD5 when constructing the file name, and if an auxiliary txt file should be created with the full tag contents. + fileNameHashTag = false + #If the recipe loader should crash when finding invalid recipes. + crashOnInvalidRecipe = false + #If an anonymous mod startup analytics request may be sent to our analytics service. + analytics = true + #If the version checker should be enabled. + versionChecker = true + diff --git a/global-server-configs/etched-server.toml b/global-server-configs/etched-server.toml new file mode 100644 index 000000000..459c2ba56 --- /dev/null +++ b/global-server-configs/etched-server.toml @@ -0,0 +1,9 @@ + +[Boombox] + #Disables right clicking music discs into boomboxes and allows the menu to be used by shift right-clicking + "Use boombox menu" = false + +["Album Cover"] + #Disables right clicking music discs into album covers and allows the menu to be used by shift right-clicking + "Use album cover menu" = false + diff --git a/global-server-configs/firmaciv-server.toml b/global-server-configs/firmaciv-server.toml index 6d061efbe..ab39ca616 100644 --- a/global-server-configs/firmaciv-server.toml +++ b/global-server-configs/firmaciv-server.toml @@ -10,4 +10,6 @@ disableVanillaBoatFunctionality = true #Automatically adjusts latitude and longitude to match the climate scale of the TFC world. changeLatitudeLongitudeBasedOnClimateConfig = false + #Expands water source creation to make canal building possible at sea level. + enableParallelSourceCreationAtSeaLevel = true diff --git a/global-server-configs/getittogetherdrops-server.toml b/global-server-configs/getittogetherdrops-server.toml new file mode 100644 index 000000000..5af9205e6 --- /dev/null +++ b/global-server-configs/getittogetherdrops-server.toml @@ -0,0 +1,6 @@ +#The radius (in blocks) that dropped items should check around them for other dropped items to combine with. ("0.5" is vanilla behavior) +#Range: 0.5 ~ 500.0 +radius = 2.0 +#Set to true if you want dropped items to also check above and below them, set to false if not ("false" is vanilla behavior) +checkY = true + diff --git a/global-server-configs/inventorysorter-server.toml b/global-server-configs/inventorysorter-server.toml new file mode 100644 index 000000000..57aef891e --- /dev/null +++ b/global-server-configs/inventorysorter-server.toml @@ -0,0 +1,8 @@ + +#Inventory sorter blacklists +[blacklists] + #Container blacklist + containerBlacklist = [] + #Slot type blacklist + slotBlacklist = [] + diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index 01d344f0e..d1c44558e 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -1,33 +1,35 @@ // priority: 0 + const registerGregTechMaterialInfo = (event) => { + //! отключено для проверки //#region Ванильное незер дерево - global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { - const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) - const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) - const button = Item.of(`minecraft:${woodName}_button`) - const sign = Item.of(`minecraft:${woodName}_sign`) - const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + // global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + // const trapdoor = Item.of(`minecraft:${woodName}_trapdoors`).of(`minecraft:${woodName}_trapdoor`) + // const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + // const button = Item.of(`minecraft:${woodName}_button`) + // const sign = Item.of(`minecraft:${woodName}_sign`) + // const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) - const trapdoorMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) - const pressurePlateMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) - const buttonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M / 9)) - const signMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) - const hangingButtonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + // const trapdoorMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + // const pressurePlateMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + // const buttonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M / 9)) + // const signMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + // const hangingButtonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) - event.add(trapdoor, trapdoorMaterialInfo); - event.add(pressurePlate, pressurePlateMaterialInfo); - event.add(button, buttonMaterialInfo); - event.add(sign, signMaterialInfo); - event.add(hangingSign, hangingButtonMaterialInfo); + // event.add(trapdoor, trapdoorMaterialInfo); + // event.add(pressurePlate, pressurePlateMaterialInfo); + // event.add(button, buttonMaterialInfo); + // event.add(sign, signMaterialInfo); + // event.add(hangingSign, hangingButtonMaterialInfo); - }) + // }) //#endregion //#region ТФК дерево - global.TFC_WOOD_TYPES.forEach(woodName => { - + global.WOOD_BLOCK_TYPES.forEach(wood => { + event.add(wood.tag, new ItemMaterialInfo(wood.material)); }) //#endregion diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 51f46268f..9c2783bd4 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -6,66 +6,66 @@ */ 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/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/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/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 @@ -109,7 +109,7 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/double_ingot/cast_iron", "tfc:metal/double_ingot/copper", "tfc:metal/double_ingot/gold", - + // Sheets "tfc:metal/sheet/bismuth", "tfc:metal/sheet/bismuth_bronze", @@ -131,7 +131,7 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/sheet/tin", "tfc:metal/sheet/zinc", "tfc:metal/sheet/cast_iron", - + // Double Sheets "tfc:metal/double_sheet/bismuth", "tfc:metal/double_sheet/bismuth_bronze", @@ -153,7 +153,7 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/double_sheet/tin", "tfc:metal/double_sheet/zinc", "tfc:metal/double_sheet/cast_iron", - + // Rods "tfc:metal/rod/bismuth", "tfc:metal/rod/bismuth_bronze", @@ -175,252 +175,252 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/rod/tin", "tfc:metal/rod/zinc", "tfc:metal/rod/cast_iron", - + // Tool Heads // Copper - 'tfc:metal/pickaxe/copper', - 'tfc:metal/pickaxe_head/copper', - 'tfc:metal/axe/copper', - 'tfc:metal/axe_head/copper', - 'tfc:metal/shovel/copper', - 'tfc:metal/shovel_head/copper', - 'tfc:metal/hoe/copper', - 'tfc:metal/hoe_head/copper', - 'tfc:metal/hammer/copper', - 'tfc:metal/hammer_head/copper', - 'tfc:metal/saw/copper', - 'tfc:metal/saw_blade/copper', - 'tfc:metal/sword/copper', - 'tfc:metal/sword_blade/copper', - 'tfc:metal/knife/copper', - 'tfc:metal/knife_blade/copper', - 'tfc:metal/scythe/copper', + 'tfc:metal/pickaxe/copper', + 'tfc:metal/pickaxe_head/copper', + 'tfc:metal/axe/copper', + 'tfc:metal/axe_head/copper', + 'tfc:metal/shovel/copper', + 'tfc:metal/shovel_head/copper', + 'tfc:metal/hoe/copper', + 'tfc:metal/hoe_head/copper', + 'tfc:metal/hammer/copper', + 'tfc:metal/hammer_head/copper', + 'tfc:metal/saw/copper', + 'tfc:metal/saw_blade/copper', + 'tfc:metal/sword/copper', + 'tfc:metal/sword_blade/copper', + 'tfc:metal/knife/copper', + 'tfc:metal/knife_blade/copper', + 'tfc:metal/scythe/copper', 'tfc:metal/scythe_blade/copper', // Bismuth Bronze - 'tfc:metal/pickaxe/bismuth_bronze', - 'tfc:metal/pickaxe_head/bismuth_bronze', - 'tfc:metal/axe/bismuth_bronze', - 'tfc:metal/axe_head/bismuth_bronze', - 'tfc:metal/shovel/bismuth_bronze', - 'tfc:metal/shovel_head/bismuth_bronze', - 'tfc:metal/hoe/bismuth_bronze', - 'tfc:metal/hoe_head/bismuth_bronze', - 'tfc:metal/hammer/bismuth_bronze', - 'tfc:metal/hammer_head/bismuth_bronze', - 'tfc:metal/saw/bismuth_bronze', - 'tfc:metal/saw_blade/bismuth_bronze', - 'tfc:metal/sword/bismuth_bronze', - 'tfc:metal/sword_blade/bismuth_bronze', - 'tfc:metal/knife/bismuth_bronze', - 'tfc:metal/knife_blade/bismuth_bronze', - 'tfc:metal/scythe/bismuth_bronze', + 'tfc:metal/pickaxe/bismuth_bronze', + 'tfc:metal/pickaxe_head/bismuth_bronze', + 'tfc:metal/axe/bismuth_bronze', + 'tfc:metal/axe_head/bismuth_bronze', + 'tfc:metal/shovel/bismuth_bronze', + 'tfc:metal/shovel_head/bismuth_bronze', + 'tfc:metal/hoe/bismuth_bronze', + 'tfc:metal/hoe_head/bismuth_bronze', + 'tfc:metal/hammer/bismuth_bronze', + 'tfc:metal/hammer_head/bismuth_bronze', + 'tfc:metal/saw/bismuth_bronze', + 'tfc:metal/saw_blade/bismuth_bronze', + 'tfc:metal/sword/bismuth_bronze', + 'tfc:metal/sword_blade/bismuth_bronze', + 'tfc:metal/knife/bismuth_bronze', + 'tfc:metal/knife_blade/bismuth_bronze', + 'tfc:metal/scythe/bismuth_bronze', 'tfc:metal/scythe_blade/bismuth_bronze', // Bronze - 'tfc:metal/pickaxe/bronze', - 'tfc:metal/pickaxe_head/bronze', - 'tfc:metal/axe/bronze', - 'tfc:metal/axe_head/bronze', - 'tfc:metal/shovel/bronze', - 'tfc:metal/shovel_head/bronze', - 'tfc:metal/hoe/bronze', - 'tfc:metal/hoe_head/bronze', - 'tfc:metal/hammer/bronze', - 'tfc:metal/hammer_head/bronze', - 'tfc:metal/saw/bronze', - 'tfc:metal/saw_blade/bronze', - 'tfc:metal/sword/bronze', - 'tfc:metal/sword_blade/bronze', - 'tfc:metal/knife/bronze', - 'tfc:metal/knife_blade/bronze', - 'tfc:metal/scythe/bronze', + 'tfc:metal/pickaxe/bronze', + 'tfc:metal/pickaxe_head/bronze', + 'tfc:metal/axe/bronze', + 'tfc:metal/axe_head/bronze', + 'tfc:metal/shovel/bronze', + 'tfc:metal/shovel_head/bronze', + 'tfc:metal/hoe/bronze', + 'tfc:metal/hoe_head/bronze', + 'tfc:metal/hammer/bronze', + 'tfc:metal/hammer_head/bronze', + 'tfc:metal/saw/bronze', + 'tfc:metal/saw_blade/bronze', + 'tfc:metal/sword/bronze', + 'tfc:metal/sword_blade/bronze', + 'tfc:metal/knife/bronze', + 'tfc:metal/knife_blade/bronze', + 'tfc:metal/scythe/bronze', 'tfc:metal/scythe_blade/bronze', // Black Bronze - 'tfc:metal/pickaxe/black_bronze', - 'tfc:metal/pickaxe_head/black_bronze', - 'tfc:metal/axe/black_bronze', - 'tfc:metal/axe_head/black_bronze', - 'tfc:metal/shovel/black_bronze', - 'tfc:metal/shovel_head/black_bronze', - 'tfc:metal/hoe/black_bronze', - 'tfc:metal/hoe_head/black_bronze', - 'tfc:metal/hammer/black_bronze', - 'tfc:metal/hammer_head/black_bronze', - 'tfc:metal/saw/black_bronze', - 'tfc:metal/saw_blade/black_bronze', - 'tfc:metal/sword/black_bronze', - 'tfc:metal/sword_blade/black_bronze', - 'tfc:metal/knife/black_bronze', - 'tfc:metal/knife_blade/black_bronze', - 'tfc:metal/scythe/black_bronze', + 'tfc:metal/pickaxe/black_bronze', + 'tfc:metal/pickaxe_head/black_bronze', + 'tfc:metal/axe/black_bronze', + 'tfc:metal/axe_head/black_bronze', + 'tfc:metal/shovel/black_bronze', + 'tfc:metal/shovel_head/black_bronze', + 'tfc:metal/hoe/black_bronze', + 'tfc:metal/hoe_head/black_bronze', + 'tfc:metal/hammer/black_bronze', + 'tfc:metal/hammer_head/black_bronze', + 'tfc:metal/saw/black_bronze', + 'tfc:metal/saw_blade/black_bronze', + 'tfc:metal/sword/black_bronze', + 'tfc:metal/sword_blade/black_bronze', + 'tfc:metal/knife/black_bronze', + 'tfc:metal/knife_blade/black_bronze', + 'tfc:metal/scythe/black_bronze', 'tfc:metal/scythe_blade/black_bronze', // Wrought Iron - 'tfc:metal/pickaxe/wrought_iron', - 'tfc:metal/pickaxe_head/wrought_iron', - 'tfc:metal/axe/wrought_iron', - 'tfc:metal/axe_head/wrought_iron', - 'tfc:metal/shovel/wrought_iron', - 'tfc:metal/shovel_head/wrought_iron', - 'tfc:metal/hoe/wrought_iron', - 'tfc:metal/hoe_head/wrought_iron', - 'tfc:metal/hammer/wrought_iron', - 'tfc:metal/hammer_head/wrought_iron', - 'tfc:metal/saw/wrought_iron', - 'tfc:metal/saw_blade/wrought_iron', - 'tfc:metal/sword/wrought_iron', - 'tfc:metal/sword_blade/wrought_iron', - 'tfc:metal/knife/wrought_iron', - 'tfc:metal/knife_blade/wrought_iron', - 'tfc:metal/scythe/wrought_iron', + 'tfc:metal/pickaxe/wrought_iron', + 'tfc:metal/pickaxe_head/wrought_iron', + 'tfc:metal/axe/wrought_iron', + 'tfc:metal/axe_head/wrought_iron', + 'tfc:metal/shovel/wrought_iron', + 'tfc:metal/shovel_head/wrought_iron', + 'tfc:metal/hoe/wrought_iron', + 'tfc:metal/hoe_head/wrought_iron', + 'tfc:metal/hammer/wrought_iron', + 'tfc:metal/hammer_head/wrought_iron', + 'tfc:metal/saw/wrought_iron', + 'tfc:metal/saw_blade/wrought_iron', + 'tfc:metal/sword/wrought_iron', + 'tfc:metal/sword_blade/wrought_iron', + 'tfc:metal/knife/wrought_iron', + 'tfc:metal/knife_blade/wrought_iron', + 'tfc:metal/scythe/wrought_iron', 'tfc:metal/scythe_blade/wrought_iron', // Steel - 'tfc:metal/pickaxe/steel', - 'tfc:metal/pickaxe_head/steel', - 'tfc:metal/axe/steel', - 'tfc:metal/axe_head/steel', - 'tfc:metal/shovel/steel', - 'tfc:metal/shovel_head/steel', - 'tfc:metal/hoe/steel', - 'tfc:metal/hoe_head/steel', - 'tfc:metal/hammer/steel', - 'tfc:metal/hammer_head/steel', - 'tfc:metal/saw/steel', - 'tfc:metal/saw_blade/steel', - 'tfc:metal/sword/steel', - 'tfc:metal/sword_blade/steel', - 'tfc:metal/knife/steel', - 'tfc:metal/knife_blade/steel', - 'tfc:metal/scythe/steel', + 'tfc:metal/pickaxe/steel', + 'tfc:metal/pickaxe_head/steel', + 'tfc:metal/axe/steel', + 'tfc:metal/axe_head/steel', + 'tfc:metal/shovel/steel', + 'tfc:metal/shovel_head/steel', + 'tfc:metal/hoe/steel', + 'tfc:metal/hoe_head/steel', + 'tfc:metal/hammer/steel', + 'tfc:metal/hammer_head/steel', + 'tfc:metal/saw/steel', + 'tfc:metal/saw_blade/steel', + 'tfc:metal/sword/steel', + 'tfc:metal/sword_blade/steel', + 'tfc:metal/knife/steel', + 'tfc:metal/knife_blade/steel', + 'tfc:metal/scythe/steel', 'tfc:metal/scythe_blade/steel', // Black Steel - 'tfc:metal/pickaxe/black_steel', - 'tfc:metal/pickaxe_head/black_steel', - 'tfc:metal/axe/black_steel', - 'tfc:metal/axe_head/black_steel', - 'tfc:metal/shovel/black_steel', - 'tfc:metal/shovel_head/black_steel', - 'tfc:metal/hoe/black_steel', - 'tfc:metal/hoe_head/black_steel', - 'tfc:metal/hammer/black_steel', - 'tfc:metal/hammer_head/black_steel', - 'tfc:metal/saw/black_steel', - 'tfc:metal/saw_blade/black_steel', - 'tfc:metal/sword/black_steel', - 'tfc:metal/sword_blade/black_steel', - 'tfc:metal/knife/black_steel', - 'tfc:metal/knife_blade/black_steel', - 'tfc:metal/scythe/black_steel', + 'tfc:metal/pickaxe/black_steel', + 'tfc:metal/pickaxe_head/black_steel', + 'tfc:metal/axe/black_steel', + 'tfc:metal/axe_head/black_steel', + 'tfc:metal/shovel/black_steel', + 'tfc:metal/shovel_head/black_steel', + 'tfc:metal/hoe/black_steel', + 'tfc:metal/hoe_head/black_steel', + 'tfc:metal/hammer/black_steel', + 'tfc:metal/hammer_head/black_steel', + 'tfc:metal/saw/black_steel', + 'tfc:metal/saw_blade/black_steel', + 'tfc:metal/sword/black_steel', + 'tfc:metal/sword_blade/black_steel', + 'tfc:metal/knife/black_steel', + 'tfc:metal/knife_blade/black_steel', + 'tfc:metal/scythe/black_steel', 'tfc:metal/scythe_blade/black_steel', // Red Steel - 'tfc:metal/pickaxe/red_steel', - 'tfc:metal/pickaxe_head/red_steel', - 'tfc:metal/axe/red_steel', - 'tfc:metal/axe_head/red_steel', - 'tfc:metal/shovel/red_steel', - 'tfc:metal/shovel_head/red_steel', - 'tfc:metal/hoe/red_steel', - 'tfc:metal/hoe_head/red_steel', - 'tfc:metal/hammer/red_steel', - 'tfc:metal/hammer_head/red_steel', - 'tfc:metal/saw/red_steel', - 'tfc:metal/saw_blade/red_steel', - 'tfc:metal/sword/red_steel', - 'tfc:metal/sword_blade/red_steel', - 'tfc:metal/knife/red_steel', - 'tfc:metal/knife_blade/red_steel', - 'tfc:metal/scythe/red_steel', + 'tfc:metal/pickaxe/red_steel', + 'tfc:metal/pickaxe_head/red_steel', + 'tfc:metal/axe/red_steel', + 'tfc:metal/axe_head/red_steel', + 'tfc:metal/shovel/red_steel', + 'tfc:metal/shovel_head/red_steel', + 'tfc:metal/hoe/red_steel', + 'tfc:metal/hoe_head/red_steel', + 'tfc:metal/hammer/red_steel', + 'tfc:metal/hammer_head/red_steel', + 'tfc:metal/saw/red_steel', + 'tfc:metal/saw_blade/red_steel', + 'tfc:metal/sword/red_steel', + 'tfc:metal/sword_blade/red_steel', + 'tfc:metal/knife/red_steel', + 'tfc:metal/knife_blade/red_steel', + 'tfc:metal/scythe/red_steel', 'tfc:metal/scythe_blade/red_steel', // Blue Steel - 'tfc:metal/pickaxe/blue_steel', - 'tfc:metal/pickaxe_head/blue_steel', - 'tfc:metal/axe/blue_steel', - 'tfc:metal/axe_head/blue_steel', - 'tfc:metal/shovel/blue_steel', - 'tfc:metal/shovel_head/blue_steel', - 'tfc:metal/hoe/blue_steel', - 'tfc:metal/hoe_head/blue_steel', - 'tfc:metal/hammer/blue_steel', - 'tfc:metal/hammer_head/blue_steel', - 'tfc:metal/saw/blue_steel', - 'tfc:metal/saw_blade/blue_steel', - 'tfc:metal/sword/blue_steel', - 'tfc:metal/sword_blade/blue_steel', - 'tfc:metal/knife/blue_steel', - 'tfc:metal/knife_blade/blue_steel', - 'tfc:metal/scythe/blue_steel', + 'tfc:metal/pickaxe/blue_steel', + 'tfc:metal/pickaxe_head/blue_steel', + 'tfc:metal/axe/blue_steel', + 'tfc:metal/axe_head/blue_steel', + 'tfc:metal/shovel/blue_steel', + 'tfc:metal/shovel_head/blue_steel', + 'tfc:metal/hoe/blue_steel', + 'tfc:metal/hoe_head/blue_steel', + 'tfc:metal/hammer/blue_steel', + 'tfc:metal/hammer_head/blue_steel', + 'tfc:metal/saw/blue_steel', + 'tfc:metal/saw_blade/blue_steel', + 'tfc:metal/sword/blue_steel', + 'tfc:metal/sword_blade/blue_steel', + 'tfc:metal/knife/blue_steel', + 'tfc:metal/knife_blade/blue_steel', + 'tfc:metal/scythe/blue_steel', 'tfc:metal/scythe_blade/blue_steel', - + // Ores - 'tfc:ore/poor_native_copper', - 'tfc:ore/normal_native_copper', + '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_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/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', - 'tfc:gem/lapis_lazuli', - 'tfc:gem/emerald', - 'tfc:gem/pyrite', - 'tfc:gem/opal', - 'tfc:gem/ruby', - 'tfc:gem/sapphire', - 'tfc:gem/topaz', - 'tfc:ore/amethyst', - 'tfc:ore/diamond', - 'tfc:ore/lapis_lazuli', - 'tfc:ore/emerald', - 'tfc:ore/pyrite', - 'tfc:ore/opal', - 'tfc:ore/ruby', - 'tfc:ore/sapphire', + 'tfc:gem/amethyst', + 'tfc:gem/diamond', + 'tfc:gem/lapis_lazuli', + 'tfc:gem/emerald', + 'tfc:gem/pyrite', + 'tfc:gem/opal', + 'tfc:gem/ruby', + 'tfc:gem/sapphire', + 'tfc:gem/topaz', + 'tfc:ore/amethyst', + 'tfc:ore/diamond', + 'tfc:ore/lapis_lazuli', + 'tfc:ore/emerald', + 'tfc:ore/pyrite', + 'tfc:ore/opal', + 'tfc:ore/ruby', + 'tfc:ore/sapphire', 'tfc:ore/topaz', - 'tfc:ore/graphite', - 'tfc:ore/sulfur', - 'tfc:ore/cinnabar', - 'tfc:ore/cryolite', - 'tfc:ore/saltpeter', - 'tfc:ore/borax', + 'tfc:ore/graphite', + 'tfc:ore/sulfur', + 'tfc:ore/cinnabar', + 'tfc:ore/cryolite', + 'tfc:ore/saltpeter', + 'tfc:ore/borax', 'tfc:ore/sylvite', 'tfc:ore/bituminous_coal', 'tfc:ore/lignite', @@ -537,47 +537,47 @@ global.TFC_DISABLED_ITEMS = [ 'tfc:wood/gear_box/willow', // Water Wheels - 'tfc:wood/water_wheel/acacia', - 'tfc:wood/water_wheel/ash', + 'tfc:wood/water_wheel/acacia', + 'tfc:wood/water_wheel/ash', 'tfc:wood/water_wheel/aspen', - 'tfc:wood/water_wheel/birch', - 'tfc:wood/water_wheel/blackwood', - 'tfc:wood/water_wheel/chestnut', - 'tfc:wood/water_wheel/douglas_fir', - 'tfc:wood/water_wheel/hickory', - 'tfc:wood/water_wheel/kapok', - 'tfc:wood/water_wheel/mangrove', - 'tfc:wood/water_wheel/maple', - 'tfc:wood/water_wheel/oak', - 'tfc:wood/water_wheel/palm', - 'tfc:wood/water_wheel/pine', - 'tfc:wood/water_wheel/rosewood', - 'tfc:wood/water_wheel/sequoia', - 'tfc:wood/water_wheel/spruce', - 'tfc:wood/water_wheel/sycamore', - 'tfc:wood/water_wheel/white_cedar', + 'tfc:wood/water_wheel/birch', + 'tfc:wood/water_wheel/blackwood', + 'tfc:wood/water_wheel/chestnut', + 'tfc:wood/water_wheel/douglas_fir', + 'tfc:wood/water_wheel/hickory', + 'tfc:wood/water_wheel/kapok', + 'tfc:wood/water_wheel/mangrove', + 'tfc:wood/water_wheel/maple', + 'tfc:wood/water_wheel/oak', + 'tfc:wood/water_wheel/palm', + 'tfc:wood/water_wheel/pine', + 'tfc:wood/water_wheel/rosewood', + 'tfc:wood/water_wheel/sequoia', + 'tfc:wood/water_wheel/spruce', + 'tfc:wood/water_wheel/sycamore', + 'tfc:wood/water_wheel/white_cedar', 'tfc:wood/water_wheel/willow', // Boat - 'tfc:wood/boat/acacia', - 'tfc:wood/boat/ash', + 'tfc:wood/boat/acacia', + 'tfc:wood/boat/ash', 'tfc:wood/boat/aspen', - 'tfc:wood/boat/birch', - 'tfc:wood/boat/blackwood', - 'tfc:wood/boat/chestnut', - 'tfc:wood/boat/douglas_fir', - 'tfc:wood/boat/hickory', - 'tfc:wood/boat/kapok', - 'tfc:wood/boat/mangrove', - 'tfc:wood/boat/maple', - 'tfc:wood/boat/oak', - 'tfc:wood/boat/palm', - 'tfc:wood/boat/pine', - 'tfc:wood/boat/rosewood', - 'tfc:wood/boat/sequoia', - 'tfc:wood/boat/spruce', - 'tfc:wood/boat/sycamore', - 'tfc:wood/boat/white_cedar', + 'tfc:wood/boat/birch', + 'tfc:wood/boat/blackwood', + 'tfc:wood/boat/chestnut', + 'tfc:wood/boat/douglas_fir', + 'tfc:wood/boat/hickory', + 'tfc:wood/boat/kapok', + 'tfc:wood/boat/mangrove', + 'tfc:wood/boat/maple', + 'tfc:wood/boat/oak', + 'tfc:wood/boat/palm', + 'tfc:wood/boat/pine', + 'tfc:wood/boat/rosewood', + 'tfc:wood/boat/sequoia', + 'tfc:wood/boat/spruce', + 'tfc:wood/boat/sycamore', + 'tfc:wood/boat/white_cedar', 'tfc:wood/boat/willow', // Windmill Blades @@ -599,62 +599,62 @@ global.TFC_DISABLED_ITEMS = [ "tfc:black_windmill_blade", // Каменные инстрменты - 'tfc:stone/knife_head/igneous_extrusive', - 'tfc:stone/knife_head/igneous_intrusive', - 'tfc:stone/knife_head/metamorphic', - 'tfc:stone/knife_head/sedimentary', - - 'tfc:stone/knife/igneous_extrusive', - 'tfc:stone/knife/igneous_intrusive', + 'tfc:stone/knife_head/igneous_extrusive', + 'tfc:stone/knife_head/igneous_intrusive', + 'tfc:stone/knife_head/metamorphic', + 'tfc:stone/knife_head/sedimentary', + + 'tfc:stone/knife/igneous_extrusive', + 'tfc:stone/knife/igneous_intrusive', 'tfc:stone/knife/metamorphic', - 'tfc:stone/knife/sedimentary', - - 'tfc:stone/axe_head/igneous_extrusive', - 'tfc:stone/axe_head/igneous_intrusive', - 'tfc:stone/axe_head/metamorphic', - 'tfc:stone/axe_head/sedimentary', - - 'tfc:stone/axe/igneous_extrusive', - 'tfc:stone/axe/igneous_intrusive', - 'tfc:stone/axe/metamorphic', - 'tfc:stone/axe/sedimentary', - - 'tfc:stone/shovel_head/igneous_extrusive', - 'tfc:stone/shovel_head/igneous_intrusive', - 'tfc:stone/shovel_head/metamorphic', + 'tfc:stone/knife/sedimentary', + + 'tfc:stone/axe_head/igneous_extrusive', + 'tfc:stone/axe_head/igneous_intrusive', + 'tfc:stone/axe_head/metamorphic', + 'tfc:stone/axe_head/sedimentary', + + 'tfc:stone/axe/igneous_extrusive', + 'tfc:stone/axe/igneous_intrusive', + 'tfc:stone/axe/metamorphic', + 'tfc:stone/axe/sedimentary', + + 'tfc:stone/shovel_head/igneous_extrusive', + 'tfc:stone/shovel_head/igneous_intrusive', + 'tfc:stone/shovel_head/metamorphic', 'tfc:stone/shovel_head/sedimentary', - - 'tfc:stone/shovel/igneous_extrusive', - 'tfc:stone/shovel/igneous_intrusive', - 'tfc:stone/shovel/metamorphic', - 'tfc:stone/shovel/sedimentary', - - 'tfc:stone/hammer_head/igneous_extrusive', - 'tfc:stone/hammer_head/igneous_intrusive', - 'tfc:stone/hammer_head/metamorphic', - 'tfc:stone/hammer_head/sedimentary', - - 'tfc:stone/hammer/igneous_extrusive', - 'tfc:stone/hammer/igneous_intrusive', - 'tfc:stone/hammer/metamorphic', - 'tfc:stone/hammer/sedimentary', - - 'tfc:stone/hoe_head/igneous_extrusive', - 'tfc:stone/hoe_head/igneous_intrusive', - 'tfc:stone/hoe_head/metamorphic', - 'tfc:stone/hoe_head/sedimentary', - - 'tfc:stone/hoe/igneous_extrusive', - 'tfc:stone/hoe/igneous_intrusive', - 'tfc:stone/hoe/metamorphic', - 'tfc:stone/hoe/sedimentary', + + 'tfc:stone/shovel/igneous_extrusive', + 'tfc:stone/shovel/igneous_intrusive', + 'tfc:stone/shovel/metamorphic', + 'tfc:stone/shovel/sedimentary', + + 'tfc:stone/hammer_head/igneous_extrusive', + 'tfc:stone/hammer_head/igneous_intrusive', + 'tfc:stone/hammer_head/metamorphic', + 'tfc:stone/hammer_head/sedimentary', + + 'tfc:stone/hammer/igneous_extrusive', + 'tfc:stone/hammer/igneous_intrusive', + 'tfc:stone/hammer/metamorphic', + 'tfc:stone/hammer/sedimentary', + + 'tfc:stone/hoe_head/igneous_extrusive', + 'tfc:stone/hoe_head/igneous_intrusive', + 'tfc:stone/hoe_head/metamorphic', + 'tfc:stone/hoe_head/sedimentary', + + 'tfc:stone/hoe/igneous_extrusive', + 'tfc:stone/hoe/igneous_intrusive', + 'tfc:stone/hoe/metamorphic', + 'tfc:stone/hoe/sedimentary', // Other "tfc:trip_hammer", 'tfc:steel_pipe', 'tfc:steel_pump', 'tfc:crankshaft', - 'tfc:hand_wheel_base', + 'tfc:hand_wheel_base', 'tfc:hand_wheel', ]; @@ -662,21 +662,21 @@ global.TFC_DISABLED_ITEMS = [ * Хранит список всех имен типов камней в TFC. */ global.TFC_STONE_TYPES = [ - 'gabbro', - 'shale', - 'claystone', - 'limestone', - 'conglomerate', - 'dolomite', - 'chert', - 'chalk', - 'rhyolite', - 'dacite', - 'quartzite', - 'slate', - 'phyllite', - 'schist', - 'gneiss', + 'gabbro', + 'shale', + 'claystone', + 'limestone', + 'conglomerate', + 'dolomite', + 'chert', + 'chalk', + 'rhyolite', + 'dacite', + 'quartzite', + 'slate', + 'phyllite', + 'schist', + 'gneiss', 'marble', 'basalt', // Есть в GT 'diorite', // Есть в GT @@ -707,6 +707,259 @@ global.TFC_WOOD_TYPES = [ "willow" ]; +global.WOOD_BLOCK_TYPES = { + "track": { + tag: "create:track", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "track_wide": { + tag: "create:track_wide", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "track_narrow": { + tag: "create:track_narrow", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "window": { + tag: "create:window", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "window_pane": { + tag: "create:window_pane", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "log": { + tag: "minecraft:logs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "stripped_log": { + tag: "minecraft:stripped_logs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "wood": { + tag: "minecraft:wood", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "stripped_wood": { + tag: "minecraft:stripped_logs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "leaves": { + tag: "minecraft:leaves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "planks": { + tag: "minecraft:planks", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "sapling": { + tag: "minecraft:saplings", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "bookshelf": { + tag: "tfc:bookshelves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "door": { + tag: "minecraft:doors", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "trapdoor": { + tag: "minecraft:trapdoors", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "fence": { + tag: "minecraft:fences", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "log_fence": { + tag: "minecraft:log_fence", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "fence_gate": { + tag: "minecraft:fence_gates", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "button": { + tag: "minecraft:buttons", + material: new MaterialStack(GTMaterials.Wood, GTValues.M / 9) + }, + "pressure_plate": { + tag: "minecraft:pressure_plates", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "slab": { + tag: "minecraft:slabs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "stairs": { + tag: "minecraft:stairs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "tool_rack": { + tag: "tfc:tool_racks", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "twig": { + tag: "tfc:twigs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "fallen_leaves": { + tag: "minecraft:fallen_leaves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "workbench": { + tag: "tfc:workbenches", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "trapped_chest": { + tag: "tfg:trapped_chest", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "chest": { + tag: "tfg:default_chests", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "loom": { + tag: "minecraft:looms", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "sluice": { + tag: "tfc:sluices", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "barrel": { + tag: "tfc:barrels", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "lectern": { + tag: "minecraft:lecterns", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "scribing_table": { + tag: "tfc:scribing_tables", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "sewing_table": { + tag: "tfc:sewing_tables", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "jar_shelf": { + tag: "tfc:jar_shelves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "axle": { + tag: "tfc:axles", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "blade_axle": { + tag: "tfc:blade_axles", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "encased_axle": { + tag: "tfc:encased_axles", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "clutch": { + tag: "tfc:clutches", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "gear_box": { + tag: "tfc:gear_boxes", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "water_wheel": { + tag: "tfc:water_wheels", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "lumber": { + tag: "tfc:lumber", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "boat": { + tag: "minecraft:boats", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "support": { + tag: "tfc:support_beams", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "chest_minecart": { + tag: "tfc:minecarts", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "sign": { + tag: "minecraft:signs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "handing_sign": { + tag: "minecraft:handing_signs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "food_shelf": { + tag: "firmalife:food_shelves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "hangers": { + tag: "firmalife:hangers", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "jarbnet": { + tag: "firmalife:jarbnets", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "roofing": { + tag: "alekiroofs:roofing", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "wheel": { + tag: "tfcastikorcarts:cart_wheel", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "supply_cart": { + tag: "tfcastikorcarts:supply_carts", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "plow": { + tag: "tfcastikorcarts:plows", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "animal_cart": { + tag: "tfcastikorcarts:animal_carts", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "big_barel": { + tag: "firmalife:big_barels", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "stomping_barel": { + tag: "firmalife:stomping_barels", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "barel_press": { + tag: "firmalife:barel_presses", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "wine_shelf": { + tag: "firmalife:wine_shelves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "incomplete_track": { + tag: "create:incomplete_track", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "incomplete_track_wide": { + tag: "create:incomplete_track_wide", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "incomplete_track_narrow": { + tag: "create:incomplete_track_narrow", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + } +} + + + global.TFC_MUD_TYPES = [ 'silt', 'loam', @@ -900,37 +1153,37 @@ global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = [ ]; global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS = [ - { input: 'tfc:food/horse_meat', output: 'tfc:food/cooked_horse_meat', name: 'cooked_horse_meat' }, - { input: 'tfc:food/bear', output: 'tfc:food/cooked_bear', name: 'cooked_bear' }, - { input: 'tfc:food/mutton', output: 'tfc:food/cooked_mutton', name: 'cooked_mutton' }, - { input: 'tfc:food/pheasant', output: 'tfc:food/cooked_pheasant', name: 'cooked_pheasant' }, - { input: 'tfc:food/quail', output: 'tfc:food/cooked_quail', name: 'cooked_quail' }, - { input: 'tfc:food/chicken', output: 'tfc:food/cooked_chicken', name: 'cooked_chicken' }, - { input: 'tfc:food/pork', output: 'tfc:food/cooked_pork', name: 'cooked_pork' }, - { input: 'tfc:food/beef', output: 'tfc:food/cooked_beef', name: 'cooked_beef' }, - { input: 'tfc:food/crappie', output: 'tfc:food/cooked_crappie', name: 'cooked_crappie' }, - { input: 'tfc:food/lake_trout', output: 'tfc:food/cooked_lake_trout', name: 'cooked_lake_trout' }, - { input: 'tfc:food/largemouth_bass', output: 'tfc:food/cooked_largemouth_bass', name: 'cooked_largemouth_bass' }, - { input: 'tfc:food/rainbow_trout', output: 'tfc:food/cooked_rainbow_trout', name: 'cooked_rainbow_trout' }, - { input: 'tfc:food/salmon', output: 'tfc:food/cooked_salmon', name: 'cooked_salmon' }, - { input: 'tfc:food/smallmouth_bass', output: 'tfc:food/cooked_smallmouth_bass', name: 'cooked_smallmouth_bass' }, - { input: 'tfc:food/camelidae', output: 'tfc:food/cooked_camelidae', name: 'cooked_camelidae' }, - { input: 'tfc:food/frog_legs', output: 'tfc:food/cooked_frog_legs', name: 'cooked_frog_legs' }, - { input: 'tfc:food/gran_feline', output: 'tfc:food/cooked_gran_feline', name: 'cooked_gran_feline' }, - { input: 'tfc:food/turtle', output: 'tfc:food/cooked_turtle', name: 'cooked_turtle' }, - { input: 'tfc:food/cod', output: 'tfc:food/cooked_cod', name: 'cooked_cod' }, - { input: 'tfc:food/tropical_fish', output: 'tfc:food/cooked_tropical_fish', name: 'cooked_tropical_fish' }, - { input: 'tfc:food/calamari', output: 'tfc:food/cooked_calamari', name: 'cooked_calamari' }, - { input: 'tfc:food/shellfish', output: 'tfc:food/cooked_shellfish', name: 'cooked_shellfish' }, - { input: 'tfc:food/bluegill', output: 'tfc:food/cooked_bluegill', name: 'cooked_bluegill' }, - { input: 'tfc:food/turkey', output: 'tfc:food/cooked_turkey', name: 'cooked_turkey' }, - { input: 'tfc:food/peafowl', output: 'tfc:food/cooked_peafowl', name: 'cooked_peafowl' }, - { input: 'tfc:food/grouse', output: 'tfc:food/cooked_grouse', name: 'cooked_grouse' }, - { input: 'tfc:food/venison', output: 'tfc:food/cooked_venison', name: 'cooked_venison' }, - { input: 'tfc:food/wolf', output: 'tfc:food/cooked_wolf', name: 'cooked_wolf' }, - { input: 'tfc:food/rabbit', output: 'tfc:food/cooked_rabbit', name: 'cooked_rabbit' }, - { input: 'tfc:food/hyena', output: 'tfc:food/cooked_hyena', name: 'cooked_hyena' }, - { input: 'tfc:food/duck', output: 'tfc:food/cooked_duck', name: 'cooked_duck' }, + { input: 'tfc:food/horse_meat', output: 'tfc:food/cooked_horse_meat', name: 'cooked_horse_meat' }, + { input: 'tfc:food/bear', output: 'tfc:food/cooked_bear', name: 'cooked_bear' }, + { input: 'tfc:food/mutton', output: 'tfc:food/cooked_mutton', name: 'cooked_mutton' }, + { input: 'tfc:food/pheasant', output: 'tfc:food/cooked_pheasant', name: 'cooked_pheasant' }, + { input: 'tfc:food/quail', output: 'tfc:food/cooked_quail', name: 'cooked_quail' }, + { input: 'tfc:food/chicken', output: 'tfc:food/cooked_chicken', name: 'cooked_chicken' }, + { input: 'tfc:food/pork', output: 'tfc:food/cooked_pork', name: 'cooked_pork' }, + { input: 'tfc:food/beef', output: 'tfc:food/cooked_beef', name: 'cooked_beef' }, + { input: 'tfc:food/crappie', output: 'tfc:food/cooked_crappie', name: 'cooked_crappie' }, + { input: 'tfc:food/lake_trout', output: 'tfc:food/cooked_lake_trout', name: 'cooked_lake_trout' }, + { input: 'tfc:food/largemouth_bass', output: 'tfc:food/cooked_largemouth_bass', name: 'cooked_largemouth_bass' }, + { input: 'tfc:food/rainbow_trout', output: 'tfc:food/cooked_rainbow_trout', name: 'cooked_rainbow_trout' }, + { input: 'tfc:food/salmon', output: 'tfc:food/cooked_salmon', name: 'cooked_salmon' }, + { input: 'tfc:food/smallmouth_bass', output: 'tfc:food/cooked_smallmouth_bass', name: 'cooked_smallmouth_bass' }, + { input: 'tfc:food/camelidae', output: 'tfc:food/cooked_camelidae', name: 'cooked_camelidae' }, + { input: 'tfc:food/frog_legs', output: 'tfc:food/cooked_frog_legs', name: 'cooked_frog_legs' }, + { input: 'tfc:food/gran_feline', output: 'tfc:food/cooked_gran_feline', name: 'cooked_gran_feline' }, + { input: 'tfc:food/turtle', output: 'tfc:food/cooked_turtle', name: 'cooked_turtle' }, + { input: 'tfc:food/cod', output: 'tfc:food/cooked_cod', name: 'cooked_cod' }, + { input: 'tfc:food/tropical_fish', output: 'tfc:food/cooked_tropical_fish', name: 'cooked_tropical_fish' }, + { input: 'tfc:food/calamari', output: 'tfc:food/cooked_calamari', name: 'cooked_calamari' }, + { input: 'tfc:food/shellfish', output: 'tfc:food/cooked_shellfish', name: 'cooked_shellfish' }, + { input: 'tfc:food/bluegill', output: 'tfc:food/cooked_bluegill', name: 'cooked_bluegill' }, + { input: 'tfc:food/turkey', output: 'tfc:food/cooked_turkey', name: 'cooked_turkey' }, + { input: 'tfc:food/peafowl', output: 'tfc:food/cooked_peafowl', name: 'cooked_peafowl' }, + { input: 'tfc:food/grouse', output: 'tfc:food/cooked_grouse', name: 'cooked_grouse' }, + { input: 'tfc:food/venison', output: 'tfc:food/cooked_venison', name: 'cooked_venison' }, + { input: 'tfc:food/wolf', output: 'tfc:food/cooked_wolf', name: 'cooked_wolf' }, + { input: 'tfc:food/rabbit', output: 'tfc:food/cooked_rabbit', name: 'cooked_rabbit' }, + { input: 'tfc:food/hyena', output: 'tfc:food/cooked_hyena', name: 'cooked_hyena' }, + { input: 'tfc:food/duck', output: 'tfc:food/cooked_duck', name: 'cooked_duck' }, { input: 'tfc:food/chevon', output: 'tfc:food/cooked_chevon', name: 'cooked_chevon' }, { input: 'minecraft:egg', output: 'tfc:food/cooked_egg', name: 'cooked_egg' }, ]; @@ -1014,7 +1267,7 @@ global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ { 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/banana_sapling', fluid_amount: 8000, output: '3x tfc:food/banana', name: 'banana' }, ]; global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = [ From 53984a82686e1468651fc7f4ceb852f8023ee9f6 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 22 Sep 2024 23:24:45 +0700 Subject: [PATCH 175/266] =?UTF-8?q?=D0=BE=D1=87=D0=B5=D1=80=D0=B5=D0=B4?= =?UTF-8?q?=D0=BD=D0=B0=D1=8F=20=D1=85=D0=B5=D1=80=D0=BE=D0=B2=D0=B0=20?= =?UTF-8?q?=D1=82=D1=83=D1=87=D0=B0=20=D1=80=D0=B5=D1=86=D0=B5=D0=BF=D1=82?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kubejs/server_scripts/gregtech/tags.js | 3 + kubejs/server_scripts/minecraft/recipes.js | 1806 +++++++++++------ .../startup_scripts/gregtech/material_info.js | 6 +- 3 files changed, 1157 insertions(+), 658 deletions(-) diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index d26b8f313..8bd97886a 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -70,6 +70,9 @@ const registerGregTechItemTags = (event) => { //#endregion //#region Объединение некоторых предметов из WroughtIron и Iron в один тег + event.add('tfg:all_iron_plates', 'gtceu:iron_plate') + event.add('tfg:all_iron_plates', 'gtceu:wrought_iron_plate') + event.add('tfg:all_iron_screws', 'gtceu:iron_screw') event.add('tfg:all_iron_screws', 'gtceu:wrought_iron_screw') diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index f1db4757c..5651b5a7a 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1275,6 +1275,8 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `minecraft:${woodName}_trapdoor` }) e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_iron` }) e.shaped(trapdoor, [ 'ABd', @@ -1389,7 +1391,7 @@ const registerMinecraftRecipes = (e) => { s: '#forge:tools/saws' }).id(`tfg:workbench/${woodName}_roofing_saw`) - e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + e.recipes.create.cutting([roofing, Item.of('1x gtceu:wood_dust')], plank) .id(`tfg:create_cutting/${woodName}_roofing`) e.recipes.gtceu.cutter(`tfg:${woodName}_roofing`) @@ -1539,620 +1541,1158 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Камень - const processGovno = () => { - } + //#region Блок + + e.remove({ id: 'minecraft:stone' }) + e.remove({ id: 'gtceu:compressor/stone_from_dust' }) + e.remove({ id: 'gtceu:rock_breaker/stone' }) + e.remove({ id: 'ae2:entropy/heat/cobblestone_stone' }) + + //#endregion + + //#region Ступень + + e.remove({ id: 'minecraft:stone_stairs' }) + e.remove({ id: 'minecraft:stone_stairs_from_stone_stonecutting' }) + + //#endregion + + //#region Полублок + + e.remove({ id: 'gtceu:shaped/stone_slab_saw' }) + e.remove({ id: 'minecraft:stone_slab_from_stone_stonecutting' }) + + //#endregion + + //#region Нажимная плита + + e.remove({ id: 'gtceu:shaped/stone_pressure_plate' }) + e.remove({ id: 'gtceu:assembler/stone_pressure_plate' }) + + //#endregion + + //#region Кнопка + + e.remove({ id: 'gtceu:shaped/stone_button' }) + e.remove({ id: 'gtceu:cutter/stone_button' }) + e.remove({ id: 'gtceu:cutter/stone_button_water' }) + e.remove({ id: 'gtceu:cutter/stone_button_distilled_water' }) + + //#endregion + + //#endregion + + //#region Булыжник + + //#region Блок + e.remove({ id: 'gtceu:shaped/cobblestone_hammer' }) + e.remove({ id: 'gtceu:forge_hammer/stone_to_cobblestone' }) + e.remove({ id: 'gtceu:rock_breaker/cobblestone' }) + e.remove({ id: 'ae2:entropy/cool/stone_cobblestone' }) + + e.remove({ id: 'create:crushing/copper_ore' }) + e.remove({ id: 'create:crushing/zinc_ore' }) + e.remove({ id: 'create:crushing/diamond_ore' }) + e.remove({ id: 'create:crushing/coal_ore' }) + e.remove({ id: 'create:crushing/gold_ore' }) + e.remove({ id: 'create:crushing/lapis_ore' }) + e.remove({ id: 'create:crushing/redstone_ore' }) + e.remove({ id: 'create:crushing/emerald_ore' }) + e.remove({ id: 'create:crushing/iron_ore' }) + e.remove({ id: 'create:milling/andesite' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:cobblestone_stairs' }) + e.remove({ id: 'minecraft:cobblestone_stairs_from_cobblestone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cobblestone_slab_saw' }) + e.remove({ id: 'minecraft:cobblestone_slab_from_cobblestone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:cobblestone_wall' }) + e.remove({ id: 'minecraft:cobblestone_wall_from_cobblestone_stonecutting' }) + //#endregion + + //#endregion + + //#region Замшелый булыжник + + //#region Блок + e.remove({ id: 'gtceu:assembler/mossy_cobblestone_from_moss_block' }) + e.remove({ id: 'gtceu:assembler/mossy_cobblestone_from_vine' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:mossy_cobblestone_stairs' }) + e.remove({ id: 'minecraft:mossy_cobblestone_stairs_from_mossy_cobblestone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_saw' }) + e.remove({ id: 'minecraft:mossy_cobblestone_slab_from_mossy_cobblestone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:mossy_cobblestone_wall' }) + e.remove({ id: 'minecraft:mossy_cobblestone_wall_from_mossy_cobblestone_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий камень + + //#region Блок + e.remove({ id: 'minecraft:smooth_stone' }) + //#endregion + + //#region Полублок + + e.remove({ id: 'morered:smooth_stone_slab_from_stone_plate' }) + e.remove({ id: 'gtceu:shaped/smooth_stone_slab_saw' }) + e.remove({ id: 'minecraft:smooth_stone_slab_from_smooth_stone_stonecutting' }) + + //#endregion + + //#endregion + + //#region Каменные кирпичи + + //#region Блок + e.remove({ id: 'minecraft:stone_bricks_from_stone_stonecutting' }) + //#endregion + + //#region Треснувший блок + e.remove({ id: 'gtceu:forge_hammer/cracked_stone_bricks' }) + e.remove({ id: 'ae2:entropy/cool/stone_bricks_cracked_stone_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:stone_brick_stairs' }) + e.remove({ id: 'minecraft:stone_brick_stairs_from_stone_stonecutting' }) + e.remove({ id: 'minecraft:stone_brick_stairs_from_stone_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/stone_brick_slab_saw' }) + e.remove({ id: 'minecraft:stone_brick_slab_from_stone_stonecutting' }) + e.remove({ id: 'minecraft:stone_brick_slab_from_stone_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:stone_brick_wall' }) + e.remove({ id: 'minecraft:stone_brick_walls_from_stone_stonecutting' }) + e.remove({ id: 'minecraft:stone_brick_wall_from_stone_bricks_stonecutting' }) + //#endregion + + //#region Резной блок + e.remove({ id: 'minecraft:chiseled_stone_bricks_stone_from_stonecutting' }) + e.remove({ id: 'minecraft:chiseled_stone_bricks_from_stone_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Замшелые каменные кирпичи + + //#region Блок + e.remove({ id: 'minecraft:mossy_stone_bricks_from_moss_block' }) + e.remove({ id: 'minecraft:mossy_stone_bricks_from_vine' }) + e.remove({ id: 'gtceu:assembler/mossy_stone_bricks_from_moss_block' }) + e.remove({ id: 'gtceu:assembler/mossy_stone_bricks_from_vine' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:mossy_stone_brick_stairs' }) + e.remove({ id: 'minecraft:mossy_stone_brick_stairs_from_mossy_stone_brick_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/mossy_stone_brick_slab_saw' }) + e.remove({ id: 'minecraft:mossy_stone_brick_slab_from_mossy_stone_brick_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:mossy_stone_brick_wall' }) + e.remove({ id: 'minecraft:mossy_stone_brick_wall_from_mossy_stone_brick_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Гранит + + //#region Блок + e.remove({ id: 'minecraft:granite' }) + e.remove({ id: 'create:granite_from_stone_types_granite_stonecutting' }) + e.remove({ id: 'gtceu:rock_breaker/granite' }) + e.remove({ id: 'create:compacting/granite_from_flint' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:granite_stairs' }) + e.remove({ id: 'minecraft:granite_stairs_from_granite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/granite_slab_saw' }) + e.remove({ id: 'minecraft:granite_slab_from_granite_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:granite_wall' }) + e.remove({ id: 'minecraft:granite_wall_from_granite_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Гранит + + //#region Блок + e.remove({ id: 'minecraft:polished_granite_from_granite_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_granite_stairs' }) + e.remove({ id: 'minecraft:polished_granite_stairs_from_granite_stonecutting' }) + e.remove({ id: 'minecraft:polished_granite_stairs_from_polished_granite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_granite_slab_saw' }) + e.remove({ id: 'minecraft:polished_granite_slab_from_granite_stonecutting' }) + e.remove({ id: 'minecraft:polished_granite_slab_from_polished_granite_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Диорит + + //#region Блок + e.remove({ id: 'minecraft:diorite' }) + e.remove({ id: 'create:diorite_from_stone_types_diorite_stonecutting' }) + e.remove({ id: 'gtceu:rock_breaker/diorite' }) + e.remove({ id: 'create:compacting/diorite_from_flint' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:diorite_stairs' }) + e.remove({ id: 'minecraft:diorite_stairs_from_diorite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/diorite_slab_saw' }) + e.remove({ id: 'minecraft:diorite_slab_from_diorite_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:diorite_wall' }) + e.remove({ id: 'minecraft:diorite_wall_from_diorite_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Диорит + + //#region Блок + e.remove({ id: 'minecraft:polished_diorite_from_diorite_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_diorite_stairs' }) + e.remove({ id: 'minecraft:polished_diorite_stairs_from_diorite_stonecutting' }) + e.remove({ id: 'minecraft:polished_diorite_stairs_from_polished_diorite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_diorite_slab_saw' }) + e.remove({ id: 'minecraft:polished_diorite_slab_from_diorite_stonecutting' }) + e.remove({ id: 'minecraft:polished_diorite_slab_from_polished_diorite_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Андезит + + //#region Блок + e.remove({ id: 'minecraft:andesite' }) + e.remove({ id: 'create:andesite_from_stone_types_andesite_stonecutting' }) + e.remove({ id: 'gtceu:rock_breaker/andesite' }) + e.remove({ id: 'create:compacting/andesite_from_flint' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:andesite_stairs' }) + e.remove({ id: 'minecraft:andesite_stairs_from_andesite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/andesite_slab_saw' }) + e.remove({ id: 'minecraft:andesite_slab_from_andesite_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:andesite_wall' }) + e.remove({ id: 'minecraft:andesite_wall_from_andesite_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Андезит + + //#region Блок + e.remove({ id: 'minecraft:polished_andesite_from_andesite_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_andesite_stairs' }) + e.remove({ id: 'minecraft:polished_andesite_stairs_from_andesite_stonecutting' }) + e.remove({ id: 'minecraft:polished_andesite_stairs_from_polished_andesite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_andesite_slab_saw' }) + e.remove({ id: 'minecraft:polished_andesite_slab_from_andesite_stonecutting' }) + e.remove({ id: 'minecraft:polished_andesite_slab_from_polished_andesite_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Сланец + + //#region Блок + e.remove({ id: 'minecraft:deepslate' }) + e.remove({ id: 'create:deepslate_from_stone_types_deepslate_stonecutting' }) + e.remove({ id: 'gtceu:rock_breaker/deepslate' }) + //#endregion + + //#endregion + + //#region Булыжниковый Сланец + + //#region Блок + e.remove({ id: 'gtceu:shaped/cobbled_deepslate_hammer' }) + e.remove({ id: 'gtceu:forge_hammer/deepslate_to_cobbled_deepslate' }) + + e.remove({ id: 'create:crushing/deepslate_redstone_ore' }) + e.remove({ id: 'create:crushing/deepslate_copper_ore' }) + e.remove({ id: 'create:crushing/deepslate_zinc_ore' }) + e.remove({ id: 'create:crushing/deepslate_emerald_ore' }) + e.remove({ id: 'create:crushing/deepslate_gold_ore' }) + e.remove({ id: 'create:crushing/deepslate_coal_ore' }) + e.remove({ id: 'create:crushing/deepslate_diamond_ore' }) + e.remove({ id: 'create:crushing/deepslate_lapis_ore' }) + e.remove({ id: 'create:crushing/deepslate_iron_ore' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:cobbled_deepslate_stairs' }) + e.remove({ id: 'minecraft:cobbled_deepslate_stairs_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cobbled_deepslate_slab_saw' }) + e.remove({ id: 'minecraft:cobbled_deepslate_slab_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:cobbled_deepslate_wall' }) + e.remove({ id: 'minecraft:cobbled_deepslate_wall_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#endregion + + //#region Резной Сланец + + //#region Блок + e.remove({ id: 'minecraft:chiseled_deepslate' }) + e.remove({ id: 'minecraft:chiseled_deepslate_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Сланец + + //#region Блок + e.remove({ id: 'minecraft:polished_deepslate' }) + e.remove({ id: 'minecraft:polished_deepslate_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_deepslate_stairs' }) + e.remove({ id: 'minecraft:polished_deepslate_stairs_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:polished_deepslate_stairs_from_polished_deepslate_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_deepslate_slab_saw' }) + e.remove({ id: 'minecraft:polished_deepslate_slab_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:polished_deepslate_slab_from_polished_deepslate_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:polished_deepslate_wall' }) + e.remove({ id: 'minecraft:polished_deepslate_wall_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:polished_deepslate_wall_from_polished_deepslate_stonecutting' }) + //#endregion + + //#endregion + + //#region Кирпичный Сланец + + //#region Блок + e.remove({ id: 'minecraft:deepslate_bricks' }) + e.remove({ id: 'gtceu:shaped/deepslate_brick_slab_saw' }) + e.remove({ id: 'minecraft:deepslate_bricks_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_bricks_from_polished_deepslate_stonecutting' }) + //#endregion + + //#region Потрескавшийся Блок + e.remove({ id: 'minecraft:cracked_deepslate_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:deepslate_brick_stairs' }) + e.remove({ id: 'minecraft:deepslate_brick_stairs_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_stairs_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_stairs_from_deepslate_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'minecraft:deepslate_brick_slab_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_slab_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_slab_from_deepslate_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:deepslate_brick_wall' }) + e.remove({ id: 'minecraft:deepslate_brick_wall_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_wall_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_wall_from_deepslate_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Плитковый Сланец + + //#region Блок + e.remove({ id: 'minecraft:deepslate_tiles' }) + e.remove({ id: 'minecraft:deepslate_tiles_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tiles_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tiles_from_deepslate_bricks_stonecutting' }) + //#endregion + + //#region Треснутый Блок + e.remove({ id: 'minecraft:cracked_deepslate_tiles' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:deepslate_tile_stairs' }) + e.remove({ id: 'minecraft:deepslate_tile_stairs_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_stairs_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_stairs_from_deepslate_bricks_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_stairs_from_deepslate_tiles_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/deepslate_tile_slab_saw' }) + e.remove({ id: 'minecraft:deepslate_tile_slab_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_slab_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_slab_from_deepslate_bricks_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_slab_from_deepslate_tiles_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:deepslate_tile_wall' }) + e.remove({ id: 'minecraft:deepslate_tile_wall_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_wall_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_wall_from_deepslate_bricks_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_wall_from_deepslate_tiles_stonecutting' }) + //#endregion + + //#endregion + + //#region Кирпич + + //#region Блок + e.remove({ id: 'gtceu:shaped/brick_from_water' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:brick_stairs' }) + e.remove({ id: 'minecraft:brick_stairs_from_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/brick_slab_saw' }) + e.remove({ id: 'minecraft:brick_slab_from_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:brick_wall' }) + e.remove({ id: 'minecraft:brick_wall_from_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырая Грязь + + //#region Блок + e.remove({ id: 'minecraft:packed_mud' }) + //#endregion + + //#endregion + + //#region Кирпичная Грязь + + //#region Блок + e.remove({ id: 'minecraft:mud_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:mud_brick_stairs' }) + e.remove({ id: 'minecraft:mud_brick_stairs_from_mud_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/mud_brick_slab_saw' }) + e.remove({ id: 'minecraft:mud_brick_slab_from_mud_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:mud_brick_wall' }) + e.remove({ id: 'minecraft:mud_brick_wall_from_mud_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Песчанник + + //#region Блок + e.remove({ id: 'gtceu:compressor/sandstone' }) + //#endregion + + //#region Резной Блок + e.remove({ id: 'minecraft:chiseled_sandstone_from_sandstone_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:sandstone_stairs' }) + e.remove({ id: 'minecraft:sandstone_stairs_from_sandstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/sandstone_slab_saw' }) + e.remove({ id: 'minecraft:sandstone_slab_from_sandstone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:sandstone_wall' }) + e.remove({ id: 'minecraft:sandstone_wall_from_sandstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#endregion + + //#region Гладкий Песчанник + + //#region Блок + // Нет рецептов, че за херь... + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:smooth_sandstone_stairs' }) + e.remove({ id: 'minecraft:smooth_sandstone_stairs_from_smooth_sandstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/smooth_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:smooth_sandstone_slab_from_smooth_sandstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Обрезанный Песчанник + + //#region Блок + e.remove({ id: 'minecraft:cut_sandstone' }) + e.remove({ id: 'minecraft:cut_sandstone_from_sandstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cut_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:cut_sandstone_slab_from_sandstone_stonecutting' }) + e.remove({ id: 'minecraft:cut_sandstone_slab_from_cut_sandstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Красный Песчанник + + //#region Блок + e.remove({ id: 'gtceu:compressor/red_sandstone' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:red_sandstone_stairs' }) + e.remove({ id: 'minecraft:red_sandstone_stairs_from_red_sandstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/red_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:red_sandstone_slab_from_red_sandstone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:red_sandstone_wall' }) + e.remove({ id: 'minecraft:red_sandstone_wall_from_red_sandstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Красный Песчанник + + //#region Блок + // Нет рецептов, че за херь... + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#region Резной Блок + e.remove({ id: 'minecraft:chiseled_red_sandstone_from_red_sandstone_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:smooth_red_sandstone_stairs' }) + e.remove({ id: 'minecraft:smooth_red_sandstone_stairs_from_smooth_red_sandstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/red_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:red_sandstone_slab_from_red_sandstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#endregion + + //#region Обрезанный Красный Песчанник + + //#region Блок + e.remove({ id: 'minecraft:cut_red_sandstone' }) + e.remove({ id: 'minecraft:cut_red_sandstone_from_red_sandstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cut_red_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:cut_red_sandstone_slab_from_red_sandstone_stonecutting' }) + e.remove({ id: 'minecraft:cut_red_sandstone_slab_from_cut_red_sandstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Морской Фонарь + e.remove({ id: 'gtceu:assembler/sea_lantern' }) + //#endregion + + //#region Сырой Призмарин + + //#region Блок + e.remove({ id: 'gtceu:packer/prismarine' }) + + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:prismarine_stairs' }) + e.remove({ id: 'minecraft:prismarine_stairs_from_prismarine_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/prismarine_slab_saw' }) + e.remove({ id: 'minecraft:prismarine_slab_from_prismarine_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:prismarine_wall' }) + e.remove({ id: 'minecraft:prismarine_wall_from_prismarine_stonecutting' }) + //#endregion + + //#endregion + + //#region Кирпичный Призмарин + + //#region Блок + e.remove({ id: 'gtceu:packer/prismarine_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:prismarine_brick_stairs' }) + e.remove({ id: 'minecraft:prismarine_brick_stairs_from_prismarine_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/prismarine_brick_slab_saw' }) + e.remove({ id: 'minecraft:prismarine_brick_slab_from_prismarine_stonecutting' }) + //#endregion + + //#endregion + + //#region Темный Призмарин + + //#region Блок + e.remove({ id: 'gtceu:chemical_bath/dark_prismarine' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:dark_prismarine_stairs' }) + e.remove({ id: 'minecraft:dark_prismarine_stairs_from_dark_prismarine_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/dark_prismarine_slab_saw' }) + e.remove({ id: 'minecraft:dark_prismarine_slab_from_dark_prismarine_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Незеррак + e.remove({ id: 'create:crushing/nether_gold_ore' }) + e.remove({ id: 'create:crushing/nether_quartz_ore' }) + //#endregion + + //#region Кирпичи Неззерак + + //#region Блок + // Нечего удалять, уипии + // e.remove({ id: '' }) + //#endregion + + //#region Треснутый Блок + e.remove({ id: 'minecraft:cracked_nether_bricks' }) + //#endregion + + //#region Резной Блок + e.remove({ id: 'minecraft:chiseled_nether_bricks' }) + e.remove({ id: 'minecraft:chiseled_nether_bricks_from_nether_bricks_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:nether_brick_stairs' }) + e.remove({ id: 'minecraft:nether_brick_stairs_from_nether_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/nether_brick_slab_saw' }) + e.remove({ id: 'minecraft:nether_brick_slab_from_nether_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:nether_brick_wall' }) + e.remove({ id: 'minecraft:nether_brick_wall_from_nether_bricks_stonecutting' }) + //#endregion + + //#region Забор + e.remove({ id: 'minecraft:nether_brick_fence' }) + e.remove({ id: 'gtceu:assembler/nether_brick_fence' }) + //#endregion + + //#endregion + + //#region Кирпичи Красный Неззерак + + //#region Блок + e.remove({ id: 'gtceu:alloy_smelter/red_nether_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:red_nether_brick_stairs' }) + e.remove({ id: 'minecraft:red_nether_brick_stairs_from_red_nether_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/red_nether_brick_slab_saw' }) + e.remove({ id: 'minecraft:red_nether_brick_slab_from_red_nether_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:red_nether_brick_wall' }) + e.remove({ id: 'minecraft:red_nether_brick_wall_from_red_nether_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Базальт + + //#region Сырой Блок + e.remove({ id: 'gtceu:rock_breaker/basalt' }) + //#endregion + + //#region Гладкий Блок + e.remove({ id: 'minecraft:smooth_basalt' }) + //#endregion + + //#region Полированный Блок + e.remove({ id: 'minecraft:polished_basalt' }) + e.remove({ id: 'minecraft:polished_basalt_from_basalt_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Черный Камень + + //#region Блок + e.remove({ id: 'gtceu:rock_breaker/blackstone' }) + e.remove({ id: 'create:crushing/gilded_blackstone' }) + //#endregion + + //#region Пощолоченный Блок + // Нет рецептов, имба! + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:blackstone_stairs' }) + e.remove({ id: 'minecraft:blackstone_stairs_from_blackstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/blackstone_slab_saw' }) + e.remove({ id: 'minecraft:blackstone_slab_from_blackstone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:blackstone_wall' }) + e.remove({ id: 'minecraft:blackstone_wall_from_blackstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Полированный Черный Камень + + //#region Блок + e.remove({ id: 'minecraft:polished_blackstone' }) + e.remove({ id: 'minecraft:polished_blackstone_from_blackstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#region Резной Блок + e.remove({ id: 'minecraft:chiseled_polished_blackstone' }) + e.remove({ id: 'minecraft:chiseled_polished_blackstone_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:chiseled_polished_blackstone_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_blackstone_stairs' }) + e.remove({ id: 'minecraft:polished_blackstone_stairs_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_stairs_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_blackstone_slab_saw' }) + e.remove({ id: 'minecraft:polished_blackstone_slab_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_slab_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:polished_blackstone_wall' }) + e.remove({ id: 'minecraft:polished_blackstone_wall_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_wall_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Нажимная плита + e.remove({ id: 'minecraft:polished_blackstone_pressure_plate' }) + //#endregion + + //#region Кнопка + e.remove({ id: 'minecraft:polished_blackstone_button' }) + //#endregion + + //#endregion + + //#region Кирпичный Черный Камень + + //#region Блок + e.remove({ id: 'minecraft:polished_blackstone_bricks' }) + e.remove({ id: 'minecraft:polished_blackstone_bricks_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_bricks_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Треснувший Блок + e.remove({ id: 'minecraft:cracked_polished_blackstone_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_blackstone_brick_stairs' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_blackstone_brick_slab_saw' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_polished_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_polished_blackstone_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:polished_blackstone_brick_wall' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_polished_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_polished_blackstone_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Эндерняк + + //#region Блок + // Нет рецептов, аааа... + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#endregion + + //#region Кирпичный Эндерняк + + //#region Блок + e.remove({ id: 'minecraft:end_stone_bricks_from_end_stone_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:end_stone_brick_stairs' }) + e.remove({ id: 'minecraft:end_stone_brick_stairs_from_end_stone_stonecutting' }) + e.remove({ id: 'minecraft:end_stone_brick_stairs_from_end_stone_brick_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/end_stone_brick_slab_saw' }) + e.remove({ id: 'minecraft:end_stone_brick_slab_from_end_stone_stonecutting' }) + e.remove({ id: 'minecraft:end_stone_brick_slab_from_end_stone_brick_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:end_stone_brick_wall' }) + e.remove({ id: 'minecraft:end_stone_brick_wall_from_end_stone_stonecutting' }) + e.remove({ id: 'minecraft:end_stone_brick_wall_from_end_stone_brick_stonecutting' }) + //#endregion + + //#endregion + + //#region Пурпур + + //#region Блок + e.remove({ id: 'gtceu:compressor/purpur_block' }) + //#endregion + + //#region Колонна + e.remove({ id: 'minecraft:purpur_pillar_from_purpur_block_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:purpur_stairs' }) + e.remove({ id: 'minecraft:purpur_stairs_from_purpur_block_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/purpur_slab_saw' }) + e.remove({ id: 'minecraft:purpur_slab_from_purpur_block_stonecutting' }) + //#endregion + + //#endregion + + //#region Металлические прутья + e.remove({ id: 'gtceu:shaped/iron_bars' }) + e.remove({ id: 'gtceu:assembler/iron_nars' }) + //#endregion + + //#region Железная дверь + e.remove({ id: 'gtceu:shaped/iron_door' }) + e.remove({ id: 'gtceu:assembler/iron_door' }) + + e.recipes.gtceu.assembler('tfg:iron_door') + .itemInputs('#tfg:all_iron_plates') + .circuit(8) + .itemOutputs('minecraft:iron_door') + .EUt(GTValues.VA[GTValues.ULV]).duration(400) + + //#endregion + + //#region Железный люк + e.remove({ id: 'gtceu:shaped/iron_trapdoor' }) + e.remove({ id: 'gtceu:assembler/iron_trapdoor' }) + //#endregion + + //#region Железная нажимная плита + e.remove({ id: 'tfc:crafting/vanilla/redstone/heavy_weighted_pressure_plate' }) + e.remove({ id: 'gtceu:shaped/light_weighted_pressure_plate' }) + e.remove({ id: 'gtceu:assembler/heavy_weighted_pressure_plate' }) + + e.shaped('minecraft:heavy_weighted_pressure_plate', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#tfg:all_iron_screws', + B: '#tfc:hammers', + C: '#tfg:all_iron_plates', + D: '#tfg:all_iron_springs', + E: '#forge:tools/screwdrivers' + }).id('tfg:workbench/heavy_weighted_pressure_plate') + + e.recipes.gtceu.assembler('heavy_weighted_pressure_plate') + .itemInputs('#tfg:all_iron_plates', '#tfg:all_iron_springs') + .circuit(0) + .itemOutputs('minecraft:heavy_weighted_pressure_plate') + .EUt(GTValues.VA[GTValues.LV]).duration(200) + + //#endregion + + //#region Цепь + e.remove({ id: 'gtceu:shaped/chain' }) + e.remove({ id: 'gtceu:assembler/chain' }) + //#endregion + + //#region Золотая нажимная плита + e.remove({ id: 'gtceu:shaped/heavy_weighted_pressure_plate' }) + e.remove({ id: 'gtceu:assembler/light_weighted_pressure_plate' }) + + e.shaped('minecraft:light_weighted_pressure_plate', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#tfg:all_iron_screws', + B: '#tfc:hammers', + C: '#forge:plates/gold', + D: '#tfg:all_iron_springs', + E: '#forge:tools/screwdrivers' + }).id('tfg:workbench/light_weighted_pressure_plate') + + e.recipes.gtceu.assembler('tfg:light_weighted_pressure_plate') + .itemInputs('#forge:plates/gold', '#tfg:all_iron_springs') + .circuit(0) + .itemOutputs('4x minecraft:light_weighted_pressure_plate') + .EUt(GTValues.VA[GTValues.LV]).duration(200) + + //#endregion + + //#region Сырой Кварц + + //#region Блок + // Нечего удалять :) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#region Опора + e.remove({ id: 'minecraft:quartz_pillar_from_quartz_block_stonecutting' }) + //#endregion + + //#region Резной + e.remove({ id: 'minecraft:chiseled_quartz_block_from_quartz_block_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:quartz_stairs' }) + e.remove({ id: 'minecraft:quartz_stairs_from_quartz_block_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/quartz_slab_saw' }) + e.remove({ id: 'minecraft:quartz_slab_from_stonecutting' }) + //#endregion + + //#endregion + + //#region Кирпичи Кварц + + //#region Блок + e.remove({ id: 'minecraft:quartz_bricks' }) + e.remove({ id: 'minecraft:quartz_bricks_from_quartz_block_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Кварц + + //#region Блок + e.remove({ id: 'minecraft:smooth_quartz' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:smooth_quartz_stairs' }) + e.remove({ id: 'minecraft:smooth_quartz_stairs_from_smooth_quartz_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/smooth_quartz_slab_saw' }) + e.remove({ id: 'minecraft:smooth_quartz_slab_from_smooth_quartz_stonecutting' }) + //#endregion + + //#endregion + + //#region Медь Блоки + // const COPPER_VARIANTS = { + // "1": { type: "cut", stage: "copper" }, + // "2": { type: "cut", stage: "exposed" }, + // "3": { type: "cut", stage: "weathered" }, + // "4": { type: "cut", stage: "oxidized" } + // } + + // Object.entries(COPPER_VARIANTS).forEach(([key, value]) => { + // //#region Блок + // e.remove({ id: `minecraft:${el}_copper` }) + // e.remove({ id: `minecraft:${el}_copper_from_copper_block_stonecutting` }) + // //#endregion + + // //#region Ступень + // e.remove({ id: `minecraft:${el}_copper_stairs` }) + // e.remove({ id: `minecraft:${el}_copper_stairs_from_copper_block_stonecutting` }) + // e.remove({ id: `minecraft:${el}_copper_stairs_from_${el}_copper_stonecutting` }) + // //#endregion + + // //#region Полублок + // e.remove({ id: `gtceu:shaped/${el}_copper_slab_saw` }) + // e.remove({ id: `minecraft:${el}_copper_slab_from_copper_block_stonecutting` }) + // e.remove({ id: `minecraft:${el}_copper_slab_from_${el}_copper_stonecutting` }) + // //#endregion + + // // Waxed Варианты + + // //#region Блок + // // e.remove({ id: `minecraft:waxed_${el}_copper` }) + // // e.remove({ id: `minecraft:waxed_${el}_copper_from_copper_block_stonecutting` }) + // //#endregion + + // //#region Ступень + // // e.remove({ id: `minecraft:waxed_${el}_copper_stairs` }) + // // e.remove({ id: `minecraft:waxed_${el}_copper_stairs_from_copper_block_stonecutting` }) + // // e.remove({ id: `minecraft:waxed_${el}_copper_stairs_from_waxed_${el}_copper_stonecutting` }) + // //#endregion + + // //#region Полублок + // // e.remove({ id: `gtceu:shaped/waxed_${el}_copper_slab_saw` }) + // // e.remove({ id: `minecraft:waxed_${el}_copper_slab_from_copper_block_stonecutting` }) + // // e.remove({ id: `minecraft:waxed_${el}_copper_slab_from_waxed_${el}_copper_stonecutting` }) + // //#endregion + // }) //#endregion } const registerMinecraftRecipes1 = (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 - - //#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' }) - 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 Выход: Уголь @@ -3525,53 +4065,9 @@ const registerMinecraftRecipes1 = (event) => { //#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 diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js index d1c44558e..b52134c6f 100644 --- a/kubejs/startup_scripts/gregtech/material_info.js +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -28,9 +28,9 @@ const registerGregTechMaterialInfo = (event) => { //#endregion //#region ТФК дерево - global.WOOD_BLOCK_TYPES.forEach(wood => { - event.add(wood.tag, new ItemMaterialInfo(wood.material)); - }) + // global.WOOD_BLOCK_TYPES.forEach(wood => { + // event.add(wood.tag, new ItemMaterialInfo(wood.material)); + // }) //#endregion From ab583f9daf47276bdd15bc201199759441bf218d Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 25 Sep 2024 11:41:24 +0700 Subject: [PATCH 176/266] Update recipes.js --- kubejs/server_scripts/gregtech/recipes.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 762bb6c15..32ba717c8 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -817,6 +817,26 @@ const registerGregTechRecipes = (event) => { } const registerGregTechRecipes1 = (event) => { + + + event.recipes.gtceu.macerator('dirt_from_bio_chaff') + .itemInputs('gtceu:bio_chaff') + .itemOutputs('tfc:dirt/loam') + .duration(300) + .EUt(4) + + // 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)*/ + //#region Выход: Удобрение // В обычном миксере From bdcc8842a45fb309b9726ab652c1f550c69e426c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 25 Sep 2024 11:41:44 +0700 Subject: [PATCH 177/266] =?UTF-8?q?80%=20=D0=B2=D0=B0=D0=BD=D0=B8=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D0=B5=20=D1=80=D0=B5=D1=86=D0=B5=D0=BF=D1=82?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kubejs/server_scripts/minecraft/recipes.js | 2926 +++++++++----------- 1 file changed, 1296 insertions(+), 1630 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 5651b5a7a..e23606b4c 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -2645,754 +2645,1010 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Медь Блоки - // const COPPER_VARIANTS = { - // "1": { type: "cut", stage: "copper" }, - // "2": { type: "cut", stage: "exposed" }, - // "3": { type: "cut", stage: "weathered" }, - // "4": { type: "cut", stage: "oxidized" } - // } + + //#region Ржавчина 0 - // Object.entries(COPPER_VARIANTS).forEach(([key, value]) => { - // //#region Блок - // e.remove({ id: `minecraft:${el}_copper` }) - // e.remove({ id: `minecraft:${el}_copper_from_copper_block_stonecutting` }) - // //#endregion + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion - // //#region Ступень - // e.remove({ id: `minecraft:${el}_copper_stairs` }) - // e.remove({ id: `minecraft:${el}_copper_stairs_from_copper_block_stonecutting` }) - // e.remove({ id: `minecraft:${el}_copper_stairs_from_${el}_copper_stonecutting` }) - // //#endregion + //#region Блок + e.remove({ id: 'minecraft:cut_copper' }) + e.remove({ id: 'minecraft:cut_copper_from_copper_block_stonecutting' }) + //#endregion - // //#region Полублок - // e.remove({ id: `gtceu:shaped/${el}_copper_slab_saw` }) - // e.remove({ id: `minecraft:${el}_copper_slab_from_copper_block_stonecutting` }) - // e.remove({ id: `minecraft:${el}_copper_slab_from_${el}_copper_stonecutting` }) - // //#endregion + //#region Ступень + e.remove({ id: 'minecraft:cut_copper_stairs' }) + e.remove({ id: 'minecraft:cut_copper_stairs_from_copper_block_stonecutting' }) + e.remove({ id: 'minecraft:cut_copper_stairs_from_cut_copper_stonecutting' }) + //#endregion - // // Waxed Варианты + //#region Полублок + e.remove({ id: 'gtceu:shaped/cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:cut_copper_slab_from_copper_block_stonecutting' }) + e.remove({ id: 'minecraft:cut_copper_slab_from_cut_copper_stonecutting' }) + //#endregion - // //#region Блок - // // e.remove({ id: `minecraft:waxed_${el}_copper` }) - // // e.remove({ id: `minecraft:waxed_${el}_copper_from_copper_block_stonecutting` }) - // //#endregion + //#endregion - // //#region Ступень - // // e.remove({ id: `minecraft:waxed_${el}_copper_stairs` }) - // // e.remove({ id: `minecraft:waxed_${el}_copper_stairs_from_copper_block_stonecutting` }) - // // e.remove({ id: `minecraft:waxed_${el}_copper_stairs_from_waxed_${el}_copper_stonecutting` }) - // //#endregion + //#region Ржавчина 1 - // //#region Полублок - // // e.remove({ id: `gtceu:shaped/waxed_${el}_copper_slab_saw` }) - // // e.remove({ id: `minecraft:waxed_${el}_copper_slab_from_copper_block_stonecutting` }) - // // e.remove({ id: `minecraft:waxed_${el}_copper_slab_from_waxed_${el}_copper_stonecutting` }) - // //#endregion - // }) + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:exposed_cut_copper' }) + e.remove({ id: 'minecraft:exposed_cut_copper_from_exposed_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:exposed_cut_copper_stairs' }) + e.remove({ id: 'minecraft:exposed_cut_copper_stairs_from_exposed_copper_stonecutting' }) + e.remove({ id: 'minecraft:exposed_cut_copper_stairs_from_exposed_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/exposed_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:exposed_cut_copper_slab_from_exposed_copper_stonecutting' }) + e.remove({ id: 'minecraft:exposed_cut_copper_slab_from_exposed_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 2 + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:weathered_cut_copper' }) + e.remove({ id: 'minecraft:weathered_cut_copper_from_weathered_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:weathered_cut_copper_stairs' }) + e.remove({ id: 'minecraft:weathered_cut_copper_stairs_from_weathered_copper_stonecutting' }) + e.remove({ id: 'minecraft:weathered_cut_copper_stairs_from_weathered_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/weathered_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:weathered_cut_copper_slab_from_weathered_copper_stonecutting' }) + e.remove({ id: 'minecraft:weathered_cut_copper_slab_from_weathered_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 3 + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:oxidized_cut_copper' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_from_oxidized_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:oxidized_cut_copper_stairs' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_stairs_from_oxidized_copper_stonecutting' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_stairs_from_oxidized_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/oxidized_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_slab_from_oxidized_copper_stonecutting' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_slab_from_oxidized_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 0 (Медовые) + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:waxed_cut_copper' }) + e.remove({ id: 'minecraft:waxed_cut_copper_from_waxed_copper_block_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:waxed_cut_copper_stairs' }) + e.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_waxed_copper_block_stonecutting' }) + e.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_waxed_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/waxed_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:waxed_cut_copper_slab_from_waxed_copper_block_stonecutting' }) + e.remove({ id: 'minecraft:waxed_cut_copper_slab_from_waxed_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 1 (Медовые) + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:waxed_exposed_cut_copper' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_from_waxed_exposed_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_waxed_exposed_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_waxed_exposed_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/waxed_exposed_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_waxed_exposed_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_waxed_exposed_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 2 (Медовые) + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:waxed_weathered_cut_copperr' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_from_waxed_weathered_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_waxed_weathered_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_waxed_weathered_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/waxed_weathered_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_waxed_weathered_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_waxed_weathered_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 3 (Медовые) + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_from_waxed_oxidized_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/waxed_oxidized_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_waxed_oxidized_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_waxed_oxidized_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#endregion + + //#region Шерсть + + //#region Белая + e.remove({ id: 'gtceu:assembler/wool_from_string' }) + + e.recipes.gtceu.assembler('tfg:wool_from_string') + .itemInputs('4x #forge:string') + .circuit(4) + .itemOutputs('minecraft:white_wool') + .EUt(4).duration(100) + + //#endregion + + //#endregion + + //#region Ковры + global.MINECRAFT_DYE_NAMES.forEach(dye => { + + e.shapeless(`2x minecraft:${dye}_carpet`, [ + '#tfc:saws', + `minecraft:${dye}_wool` + ]).id(`tfg:workbench/${dye}_carpet`) + + }) + //#endregion + + //#region Стекло + + //#region Бесцветное + e.remove({ id: 'create:smelting/glass_from_tiled_glass' }) + e.remove({ id: 'create:smelting/glass_from_framed_glass' }) + e.remove({ id: 'create:smelting/glass_from_horizontal_framed_glass' }) + e.remove({ id: 'create:smelting/glass_from_vertical_framed_glass' }) + + e.remove({ id: 'gtceu:arc_furnace/glass_from_sand' }) + e.recipes.gtceu.arc_furnace('tfg:glass_from_sand') + .itemInputs('#forge:sand') + .itemOutputs('2x minecraft:glass') + .EUt(30).duration(20) + + //#endregion + + //#endregion + + //#region Шалкеры + // TODO: Вернуть рецепты, когда добавим, что-то магическое, из чего можно будет сделать панцири + + e.remove({ id: 'minecraft:shulker_box' }) + e.remove({ id: 'gtceu:assembler/purple_shulker_box' }) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + e.remove({ id: `tfc:barrel/dye/${dye}_shulker` }) + }) + //#endregion + + //#region Кровати + global.MINECRAFT_DYE_NAMES.forEach(dye => { + e.remove({ id: `gtceu:shaped/${dye}_bed` }) + e.remove({ id: `tfc:crafting/vanilla/color/${dye}_bed` }) + }) + + e.shaped(`minecraft:white_bed`, [ + 'AAA', + 'BBB', + 'CDC' + ], { + A: '#tfc:sewing_light_cloth', + B: '#minecraft:planks', + C: '#minecraft:wooden_fences', + D: '#forge:tools/mallets' + }).id(`tfg:workbench/white_bed`) + + e.recipes.gtceu.extractor('tfg:white_bed') + .itemInputs('3x minecraft:white_wool', '4x #minecraft:planks') + .circuit(1) + .itemOutputs('minecraft:white_bed') + .EUt(16).duration(250) + //#endregion + + //#region Свечи + e.remove({ id: `gtceu:shaped/candle` }) + e.remove({ id: `gtceu:chemical_bath/decolor_candle` }) + e.remove({ id: `gtceu:fluid_solidifier/candle` }) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + e.remove({ id: `minecraft:${dye}_candle` }) + e.remove({ id: `gtceu:chemical_bath/${dye}_candle_to_white` }) + }) + //#endregion + + //#region Баннеры + global.MINECRAFT_DYE_NAMES.forEach(dye => { + e.remove({ id: `gtceu:assembler/${dye}_banner` }) + + e.recipes.gtceu.extractor(`tfg:${dye}_banner`) + .itemInputs('minecraft:white_wool', '#forge:rods/wooden') + .circuit(6) + .itemOutputs(`minecraft:${dye}_banner`) + .EUt(7).duration(20) + }) + + + //#endregion + + //#region Земля + e.remove({ id: 'create:filling/grass_block' }) + //#endregion + + //#region Тропинка + e.remove({ id: 'create:pressing/path' }) + //#endregion + + //#region Дерн + e.remove({ id: 'gtceu:macerator/dirt_from_bio_chaff' }) + e.remove({ id: 'ae2:entropy/cool/grass_block_dirt' }) + //#endregion + + //#region Подсушенный дерн + e.remove({ id: 'gtceu:mixer/coarse_dirt' }) + e.remove({ id: 'gtceu:create_mixer/coarse_dirt' }) + //#endregion + + //#region Грязь + e.remove({ id: 'gtceu:centrifuge/muddy_mangrove_roots' }) + e.remove({ id: 'gtceu:mixer/mud' }) + e.remove({ id: 'gtceu:create_mixer/mud' }) + //#endregion + + //#region Глина + e.remove({ id: 'gtceu:compressor/mud_to_clay' }) + //#endregion + + //#region Гравий + e.remove({ id: 'gtceu:forge_hammer/cobblestone_to_gravel' }) + e.remove({ id: 'create:milling/cobblestone' }) + //#endregion + + //#region Песок + e.remove({ id: 'gtceu:centrifuge/oilsands_ore_separation' }) + e.remove({ id: 'gtceu:centrifuge/dirt_separation' }) + e.remove({ id: 'gtceu:centrifuge/soul_sand_separation' }) + e.remove({ id: 'gtceu:centrifuge/grass_block_separation' }) + e.remove({ id: 'gtceu:centrifuge/red_sand_separation' }) + e.remove({ id: 'gtceu:centrifuge/oilsands_dust_separation' }) + e.remove({ id: 'gtceu:centrifuge/endstone_separation' }) + e.remove({ id: 'gtceu:centrifuge/mycelium_separation' }) + + e.remove({ id: 'gtceu:forge_hammer/sandstone_to_sand' }) + e.remove({ id: 'gtceu:forge_hammer/gravel_to_sand' }) + e.remove({ id: 'gtceu:forge_hammer/chiseled_sandstone_to_sand' }) + e.remove({ id: 'gtceu:forge_hammer/smooth_sandstone_to_sand' }) + + e.remove({ id: 'create:crushing/gravel' }) + e.remove({ id: 'create:milling/sandstone' }) + //#endregion + + //#region Красный песок + e.remove({ id: 'gtceu:forge_hammer/red_sandstone_to_red_sand' }) + e.remove({ id: 'gtceu:forge_hammer/chiseled_red_sandstone_to_red_sand' }) + + e.remove({ id: 'create:milling/granite' }) + e.remove({ id: 'create:milling/terracotta' }) + //#endregion + + //#region Плотный лед + e.remove({ id: 'minecraft:packed_ice' }) + //#endregion + + //#region Синий лед + e.remove({ id: 'minecraft:blue_ice' }) + //#endregion + + //#region Снег + e.remove({ id: 'minecraft:snow' }) + //#endregion + + //#region Ковер из мха + e.remove({ id: 'minecraft:moss_carpet' }) + //#endregion + + //#region Кальцит + e.remove({ id: 'create:calcite_from_stone_types_calcite_stonecutting' }) + //#endregion + + //#region Туф + e.remove({ id: 'create:tuff_from_stone_types_tuff_stonecutting' }) + //#endregion + + //#region Капельник + e.remove({ id: 'minecraft:dripstone_block' }) + e.remove({ id: 'create:dripstone_block_from_stone_types_dripstone_stonecutting' }) + e.remove({ id: 'gtceu:compressor/dripstone_block_from_pointed_dripstone' }) + //#endregion + + //#region Капающий капельник + e.remove({ id: 'gtceu:forge_hammer/pointed_dripstone_from_dripstone_block' }) + //#endregion + + //#region Сырые блоки руды + + //#region Железо + e.remove({ id: 'minecraft:raw_iron_block' }) + //#endregion + + //#region Медь + e.remove({ id: 'minecraft:raw_copper_block' }) + //#endregion + + //#region Золото + e.remove({ id: 'minecraft:raw_gold_block' }) + //#endregion + + //#endregion + + //#region Коричневый гриб + e.remove({ id: 'gtceu:centrifuge/mycelium_separation' }) + e.remove({ id: '' }) + //#endregion + + //#region Адский гриб (Красный) + e.remove({ id: 'jei:/create/haunting/crimson_fungus' }) + //#endregion + + //#region Адский гриб (Синий) + e.remove({ id: 'jei:/create/haunting/warped_fungus' }) + //#endregion + + //#region Сухой кустик + e.remove({ id: 'create:splashing/red_sand' }) + //#endregion + + //#region Семяна пшеницы + e.remove({ id: 'create:milling/large_fern' }) + e.remove({ id: 'create:milling/fern' }) + e.remove({ id: 'create:milling/tall_grass' }) + e.remove({ id: 'create:milling/wheat' }) + e.remove({ id: 'create:milling/grass' }) + //#endregion + + //#region Семяна тыквы + e.remove({ id: 'minecraft:pumpkin_seeds' }) + e.remove({ id: 'gtceu:macerator/macerate_pumpkin' }) + //#endregion + + //#region Семяна арбуза + e.remove({ id: 'gtceu:macerator/macerate_melon_slice' }) + e.remove({ id: 'gtceu:macerator/macerate_melon_block' }) + //#endregion + + //#region Семяна свеклы + e.remove({ id: 'create:milling/beetroot' }) + e.remove({ id: 'create:milling/beetroot' }) + //#endregion + + //#region Святящиеся ягоды + e.remove({ id: 'create:haunting/glow_berries' }) + //#endregion + + //#region Высушенный блок водорослей + e.remove({ id: 'minecraft:dried_kelp_block' }) + //#endregion + + //#region Сухая губка + e.recipes.tfc.heating('minecraft:wet_sponge', 790) + .resultItem('minecraft:sponge') + .id('tfg:heating/sponge') + //#endregion + + //#region Арбуз + e.remove({ id: 'gtceu:packer/melon' }) + //#endregion + + //#region Светящаяся тыква + e.remove({ id: 'gtceu:shaped/lit_pumpkin' }) + e.remove({ id: 'gtceu:canner/jack_o_lantern' }) + + e.shaped('minecraft:jack_o_lantern', [ + 'AC', + 'B ' + ], { + A: 'tfc:pumpkin', + B: 'minecraft:glowstone', + C: '#forge:tools/knives' + }).id('tfg:workbench/jack_o_lantern') + + e.recipes.gtceu.canner('tfg:jack_o_lantern') + .itemInputs('tfc:pumpkin', 'minecraft:glowstone') + .itemOutputs('minecraft:jack_o_lantern') + .EUt(4).duration(100) + //#endregion + + //#region Блок сена + e.remove({ id: 'gtceu:packer/hay_block' }) + + e.recipes.gtceu.packer('tfg:hay_block') + .itemInputs('9x tfc:straw') + .itemOutputs('minecraft:hay_block') + .EUt(2).duration(200) + + //#endregion + + //#region Факел + + //#region В Верстаке + + //#region Из креозота + + // TODO: Починить рецепт + e.remove({ id: 'gtceu:shaped/torch_creosote' }) + + //#endregion + + //#region Из серы + e.remove({ id: 'gtceu:shaped/torch_sulfur' }) + + e.shaped('2x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:sulfur_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_sulfur') + + //#endregion + + //#region Из фосфора + e.remove({ id: 'gtceu:shaped/torch_phosphorus' }) + + e.shaped('6x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:phosphorus_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_phosphorus') + + //#endregion + + //#region Из коксовой пыли + e.remove({ id: 'gtceu:shaped/torch_coke_dust' }) + + e.shaped('8x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:coke_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_coke_dust') + //#endregion + + //#region Из коксового гема + e.remove({ id: 'gtceu:shaped/torch_coke' }) + + e.shaped('8x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:coke_gem', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_coke') + //#endregion + + //#region Из угольной пыли + e.remove({ id: 'gtceu:shaped/torch_coal_dust' }) + + e.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:coal_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_coal_dust') + //#endregion + + //#region Из угольного гема + e.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'minecraft:coal', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_coal') + //#endregion + + //#region Из древесно-угольной пыли + e.remove({ id: 'gtceu:shaped/torch_charcoal_dust' }) + + e.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:charcoal_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_charcoal_dust') + //#endregion + + //#region Из древесно-угольного гема + e.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'minecraft:charcoal', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_charcoal') + //#endregion + + //#region Из сырой резины + e.remove({ id: 'gtceu:shaped/sticky_resin_torch' }) + + e.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 + + //#endregion + + //#region В сборщике + e.remove({ id: 'gtceu:assembler/torch_phosphorus' }) + e.remove({ id: 'gtceu:assembler/torch_sulfur' }) + e.remove({ id: 'gtceu:assembler/torch_coke_dust' }) + e.remove({ id: 'gtceu:assembler/torch_coal_dust' }) + e.remove({ id: 'gtceu:assembler/torch_charcoal_dust' }) + e.remove({ id: 'gtceu:assembler/torch_coal' }) + e.remove({ id: 'gtceu:assembler/torch_coke_gem' }) + //#endregion + + //#region Мертвый факел в обычный + e.smelting('tfc:torch', 'tfc:dead_torch') + .id('tfg:smelting/dead_torch_to_torch') + //#endregion + + //#endregion + + //#region Красный факел + e.remove({ id: 'gtceu:shaped/redstone_torch' }) + + e.shaped('minecraft:redstone_torch', [ + 'A', + 'B ' + ], { + A: 'tfc:dead_torch', + B: 'minecraft:redstone' + }).id('tfg:workbench/redstone_torch') + //#endregion + + //#region Факел душ + e.remove({ id: 'gtceu:shaped/soul_torch' }) + e.remove({ id: 'gtceu:assembler/soul_torch' }) + e.remove({ id: 'create:haunting/soul_torch' }) + + e.shaped('minecraft:soul_torch', [ + 'BA' + ], { + A: 'tfc:torch', + B: '#minecraft:soul_fire_base_blocks' + }).id('tfg:workbench/soul_torch') + + e.recipes.create.haunting('minecraft:soul_torch', 'tfc:torch') + .id('tfg:haunting/soul_torch') + //#endregion + + //#region Фонарь + e.remove({ id: 'gtceu:shaped/lantern' }) + e.remove({ id: 'gtceu:assembler/lantern' }) + //#endregion + + //#region Фонарь душ + e.remove({ id: 'gtceu:shaped/soul_lantern' }) + e.remove({ id: 'gtceu:assembler/soul_lantern' }) + e.remove({ id: 'create:haunting/soul_lantern' }) + + e.recipes.create.haunting('minecraft:soul_lantern', '#tfc:lamps') + .id('tfg:haunting/soul_torch') + //#endregion + + //#region Стержень энда + e.remove({ id: 'minecraft:end_rod' }) + e.remove({ id: 'gtceu:assembler/end_rod' }) + //#endregion + + //#region Верстак + e.remove({ id: 'gtceu:shaped/crafting_table' }) + e.remove({ id: 'tfc:crafting/vanilla/crafting_table' }) + e.remove({ id: 'gtceu:assembler/crafting_table' }) + //#endregion + + //#region Камнерез + e.remove({ id: 'gtceu:shaped/stonecutter' }) + e.remove({ id: 'gtceu:assembler/stonecutter' }) + //#endregion + + //#region Стол картографа + e.remove({ id: 'gtceu:shaped/cartography_table' }) + e.remove({ id: 'gtceu:assembler/cartography_table' }) + //#endregion + + //#region Стол лучника + e.remove({ id: 'gtceu:shaped/fletching_table' }) + e.remove({ id: 'gtceu:assembler/fletching_table' }) + //#endregion + + //#region Стол кузнеца + e.remove({ id: 'tfc:crafting/vanilla/smithing_table' }) + //#endregion + + //#region Точильный камень + e.remove({ id: 'gtceu:shaped/grindstone' }) + e.remove({ id: 'gtceu:assembler/grindstone' }) + + e.shaped('minecraft:grindstone', [ + 'h s', + 'ABA', + 'CfC' + ], { + A: '#tfg:all_iron_bolts', + B: '#tfg:rock_slabs', + C: 'gtceu:long_wood_rod', + h: '#forge:tools/hammers', + s: '#forge:tools/screwdrivers', + f: '#forge:tools/files', + }).id('tfg:workbench/grindstone') + + e.recipes.gtceu.assembler('tfg:grindstone') + .itemInputs('2x #tfg:all_iron_bolts', '#tfg:rock_slabs', '2x gtceu:long_wood_rod') + .itemOutputs('minecraft:grindstone') + .EUt(4).duration(100) + //#endregion + + //#region Вышивальня + e.remove({ id: 'tfc:crafting/vanilla/loom' }) + e.remove({ id: 'gtceu:shaped/loom' }) + e.remove({ id: 'gtceu:assembler/loom' }) + + e.shaped('minecraft:loom', [ + 'AAA', + 'BsB', + 'CDC' + ], { + A: '#forge:string', + B: 'gtceu:wood_plate', + C: 'gtceu:wood_screw', + D: '#minecraft:planks', + s: '#forge:tools/screwdrivers' + }).id('tfg:workbench/loom') + + e.recipes.gtceu.assembler('tfg:loom') + .itemInputs('3x #forge:string', '2x gtceu:wood_plate', '#minecraft:planks') + .itemOutputs('minecraft:loom') + .EUt(6).duration(100) + //#endregion + + //#region Печь + e.remove({ id: 'gtceu:shaped/furnace' }) + e.remove({ id: 'gtceu:assembler/furnace' }) + //#endregion + + //#region Коптильня + e.remove({ id: 'gtceu:shaped/smoker' }) + e.remove({ id: 'gtceu:assembler/smoker' }) + //#endregion + + //#region Доменка + e.remove({ id: 'gtceu:shaped/blast_furnace' }) + e.remove({ id: 'gtceu:assembler/blast_furnace' }) + //#endregion + + //#region Костер душ + e.remove({ id: 'create:haunting/soul_campfire' }) + //#endregion + + //#region Наковальня + e.remove({ id: 'gtceu:shaped/anvil' }) + e.remove({ id: 'gtceu:alloy_smelter/anvil' }) + e.remove({ id: 'gtceu:fluid_solidifier/solidify_anvil' }) + //#endregion + + //#region Компостница + e.remove({ id: 'gtceu:shaped/composter' }) + e.remove({ id: 'gtceu:assembler/composter' }) + //#endregion + + //#region Варочная стойка + e.remove({ id: 'gtceu:shaped/brewing_stand' }) + //#endregion + + //#region Тигель + e.remove({ id: 'tfc:crafting/vanilla/cauldron' }) + e.remove({ id: 'gtceu:shaped/cauldron' }) + e.remove({ id: 'gtceu:assembler/cauldron' }) + + e.shaped('minecraft:cauldron', [ + 'A A', + 'ABA', + 'AAA' + ], { + A: '#tfg:all_iron_plates', + B: '#tfc:hammers' + }).id('tfg:workbench/cauldron') + + e.recipes.gtceu.assembler('tfg:cauldron') + .itemInputs('7x #tfg:all_iron_plates') + .circuit(7) + .itemOutputs('minecraft:cauldron') + .EUt(4).duration(700) + //#endregion + + //#region Золотой колокол + e.remove({ id: 'gtceu:assembler/bell' }) + + e.recipes.gtceu.assembler('tfg:bell') + .itemInputs('#forge:rods/wooden', '2x #forge:rods/stone', '#forge:plates/gold', '2x #tfg:all_iron_bolts') + .circuit(7) + .itemOutputs('minecraft:bell') + .EUt(7).duration(1400) + //#endregion + + //#region Кондуит + e.remove({ id: 'gtceu:assembler/conduit' }) + //#endregion + + //#region Магнитный камень + e.remove({ id: 'minecraft:lodestone' }) + //#endregion + + //#region Лестница + e.remove({ id: 'tfc:crafting/vanilla/ladder' }) + //#endregion + + //#region Леса + e.remove({ id: 'tfc:crafting/vanilla/scaffolding' }) + e.remove({ id: 'gtceu:shaped/scaffolding' }) + e.remove({ id: 'gtceu:assembler/scaffolding' }) + + e.shaped('3x minecraft:scaffolding', [ + 'ABA', + 'ACA', + 'AmA', + ], { + A: 'minecraft:bamboo', + B: '#forge:string', + C: 'gtceu:wood_screw', + m: '#forge:tools/mallets' + }).id('tfg:workbench/scaffolding') + + e.recipes.gtceu.assembler('tfg:scaffolding') + .itemInputs('6x minecraft:bamboo', '#forge:string') + .itemOutputs('4x minecraft:scaffolding') + .EUt(4).duration(100) + //#endregion + + //#region Улей + e.remove({ id: 'gtceu:shaped/beehive' }) + e.remove({ id: 'gtceu:assembler/beehive' }) + //#endregion + + //#region Громоотвод + e.remove({ id: 'tfc:crafting/vanilla/lightning_rod' }) + //#endregion + + + + + + + + + + + + + + //#region 1 + //e.remove({ id: '' }) //#endregion } -const registerMinecraftRecipes1 = (event) => { +const registerMinecraftRecipes1 = (e) => { //#region Выход: Уголь - event.remove({ id: 'minecraft:coal_from_smelting_coal_ore' }) - event.remove({ id: 'minecraft:coal_from_smelting_deepslate_coal_ore' }) + e.remove({ id: 'minecraft:coal_from_smelting_coal_ore' }) + e.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' }) + e.remove({ id: 'minecraft:coal_from_blasting_coal_ore' }) + e.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' }) + e.remove({ id: 'minecraft:copper_ingot_from_smelting_copper_ore' }) + e.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' }) + e.remove({ id: 'minecraft:copper_ingot_from_blasting_copper_ore' }) + e.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' }) + e.remove({ id: 'minecraft:iron_ingot_from_smelting_iron_ore' }) + e.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' }) + e.remove({ id: 'minecraft:iron_ingot_from_blasting_iron_ore' }) + e.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' }) + e.remove({ id: 'minecraft:lapis_lazuli_from_smelting_lapis_ore' }) + e.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' }) + e.remove({ id: 'minecraft:lapis_lazuli_from_blasting_lapis_ore' }) + e.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' }) + e.remove({ id: 'minecraft:gold_ingot_from_smelting_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_smelting_deepslate_gold_ore' }) + e.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' }) + e.remove({ id: 'minecraft:gold_ingot_from_blasting_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_blasting_deepslate_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_blasting_nether_gold_ore' }) //#endregion //#region Выход: Золотой самородок - event.remove({ id: 'minecraft:gold_nugget_from_smelting' }) + e.remove({ id: 'minecraft:gold_nugget_from_smelting' }) - event.remove({ id: 'minecraft:gold_nugget_from_blasting' }) + e.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' }) + e.remove({ id: 'minecraft:redstone_from_smelting_redstone_ore' }) + e.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' }) + e.remove({ id: 'minecraft:redstone_from_blasting_redstone_ore' }) + e.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' }) + e.remove({ id: 'minecraft:emerald_from_smelting_emerald_ore' }) + e.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' }) + e.remove({ id: 'minecraft:emerald_from_blasting_emerald_ore' }) + e.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' }) + e.remove({ id: 'minecraft:diamond_from_smelting_diamond_ore' }) + e.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' }) + e.remove({ id: 'minecraft:diamond_from_blasting_diamond_ore' }) + e.remove({ id: 'minecraft:diamond_from_blasting_deepslate_diamond_ore' }) //#endregion //#region Выход: Кварц - event.remove({ id: 'minecraft:quartz' }) - event.remove({ id: 'minecraft:quartz_from_blasting' }) + e.remove({ id: 'minecraft:quartz' }) + e.remove({ id: 'minecraft:quartz_from_blasting' }) //#endregion //#region Выход: Незеритовый лом - event.remove({ id: 'minecraft:netherite_scrap' }) - event.remove({ id: 'minecraft:netherite_scrap_from_blasting' }) + e.remove({ id: 'minecraft:netherite_scrap' }) + e.remove({ id: 'minecraft:netherite_scrap_from_blasting' }) //#endregion //#region Выход: Незеритовый слиток - event.remove({ id: 'minecraft:netherite_ingot' }) + e.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 Выход: Камнерез - - 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 Добавление + //#region Медные блоки for (let i = 0; i < global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length; i++) { let element = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i]; @@ -3402,7 +3658,7 @@ const registerMinecraftRecipes1 = (event) => { let element2 = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i + 1] - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_block_${element.name}`) + e.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_block_${element.name}`) .itemInputs(element.block) .inputFluids(Fluid.of('minecraft:water', 150)) .circuit(1) @@ -3410,7 +3666,7 @@ const registerMinecraftRecipes1 = (event) => { .duration(1000) .EUt(4) - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_cutted_${element.name}`) + e.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_cutted_${element.name}`) .itemInputs(element.cutted) .inputFluids(Fluid.of('minecraft:water', 150)) .circuit(1) @@ -3418,7 +3674,7 @@ const registerMinecraftRecipes1 = (event) => { .duration(1000) .EUt(4) - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_stairs_${element.name}`) + e.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_stairs_${element.name}`) .itemInputs(element.stairs) .inputFluids(Fluid.of('minecraft:water', 150)) .circuit(1) @@ -3426,7 +3682,7 @@ const registerMinecraftRecipes1 = (event) => { .duration(1000) .EUt(4) - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_slabs_${element.name}`) + e.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_slabs_${element.name}`) .itemInputs(element.slabs) .inputFluids(Fluid.of('minecraft:water', 150)) .circuit(1) @@ -3436,28 +3692,28 @@ const registerMinecraftRecipes1 = (event) => { } 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}`) + e.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}`) + e.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}`) + e.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}`) + e.recipes.gtceu.assembler(`tfg:minecraft/waxing_slabs_${element.name}`) .itemInputs(element2.slabs, 'firmalife:beeswax') .circuit(1) .itemOutputs(element.slabs) @@ -3468,51 +3724,49 @@ const registerMinecraftRecipes1 = (event) => { // Обрезанный блок - event.stonecutting(element.cutted, element.block) + e.stonecutting(element.cutted, element.block) .id(`tfg:stonecutting/cutted_${element.name}`) - generateCutterRecipe(event, element.block, 4, element.cutted, 100, 8, `cutted_${element.name}`) + generateCutterRecipe(e, 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') + // e.recipes.tfc.chisel(element.cutted, element.block, 'smooth') // .id(`tfg:chisel/cutted_${element.name}`) // Ступени - event.stonecutting(element.stairs, element.cutted) + e.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}`) + generateCutterRecipe(e, 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') + // e.recipes.tfc.chisel(element.stair, element.cutted, 'stair') // .id(`tfg:chisel/stair_${element.name}`) // Полублоки - event.stonecutting(element.slabs, element.cutted) + e.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}`) + generateCutterRecipe(e, 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') + // e.recipes.tfc.chisel(element.slab, element.cutted, 'slab') // .id(`tfg:chisel/slab_${element.name}`) } //#endregion - //#endregion - //#region Выход: Кремний - event.shapeless('minecraft:flint', [ + e.shapeless('minecraft:flint', [ '#tfc:rock/gravel', '#forge:tools/mortars' ]).id('gtceu:shapeless/gravel_to_flint') - event.recipes.gtceu.sifter('gravel_sifting') + e.recipes.gtceu.sifter('gravel_sifting') .itemInputs('#tfc:rock/gravel') .itemOutputs('minecraft:flint') .chancedOutput('minecraft:flint', 9000, 0) @@ -3524,274 +3778,209 @@ const registerMinecraftRecipes1 = (event) => { .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`) + e.remove({ id: 'minecraft:muddy_mangrove_roots' }) //#endregion //#region Красители // White - event.remove({id: 'minecraft:white_dye_from_lily_of_the_valley'}) - event.remove({id: 'gtceu:extractor/lily_of_the_valley_dye'}) + e.remove({id: 'minecraft:white_dye_from_lily_of_the_valley'}) + e.remove({id: 'gtceu:extractor/lily_of_the_valley_dye'}) - event.recipes.gtceu.extractor('white_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:red_dye_from_tulip'}) + e.remove({id: 'minecraft:red_dye_from_rose_bush'}) + e.remove({id: 'minecraft:red_dye_from_poppy'}) + e.remove({id: 'minecraft:red_dye_from_beetroot'}) + e.remove({id: 'gtceu:extractor/rose_bush_dye'}) + e.remove({id: 'gtceu:extractor/red_tulip_dye'}) + e.remove({id: 'gtceu:extractor/poppy_dye'}) + e.remove({id: 'gtceu:extractor/beetroot_dye'}) - event.recipes.gtceu.extractor('red_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:lime_dye_from_smelting'}) - event.recipes.gtceu.extractor('lime_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:light_blue_dye_from_blue_orchid'}) + e.remove({id: 'gtceu:extractor/blue_orchid_dye'}) - event.recipes.gtceu.extractor('light_blue_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:green_dye'}) - event.recipes.gtceu.extractor('green_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:magenta_dye_from_lilac'}) + e.remove({id: 'minecraft:magenta_dye_from_allium'}) + e.remove({id: 'gtceu:extractor/lilac_dye'}) + e.remove({id: 'gtceu:extractor/allium_dye'}) - event.recipes.gtceu.extractor('magenta_dye') + e.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') + e.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'}) + e.remove({id: 'tfc:crafting/vanilla/orange_dye_from_sylvite'}) + e.remove({id: 'minecraft:orange_dye_from_torchflower'}) + e.remove({id: 'minecraft:orange_dye_from_orange_tulip'}) + e.remove({id: 'gtceu:extractor/orange_tulip_dye'}) - event.recipes.gtceu.extractor('orange_dye') + e.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') + e.recipes.createMilling('2x minecraft:orange_dye', '1x #tfc:makes_orange_dye') .id('tfg:milling/orange_dye') // Purple - event.recipes.gtceu.extractor('purple_dye') + e.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') + e.recipes.createMilling('2x minecraft:purple_dye', '1x #tfc:makes_purple_dye') .id('tfg:milling/purple_dye') // Brown - event.remove({id: 'minecraft:brown_dye' }) + e.remove({id: 'minecraft:brown_dye' }) - event.recipes.gtceu.extractor('brown_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:light_gray_dye_from_white_tulip'}) + e.remove({id: 'minecraft:light_gray_dye_from_azure_bluet'}) + e.remove({id: 'minecraft:light_gray_dye_from_oxeye_daisy'}) + e.remove({id: 'gtceu:extractor/white_tulip_dye'}) + e.remove({id: 'gtceu:extractor/azure_bluet_dye'}) + e.remove({id: 'gtceu:extractor/oxeye_daisy_dye'}) - event.recipes.gtceu.extractor('light_gray_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:yellow_dye_from_sunflower'}) + e.remove({id: 'minecraft:yellow_dye_from_dandelion'}) + e.remove({id: 'gtceu:extractor/sunflower_dye'}) + e.remove({id: 'gtceu:extractor/dandelion_dye'}) - event.recipes.gtceu.extractor('yellow_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:blue_dye_from_cornflower'}) + e.remove({id: 'gtceu:extractor/cornflower_dye'}) - event.recipes.gtceu.extractor('blue_dye') + e.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') + e.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'}) + e.remove({id: 'minecraft:pink_dye_from_pink_petals'}) + e.remove({id: 'minecraft:pink_dye_from_pink_tulip'}) + e.remove({id: 'minecraft:pink_dye_from_peony'}) + e.remove({id: 'gtceu:extractor/pink_tulip_dye'}) + e.remove({id: 'gtceu:extractor/peony_dye'}) - event.recipes.gtceu.extractor('pink_dye') + e.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') + e.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'}) + e.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'}) + e.remove({id: 'minecraft:black_dye_from_wither_rose'}) + e.remove({id: 'gtceu:extractor/wither_rose_dye'}) //#endregion //#region Выход: Шаблон баннера - event.shapeless('minecraft:flower_banner_pattern', [ + e.shapeless('minecraft:flower_banner_pattern', [ 'minecraft:paper', '#forge:dyes/white' ]).id('minecraft:flower_banner_pattern') @@ -3800,39 +3989,39 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Высушенные водросли - event.remove({ id: 'minecraft:dried_kelp' }) - event.remove({ id: 'minecraft:dried_kelp_from_smelting' }) - event.remove({ id: 'minecraft:dried_kelp_from_smoking' }) + e.remove({ id: 'minecraft:dried_kelp' }) + e.remove({ id: 'minecraft:dried_kelp_from_smelting' }) + e.remove({ id: 'minecraft:dried_kelp_from_smoking' }) //#endregion //#region Древесный уголь - event.remove({ id: 'minecraft:charcoal' }) + e.remove({ id: 'minecraft:charcoal' }) //#endregion //#region Выход: Высушенные водросли блок - event.remove({ id: 'minecraft:dried_kelp_block' }) + e.remove({ id: 'minecraft:dried_kelp_block' }) //#endregion //#region Выход: Бумага - event.remove({ id: 'gtceu:shaped/paper' }) + e.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' }) + e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) + e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) - event.recipes.gtceu.chemical_bath('paper_from_papyrus_distilled') + e.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') + e.recipes.gtceu.chemical_bath('paper_from_papyrus') .itemInputs('tfc:papyrus') .inputFluids(Fluid.of('minecraft:water', 100)) .itemOutputs('minecraft:paper') @@ -3843,11 +4032,11 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Сахар - event.remove({ id: 'gtceu:shaped/sugar' }) - event.remove({ id: 'minecraft:sugar_from_honey_bottle' }) - event.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) + e.remove({ id: 'gtceu:shaped/sugar' }) + e.remove({ id: 'minecraft:sugar_from_honey_bottle' }) + e.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) - event.recipes.gtceu.centrifuge('sugar') + e.recipes.gtceu.centrifuge('sugar') .itemInputs('tfc:food/sugarcane') .inputFluids(Fluid.of('minecraft:water', 600)) .itemOutputs('minecraft:sugar') @@ -3858,234 +4047,134 @@ const registerMinecraftRecipes1 = (event) => { //#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' }) + e.remove({ id: 'minecraft:fermented_spider_eye' }) + e.remove({ id: 'gtceu:mixer/fermented_spider_eye_red' }) + e.remove({ id: 'gtceu:mixer/fermented_spider_eye_brown' }) + e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_red' }) + e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_brown' }) //#endregion //#region Выход: Калиброванный сенсор Скалка - event.remove({ id: 'minecraft:calibrated_sculk_sensor' }) + e.remove({ id: 'minecraft:calibrated_sculk_sensor' }) //#endregion //#region Выход: Вагонетка с сундуком - event.remove({ id: 'gtceu:assembler/chest_minecart' }) + e.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' }) + e.remove({ id: 'minecraft:bread' }) //#endregion //#region Выход: Жаренная свинина - event.remove({ id: 'minecraft:cooked_porkchop' }) - event.remove({ id: 'minecraft:cooked_porkchop_from_smoking' }) + e.remove({ id: 'minecraft:cooked_porkchop' }) + e.remove({ id: 'minecraft:cooked_porkchop_from_smoking' }) //#endregion //#region Выход: Жаренная курятина - event.remove({ id: 'minecraft:cooked_chicken' }) - event.remove({ id: 'minecraft:cooked_chicken_from_smoking' }) + e.remove({ id: 'minecraft:cooked_chicken' }) + e.remove({ id: 'minecraft:cooked_chicken_from_smoking' }) //#endregion //#region Выход: Жаренная козлятина - event.remove({ id: 'minecraft:cooked_mutton' }) - event.remove({ id: 'minecraft:cooked_mutton_from_smoking' }) + e.remove({ id: 'minecraft:cooked_mutton' }) + e.remove({ id: 'minecraft:cooked_mutton_from_smoking' }) //#endregion //#region Выход: Жаренная зайчатина - event.remove({ id: 'minecraft:cooked_rabbit' }) - event.remove({ id: 'minecraft:cooked_rabbit_from_smoking' }) + e.remove({ id: 'minecraft:cooked_rabbit' }) + e.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) + e.remove({ id: 'minecraft:cooked_beef' }) + e.remove({ id: 'minecraft:cooked_beef_from_smoking' }) //#endregion //#region Выход: Торт - event.remove({ id: 'minecraft:cake' }) + e.remove({ id: 'minecraft:cake' }) //#endregion //#region Выход: Печеньки (Нееет) - event.remove({ id: 'minecraft:cookie' }) + e.remove({ id: 'minecraft:cookie' }) //#endregion //#region Выход: Сундук - event.remove({ id: 'gtceu:assembler/chest' }) + e.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) + e.remove({ id: 'minecraft:warped_fungus_on_a_stick' }) + e.remove({ id: 'minecraft:carrot_on_a_stick' }) //#endregion //#region Выход: Спасательный компас - event.remove({ id: 'minecraft:recovery_compass' }) + e.remove({ id: 'minecraft:recovery_compass' }) //#endregion - //#region Выход: Компасс + //#region Выход: Компас - event.remove({ id: 'tfc:crafting/vanilla/compass' }) - event.remove({ id: 'gtceu:assembler/compass' }) + e.remove({ id: 'tfc:crafting/vanilla/compass' }) + e.remove({ id: 'gtceu:assembler/compass' }) //#endregion //#region Выход: Незеритовый слиток - event.remove({ id: 'minecraft:netherite_ingot_from_netherite_block' }) + e.remove({ id: 'minecraft:netherite_ingot_from_netherite_block' }) //#endregion //#region Выход: Незеритовый блок - event.remove({ id: 'minecraft:netherite_block' }) + e.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 Выход: Жаренный Cod - event.remove({ id: 'minecraft:cooked_cod' }) - event.remove({ id: 'minecraft:cooked_cod_from_smoking' }) + e.remove({ id: 'minecraft:cooked_cod' }) + e.remove({ id: 'minecraft:cooked_cod_from_smoking' }) //#endregion //#region Выход: Жаренный Salmon - event.remove({ id: 'minecraft:cooked_salmon' }) - event.remove({ id: 'minecraft:cooked_salmon_from_smoking' }) + e.remove({ id: 'minecraft:cooked_salmon' }) + e.remove({ id: 'minecraft:cooked_salmon_from_smoking' }) //#endregion //#region Выход: Светящийся арбуз - event.shaped('minecraft:glistering_melon_slice', [ + e.shaped('minecraft:glistering_melon_slice', [ 'AAA', 'ABA', 'AAA' @@ -4094,13 +4183,13 @@ const registerMinecraftRecipes1 = (event) => { B: 'tfc:food/melon_slice' }).id('minecraft:glistering_melon_slice') - event.recipes.gtceu.chemical_reactor('glistening_melon_slice') + e.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') + e.recipes.gtceu.large_chemical_reactor('glistening_melon_slice') .itemInputs('tfc:food/melon_slice', '6x #forge:nuggets/gold') .itemOutputs('minecraft:glistering_melon_slice') .duration(50) @@ -4108,127 +4197,39 @@ const registerMinecraftRecipes1 = (event) => { //#endregion - //#region Выход: Улей - - event.remove({ id: 'minecraft:beehive' }) - - //#endregion - //#region Выход: Блок сот - event.remove({ id: 'minecraft:honeycomb_block' }) + e.remove({ id: 'minecraft:honeycomb_block' }) //#endregion //#region Выход: Пузырек с медом - event.remove({ id: 'minecraft:honey_bottle' }) + e.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') + e.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' }) + e.remove({ id: 'minecraft:popped_chorus_fruit' }) //#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.chemical_bath('tfg:minecraft/tinted_glass') - .itemInputs('minecraft:glass') - .inputFluids(Fluid.of('gtceu:black_dye', 144)) - .itemOutputs('minecraft:tinted_glass') - .duration(260) - .EUt(16) + e.remove({ id: 'minecraft:shears' }) //#endregion //#region Выход: Пустая карта - event.recipes.gtceu.assembler('map') + e.recipes.gtceu.assembler('map') .itemInputs('8x minecraft:paper', 'firmaciv:firmaciv_compass') .itemOutputs('minecraft:map') .duration(100) @@ -4238,47 +4239,40 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Жаренный картофель - event.remove({ id: 'minecraft:baked_potato' }) - event.remove({ id: 'minecraft:baked_potato_from_smoking' }) + e.remove({ id: 'minecraft:baked_potato' }) + e.remove({ id: 'minecraft:baked_potato_from_smoking' }) //#endregion //#region Выход: Декор ваза - event.remove({ id: 'minecraft:decorated_pot_simple' }) + e.remove({ id: 'minecraft:decorated_pot_simple' }) //#endregion //#region Выход: Резные книжные полки - event.remove({ id: 'minecraft:chiseled_bookshelf' }) + e.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' }) + e.remove({ id: 'gtceu:assembler/bookshelf' }) //#endregion //#region Выход: Кисточка - event.remove({ id: 'minecraft:brush' }) + e.remove({ id: 'minecraft:brush' }) //#endregion //#region Выход: Книга - event.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) + e.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) - event.shapeless('minecraft:book', [ + e.shapeless('minecraft:book', [ 'minecraft:paper', 'minecraft:paper', 'minecraft:paper', 'minecraft:leather' ]).id('minecraft:book') @@ -4286,33 +4280,33 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Трибуна - event.remove({ id: 'tfc:crafting/vanilla/lectern' }) + e.remove({ id: 'tfc:crafting/vanilla/lectern' }) //#endregion //#region Выход: Золотое яблоко - event.remove({ id: 'minecraft:golden_apple' }) + e.remove({ id: 'minecraft:golden_apple' }) - event.recipes.gtceu.chemical_reactor('golden_apple') + e.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') + e.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') + e.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') + e.recipes.gtceu.large_chemical_reactor('golden_apple_1') .itemInputs('tfc:food/red_apple', '8x #forge:ingots/gold') .itemOutputs('minecraft:golden_apple') .duration(50) @@ -4322,25 +4316,25 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Зачарованное золотое яблоко - event.recipes.gtceu.chemical_reactor('notch_apple') + e.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') + e.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') + e.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') + e.recipes.gtceu.large_chemical_reactor('notch_apple_1') .itemInputs('tfc:food/red_apple', '8x minecraft:gold_block') .itemOutputs('minecraft:enchanted_golden_apple') .duration(50) @@ -4349,205 +4343,201 @@ const registerMinecraftRecipes1 = (event) => { //#endregion //#region Шаблоны брони - - event.remove({id: 'minecraft:wild_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:wayfinder_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:ward_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:vex_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:tide_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:spire_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:snout_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:silence_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:shaper_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:sentry_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:rib_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:raiser_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:host_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:eye_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:dune_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:coast_armor_trim_smithing_template_smithing_trim'}) - + e.remove({id: 'minecraft:wild_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:wayfinder_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:ward_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:vex_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:tide_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:spire_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:snout_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:silence_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:shaper_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:sentry_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:rib_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:raiser_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:host_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:eye_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:dune_armor_trim_smithing_template_smithing_trim'}) + e.remove({id: 'minecraft:coast_armor_trim_smithing_template_smithing_trim'}) //#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'}) - + e.remove({id: 'gtceu:shaped/chainmail_boots'}) + e.remove({id: 'gtceu:shaped/chainmail_leggings'}) + e.remove({id: 'gtceu:shaped/chainmail_chestplate'}) + e.remove({id: 'gtceu:shaped/chainmail_helmet'}) + e.remove({id: 'gtceu:arc_furnace/arc_chainmail_boots'}) + e.remove({id: 'gtceu:arc_furnace/arc_chainmail_leggings'}) + e.remove({id: 'gtceu:arc_furnace/arc_chainmail_chestplate'}) + e.remove({id: 'gtceu:arc_furnace/arc_chainmail_helmet'}) + e.remove({id: 'gtceu:macerator/macerate_chainmail_boots'}) + e.remove({id: 'gtceu:macerator/macerate_chainmail_leggings'}) + e.remove({id: 'gtceu:macerator/macerate_chainmail_chestplate'}) + e.remove({id: 'gtceu:macerator/macerate_chainmail_helmet'}) + e.remove({id: 'minecraft:iron_nugget_from_smelting'}) + e.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'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_boots'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_leggings'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_chestplate'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_helmet'}) + e.remove({id: 'gtceu:macerator/macerate_iron_boots'}) + e.remove({id: 'gtceu:macerator/macerate_iron_leggings'}) + e.remove({id: 'gtceu:macerator/macerate_iron_chestplate'}) + e.remove({id: 'gtceu:macerator/macerate_iron_helmet'}) + e.remove({id: 'gtceu:shaped/iron_horse_armor'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_horse_armor'}) + e.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'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_boots'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_leggings'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_chestplate'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_helmet'}) + e.remove({id: 'gtceu:macerator/macerate_golden_boots'}) + e.remove({id: 'gtceu:macerator/macerate_golden_leggings'}) + e.remove({id: 'gtceu:macerator/macerate_golden_chestplate'}) + e.remove({id: 'gtceu:macerator/macerate_golden_helmet'}) + e.remove({id: 'gtceu:shaped/golden_horse_armor'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_horse_armor'}) + e.remove({id: 'gtceu:macerator/macerate_golden_horse_armor'}) + e.remove({id: 'minecraft:gold_nugget_from_smelting'}) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_boots'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_leggings'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_chestplate'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_helmet'}) + e.remove({id: 'gtceu:shaped/diamond_horse_armor'}) + e.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'}) + e.remove({id: 'minecraft:netherite_helmet_smithing'}) + e.remove({id: 'minecraft:netherite_chestplate_smithing'}) + e.remove({id: 'minecraft:netherite_leggings_smithing'}) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_wooden_sword'}) + e.remove({id: 'gtceu:macerator/macerate_wooden_pickaxe'}) + e.remove({id: 'gtceu:macerator/macerate_wooden_axe'}) + e.remove({id: 'gtceu:macerator/macerate_wooden_shovel'}) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_stone_sword'}) + e.remove({id: 'gtceu:macerator/macerate_stone_pickaxe'}) + e.remove({id: 'gtceu:macerator/macerate_stone_axe'}) + e.remove({id: 'gtceu:macerator/macerate_stone_shovel'}) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_iron_sword'}) + e.remove({id: 'gtceu:macerator/macerate_iron_pickaxe'}) + e.remove({id: 'gtceu:macerator/macerate_iron_axe'}) + e.remove({id: 'gtceu:macerator/macerate_iron_shovel'}) + e.remove({id: 'gtceu:macerator/macerate_iron_hoe'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_sword'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_pickaxe'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_axe'}) + e.remove({id: 'gtceu:arc_furnace/arc_iron_shovel'}) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_golden_sword'}) + e.remove({id: 'gtceu:macerator/macerate_golden_pickaxe'}) + e.remove({id: 'gtceu:macerator/macerate_golden_axe'}) + e.remove({id: 'gtceu:macerator/macerate_golden_shovel'}) + e.remove({id: 'gtceu:macerator/macerate_golden_hoe'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_sword'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_pickaxe'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_axe'}) + e.remove({id: 'gtceu:arc_furnace/arc_golden_shovel'}) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_sword'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_pickaxe'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_axe'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_shovel'}) + e.remove({id: 'gtceu:macerator/macerate_diamond_hoe'}) + e.remove({id: 'gtceu:arc_furnace/arc_diamond_sword'}) + e.remove({id: 'gtceu:arc_furnace/arc_diamond_pickaxe'}) + e.remove({id: 'gtceu:arc_furnace/arc_diamond_axe'}) + e.remove({id: 'gtceu:arc_furnace/arc_diamond_shovel'}) + e.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'}) + e.remove({id: 'minecraft:netherite_sword_smithing'}) + e.remove({id: 'minecraft:netherite_pickaxe_smithing'}) + e.remove({id: 'minecraft:netherite_axe_smithing'}) + e.remove({id: 'minecraft:netherite_shovel_smithing'}) + e.remove({id: 'minecraft:netherite_hoe_smithing'}) //#endregion //#region Выход: Шаблоны брони - event.remove({ id: 'minecraft:coast_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:vex_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:host_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:rib_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:spire_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:tide_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:eye_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:raiser_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:wild_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:shaper_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:snout_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:dune_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) - event.remove({ id: 'minecraft:wayfinder_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:ward_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:silence_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:sentry_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:coast_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:vex_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:host_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:rib_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:spire_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:tide_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:eye_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:raiser_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:wild_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:shaper_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:snout_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:dune_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) + e.remove({ id: 'minecraft:wayfinder_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:ward_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:silence_armor_trim_smithing_template' }) + e.remove({ id: 'minecraft:sentry_armor_trim_smithing_template' }) //#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'}) + e.remove({id: 'minecraft:comparator'}) + e.remove({id: 'gtceu:shaped/comparator_quartzite'}) + e.remove({id: 'gtceu:shaped/comparator_certus'}) + e.remove({id: 'tfc:crafting/vanilla/redstone/comparator'}) // Компаратор - event.shaped('minecraft:comparator', [ + e.shaped('minecraft:comparator', [ ' A ', 'ABA', 'CCC' @@ -4557,7 +4547,7 @@ const registerMinecraftRecipes1 = (event) => { C: '#tfc:rock/smooth' }).id('tfg:shaped/comparator_certus'); - event.shaped('minecraft:comparator', [ + e.shaped('minecraft:comparator', [ ' A ', 'ABA', 'CCC' @@ -4567,7 +4557,7 @@ const registerMinecraftRecipes1 = (event) => { C: '#tfc:rock/smooth' }).id('tfg:shaped/comparator_quartzite'); - event.shaped('minecraft:comparator', [ + e.shaped('minecraft:comparator', [ ' A ', 'ABA', 'CCC' @@ -4581,18 +4571,18 @@ const registerMinecraftRecipes1 = (event) => { //#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'}) + e.remove({id: 'minecraft:tripwire_hook'}) + e.remove({id: 'tfc:crafting/vanilla/redstone/tripwire_hook'}) + e.remove({id: 'gtceu:assembler/tripwire_hook_wrought_iron'}) + e.remove({id: 'gtceu:assembler/tripwire_hook_iron'}) - event.shapeless('minecraft:tripwire_hook', [ + e.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') + e.recipes.gtceu.assembler('tripwire_hook') .itemInputs('#forge:rods/wood', '#forge:rings/wrought_iron', '#forge:small_springs') .itemOutputs('2x minecraft:tripwire_hook') .duration(100) @@ -4602,9 +4592,9 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Рамка - event.remove({ id: 'minecraft:item_frame' }) + e.remove({ id: 'minecraft:item_frame' }) - event.recipes.gtceu.assembler('item_frame') + e.recipes.gtceu.assembler('item_frame') .itemInputs('8x #tfc:lumber', 'minecraft:leather') .itemOutputs('8x minecraft:item_frame') .duration(100) @@ -4614,12 +4604,12 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Свето-рамка - event.shapeless('minecraft:glow_item_frame', [ + e.shapeless('minecraft:glow_item_frame', [ 'minecraft:item_frame', '#forge:dusts/glowstone' ]).id('minecraft:glow_item_frame') - event.recipes.gtceu.assembler('tfg/glow_item_frame') + e.recipes.gtceu.assembler('tfg/glow_item_frame') .itemInputs('2x minecraft:item_frame', '#forge:dusts/glowstone') .itemOutputs('2x minecraft:glow_item_frame') .duration(100) @@ -4629,7 +4619,7 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Картина - event.recipes.gtceu.assembler('painting') + e.recipes.gtceu.assembler('painting') .itemInputs('#tfc:high_quality_cloth','8x #forge:rods/wood') .itemOutputs('2x minecraft:painting') .circuit(1) @@ -4638,208 +4628,35 @@ const registerMinecraftRecipes1 = (event) => { //#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: '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' }) + e.remove({id: 'tfc:crafting/vanilla/flint_and_steel'}) + e.remove({id: 'ad_astra:recipes/flint_and_steel'}) //#endregion //#region Выход: Вагонетка с печью - event.remove({ id: 'minecraft:furnace_minecart' }) - event.remove({ id: 'gtceu:assembler/furnace_minecart' }) + e.remove({ id: 'minecraft:furnace_minecart' }) + e.remove({ id: 'gtceu:assembler/furnace_minecart' }) //#endregion //#region Выход: Повторитель - event.remove({id: 'minecraft:repeater'}) + e.remove({id: 'minecraft:repeater'}) //#endregion //#region Выход: Ведро - event.remove({id: 'gtceu:bender/bucket'}) - event.remove({id: 'gtceu:shaped/iron_bucket'}) + e.remove({id: 'gtceu:bender/bucket'}) + e.remove({id: 'gtceu:shaped/iron_bucket'}) - event.recipes.tfc.welding('minecraft:bucket', 'tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 6) + e.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') + e.recipes.gtceu.assembler('tfg:vanilla/bucket') .itemInputs('#forge:plates/red_steel', '#forge:plates/blue_steel') .circuit(6) .itemOutputs('minecraft:bucket') @@ -4850,21 +4667,21 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Седло - event.remove({id: 'gtceu:shaped/saddle'}) + e.remove({id: 'gtceu:shaped/saddle'}) //#endregion //#region Выход: Блок лазурита - event.remove({ id: 'tfc:crafting/vanilla/lapis_block' }) + e.remove({ id: 'tfc:crafting/vanilla/lapis_block' }) //#endregion //#region Выход: Вагонетка - event.remove({ id: 'minecraft:minecart' }) + e.remove({ id: 'minecraft:minecart' }) - event.shaped('minecraft:minecart', [ + e.shaped('minecraft:minecart', [ 'A A', 'AAA', 'B B' @@ -4873,7 +4690,7 @@ const registerMinecraftRecipes1 = (event) => { B: 'gtceu:iron_minecart_wheels' }).id('tfc:crafting/vanilla/redstone/minecart') - event.shaped('minecraft:minecart', [ + e.shaped('minecraft:minecart', [ 'A A', 'AAA', 'B B' @@ -4882,7 +4699,7 @@ const registerMinecraftRecipes1 = (event) => { B: 'gtceu:steel_minecart_wheels' }).id('tfc:crafting/vanilla/redstone/steel_minecart') - event.recipes.gtceu.assembler('minecart') + e.recipes.gtceu.assembler('minecart') .itemInputs('3x #forge:plates/wrought_iron', '3x #forge:rings/wrought_iron') .itemOutputs('minecraft:minecart') .duration(100) @@ -4890,40 +4707,19 @@ const registerMinecraftRecipes1 = (event) => { //#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' }) + e.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' }) + e.remove({ id: 'gtceu:assembler/hopper_iron' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_hopper' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/hopper' }) - event.shaped('minecraft:hopper', [ + e.shaped('minecraft:hopper', [ 'ABA', 'ACA', 'DAE' @@ -4939,19 +4735,19 @@ const registerMinecraftRecipes1 = (event) => { //#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' }) + e.remove({ id: 'minecraft:piston' }) + e.remove({ id: 'gtceu:shaped/piston_titanium' }) + e.remove({ id: 'gtceu:shaped/piston_steel' }) + e.remove({ id: 'gtceu:shaped/piston_bronze' }) + e.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' }) + e.remove({ id: 'gtceu:assembler/piston_titanium' }) + e.remove({ id: 'gtceu:assembler/piston_steel' }) + e.remove({ id: 'gtceu:assembler/piston_iron' }) + e.remove({ id: 'gtceu:assembler/piston_bronze' }) + e.remove({ id: 'gtceu:assembler/piston_aluminium' }) - event.recipes.gtceu.assembler('piston') + e.recipes.gtceu.assembler('piston') .itemInputs('#forge:plates/wrought_iron', '3x tfc:wood/planks/acacia', '4x #tfc:rock/raw') .itemOutputs('4x minecraft:piston') .duration(100) @@ -4961,92 +4757,19 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Кожа - event.remove({ id: 'minecraft:leather' }) - - //#endregion - - //#region Выход: Шерсть - - event.recipes.gtceu.assembler('wool_from_string') - .itemInputs('4x #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) - }) + e.remove({ id: 'minecraft:leather' }) //#endregion //#region Выход: Арбалет - event.remove({ id: 'minecraft:crossbow' }) + e.remove({ id: 'minecraft:crossbow' }) //#endregion //#region Выход: Лук - event.recipes.gtceu.assembler('bow') + e.recipes.gtceu.assembler('bow') .itemInputs('3x #forge:string', '3x #forge:rods/wooden') .itemOutputs('minecraft:bow') .duration(100) @@ -5056,21 +4779,21 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Наблюдатель - event.remove({ id: 'minecraft:observer' }) + e.remove({ id: 'minecraft:observer' }) - event.recipes.gtceu.assembler('observer_certus_quartz') + e.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') + e.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') + e.recipes.gtceu.assembler('observer_quartzite') .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/quartzite') .itemOutputs('minecraft:observer') .duration(100) @@ -5080,7 +4803,7 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Раздатчик - event.recipes.gtceu.assembler('dispenser') + e.recipes.gtceu.assembler('dispenser') .itemInputs('7x #forge:cobblestone', 'minecraft:redstone', 'minecraft:bow') .circuit(1) .itemOutputs('minecraft:dispenser') @@ -5091,7 +4814,7 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Выбрасыватель - event.recipes.gtceu.assembler('dropper') + e.recipes.gtceu.assembler('dropper') .itemInputs('7x #forge:cobblestone', '2x minecraft:redstone') .circuit(2) .itemOutputs('minecraft:dropper') @@ -5102,9 +4825,9 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Рельсы - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_rail' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_rail' }) - event.recipes.gtceu.assembler('rail') + e.recipes.gtceu.assembler('rail') .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden') .circuit(1) .itemOutputs('32x minecraft:rail') @@ -5115,9 +4838,9 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Заряженные рельсы - event.remove({ id: 'minecraft:powered_rail' }) + e.remove({ id: 'minecraft:powered_rail' }) - event.recipes.gtceu.assembler('powered_rail') + e.recipes.gtceu.assembler('powered_rail') .itemInputs('6x #forge:rods/gold', '2x #forge:rods/wooden', '#forge:dusts/redstone') .circuit(1) .itemOutputs('16x minecraft:powered_rail') @@ -5128,10 +4851,10 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Активаторные рельсы - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_activator_rail' }) - event.remove({ id: 'minecraft:activator_rail' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_activator_rail' }) + e.remove({ id: 'minecraft:activator_rail' }) - event.recipes.gtceu.assembler('activator_rail') + e.recipes.gtceu.assembler('activator_rail') .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden', 'minecraft:redstone_torch') .circuit(1) .itemOutputs('4x minecraft:activator_rail') @@ -5142,10 +4865,10 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Нажимные рельсы - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_detector_rail' }) - event.remove({ id: 'minecraft:detector_rail' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_detector_rail' }) + e.remove({ id: 'minecraft:detector_rail' }) - event.recipes.gtceu.assembler('detector_rail') + e.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') @@ -5156,9 +4879,9 @@ const registerMinecraftRecipes1 = (event) => { //#region Выход: Веревка - event.remove({ id: 'gtceu:assembler/lead' }) + e.remove({ id: 'gtceu:assembler/lead' }) - event.shaped('minecraft:lead', [ + e.shaped('minecraft:lead', [ ' AA', ' BA', 'A ' @@ -5169,61 +4892,38 @@ const registerMinecraftRecipes1 = (event) => { //#endregion - //#region Выход: Варочная стойка - - event.remove({ id: 'minecraft:brewing_stand' }) - - //#endregion - //#region Выход: Кирпич - event.remove({ id: 'minecraft:brick' }) + // e.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' }) + // e.shaped('minecraft:bricks', [ + // 'BAB', + // 'ABA', + // 'BAB' + // ], { + // A: 'tfc:mortar', + // B: 'minecraft:brick' + // }).id('tfc:crafting/bricks') //#endregion //#region Выход: Якорь возрождения - event.remove({ id: 'minecraft:respawn_anchor' }) + e.remove({ id: 'minecraft:respawn_anchor' }) //#endregion //#region Выход: Элитра // Ну и херь я придумал - event.recipes.gtceu.assembler('tfg:minecraft/elytra') + e.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') + e.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}'}}")) @@ -5231,38 +4931,4 @@ const registerMinecraftRecipes1 = (event) => { .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 } \ No newline at end of file From 093ea6a1d2f270ca3c4c2e5a9662a9b0e5054ec3 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 25 Sep 2024 12:12:57 +0700 Subject: [PATCH 178/266] Update recipes.js --- kubejs/server_scripts/minecraft/recipes.js | 338 +++++++++++++-------- 1 file changed, 213 insertions(+), 125 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index e23606b4c..f44b40ab5 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3519,6 +3519,216 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'tfc:crafting/vanilla/lightning_rod' }) //#endregion + //#region Декоративная ваза + e.remove({ id: 'minecraft:decorated_pot_simple' }) + + e.shaped('minecraft:decorated_pot', [ + ' A ', + 'AfA', + ' A ', + ], { + A: 'minecraft:brick', + f: '#forge:tools/files' + }).id('tfg:workbench/decorated_pot') + + e.recipes.gtceu.assembler('tfg:decorated_pot') + .itemInputs('4x minecraft:brick') + .circuit(12) + .itemOutputs('minecraft:cauldron') + .EUt(3).duration(120) + //#endregion + + //#region Стойка для брони + e.remove({ id: 'tfc:crafting/vanilla/armor_stand' }) + e.remove({ id: 'tfc:crafting/vanilla/armor_stand_bulk' }) + e.remove({ id: 'gtceu:shaped/armor_stand' }) + e.remove({ id: 'gtceu:assembler/armor_stand' }) + + e.shaped('minecraft:armor_stand', [ + 'ABA', + 'hBs', + 'CDC' + ], { + A: 'gtceu:wood_bolt', + B: '#forge:rods/wooden', + C: '#tfg:all_iron_plates', + D: '#forge:smooth_stone_slab', + h: '#forge:tools/hammers', + s: '#forge:tools/saws' + }).id('tfg:workbench/cauldron') + + e.recipes.gtceu.assembler('tfg:cauldron') + .itemInputs('#forge:smooth_stone_slab', '2x #forge:rods/wooden', '2x #tfg:all_iron_plates') + .circuit(7) + .itemOutputs('minecraft:armor_stand') + .EUt(7).duration(100) + //#endregion + + //#region Рамка + e.remove({ id: 'gtceu:shaped/item_frame' }) + e.remove({ id: 'tfc:crafting/vanilla/item_frame' }) + e.remove({ id: 'gtceu:assembler/item_frame' }) + + e.shaped('minecraft:item_frame', [ + 'ABA', + 'CDC', + 'CCC', + ], { + A: '#forge:string', + B: '#tfg:all_iron_rings', + C: '#forge:rods/wooden', + D: '#forge:leather', + }).id('tfg:workbench/item_frame') + + e.recipes.gtceu.assembler('tfg:item_frame') + .itemInputs('8x #forge:rods/wooden', '#forge:leather') + .itemOutputs('minecraft:item_frame') + .EUt(4).duration(100) + //#endregion + + //#region Свето-рамка + e.remove({ id: 'minecraft:glow_item_frame' }) + + e.shapeless('minecraft:glow_item_frame', [ + 'minecraft:item_frame', + '#forge:dusts/glowstone' + ]).id('tfg:workbench/glow_item_frame') + + e.recipes.gtceu.assembler('tfg:glow_item_frame') + .itemInputs('2x minecraft:item_frame', '#forge:dusts/glowstone') + .itemOutputs('2x minecraft:glow_item_frame') + .EUt(4).duration(100) + //#endregion + + //#region Картина + e.remove({ id: 'gtceu:shaped/painting' }) + e.remove({ id: 'tfc:crafting/vanilla/painting' }) + + e.shaped('minecraft:painting', [ + 'ABA', + 'CDC', + 'CCC', + ], { + A: '#forge:string', + B: '#tfg:all_iron_rings', + C: '#forge:rods/wooden', + D: '#tfc:high_quality_cloth', + }).id('tfg:workbench/painting') + //#endregion + + //#region Книжные полки + e.remove({ id: 'gtceu:assembler/bookshelf' }) + //#endregion + + //#region Резные книжные полки + e.remove({ id: 'gtceu:assembler/chiseled_bookshelf' }) + //#endregion + + //#region Трибуна + e.remove({ id: 'gtceu:shaped/lectern' }) + e.remove({ id: 'tfc:crafting/vanilla/lectern' }) + e.remove({ id: 'gtceu:assembler/lectern' }) + //#endregion + + //#region Сундук + e.remove({ id: 'gtceu:shaped/chest' }) + e.remove({ id: 'gtceu:assembler/chest' }) + //#endregion + + //#region Бочка + e.remove({ id: 'gtceu:shaped/barrel' }) + e.remove({ id: 'gtceu:assembler/barrel' }) + //#endregion + + //#region Выход: Якорь возрождения + e.remove({ id: 'minecraft:respawn_anchor' }) + //#endregion + + //#region Голова игрока + e.remove({ id: 'computercraft:skull_dan200' }) + e.remove({ id: 'computercraft:skull_cloudy' }) + //#endregion + + //#region Инфецированные камни + e.remove({ id: 'create:haunting/infested_stone' }) + e.remove({ id: 'create:haunting/infested_cobblestone' }) + e.remove({ id: 'create:haunting/infested_stone_bricks' }) + e.remove({ id: 'create:haunting/infested_mossy_stone_bricks' }) + e.remove({ id: 'create:haunting/infested_cracked_stone_bricks' }) + e.remove({ id: 'create:haunting/infested_chiseled_stone_bricks' }) + e.remove({ id: 'create:haunting/infested_deepslate' }) + //#endregion + + //#region Редстоун + e.remove({ id: 'minecraft:redstone_from_smelting_redstone_ore' }) + e.remove({ id: 'minecraft:redstone_from_smelting_deepslate_redstone_ore' }) + + e.remove({ id: 'minecraft:redstone_from_blasting_redstone_ore' }) + e.remove({ id: 'minecraft:redstone_from_blasting_deepslate_redstone_ore' }) + //#endregion + + //#region Повторитель + e.remove({ id: 'gtceu:shaped/repeater' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/repeater' }) + + e.shaped('minecraft:repeater', [ + 'A A', + 'BsB', + 'CDC', + ], { + A: '#tfg:all_iron_screws', + B: 'minecraft:redstone_torch', + C: '#minecraft:stone_pressure_plates', + D: '#tfc:high_quality_cloth', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/repeater') + //#endregion + + //#region Компаратор + e.remove({ id: 'tfc:crafting/vanilla/redstone/comparator' }) + e.remove({ id: 'gtceu:shaped/comparator' }) + e.remove({ id: 'gtceu:shaped/comparator_certus' }) + e.remove({ id: 'gtceu:shaped/comparator_quartzite' }) + + e.shaped('minecraft:comparator', [ + 'DAD', + 'ABA', + 'CsC' + ], { + A: 'minecraft:redstone_torch', + B: '#forge:plates/certus_quartz', + C: '#minecraft:stone_pressure_plates', + D: '#tfg:all_iron_screws', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/comparator_certus'); + + e.shaped('minecraft:comparator', [ + 'DAD', + 'ABA', + 'CCC' + ], { + A: 'minecraft:redstone_torch', + B: '#forge:plates/quartzite', + C: '#minecraft:stone_pressure_plates', + D: '#tfg:all_iron_screws', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/comparator_quartzite'); + + e.shaped('minecraft:comparator', [ + 'DAD', + 'ABA', + 'CCC' + ], { + A: 'minecraft:redstone_torch', + B: '#forge:plates/nether_quartz', + C: '#minecraft:stone_pressure_plates', + D: '#tfg:all_iron_screws', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/comparator_nether_quartz'); + + //#endregion + + @@ -3598,15 +3808,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Редстоун - - e.remove({ id: 'minecraft:redstone_from_smelting_redstone_ore' }) - e.remove({ id: 'minecraft:redstone_from_smelting_deepslate_redstone_ore' }) - e.remove({ id: 'minecraft:redstone_from_blasting_redstone_ore' }) - e.remove({ id: 'minecraft:redstone_from_blasting_deepslate_redstone_ore' }) - - //#endregion //#region Выход: Изумруды @@ -4120,11 +4322,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Сундук - - e.remove({ id: 'gtceu:assembler/chest' }) - - //#endregion + //#region Выход: Удочки @@ -4244,24 +4442,6 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Декор ваза - - e.remove({ id: 'minecraft:decorated_pot_simple' }) - - //#endregion - - //#region Выход: Резные книжные полки - - e.remove({ id: 'minecraft:chiseled_bookshelf' }) - - //#endregion - - //#region Выход: Книжные полки - - e.remove({ id: 'gtceu:assembler/bookshelf' }) - - //#endregion - //#region Выход: Кисточка e.remove({ id: 'minecraft:brush' }) @@ -4278,12 +4458,6 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Трибуна - - e.remove({ id: 'tfc:crafting/vanilla/lectern' }) - - //#endregion - //#region Выход: Золотое яблоко e.remove({ id: 'minecraft:golden_apple' }) @@ -4529,45 +4703,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Компаратор - - e.remove({id: 'minecraft:comparator'}) - e.remove({id: 'gtceu:shaped/comparator_quartzite'}) - e.remove({id: 'gtceu:shaped/comparator_certus'}) - e.remove({id: 'tfc:crafting/vanilla/redstone/comparator'}) - - // Компаратор - e.shaped('minecraft:comparator', [ - ' A ', - 'ABA', - 'CCC' - ], { - A: 'minecraft:redstone_torch', - B: '#forge:gems/certus_quartz', - C: '#tfc:rock/smooth' - }).id('tfg:shaped/comparator_certus'); - - e.shaped('minecraft:comparator', [ - ' A ', - 'ABA', - 'CCC' - ], { - A: 'minecraft:redstone_torch', - B: '#forge:gems/quartzite', - C: '#tfc:rock/smooth' - }).id('tfg:shaped/comparator_quartzite'); - - e.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 Выход: Крюк @@ -4590,44 +4726,6 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Рамка - - e.remove({ id: 'minecraft:item_frame' }) - - e.recipes.gtceu.assembler('item_frame') - .itemInputs('8x #tfc:lumber', 'minecraft:leather') - .itemOutputs('8x minecraft:item_frame') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Свето-рамка - - e.shapeless('minecraft:glow_item_frame', [ - 'minecraft:item_frame', - '#forge:dusts/glowstone' - ]).id('minecraft:glow_item_frame') - - e.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 Выход: Картина - - e.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 Выход: Огниво e.remove({id: 'tfc:crafting/vanilla/flint_and_steel'}) @@ -4642,11 +4740,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Повторитель - - e.remove({id: 'minecraft:repeater'}) - - //#endregion + //#region Выход: Ведро @@ -4907,12 +5001,6 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Якорь возрождения - - e.remove({ id: 'minecraft:respawn_anchor' }) - - //#endregion - //#region Выход: Элитра // Ну и херь я придумал From 413136aaf0e36899985ca5f3f78aebe47f78a539 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 27 Sep 2024 10:04:50 +0700 Subject: [PATCH 179/266] Update tags.js --- kubejs/server_scripts/gregtech/tags.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 8bd97886a..726604c3e 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -79,6 +79,12 @@ const registerGregTechItemTags = (event) => { event.add('tfg:all_iron_rings', 'gtceu:iron_ring') event.add('tfg:all_iron_rings', 'gtceu:wrought_iron_ring') + event.add('tfg:all_iron_small_gears', 'gtceu:small_iron_gear') + event.add('tfg:all_iron_small_gears', 'gtceu:small_wrought_iron_gear') + + event.add('tfg:all_iron_rods', 'gtceu:iron_rod') + event.add('tfg:all_iron_rods', 'gtceu:wrought_iron_rod') + event.add('tfg:all_iron_bolts', 'gtceu:iron_bolt') event.add('tfg:all_iron_bolts', 'gtceu:wrought_iron_bolt') From 699c04b9cd2f5b0024f27fa6e592fb0aa98926c4 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 27 Sep 2024 10:04:54 +0700 Subject: [PATCH 180/266] Update recipes.js --- kubejs/server_scripts/minecraft/recipes.js | 169 +++++++++++++-------- 1 file changed, 109 insertions(+), 60 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index f44b40ab5..f65ba95a9 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3332,7 +3332,7 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'create:haunting/soul_lantern' }) e.recipes.create.haunting('minecraft:soul_lantern', '#tfc:lamps') - .id('tfg:haunting/soul_torch') + .id('tfg:haunting/soul_lantern') //#endregion //#region Стержень энда @@ -3555,9 +3555,9 @@ const registerMinecraftRecipes = (e) => { D: '#forge:smooth_stone_slab', h: '#forge:tools/hammers', s: '#forge:tools/saws' - }).id('tfg:workbench/cauldron') + }).id('tfg:workbench/armor_stand') - e.recipes.gtceu.assembler('tfg:cauldron') + e.recipes.gtceu.assembler('tfg:armor_stand') .itemInputs('#forge:smooth_stone_slab', '2x #forge:rods/wooden', '2x #tfg:all_iron_plates') .circuit(7) .itemOutputs('minecraft:armor_stand') @@ -3700,7 +3700,7 @@ const registerMinecraftRecipes = (e) => { C: '#minecraft:stone_pressure_plates', D: '#tfg:all_iron_screws', s: '#forge:tools/screwdrivers', - }).id('tfg:workbench/comparator_certus'); + }).id('tfg:workbench/comparator_certus') e.shaped('minecraft:comparator', [ 'DAD', @@ -3712,7 +3712,7 @@ const registerMinecraftRecipes = (e) => { C: '#minecraft:stone_pressure_plates', D: '#tfg:all_iron_screws', s: '#forge:tools/screwdrivers', - }).id('tfg:workbench/comparator_quartzite'); + }).id('tfg:workbench/comparator_quartzite') e.shaped('minecraft:comparator', [ 'DAD', @@ -3724,22 +3724,123 @@ const registerMinecraftRecipes = (e) => { C: '#minecraft:stone_pressure_plates', D: '#tfg:all_iron_screws', s: '#forge:tools/screwdrivers', - }).id('tfg:workbench/comparator_nether_quartz'); + }).id('tfg:workbench/comparator_nether_quartz') //#endregion + //#region Калиброванный скалк сенсер + e.remove({ id: 'minecraft:calibrated_sculk_sensor' }) + e.remove({ id: 'gtceu:assembler/calibrated_sculk_sensor' }) + //#endregion + //#region Крюк + e.remove({ id: 'tfc:crafting/vanilla/redstone/tripwire_hook' }) + e.remove({ id: 'gtceu:shaped/tripwire_hook' }) + e.remove({ id: 'gtceu:assembler/tripwire_hook_wrought_iron' }) + e.remove({ id: 'gtceu:assembler/tripwire_hook_iron' }) + e.shaped('minecraft:tripwire_hook', [ + 'ABA', + 'CBC', + ' C ' + ], { + A: '#tfg:all_iron_rings', + B: '#forge:rods/wooden', + C: '#forge:string', + }).id('tfg:workbench/tripwire_hook') + e.shapeless('', [ + '#forge:rings/wrought_iron', + '#forge:small_springs' + ]).id('tfg:shaped/tripwire_hook') + e.recipes.gtceu.assembler('tfg:tripwire_hook') + .itemInputs('2x #tfg:all_iron_rings', '2x #forge:rods/wooden') + .itemOutputs('minecraft:tripwire_hook') + .EUt(4).duration(100) + //#endregion + //#region Нить + e.remove({ id: 'create:crushing/diamond_horse_armor' }) + e.remove({ id: 'create:crushing/golden_horse_armor' }) + e.remove({ id: 'create:crushing/iron_horse_armor' }) + e.remove({ id: 'create:crushing/wool' }) + //#endregion + //#region Детектор света + e.remove({ id: 'tfc:crafting/vanilla/redstone/daylight_detector' }) + //#endregion + //#region Поршень + e.remove({ id: 'tfc:crafting/vanilla/redstone/piston' }) + e.remove({ id: 'gtceu:shaped/piston_iron' }) + e.remove({ id: 'gtceu:assembler/piston_iron' }) + + e.shaped('minecraft:piston', [ + 'AAA', + 'BCB', + 'DED' + ], { + A: '#minecraft:planks', + B: '#tfg:all_iron_small_gears', + C: '#minecraft:wooden_fences', + D: '#forge:cobblestone', + E: 'gtceu:red_alloy_plate', + }).id('tfg:workbench/piston') + e.recipes.gtceu.assembler('tfg:piston_iron') + .itemInputs('#tfg:all_iron_rods', '#tfg:all_iron_small_gears', '#minecraft:wooden_slabs', '#forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 144)) + .itemOutputs('minecraft:piston') + .EUt(7).duration(140) + e.recipes.gtceu.assembler('tfg:unsticky_piston') + .itemInputs('minecraft:sticky_piston') + .circuit(0) + .itemOutputs('minecraft:piston') + .EUt(7).duration(20) + //#endregion + //#region Липкий поршень + e.remove({ id: 'tfc:crafting/vanilla/redstone/sticky_piston' }) + e.shaped('minecraft:sticky_piston', [ + 'A', + 'B', + 'C' + ], { + A: '#forge:tools/hammers', + B: 'gtceu:sticky_resin', + C: 'minecraft:piston' + }).id('tfg:workbench/sticky_piston_from_sticky_resin') + + e.shaped('minecraft:sticky_piston', [ + 'A', + 'B', + 'C' + ], { + A: '#forge:tools/hammers', + B: 'tfc:glue', + C: 'minecraft:piston' + }).id('tfg:workbench/sticky_piston_from_tfc_glue') + + e.recipes.gtceu.assembler('tfg:sticky_piston_from_tfc_glue') + .itemInputs('minecraft:piston', 'tfc:glue') + .itemOutputs('minecraft:sticky_piston') + .EUt(4).duration(100) + //#endregion + + //#region Выход: Раздатчик + + // e.recipes.gtceu.assembler('dispenser') + // .itemInputs('7x #forge:cobblestone', 'minecraft:redstone', 'minecraft:bow') + // .circuit(1) + // .itemOutputs('minecraft:dispenser') + // .duration(100) + // .EUt(30) + + //#endregion //#region 1 //e.remove({ id: '' }) @@ -4705,26 +4806,7 @@ const registerMinecraftRecipes1 = (e) => { - //#region Выход: Крюк - - e.remove({id: 'minecraft:tripwire_hook'}) - e.remove({id: 'tfc:crafting/vanilla/redstone/tripwire_hook'}) - e.remove({id: 'gtceu:assembler/tripwire_hook_wrought_iron'}) - e.remove({id: 'gtceu:assembler/tripwire_hook_iron'}) - - e.shapeless('minecraft:tripwire_hook', [ - '#forge:rods/wood', - '#forge:rings/wrought_iron', - '#forge:small_springs' - ]).id('tfg:shaped/tripwire_hook') - - e.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 Выход: Огниво @@ -4801,11 +4883,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Детектор света - e.remove({ id: 'tfc:crafting/vanilla/redstone/daylight_detector' }) - - //#endregion //#region Выход: Воронка @@ -4827,27 +4905,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Поршень - e.remove({ id: 'minecraft:piston' }) - e.remove({ id: 'gtceu:shaped/piston_titanium' }) - e.remove({ id: 'gtceu:shaped/piston_steel' }) - e.remove({ id: 'gtceu:shaped/piston_bronze' }) - e.remove({ id: 'gtceu:shaped/piston_aluminium' }) - - e.remove({ id: 'gtceu:assembler/piston_titanium' }) - e.remove({ id: 'gtceu:assembler/piston_steel' }) - e.remove({ id: 'gtceu:assembler/piston_iron' }) - e.remove({ id: 'gtceu:assembler/piston_bronze' }) - e.remove({ id: 'gtceu:assembler/piston_aluminium' }) - - e.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 Выход: Кожа @@ -4895,16 +4953,7 @@ const registerMinecraftRecipes1 = (e) => { //#endregion - //#region Выход: Раздатчик - - e.recipes.gtceu.assembler('dispenser') - .itemInputs('7x #forge:cobblestone', 'minecraft:redstone', 'minecraft:bow') - .circuit(1) - .itemOutputs('minecraft:dispenser') - .duration(100) - .EUt(30) - - //#endregion + //#region Выход: Выбрасыватель From 33cf26d4663f73694d969cabed149d72e27f6b0c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 28 Sep 2024 13:54:16 +0700 Subject: [PATCH 181/266] vanilla recipes 98% --- kubejs/server_scripts/gregtech/recipes.js | 7 +- kubejs/server_scripts/gregtech/tags.js | 11 + kubejs/server_scripts/minecraft/recipes.js | 2493 +++++++++++--------- kubejs/server_scripts/tfc/tags.js | 5 + 4 files changed, 1349 insertions(+), 1167 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 32ba717c8..3136de8c8 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1885,15 +1885,16 @@ const registerGregTechRecipes1 = (event) => { // TODO: Удалить после фикса GTCEu event.remove({ id: 'gtceu:extractor/extract_raw_rubber_dust' }) - // Пыль звезды незера - // TODO: удалить после имплементации ада - event.recipes.gtceu.chemical_reactor('tfg:gtceu/nether_star_dust') + //#region Пыль звезды незера + // TODO: Нужно ли удалять? + event.recipes.gtceu.chemical_reactor('tfg:nether_star_dust') .itemInputs('2x #forge:dusts/iridium', '#forge:dusts/diamond') .circuit(10) .itemOutputs('gtceu:nether_star_dust') .inputFluids(Fluid.of('gtceu:sulfur_dioxide', 6000), Fluid.of('gtceu:carbon_monoxide', 8000)) .duration(700) .EUt(2720) + //#endregion // Creosote-Treated Wood Planks -> Treated Wood Pulp event.recipes.gtceu.macerator('tfg:gtceu/macerate_treated_wood_planks') diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 726604c3e..555434e6c 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -82,9 +82,15 @@ const registerGregTechItemTags = (event) => { event.add('tfg:all_iron_small_gears', 'gtceu:small_iron_gear') event.add('tfg:all_iron_small_gears', 'gtceu:small_wrought_iron_gear') + event.add('tfg:all_iron_small_springs', 'gtceu:small_iron_spring') + event.add('tfg:all_iron_small_springs', 'gtceu:small_wrought_iron_spring') + event.add('tfg:all_iron_rods', 'gtceu:iron_rod') event.add('tfg:all_iron_rods', 'gtceu:wrought_iron_rod') + event.add('tfg:all_iron_gears', 'gtceu:iron_gear') + event.add('tfg:all_iron_gears', 'gtceu:wrought_iron_gear') + event.add('tfg:all_iron_bolts', 'gtceu:iron_bolt') event.add('tfg:all_iron_bolts', 'gtceu:wrought_iron_bolt') @@ -95,6 +101,11 @@ const registerGregTechItemTags = (event) => { event.add('tfg:all_iron_nuggets', 'gtceu:wrought_iron_nugget') //#endregion + //#region Объединение стеклянных линз ТФК и ГТ + event.add('tfg:all_glass_lenses', 'gtceu:glass_lens') + event.add('tfg:all_glass_lenses', 'rfc:lens') + //#endregion + //#region Скрываем все руды (не используем #forge:ores, потому что будет пересечение) event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/red_granite') //todo: может его удалить? event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/marble') diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index f65ba95a9..b05902b6f 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -2588,6 +2588,10 @@ const registerMinecraftRecipes = (e) => { //#endregion + //#region Блок лазурита + e.remove({ id: 'tfc:crafting/vanilla/lapis_block' }) + //#endregion + //#region Сырой Кварц //#region Блок @@ -2854,6 +2858,113 @@ const registerMinecraftRecipes = (e) => { //#endregion + // 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] + + // e.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) + + // e.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) + + // e.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) + + // e.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] + + // e.recipes.gtceu.assembler(`tfg:minecraft/waxing_block_${element.name}`) + // .itemInputs(element2.block, 'firmalife:beeswax') + // .circuit(1) + // .itemOutputs(element.block) + // .duration(50) + // .EUt(4) + + // e.recipes.gtceu.assembler(`tfg:minecraft/waxing_cutted_${element.name}`) + // .itemInputs(element2.cutted, 'firmalife:beeswax') + // .circuit(1) + // .itemOutputs(element.cutted) + // .duration(50) + // .EUt(4) + + // e.recipes.gtceu.assembler(`tfg:minecraft/waxing_stairs_${element.name}`) + // .itemInputs(element2.stairs, 'firmalife:beeswax') + // .circuit(1) + // .itemOutputs(element.stairs) + // .duration(50) + // .EUt(4) + + // e.recipes.gtceu.assembler(`tfg:minecraft/waxing_slabs_${element.name}`) + // .itemInputs(element2.slabs, 'firmalife:beeswax') + // .circuit(1) + // .itemOutputs(element.slabs) + // .duration(50) + // .EUt(4) + + // } + + // // Обрезанный блок + + // e.stonecutting(element.cutted, element.block) + // .id(`tfg:stonecutting/cutted_${element.name}`) + + // generateCutterRecipe(e, element.block, 4, element.cutted, 100, 8, `cutted_${element.name}`) + + // // Not working, because JS is shit! + // // e.recipes.tfc.chisel(element.cutted, element.block, 'smooth') + // // .id(`tfg:chisel/cutted_${element.name}`) + + // // Ступени + + // e.stonecutting(element.stairs, element.cutted) + // .id(`tfg:stonecutting/stairs_${element.name}`) + + // generateCutterRecipe(e, element.cutted, 0, [element.stairs, 'gtceu:small_copper_dust'], 100, 8, `stairs_${element.name}`) + + // // Not working, because JS is shit! + // // e.recipes.tfc.chisel(element.stair, element.cutted, 'stair') + // // .id(`tfg:chisel/stair_${element.name}`) + + // // Полублоки + + // e.stonecutting(element.slabs, element.cutted) + // .id(`tfg:stonecutting/slabs_${element.name}`) + + // generateCutterRecipe(e, element.cutted, 1, [element.slabs, '2x gtceu:small_copper_dust'], 100, 8, `slabs_${element.name}`) + + // // Not working, because JS is shit! + // // e.recipes.tfc.chisel(element.slab, element.cutted, 'slab') + // // .id(`tfg:chisel/slab_${element.name}`) + + // } + //#endregion //#region Шерсть @@ -2984,6 +3095,11 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'gtceu:create_mixer/mud' }) //#endregion + //#region Мангровые корни в грязи + e.remove({ id: 'minecraft:muddy_mangrove_roots' }) + + //#endregion + //#region Глина e.remove({ id: 'gtceu:compressor/mud_to_clay' }) //#endregion @@ -3749,11 +3865,6 @@ const registerMinecraftRecipes = (e) => { C: '#forge:string', }).id('tfg:workbench/tripwire_hook') - e.shapeless('', [ - '#forge:rings/wrought_iron', - '#forge:small_springs' - ]).id('tfg:shaped/tripwire_hook') - e.recipes.gtceu.assembler('tfg:tripwire_hook') .itemInputs('2x #tfg:all_iron_rings', '2x #forge:rods/wooden') .itemOutputs('minecraft:tripwire_hook') @@ -3776,6 +3887,10 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'tfc:crafting/vanilla/redstone/piston' }) e.remove({ id: 'gtceu:shaped/piston_iron' }) e.remove({ id: 'gtceu:assembler/piston_iron' }) + e.remove({ id: 'gtceu:assembler/piston_stainless_steel' }) + e.remove({ id: 'gtceu:assembler/piston_steel' }) + e.remove({ id: 'gtceu:assembler/piston_aluminium' }) + e.remove({ id: 'gtceu:assembler/piston_titanium' }) e.shaped('minecraft:piston', [ 'AAA', @@ -3795,11 +3910,29 @@ const registerMinecraftRecipes = (e) => { .itemOutputs('minecraft:piston') .EUt(7).duration(140) - e.recipes.gtceu.assembler('tfg:unsticky_piston') - .itemInputs('minecraft:sticky_piston') - .circuit(0) - .itemOutputs('minecraft:piston') - .EUt(7).duration(20) + e.recipes.gtceu.assembler('tfg:piston_steel') + .itemInputs('gtceu:steel_rod', 'gtceu:small_steel_gear', '2x #minecraft:wooden_slabs', '2x #forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 288)) + .itemOutputs('2x minecraft:piston') + .EUt(12).duration(140) + + e.recipes.gtceu.assembler('tfg:piston_aluminium') + .itemInputs('gtceu:aluminium_rod', 'gtceu:small_aluminium_gear', '4x #minecraft:wooden_slabs', '4x #forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 432)) + .itemOutputs('4x minecraft:piston') + .EUt(30).duration(140) + + e.recipes.gtceu.assembler('tfg:piston_stainless_steel') + .itemInputs('gtceu:stainless_steel_rod', 'gtceu:small_stainless_steel_gear', '8x #minecraft:wooden_slabs', '8x #forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 576)) + .itemOutputs('8x minecraft:piston') + .EUt(30).duration(600) + + e.recipes.gtceu.assembler('tfg:piston_titanium') + .itemInputs('gtceu:titanium_rod', 'gtceu:small_titanium_gear', '16x #minecraft:wooden_slabs', '16x #forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 1152)) + .itemOutputs('16x minecraft:piston') + .EUt(30).duration(800) //#endregion //#region Липкий поршень @@ -3826,1070 +3959,53 @@ const registerMinecraftRecipes = (e) => { }).id('tfg:workbench/sticky_piston_from_tfc_glue') e.recipes.gtceu.assembler('tfg:sticky_piston_from_tfc_glue') - .itemInputs('minecraft:piston', 'tfc:glue') + .itemInputs('tfc:glue', 'minecraft:piston') .itemOutputs('minecraft:sticky_piston') .EUt(4).duration(100) //#endregion - //#region Выход: Раздатчик + //#region Раздатчик + e.remove({ id: 'gtceu:shaped/dispenser' }) + e.remove({ id: 'gtceu:assembler/dispenser' }) - // e.recipes.gtceu.assembler('dispenser') - // .itemInputs('7x #forge:cobblestone', 'minecraft:redstone', 'minecraft:bow') - // .circuit(1) - // .itemOutputs('minecraft:dispenser') - // .duration(100) - // .EUt(30) - - //#endregion - - //#region 1 - //e.remove({ id: '' }) - //#endregion -} - -const registerMinecraftRecipes1 = (e) => { - - //#region Выход: Уголь - - e.remove({ id: 'minecraft:coal_from_smelting_coal_ore' }) - e.remove({ id: 'minecraft:coal_from_smelting_deepslate_coal_ore' }) - - e.remove({ id: 'minecraft:coal_from_blasting_coal_ore' }) - e.remove({ id: 'minecraft:coal_from_blasting_deepslate_coal_ore' }) - - //#endregion - - //#region Выход: Медь - - e.remove({ id: 'minecraft:copper_ingot_from_smelting_copper_ore' }) - e.remove({ id: 'minecraft:copper_ingot_from_smelting_deepslate_copper_ore' }) - - e.remove({ id: 'minecraft:copper_ingot_from_blasting_copper_ore' }) - e.remove({ id: 'minecraft:copper_ingot_from_blasting_deepslate_copper_ore' }) - - //#endregion - - //#region Выход: Железо - - e.remove({ id: 'minecraft:iron_ingot_from_smelting_iron_ore' }) - e.remove({ id: 'minecraft:iron_ingot_from_smelting_deepslate_iron_ore' }) - - e.remove({ id: 'minecraft:iron_ingot_from_blasting_iron_ore' }) - e.remove({ id: 'minecraft:iron_ingot_from_blasting_deepslate_iron_ore' }) - - //#endregion - - //#region Выход: Лазурит - - e.remove({ id: 'minecraft:lapis_lazuli_from_smelting_lapis_ore' }) - e.remove({ id: 'minecraft:lapis_lazuli_from_smelting_deepslate_lapis_ore' }) - - e.remove({ id: 'minecraft:lapis_lazuli_from_blasting_lapis_ore' }) - e.remove({ id: 'minecraft:lapis_lazuli_from_blasting_deepslate_lapis_ore' }) - - //#endregion - - //#region Выход: Золото - - e.remove({ id: 'minecraft:gold_ingot_from_smelting_gold_ore' }) - e.remove({ id: 'minecraft:gold_ingot_from_smelting_deepslate_gold_ore' }) - e.remove({ id: 'minecraft:gold_ingot_from_smelting_nether_gold_ore' }) - - e.remove({ id: 'minecraft:gold_ingot_from_blasting_gold_ore' }) - e.remove({ id: 'minecraft:gold_ingot_from_blasting_deepslate_gold_ore' }) - e.remove({ id: 'minecraft:gold_ingot_from_blasting_nether_gold_ore' }) - - //#endregion - - //#region Выход: Золотой самородок - - e.remove({ id: 'minecraft:gold_nugget_from_smelting' }) - - e.remove({ id: 'minecraft:gold_nugget_from_blasting' }) - - //#endregion - - - - //#region Выход: Изумруды - - e.remove({ id: 'minecraft:emerald_from_smelting_emerald_ore' }) - e.remove({ id: 'minecraft:emerald_from_smelting_deepslate_emerald_ore' }) - - e.remove({ id: 'minecraft:emerald_from_blasting_emerald_ore' }) - e.remove({ id: 'minecraft:emerald_from_blasting_deepslate_emerald_ore' }) - - //#endregion - - //#region Выход: Алмазы - - e.remove({ id: 'minecraft:diamond_from_smelting_diamond_ore' }) - e.remove({ id: 'minecraft:diamond_from_smelting_deepslate_diamond_ore' }) - - e.remove({ id: 'minecraft:diamond_from_blasting_diamond_ore' }) - e.remove({ id: 'minecraft:diamond_from_blasting_deepslate_diamond_ore' }) - - //#endregion - - //#region Выход: Кварц - - e.remove({ id: 'minecraft:quartz' }) - e.remove({ id: 'minecraft:quartz_from_blasting' }) - - //#endregion - - //#region Выход: Незеритовый лом - - e.remove({ id: 'minecraft:netherite_scrap' }) - e.remove({ id: 'minecraft:netherite_scrap_from_blasting' }) - - //#endregion - - //#region Выход: Незеритовый слиток - - e.remove({ id: 'minecraft:netherite_ingot' }) - - //#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] - - e.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) - - e.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) - - e.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) - - e.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] - - e.recipes.gtceu.assembler(`tfg:minecraft/waxing_block_${element.name}`) - .itemInputs(element2.block, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.block) - .duration(50) - .EUt(4) - - e.recipes.gtceu.assembler(`tfg:minecraft/waxing_cutted_${element.name}`) - .itemInputs(element2.cutted, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.cutted) - .duration(50) - .EUt(4) - - e.recipes.gtceu.assembler(`tfg:minecraft/waxing_stairs_${element.name}`) - .itemInputs(element2.stairs, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.stairs) - .duration(50) - .EUt(4) - - e.recipes.gtceu.assembler(`tfg:minecraft/waxing_slabs_${element.name}`) - .itemInputs(element2.slabs, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.slabs) - .duration(50) - .EUt(4) - - } - - // Обрезанный блок - - e.stonecutting(element.cutted, element.block) - .id(`tfg:stonecutting/cutted_${element.name}`) - - generateCutterRecipe(e, element.block, 4, element.cutted, 100, 8, `cutted_${element.name}`) - - // Not working, because JS is shit! - // e.recipes.tfc.chisel(element.cutted, element.block, 'smooth') - // .id(`tfg:chisel/cutted_${element.name}`) - - // Ступени - - e.stonecutting(element.stairs, element.cutted) - .id(`tfg:stonecutting/stairs_${element.name}`) - - generateCutterRecipe(e, element.cutted, 0, [element.stairs, 'gtceu:small_copper_dust'], 100, 8, `stairs_${element.name}`) - - // Not working, because JS is shit! - // e.recipes.tfc.chisel(element.stair, element.cutted, 'stair') - // .id(`tfg:chisel/stair_${element.name}`) - - // Полублоки - - e.stonecutting(element.slabs, element.cutted) - .id(`tfg:stonecutting/slabs_${element.name}`) - - generateCutterRecipe(e, element.cutted, 1, [element.slabs, '2x gtceu:small_copper_dust'], 100, 8, `slabs_${element.name}`) - - // Not working, because JS is shit! - // e.recipes.tfc.chisel(element.slab, element.cutted, 'slab') - // .id(`tfg:chisel/slab_${element.name}`) - - } - - //#endregion - - //#region Выход: Кремний - - e.shapeless('minecraft:flint', [ - '#tfc:rock/gravel', - '#forge:tools/mortars' - ]).id('gtceu:shapeless/gravel_to_flint') - - e.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 Выход: Мангровые корни в грязи - - e.remove({ id: 'minecraft:muddy_mangrove_roots' }) - - //#endregion - - //#region Красители - - // White - e.remove({id: 'minecraft:white_dye_from_lily_of_the_valley'}) - e.remove({id: 'gtceu:extractor/lily_of_the_valley_dye'}) - - e.recipes.gtceu.extractor('white_dye') - .itemInputs('1x #tfc:makes_white_dye') - .itemOutputs('2x minecraft:white_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:white_dye', '1x #tfc:makes_white_dye') - .id('tfg:milling/white_dye') - - // Red - e.remove({id: 'minecraft:red_dye_from_tulip'}) - e.remove({id: 'minecraft:red_dye_from_rose_bush'}) - e.remove({id: 'minecraft:red_dye_from_poppy'}) - e.remove({id: 'minecraft:red_dye_from_beetroot'}) - e.remove({id: 'gtceu:extractor/rose_bush_dye'}) - e.remove({id: 'gtceu:extractor/red_tulip_dye'}) - e.remove({id: 'gtceu:extractor/poppy_dye'}) - e.remove({id: 'gtceu:extractor/beetroot_dye'}) - - e.recipes.gtceu.extractor('red_dye') - .itemInputs('1x #tfc:makes_red_dye') - .itemOutputs('2x minecraft:red_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:red_dye', '1x #tfc:makes_red_dye') - .id('tfg:milling/red_dye') - - // Lime - e.remove({id: 'minecraft:lime_dye_from_smelting'}) - - e.recipes.gtceu.extractor('lime_dye') - .itemInputs('1x tfc:plant/moss') - .itemOutputs('2x minecraft:lime_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:lime_dye', '1x #tfc:makes_lime_dye') - .id('tfg:milling/lime_dye') - - // Light Blue - e.remove({id: 'minecraft:light_blue_dye_from_blue_orchid'}) - e.remove({id: 'gtceu:extractor/blue_orchid_dye'}) - - e.recipes.gtceu.extractor('light_blue_dye') - .itemInputs('1x #tfc:makes_light_blue_dye') - .itemOutputs('2x minecraft:light_blue_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:light_blue_dye', '1x #tfc:makes_light_blue_dye') - .id('tfg:milling/light_blue_dye') - - // Green - e.remove({id: 'minecraft:green_dye'}) - - e.recipes.gtceu.extractor('green_dye') - .itemInputs('1x #tfc:makes_green_dye') - .itemOutputs('2x minecraft:green_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:green_dye', '1x #tfc:makes_green_dye') - .id('tfg:milling/green_dye') - - // Magenta - e.remove({id: 'minecraft:magenta_dye_from_lilac'}) - e.remove({id: 'minecraft:magenta_dye_from_allium'}) - e.remove({id: 'gtceu:extractor/lilac_dye'}) - e.remove({id: 'gtceu:extractor/allium_dye'}) - - e.recipes.gtceu.extractor('magenta_dye') - .itemInputs('1x #tfc:makes_magenta_dye') - .itemOutputs('2x minecraft:magenta_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:magenta_dye', '1x #tfc:makes_magenta_dye') - .id('tfg:milling/magenta_dye') - - // Orange - e.remove({id: 'tfc:crafting/vanilla/orange_dye_from_sylvite'}) - e.remove({id: 'minecraft:orange_dye_from_torchflower'}) - e.remove({id: 'minecraft:orange_dye_from_orange_tulip'}) - e.remove({id: 'gtceu:extractor/orange_tulip_dye'}) - - e.recipes.gtceu.extractor('orange_dye') - .itemInputs('1x #tfc:makes_orange_dye') - .itemOutputs('2x minecraft:orange_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:orange_dye', '1x #tfc:makes_orange_dye') - .id('tfg:milling/orange_dye') - - // Purple - e.recipes.gtceu.extractor('purple_dye') - .itemInputs('1x #tfc:makes_purple_dye') - .itemOutputs('2x minecraft:purple_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:purple_dye', '1x #tfc:makes_purple_dye') - .id('tfg:milling/purple_dye') - - // Brown - e.remove({id: 'minecraft:brown_dye' }) - - e.recipes.gtceu.extractor('brown_dye') - .itemInputs('1x #tfc:makes_brown_dye') - .itemOutputs('2x minecraft:brown_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:brown_dye', '1x #tfc:makes_brown_dye') - .id('tfg:milling/brown_dye') - - // Light Gray - e.remove({id: 'minecraft:light_gray_dye_from_white_tulip'}) - e.remove({id: 'minecraft:light_gray_dye_from_azure_bluet'}) - e.remove({id: 'minecraft:light_gray_dye_from_oxeye_daisy'}) - e.remove({id: 'gtceu:extractor/white_tulip_dye'}) - e.remove({id: 'gtceu:extractor/azure_bluet_dye'}) - e.remove({id: 'gtceu:extractor/oxeye_daisy_dye'}) - - e.recipes.gtceu.extractor('light_gray_dye') - .itemInputs('1x tfc:plant/yucca') - .itemOutputs('2x minecraft:light_gray_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:light_gray_dye', '1x #tfc:makes_light_gray_dye') - .id('tfg:milling/light_gray_dye') - - // Yellow - e.remove({id: 'minecraft:yellow_dye_from_sunflower'}) - e.remove({id: 'minecraft:yellow_dye_from_dandelion'}) - e.remove({id: 'gtceu:extractor/sunflower_dye'}) - e.remove({id: 'gtceu:extractor/dandelion_dye'}) - - e.recipes.gtceu.extractor('yellow_dye') - .itemInputs('1x #tfc:makes_yellow_dye') - .itemOutputs('2x minecraft:yellow_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:yellow_dye', '1x #tfc:makes_yellow_dye') - .id('tfg:milling/yellow_dye') - - // Blue - e.remove({id: 'minecraft:blue_dye_from_cornflower'}) - e.remove({id: 'gtceu:extractor/cornflower_dye'}) - - e.recipes.gtceu.extractor('blue_dye') - .itemInputs('1x #tfc:makes_blue_dye') - .itemOutputs('2x minecraft:blue_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:blue_dye', '1x #tfc:makes_blue_dye') - .id('tfg:milling/blue_dye') - - // Pink - e.remove({id: 'minecraft:pink_dye_from_pink_petals'}) - e.remove({id: 'minecraft:pink_dye_from_pink_tulip'}) - e.remove({id: 'minecraft:pink_dye_from_peony'}) - e.remove({id: 'gtceu:extractor/pink_tulip_dye'}) - e.remove({id: 'gtceu:extractor/peony_dye'}) - - e.recipes.gtceu.extractor('pink_dye') - .itemInputs('1x #tfc:makes_pink_dye') - .itemOutputs('2x minecraft:pink_dye') - .duration(200) - .EUt(2) - - e.recipes.createMilling('2x minecraft:pink_dye', '1x #tfc:makes_pink_dye') - .id('tfg:milling/pink_dye') - - // Cyan - e.remove({id: 'minecraft:cyan_dye_from_pitcher_plant'}) - - // Black - e.remove({id: 'minecraft:black_dye_from_wither_rose'}) - e.remove({id: 'gtceu:extractor/wither_rose_dye'}) - - //#endregion - - //#region Выход: Шаблон баннера - - e.shapeless('minecraft:flower_banner_pattern', [ - 'minecraft:paper', - '#forge:dyes/white' - ]).id('minecraft:flower_banner_pattern') - - //#endregion - - //#region Выход: Высушенные водросли - - e.remove({ id: 'minecraft:dried_kelp' }) - e.remove({ id: 'minecraft:dried_kelp_from_smelting' }) - e.remove({ id: 'minecraft:dried_kelp_from_smoking' }) - - //#endregion - - //#region Древесный уголь - - e.remove({ id: 'minecraft:charcoal' }) - - //#endregion - - //#region Выход: Высушенные водросли блок - - e.remove({ id: 'minecraft:dried_kelp_block' }) - - //#endregion - - //#region Выход: Бумага - - e.remove({ id: 'gtceu:shaped/paper' }) - - e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) - e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) - - e.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) - - e.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 Выход: Сахар - - e.remove({ id: 'gtceu:shaped/sugar' }) - e.remove({ id: 'minecraft:sugar_from_honey_bottle' }) - e.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) - - e.recipes.gtceu.centrifuge('sugar') - .itemInputs('tfc:food/sugarcane') - .inputFluids(Fluid.of('minecraft:water', 600)) - .itemOutputs('minecraft:sugar') - .duration(800) - .EUt(6) - - //#endregion - - //#region Выход: Ферментированный паучий глаз - - e.remove({ id: 'minecraft:fermented_spider_eye' }) - e.remove({ id: 'gtceu:mixer/fermented_spider_eye_red' }) - e.remove({ id: 'gtceu:mixer/fermented_spider_eye_brown' }) - e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_red' }) - e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_brown' }) - - //#endregion - - //#region Выход: Калиброванный сенсор Скалка - - e.remove({ id: 'minecraft:calibrated_sculk_sensor' }) - - //#endregion - - //#region Выход: Вагонетка с сундуком - - e.remove({ id: 'gtceu:assembler/chest_minecart' }) - - //#endregion - - //#region Выход: Хлеб - - e.remove({ id: 'minecraft:bread' }) - - //#endregion - - //#region Выход: Жаренная свинина - - e.remove({ id: 'minecraft:cooked_porkchop' }) - e.remove({ id: 'minecraft:cooked_porkchop_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная курятина - - e.remove({ id: 'minecraft:cooked_chicken' }) - e.remove({ id: 'minecraft:cooked_chicken_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная козлятина - - e.remove({ id: 'minecraft:cooked_mutton' }) - e.remove({ id: 'minecraft:cooked_mutton_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная зайчатина - - e.remove({ id: 'minecraft:cooked_rabbit' }) - e.remove({ id: 'minecraft:cooked_rabbit_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная коровятина - - e.remove({ id: 'minecraft:cooked_beef' }) - e.remove({ id: 'minecraft:cooked_beef_from_smoking' }) - - //#endregion - - //#region Выход: Торт - - e.remove({ id: 'minecraft:cake' }) - - //#endregion - - //#region Выход: Печеньки (Нееет) - - e.remove({ id: 'minecraft:cookie' }) - - //#endregion - - - - //#region Выход: Удочки - - e.remove({ id: 'minecraft:warped_fungus_on_a_stick' }) - e.remove({ id: 'minecraft:carrot_on_a_stick' }) - - //#endregion - - //#region Выход: Спасательный компас - - e.remove({ id: 'minecraft:recovery_compass' }) - - //#endregion - - //#region Выход: Компас - - e.remove({ id: 'tfc:crafting/vanilla/compass' }) - e.remove({ id: 'gtceu:assembler/compass' }) - - //#endregion - - //#region Выход: Незеритовый слиток - - e.remove({ id: 'minecraft:netherite_ingot_from_netherite_block' }) - - //#endregion - - //#region Выход: Незеритовый блок - - e.remove({ id: 'minecraft:netherite_block' }) - - //#endregion - - //#region Выход: Жаренный Cod - - e.remove({ id: 'minecraft:cooked_cod' }) - e.remove({ id: 'minecraft:cooked_cod_from_smoking' }) - - //#endregion - - //#region Выход: Жаренный Salmon - - e.remove({ id: 'minecraft:cooked_salmon' }) - e.remove({ id: 'minecraft:cooked_salmon_from_smoking' }) - - //#endregion - - //#region Выход: Светящийся арбуз - - e.shaped('minecraft:glistering_melon_slice', [ - 'AAA', + e.shaped('minecraft:dispenser', [ 'ABA', - 'AAA' + 'CDC', + 'EFE' ], { - A: '#forge:nuggets/gold', - B: 'tfc:food/melon_slice' - }).id('minecraft:glistering_melon_slice') - - e.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) - - e.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) - + A: '#forge:cobblestone', + B: '#tfg:all_iron_rings', + C: '#tfg:all_iron_springs', + D: '#forge:string', + E: '#tfg:all_iron_gears', + F: 'gtceu:red_alloy_rod' + }).id('tfg:workbench/dispenser') //#endregion - //#region Выход: Блок сот + //#region Выбрасыватель + e.remove({ id: 'gtceu:shaped/dropper' }) - e.remove({ id: 'minecraft:honeycomb_block' }) - - //#endregion - - //#region Выход: Пузырек с медом - - e.remove({ id: 'minecraft:honey_bottle' }) - - //#endregion - - //#region Выход: Блок меда - - e.remove({ id: 'minecraft:honey_block' }) - - //#endregion - - //#region Выход: Прожаренный фрукт хоруса - - e.remove({ id: 'minecraft:popped_chorus_fruit' }) - - //#endregion - - //#region Выход: Ножницы - - e.remove({ id: 'minecraft:shears' }) - - //#endregion - - //#region Выход: Пустая карта - - e.recipes.gtceu.assembler('map') - .itemInputs('8x minecraft:paper', 'firmaciv:firmaciv_compass') - .itemOutputs('minecraft:map') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Жаренный картофель - - e.remove({ id: 'minecraft:baked_potato' }) - e.remove({ id: 'minecraft:baked_potato_from_smoking' }) - - //#endregion - - //#region Выход: Кисточка - - e.remove({ id: 'minecraft:brush' }) - - //#endregion - - //#region Выход: Книга - - e.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) - - e.shapeless('minecraft:book', [ - 'minecraft:paper', 'minecraft:paper', 'minecraft:paper', 'minecraft:leather' - ]).id('minecraft:book') - - //#endregion - - //#region Выход: Золотое яблоко - - e.remove({ id: 'minecraft:golden_apple' }) - - e.recipes.gtceu.chemical_reactor('golden_apple') - .itemInputs('tfc:food/green_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - e.recipes.gtceu.large_chemical_reactor('golden_apple') - .itemInputs('tfc:food/green_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - e.recipes.gtceu.chemical_reactor('golden_apple_1') - .itemInputs('tfc:food/red_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - e.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 Выход: Зачарованное золотое яблоко - - e.recipes.gtceu.chemical_reactor('notch_apple') - .itemInputs('tfc:food/green_apple', '8x minecraft:gold_block') - .itemOutputs('minecraft:enchanted_golden_apple') - .duration(50) - .EUt(30) - - e.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) - - e.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) - - e.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 Шаблоны брони - e.remove({id: 'minecraft:wild_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:wayfinder_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:ward_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:vex_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:tide_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:spire_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:snout_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:silence_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:shaper_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:sentry_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:rib_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:raiser_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:host_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:eye_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:dune_armor_trim_smithing_template_smithing_trim'}) - e.remove({id: 'minecraft:coast_armor_trim_smithing_template_smithing_trim'}) - //#endregion - - //#region Кольчуга - e.remove({id: 'gtceu:shaped/chainmail_boots'}) - e.remove({id: 'gtceu:shaped/chainmail_leggings'}) - e.remove({id: 'gtceu:shaped/chainmail_chestplate'}) - e.remove({id: 'gtceu:shaped/chainmail_helmet'}) - e.remove({id: 'gtceu:arc_furnace/arc_chainmail_boots'}) - e.remove({id: 'gtceu:arc_furnace/arc_chainmail_leggings'}) - e.remove({id: 'gtceu:arc_furnace/arc_chainmail_chestplate'}) - e.remove({id: 'gtceu:arc_furnace/arc_chainmail_helmet'}) - e.remove({id: 'gtceu:macerator/macerate_chainmail_boots'}) - e.remove({id: 'gtceu:macerator/macerate_chainmail_leggings'}) - e.remove({id: 'gtceu:macerator/macerate_chainmail_chestplate'}) - e.remove({id: 'gtceu:macerator/macerate_chainmail_helmet'}) - e.remove({id: 'minecraft:iron_nugget_from_smelting'}) - e.remove({id: 'minecraft:iron_nugget_from_blasting'}) - //#endregion - - //#region Железная броня - - e.remove({id: 'gtceu:arc_furnace/arc_iron_boots'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_leggings'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_chestplate'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_helmet'}) - e.remove({id: 'gtceu:macerator/macerate_iron_boots'}) - e.remove({id: 'gtceu:macerator/macerate_iron_leggings'}) - e.remove({id: 'gtceu:macerator/macerate_iron_chestplate'}) - e.remove({id: 'gtceu:macerator/macerate_iron_helmet'}) - e.remove({id: 'gtceu:shaped/iron_horse_armor'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_horse_armor'}) - e.remove({id: 'gtceu:macerator/macerate_iron_horse_armor'}) - - //#endregion - - //#region Золотая броня - - e.remove({id: 'gtceu:arc_furnace/arc_golden_boots'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_leggings'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_chestplate'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_helmet'}) - e.remove({id: 'gtceu:macerator/macerate_golden_boots'}) - e.remove({id: 'gtceu:macerator/macerate_golden_leggings'}) - e.remove({id: 'gtceu:macerator/macerate_golden_chestplate'}) - e.remove({id: 'gtceu:macerator/macerate_golden_helmet'}) - e.remove({id: 'gtceu:shaped/golden_horse_armor'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_horse_armor'}) - e.remove({id: 'gtceu:macerator/macerate_golden_horse_armor'}) - e.remove({id: 'minecraft:gold_nugget_from_smelting'}) - e.remove({id: 'minecraft:gold_nugget_from_blasting'}) - - //#endregion - - //#region Алмазная броня - - e.remove({id: 'gtceu:macerator/macerate_diamond_boots'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_leggings'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_chestplate'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_helmet'}) - e.remove({id: 'gtceu:shaped/diamond_horse_armor'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_horse_armor'}) - - //#endregion - - //#region Незеритовая броня - - e.remove({id: 'minecraft:netherite_helmet_smithing'}) - e.remove({id: 'minecraft:netherite_chestplate_smithing'}) - e.remove({id: 'minecraft:netherite_leggings_smithing'}) - e.remove({id: 'minecraft:netherite_boots_smithing'}) - - //#endregion - - //#region Деревянные инструменты - - e.remove({id: 'gtceu:macerator/macerate_wooden_sword'}) - e.remove({id: 'gtceu:macerator/macerate_wooden_pickaxe'}) - e.remove({id: 'gtceu:macerator/macerate_wooden_axe'}) - e.remove({id: 'gtceu:macerator/macerate_wooden_shovel'}) - e.remove({id: 'gtceu:macerator/macerate_wooden_hoe'}) - - //#endregion - - //#region Каменные инстурменты - - e.remove({id: 'gtceu:macerator/macerate_stone_sword'}) - e.remove({id: 'gtceu:macerator/macerate_stone_pickaxe'}) - e.remove({id: 'gtceu:macerator/macerate_stone_axe'}) - e.remove({id: 'gtceu:macerator/macerate_stone_shovel'}) - e.remove({id: 'gtceu:macerator/macerate_stone_hoe'}) - - //#endregion - - //#region Железные инструменты - - e.remove({id: 'gtceu:macerator/macerate_iron_sword'}) - e.remove({id: 'gtceu:macerator/macerate_iron_pickaxe'}) - e.remove({id: 'gtceu:macerator/macerate_iron_axe'}) - e.remove({id: 'gtceu:macerator/macerate_iron_shovel'}) - e.remove({id: 'gtceu:macerator/macerate_iron_hoe'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_sword'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_pickaxe'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_axe'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_shovel'}) - e.remove({id: 'gtceu:arc_furnace/arc_iron_hoe'}) - - //#endregion - - //#region Золотые инструменты - - e.remove({id: 'gtceu:macerator/macerate_golden_sword'}) - e.remove({id: 'gtceu:macerator/macerate_golden_pickaxe'}) - e.remove({id: 'gtceu:macerator/macerate_golden_axe'}) - e.remove({id: 'gtceu:macerator/macerate_golden_shovel'}) - e.remove({id: 'gtceu:macerator/macerate_golden_hoe'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_sword'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_pickaxe'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_axe'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_shovel'}) - e.remove({id: 'gtceu:arc_furnace/arc_golden_hoe'}) - - //#endregion - - //#region Алмазные инструменты - - e.remove({id: 'gtceu:macerator/macerate_diamond_sword'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_pickaxe'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_axe'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_shovel'}) - e.remove({id: 'gtceu:macerator/macerate_diamond_hoe'}) - e.remove({id: 'gtceu:arc_furnace/arc_diamond_sword'}) - e.remove({id: 'gtceu:arc_furnace/arc_diamond_pickaxe'}) - e.remove({id: 'gtceu:arc_furnace/arc_diamond_axe'}) - e.remove({id: 'gtceu:arc_furnace/arc_diamond_shovel'}) - e.remove({id: 'gtceu:arc_furnace/arc_diamond_hoe'}) - - //#endregion - - //#region Незеритовые инструменты - - e.remove({id: 'minecraft:netherite_sword_smithing'}) - e.remove({id: 'minecraft:netherite_pickaxe_smithing'}) - e.remove({id: 'minecraft:netherite_axe_smithing'}) - e.remove({id: 'minecraft:netherite_shovel_smithing'}) - e.remove({id: 'minecraft:netherite_hoe_smithing'}) - - //#endregion - - //#region Выход: Шаблоны брони - - e.remove({ id: 'minecraft:coast_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:vex_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:host_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:rib_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:spire_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:tide_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:eye_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:raiser_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:wild_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:shaper_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:snout_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:dune_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) - e.remove({ id: 'minecraft:wayfinder_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:ward_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:silence_armor_trim_smithing_template' }) - e.remove({ id: 'minecraft:sentry_armor_trim_smithing_template' }) - - //#endregion - - - - - - //#region Выход: Огниво - - e.remove({id: 'tfc:crafting/vanilla/flint_and_steel'}) - e.remove({id: 'ad_astra:recipes/flint_and_steel'}) - - //#endregion - - //#region Выход: Вагонетка с печью - - e.remove({ id: 'minecraft:furnace_minecart' }) - e.remove({ id: 'gtceu:assembler/furnace_minecart' }) - - //#endregion - - - - //#region Выход: Ведро - - e.remove({id: 'gtceu:bender/bucket'}) - e.remove({id: 'gtceu:shaped/iron_bucket'}) - - e.recipes.tfc.welding('minecraft:bucket', 'tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 6) - .id('tfg:anvil/vanilla_bucket') - - e.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 Выход: Седло - - e.remove({id: 'gtceu:shaped/saddle'}) - - //#endregion - - //#region Выход: Блок лазурита - - e.remove({ id: 'tfc:crafting/vanilla/lapis_block' }) - - //#endregion - - //#region Выход: Вагонетка - - e.remove({ id: 'minecraft:minecart' }) - - e.shaped('minecraft:minecart', [ - 'A A', - 'AAA', - 'B B' + e.shaped('minecraft:dropper', [ + 'ABA', + 'CDC', + 'EFE' ], { - A: 'gtceu:wrought_iron_plate', - B: 'gtceu:iron_minecart_wheels' - }).id('tfc:crafting/vanilla/redstone/minecart') - - e.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') - - e.recipes.gtceu.assembler('minecart') - .itemInputs('3x #forge:plates/wrought_iron', '3x #forge:rings/wrought_iron') - .itemOutputs('minecraft:minecart') - .duration(100) - .EUt(2) + A: '#forge:cobblestone', + B: '#tfg:all_iron_rings', + C: '#all_iron_small_springs', + D: '#forge:string', + E: '#tfg:all_iron_gears', + F: 'gtceu:red_alloy_rod' + }).id('tfg:workbench/dropper') //#endregion - - - //#region Выход: Воронка - - e.remove({ id: 'gtceu:assembler/hopper_iron' }) - e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_hopper' }) + //#region Воронка e.remove({ id: 'tfc:crafting/vanilla/redstone/hopper' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_hopper' }) + e.remove({ id: 'gtceu:shaped/hopper' }) + e.remove({ id: 'gtceu:assembler/hopper_iron' }) + e.remove({ id: 'gtceu:assembler/hopper_wrought_iron' }) e.shaped('minecraft:hopper', [ 'ABA', @@ -4901,171 +4017,1220 @@ const registerMinecraftRecipes1 = (e) => { C: '#forge:gears/wrought_iron', D: '#forge:tools/wrenches', E: '#forge:tools/hammers', - }).id('gtceu:shaped/hopper') + }).id('tfg:workbench/hopper') + e.recipes.gtceu.assembler('tfg:hopper') + .itemInputs('#forge:chests/wooden', '5x #tfg:all_iron_plates') + .itemOutputs('minecraft:hopper') + .EUt(2).duration(800) //#endregion - - - //#region Выход: Кожа - - e.remove({ id: 'minecraft:leather' }) - + //#region Сундук-Ловушка + e.remove({ id: 'gtceu:shaped/trapped_chest' }) //#endregion - //#region Выход: Арбалет + //#region Наблюдатель + e.remove({ id: 'tfc:crafting/vanilla/redstone/observer' }) - e.remove({ id: 'minecraft:crossbow' }) - - //#endregion - - //#region Выход: Лук - - e.recipes.gtceu.assembler('bow') - .itemInputs('3x #forge:string', '3x #forge:rods/wooden') - .itemOutputs('minecraft:bow') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Наблюдатель - - e.remove({ id: 'minecraft:observer' }) - - e.recipes.gtceu.assembler('observer_certus_quartz') + e.recipes.gtceu.assembler('tfg:observer_certus_quartz') .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/certus_quartz') .itemOutputs('minecraft:observer') .duration(100) .EUt(30) - e.recipes.gtceu.assembler('observer_nether_quartz') + e.recipes.gtceu.assembler('tfg:observer_nether_quartz') .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/nether_quartz') .itemOutputs('minecraft:observer') .duration(100) .EUt(30) - e.recipes.gtceu.assembler('observer_quartzite') + e.recipes.gtceu.assembler('tfg:observer_quartzite') .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/quartzite') .itemOutputs('minecraft:observer') .duration(100) .EUt(30) - //#endregion + e.shaped('minecraft:observer', [ + 'ABA', + 'BCB', + 'DED' + ], { + A: '#tfg:all_iron_rings', + B: '#forge:cobblestone', + C: '#forge:plates/certus_quartz', + D: '#tfg:all_iron_gears', + E: 'gtceu:red_alloy_rod', + }).id('tfg:workbench/observer_certus_quartz') - + e.shaped('minecraft:observer', [ + 'ABA', + 'BCB', + 'DED' + ], { + A: '#tfg:all_iron_rings', + B: '#forge:cobblestone', + C: '#forge:plates/nether_quartz', + D: '#tfg:all_iron_gears', + E: 'gtceu:red_alloy_rod', + }).id('tfg:workbench/observer_nether_quartz') - //#region Выход: Выбрасыватель - - e.recipes.gtceu.assembler('dropper') - .itemInputs('7x #forge:cobblestone', '2x minecraft:redstone') - .circuit(2) - .itemOutputs('minecraft:dropper') - .duration(100) - .EUt(30) + e.shaped('minecraft:observer', [ + 'ABA', + 'BCB', + 'DED' + ], { + A: '#tfg:all_iron_rings', + B: '#forge:cobblestone', + C: '#forge:plates/quartzite', + D: '#tfg:all_iron_gears', + E: 'gtceu:red_alloy_rod', + }).id('tfg:workbench/observer_quartzite') //#endregion - //#region Выход: Рельсы - + //#region Рельсы + e.remove({ id: 'tfc:crafting/vanilla/redstone/rail' }) e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_rail' }) + e.remove({ id: 'gtceu:shaped/rail' }) + e.remove({ id: 'gtceu:assembler/rail' }) - e.recipes.gtceu.assembler('rail') - .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden') + e.shaped('8x minecraft:rail', [ + 'AhA', + 'BCB', + 'BsB' + ], { + A: '#tfg:all_iron_screws', + B: '#tfg:all_iron_rods', + C: '#forge:rods/wooden', + s: '#forge:tools/screwdrivers', + h: '#forge:tools/hammers', + }).id('tfg:workbench/rail') + + e.recipes.gtceu.assembler('tfg:rail') + .itemInputs('12x #tfg:all_iron_rods', '#forge:rods/wooden') .circuit(1) .itemOutputs('32x minecraft:rail') - .duration(100) - .EUt(30) - + .EUt(30).duration(100) //#endregion - //#region Выход: Заряженные рельсы - - e.remove({ id: 'minecraft:powered_rail' }) - - e.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) + //#region Заряженные рельсы + e.remove({ id: 'tfc:crafting/vanilla/redstone/powered_rail' }) + e.remove({ id: 'gtceu:shaped/powered_rail' }) + e.shaped('6x minecraft:powered_rail', [ + 'ABA', + 'CDC', + 'EsE' + ], { + A: 'gtceu:steel_screw', + B: 'gtceu:red_alloy_plate', + C: '#tfg:all_iron_rods', + D: '#forge:rods/wooden', + E: 'gtceu:gold_rod', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/powered_rail') //#endregion - //#region Выход: Активаторные рельсы - - e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_activator_rail' }) - e.remove({ id: 'minecraft:activator_rail' }) - - e.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 Выход: Нажимные рельсы - + //#region Нажимные рельсы + e.remove({ id: 'tfc:crafting/vanilla/redstone/detector_rail' }) e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_detector_rail' }) - e.remove({ id: 'minecraft:detector_rail' }) + e.remove({ id: 'gtceu:shaped/detector_rail' }) + e.remove({ id: 'gtceu:assembler/detector_rail' }) - e.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) + e.shaped('6x minecraft:detector_rail', [ + 'ADA', + 'BCB', + 'BsB' + ], { + A: '#tfg:all_iron_screws', + B: '#tfg:all_iron_rods', + C: '#forge:rods/wooden', + D: 'minecraft:heavy_weighted_pressure_plate', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/detector_rail') + e.recipes.gtceu.assembler('tfg:detector_rail') + .itemInputs('12x #tfg:all_iron_rods', '#forge:rods/wooden', '#forge:dusts/redstone') + .circuit(5) + .itemOutputs('12x minecraft:detector_rail') + .EUt(30).duration(100) //#endregion - //#region Выход: Веревка + //#region Активаторные рельсы + e.remove({ id: 'tfc:crafting/vanilla/redstone/activator_rail' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_activator_rail' }) + e.remove({ id: 'gtceu:shaped/activator_rail' }) + e.remove({ id: 'gtceu:assembler/activator_rail' }) + e.shaped('6x minecraft:activator_rail', [ + 'ADA', + 'BCB', + 'BsB' + ], { + A: '#tfg:all_iron_screws', + B: '#tfg:all_iron_rods', + C: '#forge:rods/wooden', + D: 'minecraft:redstone_torch', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/activator_rail') + + e.recipes.gtceu.assembler('tfg:activator_rail') + .itemInputs('12x #tfg:all_iron_rods', '2x #forge:rods/wooden', 'minecraft:redstone_torch') + .circuit(5) + .itemOutputs('12x minecraft:activator_rail') + .EUt(30).duration(100) + //#endregion + + //#region Вагонетка + e.remove({ id: 'tfc:crafting/vanilla/redstone/minecart' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_minecart' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/minecart' }) + e.remove({ id: 'gtceu:shaped/minecart_iron' }) + e.remove({ id: 'gtceu:assembler/minecart' }) + + e.shaped('minecraft:minecart', [ + ' h ', + 'AwA', + 'BAB' + ], { + A: 'gtceu:wrought_iron_plate', + B: 'gtceu:iron_minecart_wheels', + h: '#forge:tools/hammers', + w: '#forge:tools/wrenches', + }).id('tfg:workbench/minecart_iron') + + e.recipes.gtceu.assembler('tfg:minecart') + .itemInputs('3x #tfg:all_iron_plates', '4x #tfg_all_iron_rings') + .itemOutputs('minecraft:minecart') + .EUt(4).duration(100) + //#endregion + + //#region Выход: Вагонетка с сундуком + e.remove({ id: 'gtceu:assembler/chest_minecart' }) + //#endregion + + //#region Выход: Вагонетка с печью + e.remove({ id: 'create:crafting/kinetics/furnace_minecart_from_contraption_cart' }) + e.remove({ id: 'gtceu:shaped/furnace_minecart' }) + e.remove({ id: 'gtceu:assembler/furnace_minecart' }) + //#endregion + + //#region Деревянные инструменты + // Нечего удалять + //#endregion + + //#region Каменные инстурменты + // Нечего удалять + //#endregion + + //#region Железные инструменты + e.remove({ id: 'gtceu:shaped/iron_sword' }) + e.remove({ id: 'gtceu:shaped/iron_pickaxe' }) + e.remove({ id: 'gtceu:shaped/iron_axe' }) + e.remove({ id: 'gtceu:shaped/iron_shovel' }) + e.remove({ id: 'gtceu:shaped/iron_hoe' }) + //#endregion + + //#region Золотые инструменты + e.remove({ id: 'gtceu:shaped/golden_sword' }) + e.remove({ id: 'gtceu:shaped/golden_pickaxe' }) + e.remove({ id: 'gtceu:shaped/golden_axe' }) + e.remove({ id: 'gtceu:shaped/golden_shovel' }) + e.remove({ id: 'gtceu:shaped/golden_hoe' }) + //#endregion + + //#region Алмазные инструменты + e.remove({ id: 'gtceu:shaped/diamond_sword' }) + e.remove({ id: 'gtceu:shaped/diamond_pickaxe' }) + e.remove({ id: 'gtceu:shaped/diamond_axe' }) + e.remove({ id: 'gtceu:shaped/diamond_shovel' }) + e.remove({ id: 'gtceu:shaped/diamond_hoe' }) + //#endregion + + //#region Незеритовые инструменты + e.remove({ id: 'minecraft:netherite_sword_smithing' }) + e.remove({ id: 'minecraft:netherite_pickaxe_smithing' }) + e.remove({ id: 'minecraft:netherite_axe_smithing' }) + e.remove({ id: 'minecraft:netherite_shovel_smithing' }) + e.remove({ id: 'minecraft:netherite_hoe_smithing' }) + //#endregion + + //#region Ведро + e.remove({ id: 'gtceu:shaped/iron_bucket' }) + e.remove({ id: 'gtceu:bender/bucket' }) + + e.recipes.tfc.welding('minecraft:bucket', 'tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 6) + .id('tfg:anvil/bucket') + + e.recipes.gtceu.assembler('tfg:bucket') + .itemInputs('#forge:plates/red_steel', '#forge:plates/blue_steel') + .circuit(21) + .itemOutputs('minecraft:bucket') + .EUt(4).duration(100) + //#endregion + + //#region Удочка + e.remove({ id: 'gtceu:shaped/fishing_rod' }) + //#endregion + + //#region Огниво + e.remove({ id: 'tfc:crafting/vanilla/flint_and_steel' }) + //#endregion + + //#region Костная мука + e.remove({ id: 'create:milling/calcite' }) + //#endregion + + //#region Ножницы + e.remove({ id: 'gtceu:shaped/shears' }) + //#endregion + + //#region Кисточка + e.remove({ id: 'gtceu:shaped/brush' }) + e.remove({ id: 'gtceu:assembler/brush' }) + //#endregion + + //#region Поводок + e.remove({ id: 'gtceu:shaped/lead' }) e.remove({ id: 'gtceu:assembler/lead' }) - e.shaped('minecraft:lead', [ - ' AA', - ' BA', - 'A ' + e.recipes.gtceu.assembler('tfg:lead_slimeball') + .itemInputs('2x #forge:string', 'minecraft:slime_ball') + .circuit(0) + .itemOutputs('2x minecraft:lead') + .EUt(2).duration(100) + + e.recipes.gtceu.assembler('tfg:lead_glue') + .itemInputs('2x #forge:string', 'tfc:glue') + .circuit(0) + .itemOutputs('2x minecraft:lead') + .EUt(2).duration(100) + + e.recipes.gtceu.assembler('tfg:lead_sticky_resin') + .itemInputs('2x #forge:string', 'gtceu:sticky_resin') + .circuit(0) + .itemOutputs('2x minecraft:lead') + .EUt(2).duration(100) + //#endregion + + //#region Компас + e.remove({ id: 'tfc:crafting/vanilla/compass' }) + e.remove({ id: 'gtceu:shaped/compass' }) + e.remove({ id: 'gtceu:assembler/compass' }) + + e.shaped('minecraft:compass', [ + 'ABC', + 'DED', + 'FsA' ], { - A: '#forge:string', - B: '#forge:rings/wrought_iron' - }).id('minecraft:lead') + A: '#tfg:all_iron_screws', + B: '#forge:glass_panes/colorless', + C: 'gtceu:tiny_magnetite_dust', + D: 'gtceu:zinc_ring', + E: '#tfg:all_iron_plates', + F: 'gtceu:red_alloy_bolt', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/compass') + e.recipes.gtceu.assembler('tfg:compass') + .itemInputs('2x #tfg:all_iron_screws', '#forge:glass_panes/colorless', 'gtceu:magnetic_iron_bolt', '2x gtceu:zinc_ring', '#tfg:all_iron_plates', 'gtceu:red_alloy_bolt') + .itemOutputs('minecraft:compass') + .EUt(16).duration(100) //#endregion - //#region Выход: Кирпич - - // e.remove({ id: 'minecraft:brick' }) - - // e.shaped('minecraft:bricks', [ - // 'BAB', - // 'ABA', - // 'BAB' - // ], { - // A: 'tfc:mortar', - // B: 'minecraft:brick' - // }).id('tfc:crafting/bricks') - + //#region Часы + e.remove({ id: 'tfc:crafting/vanilla/clock' }) //#endregion - //#region Выход: Элитра + //#region Подзорная труба + e.remove({ id: 'tfc:crafting/vanilla/spyglass' }) + e.remove({ id: 'gtceu:shaped/spyglass' }) + e.remove({ id: 'gtceu:assembler/spyglass' }) - // Ну и херь я придумал - e.recipes.gtceu.assembler('tfg:minecraft/elytra') + e.shaped('minecraft:spyglass', [ + 'hAs', + 'BCD', + 'fE ' + ], { + A: '#tfg:all_glass_lenses', + B: '#forge:leather', + C: '#forge:rings/gold', + D: '#tfg:all_iron_screws', + E: '#forge:plates/copper', + h: '#forge:tools/hammers', + s: '#forge:tools/screwdrivers', + f: '#forge:tools/files', + }).id('tfg:workbench/spyglass') + + e.recipes.gtceu.assembler('tfg:spyglass') + .itemInputs('#tfg:all_glass_lenses', '#forge:rings/gold', '#forge:plates/copper', '#forge:leather') + .itemOutputs('minecraft:spyglass') + .EUt(4).duration(100) + //#endregion + + //#region Элитра + e.recipes.gtceu.assembler('tfg: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) - e.recipes.gtceu.assembler('tfg:minecraft/elytra_repairing') + e.recipes.gtceu.assembler('tfg: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 Седло + e.remove({ id: 'gtceu:shaped/saddle' }) + + e.shaped('minecraft:saddle', [ + 'AAA', + 'ABA', + 'CDC' + ], { + A: '#forge:leather', + B: '#minecraft:wool_carpets', + C: '#tfg:all_iron_rings', + D: '#forge:string' + }).id('tfg:workbench/saddle') + //#endregion + + //#region Удочка с морковкой + e.remove({ id: 'minecraft:carrot_on_a_stick' }) + //#endregion + + //#region Удочка с грибом + e.remove({ id: 'minecraft:warped_fungus_on_a_stick' }) + //#endregion + + //#region Щит + e.remove({ id: 'gtceu:shaped/shield' }) + //#endregion + + //#region Кольчужная броня + e.remove({ id: 'gtceu:shaped/chainmail_boots'}) + e.remove({ id: 'gtceu:shaped/chainmail_leggings'}) + e.remove({ id: 'gtceu:shaped/chainmail_chestplate'}) + e.remove({ id: 'gtceu:shaped/chainmail_helmet'}) + //#endregion + + //#region Железная броня + e.remove({ id: 'gtceu:shaped/iron_helmet' }) + e.remove({ id: 'gtceu:shaped/iron_chestplate' }) + e.remove({ id: 'gtceu:shaped/iron_leggings' }) + e.remove({ id: 'gtceu:shaped/iron_boots' }) + + e.remove({ id: 'gtceu:shaped/iron_horse_armor' }) + //#endregion + + //#region Золотая броня + e.remove({ id: 'gtceu:shaped/golden_helmet' }) + e.remove({ id: 'gtceu:shaped/golden_chestplate' }) + e.remove({ id: 'gtceu:shaped/golden_leggings' }) + e.remove({ id: 'gtceu:shaped/golden_boots' }) + + e.remove({ id: 'gtceu:shaped/golden_horse_armor' }) + //#endregion + + //#region Алмазная броня + e.remove({ id: 'gtceu:shaped/diamond_helmet' }) + e.remove({ id: 'gtceu:shaped/diamond_chestplate' }) + e.remove({ id: 'gtceu:shaped/diamond_leggings' }) + e.remove({ id: 'gtceu:shaped/diamond_boots' }) + + e.remove({ id: 'gtceu:shaped/diamond_horse_armor' }) + //#endregion + + //#region Незеритовая броня + e.remove({ id: 'minecraft:netherite_helmet_smithing' }) + e.remove({ id: 'minecraft:netherite_chestplate_smithing' }) + e.remove({ id: 'minecraft:netherite_leggings_smithing' }) + e.remove({ id: 'minecraft:netherite_boots_smithing' }) + //#endregion + + //#region Лук + e.remove({ id: 'gtceu:shaped/bow' }) + e.remove({ id: 'gtceu:assembler/bow' }) + + e.recipes.gtceu.assembler('tfg:bow') + .itemInputs('3x #forge:string', '3x #forge:rods/wooden') + .itemOutputs('minecraft:bow') + .EUt(4).duration(100) + //#endregion + + //#region Арбалет + e.remove({ id: 'minecraft:crossbow' }) + e.remove({ id: 'tfc:crafting/vanilla/crossbow' }) + + e.shaped('6x minecraft:activator_rail', [ + 'ABA', + 'CAC', + 'sAf' + ], { + A: '#forge:rods/long/wood', + B: '#tfg:all_iron_rings', + C: '#forge:string', + s: '#forge:tools/screwdrivers', + f: '#forge:tools/files', + }).id('tfg:workbench/crossbow') //#endregion -} \ No newline at end of file + + //#region Золотое яблоко + e.remove({ id: 'gtceu:chemical_reactor/golden_apple' }) + + e.recipes.gtceu.chemical_reactor('tfg:golden_apple') + .itemInputs('#tfg:all_apples', '8x #forge:ingots/gold') + .itemOutputs('minecraft:golden_apple') + .EUt(30).duration(50) + //#endregion + + //#region Зачарованное золотое яблоко + e.remove({ id: 'gtceu:chemical_reactor/notch_apple' }) + + e.recipes.gtceu.chemical_reactor('tfg:notch_apple') + .itemInputs('#tfg:all_apples', '8x minecraft:gold_block') + .itemOutputs('minecraft:enchanted_golden_apple') + .EUt(30).duration(50) + //#endregion + + //#region Золотая морковь + e.remove({ id: 'gtceu:chemical_reactor/golden_carrot' }) + + e.recipes.gtceu.chemical_reactor('tfg:golden_carrot') + .itemInputs('tfc:food/carrot', '#forge:nuggets/gold') + .itemOutputs('minecraft:golden_carrot') + .EUt(30).duration(50) + //#endregion + + //#region Жаренная картошка + e.remove({ id: 'minecraft:baked_potato' }) + e.remove({ id: 'minecraft:baked_potato_from_smoking' }) + //#endregion + + //#region Гнилая картошка + e.remove({ id: 'create:haunting/poisonous_potato' }) + //#endregion + + //#region Высушенные водросли + e.remove({ id: 'minecraft:dried_kelp' }) + e.remove({ id: 'minecraft:dried_kelp_from_smelting' }) + e.remove({ id: 'minecraft:dried_kelp_from_smoking' }) + //#endregion + + //#region Жаренная коровятина + e.remove({ id: 'minecraft:cooked_beef' }) + e.remove({ id: 'minecraft:cooked_beef_from_smoking' }) + //#endregion + + //#region Жаренная свинина + e.remove({ id: 'minecraft:cooked_porkchop' }) + e.remove({ id: 'minecraft:cooked_porkchop_from_smoking' }) + //#endregion + + //#region Жаренная курятина + e.remove({ id: 'minecraft:cooked_chicken' }) + e.remove({ id: 'minecraft:cooked_chicken_from_smoking' }) + //#endregion + + //#region Жаренная козлятина + e.remove({ id: 'minecraft:cooked_mutton' }) + e.remove({ id: 'minecraft:cooked_mutton_from_smoking' }) + //#endregion + + //#region Жаренный зайчатина + e.remove({ id: 'minecraft:cooked_rabbit' }) + e.remove({ id: 'minecraft:cooked_rabbit_from_smoking' }) + //#endregion + + //#region Жаренный Cod + e.remove({ id: 'minecraft:cooked_cod' }) + e.remove({ id: 'minecraft:cooked_cod_from_smoking' }) + //#endregion + + //#region Жаренный Salmon + e.remove({ id: 'minecraft:cooked_salmon' }) + e.remove({ id: 'minecraft:cooked_salmon_from_smoking' }) + //#endregion + + //#region Хлеб + e.remove({ id: 'minecraft:bread' }) + e.remove({ id: 'create:smelting/bread' }) + //#endregion + + //#region Печеньки + e.remove({ id: 'minecraft:cookie' }) + //#endregion + + //#region Торт + e.remove({ id: 'minecraft:cake' }) + e.remove({ id: 'create:crafting/curiosities/cake' }) + //#endregion + + //#region Грибной суп + e.remove({ id: 'createlowheated:mixing/minecraft/mushroom_stew' }) + //#endregion + + //#region Свекольный суп + e.remove({ id: 'createlowheated:mixing/minecraft/beetroot_soup' }) + //#endregion + + //#region Кроличий суп + e.remove({ id: 'createlowheated:mixing/minecraft/rabbit_stew' }) + //#endregion + + //#region Уголь + e.remove({ id: 'minecraft:coal_from_smelting_coal_ore' }) + e.remove({ id: 'minecraft:coal_from_smelting_deepslate_coal_ore' }) + + e.remove({ id: 'minecraft:coal_from_blasting_coal_ore' }) + e.remove({ id: 'minecraft:coal_from_blasting_deepslate_coal_ore' }) + //#endregion + + //#region Сырая железная руда + e.remove({ id: 'minecraft:raw_iron' }) + //#endregion + + //#region Сырая медная руда + e.remove({ id: 'minecraft:raw_copper' }) + //#endregion + + //#region Сырая золотая руда + e.remove({ id: 'minecraft:raw_gold' }) + //#endregion + + //#region Изумруды + e.remove({ id: 'minecraft:emerald_from_smelting_emerald_ore' }) + e.remove({ id: 'minecraft:emerald_from_smelting_deepslate_emerald_ore' }) + + e.remove({ id: 'minecraft:emerald_from_blasting_emerald_ore' }) + e.remove({ id: 'minecraft:emerald_from_blasting_deepslate_emerald_ore' }) + //#endregion + + //#region Лазурит + e.remove({ id: 'minecraft:lapis_lazuli_from_smelting_lapis_ore' }) + e.remove({ id: 'minecraft:lapis_lazuli_from_smelting_deepslate_lapis_ore' }) + + e.remove({ id: 'minecraft:lapis_lazuli_from_blasting_lapis_ore' }) + e.remove({ id: 'minecraft:lapis_lazuli_from_blasting_deepslate_lapis_ore' }) + //#endregion + + //#region Алмазы + e.remove({ id: 'minecraft:diamond_from_smelting_diamond_ore' }) + e.remove({ id: 'minecraft:diamond_from_smelting_deepslate_diamond_ore' }) + + e.remove({ id: 'minecraft:diamond_from_blasting_diamond_ore' }) + e.remove({ id: 'minecraft:diamond_from_blasting_deepslate_diamond_ore' }) + //#endregion + + //#region Кварц + e.remove({ id: 'minecraft:quartz' }) + e.remove({ id: 'minecraft:quartz_from_blasting' }) + //#endregion + + //#region Железный самородок + e.remove({ id: 'minecraft:iron_nugget_from_smelting' }) + e.remove({ id: 'minecraft:iron_nugget_from_blasting' }) + e.remove({ id: 'create:crushing/crimsite' }) + e.remove({ id: 'create:crushing/tuff_recycling' }) + e.remove({ id: 'create:crushing/crimsite_recycling' }) + e.remove({ id: 'create:crushing/tuff' }) + e.remove({ id: 'create:splashing/crushed_raw_iron' }) + e.remove({ id: 'create:splashing/gravel' }) + //#endregion + + //#region Золотой самородок + e.remove({ id: 'minecraft:gold_nugget_from_smelting' }) + e.remove({ id: 'minecraft:gold_nugget_from_blasting' }) + e.remove({ id: 'create:crushing/ochrum_recycling' }) + e.remove({ id: 'create:crushing/tuff_recycling' }) + e.remove({ id: 'create:crushing/tuff' }) + e.remove({ id: 'create:crushing/ochrum' }) + e.remove({ id: 'create:splashing/crushed_raw_gold' }) + //#endregion + + //#region Железо + e.remove({ id: 'minecraft:iron_ingot_from_smelting_iron_ore' }) + e.remove({ id: 'minecraft:iron_ingot_from_smelting_deepslate_iron_ore' }) + + e.remove({ id: 'minecraft:iron_ingot_from_blasting_iron_ore' }) + e.remove({ id: 'minecraft:iron_ingot_from_blasting_deepslate_iron_ore' }) + //#endregion + + //#region Медь + e.remove({ id: 'minecraft:copper_ingot_from_smelting_copper_ore' }) + e.remove({ id: 'minecraft:copper_ingot_from_smelting_deepslate_copper_ore' }) + + e.remove({ id: 'minecraft:copper_ingot_from_blasting_copper_ore' }) + e.remove({ id: 'minecraft:copper_ingot_from_blasting_deepslate_copper_ore' }) + //#endregion + + //#region Золото + e.remove({ id: 'minecraft:gold_ingot_from_smelting_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_smelting_deepslate_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_smelting_nether_gold_ore' }) + + e.remove({ id: 'minecraft:gold_ingot_from_blasting_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_blasting_deepslate_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_blasting_nether_gold_ore' }) + //#endregion + + //#region Незеритовый лом + e.remove({ id: 'minecraft:netherite_scrap' }) + e.remove({ id: 'minecraft:netherite_scrap_from_blasting' }) + //#endregion + + //#region Незеритовый слиток + e.remove({ id: 'minecraft:netherite_ingot' }) + //#endregion + + //#region Палки + e.remove({ id: 'gtceu:shaped/stick_normal' }) + e.remove({ id: 'minecraft:stick_from_bamboo_item' }) + //#endregion + + //#region Кремний + e.remove({ id: 'gtceu:shapeless/gravel_to_flint' }) + e.remove({ id: 'gtceu:sifter/gravel_sifting' }) + + e.shapeless('minecraft:flint', [ + '#tfc:rock/gravel', + '#forge:tools/mortars' + ]).id('tfg:workbench/gravel_to_flint') + + e.recipes.gtceu.sifter('tfg: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 Кожа + e.remove({ id: 'minecraft:leather' }) + e.remove({ id: 'create:crushing/leather_horse_armor' }) + e.remove({ id: 'create:milling/saddle' }) + //#endregion + + //#region Светящийся мешок с чернилами + e.recipes.gtceu.assembler('tfg:glow_ink_sac') + .itemInputs('minecraft:ink_sac') + .inputFluids(Fluid.of('gtceu:glowstone', 144)) + .itemOutputs('minecraft:glow_ink_sac') + .EUt(16).duration(100) + //#endregion + + //#region Слаймболл + e.remove({ id: 'create:crafting/appliances/slime_ball' }) + //#endregion + + //#region Глина + e.remove({ id: 'create:milling/dripstone_block' }) + e.remove({ id: 'create:splashing/sand' }) + e.remove({ id: 'create:splashing/crushed_raw_copper' }) + //#endregion + + //#region Призмарин + e.remove({ id: 'create:haunting/lapis_recycling' }) + //#endregion + + //#region Прожаренный фрукт хоруса + e.remove({ id: 'minecraft:popped_chorus_fruit' }) + //#endregion + + //#region Красители + + //#region Белый + e.remove({ id: 'minecraft:white_dye_from_lily_of_the_valley' }) + + e.remove({ id: 'gtceu:extractor/lily_of_the_valley_dye' }) + + e.remove({ id: 'create:milling/lily_of_the_valley' }) + e.remove({ id: 'create:milling/azure_bluet' }) + e.remove({ id: 'create:milling/compat/botania/white_petal' }) + e.remove({ id: 'create:milling/white_tulip' }) + e.remove({ id: 'create:milling/oxeye_daisy' }) + + e.recipes.gtceu.extractor('tfg:white_dye') + .itemInputs('#tfc:makes_white_dye') + .itemOutputs('2x minecraft:white_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:white_dye', '#tfc:makes_white_dye') + .id('tfg:milling/white_dye') + //#endregion + + //#region Светло-серый + e.remove({ id: 'minecraft:light_gray_dye_from_azure_bluet' }) + e.remove({ id: 'minecraft:light_gray_dye_from_white_tulip' }) + e.remove({ id: 'minecraft:light_gray_dye_from_oxeye_daisy' }) + + e.remove({ id: 'tfc:crafting/vanilla/light_gray_dye_from_native_silver' }) + + e.remove({ id: 'gtceu:extractor/white_tulip_dye' }) + e.remove({ id: 'gtceu:extractor/azure_bluet_dye' }) + e.remove({ id: 'gtceu:extractor/oxeye_daisy_dye' }) + + e.remove({ id: 'create:milling/blue_orchid' }) + e.remove({ id: 'create:milling/azure_bluet' }) + e.remove({ id: 'create:milling/compat/botania/light_gray_petal' }) + e.remove({ id: 'create:milling/oxeye_daisy' }) + + e.recipes.gtceu.extractor('tfg:light_gray_dye') + .itemInputs('#tfc:makes_light_gray_dye') + .itemOutputs('2x minecraft:light_gray_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:light_gray_dye', '#tfc:makes_light_gray_dye') + .id('tfg:milling/light_gray_dye') + //#endregion + + //#region Серый + e.remove({ id: 'tfc:crafting/vanilla/gray_dye_from_cassiterite' }) + e.remove({ id: 'tfc:crafting/vanilla/gray_dye_from_magnetite' }) + e.remove({ id: 'tfc:crafting/vanilla/gray_dye_from_sphalerite' }) + e.remove({ id: 'tfc:crafting/vanilla/gray_dye_from_tetrahedrite' }) + e.remove({ id: 'create:milling/compat/botania/gray_petal' }) + //#endregion + + //#region Черный + e.remove({ id: 'minecraft:black_dye_from_wither_rose' }) + e.remove({ id: 'gtceu:extractor/wither_rose_dye' }) + e.remove({ id: 'tfc:crafting/vanilla/black_dye_from_charcoal' }) + e.remove({ id: 'tfc:crafting/vanilla/black_dye_from_coke' }) + e.remove({ id: 'create:milling/compat/botania/black_petal' }) + e.remove({ id: 'create:milling/wither_rose' }) + //#endregion + + //#region Коричневый + e.remove({ id: 'minecraft:brown_dye' }) + e.remove({ id: 'tfc:crafting/vanilla/brown_dye_from_garnierite' }) + e.remove({ id: 'create:milling/compat/botania/brown_petal' }) + e.remove({ id: 'create:milling/cocoa_beans' }) + + e.recipes.gtceu.extractor('tfg:brown_dye') + .itemInputs('#tfc:makes_brown_dye') + .itemOutputs('2x minecraft:brown_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:brown_dye', '#tfc:makes_brown_dye') + .id('tfg:milling/brown_dye') + //#endregion + + //#region Красный + e.remove({ id: 'minecraft:red_dye_from_poppy' }) + e.remove({ id: 'minecraft:red_dye_from_tulip' }) + e.remove({ id: 'minecraft:red_dye_from_rose_bush' }) + e.remove({ id: 'minecraft:red_dye_from_beetroot' }) + + e.remove({ id: 'tfc:crafting/vanilla/red_dye_from_hematite' }) + + e.remove({ id: 'gtceu:extractor/rose_bush_dye' }) + e.remove({ id: 'gtceu:extractor/red_tulip_dye' }) + e.remove({ id: 'gtceu:extractor/poppy_dye' }) + e.remove({ id: 'gtceu:extractor/beetroot_dye' }) + + e.remove({ id: 'coralstfc:milling/coral_block_red' }) + e.remove({ id: 'create:milling/red_tulip' }) + e.remove({ id: 'create:milling/rose_bush' }) + e.remove({ id: 'coralstfc:milling/coral_red' }) + e.remove({ id: 'create:milling/poppy' }) + e.remove({ id: 'create:milling/compat/botania/red_petal' }) + + e.recipes.gtceu.extractor('tfg:red_dye') + .itemInputs('1x #tfc:makes_red_dye') + .itemOutputs('2x minecraft:red_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:red_dye', '#tfc:makes_red_dye') + .id('tfg:milling/red_dye') + //#endregion + + //#region Оранжевый + e.remove({ id: 'minecraft:orange_dye_from_orange_tulip' }) + e.remove({ id: 'minecraft:orange_dye_from_torchflower' }) + + e.remove({ id: 'tfc:crafting/vanilla/orange_dye_from_sylvite' }) + e.remove({ id: 'tfc:crafting/vanilla/orange_dye_from_native_copper' }) + + e.remove({ id: 'gtceu:extractor/orange_tulip_dye' }) + e.remove({ id: 'gtceu:extractor/torchflower_dye' }) + + e.remove({ id: 'create:milling/orange_tulip' }) + e.remove({ id: 'create:milling/compat/botania/orange_petal' }) + e.remove({ id: 'create:milling/sunflower' }) + + e.recipes.gtceu.extractor('tfg:orange_dye') + .itemInputs('#tfc:makes_orange_dye') + .itemOutputs('2x minecraft:orange_dye') + .duration(200) + .EUt(2) + + e.recipes.createMilling('2x minecraft:orange_dye', '#tfc:makes_orange_dye') + .id('tfg:milling/orange_dye') + //#endregion + + //#region Желтый + e.remove({ id: 'minecraft:yellow_dye_from_sunflower' }) + e.remove({ id: 'minecraft:yellow_dye_from_dandelion' }) + + e.remove({ id: 'tfc:crafting/vanilla/yellow_dye_from_limonite' }) + + e.remove({ id: 'gtceu:extractor/sunflower_dye' }) + e.remove({ id: 'gtceu:extractor/dandelion_dye' }) + + e.remove({ id: 'coralstfc:milling/coral_block_yellow' }) + e.remove({ id: 'create:milling/compat/botania/yellow_petal' }) + e.remove({ id: 'coralstfc:milling/coral_yellow' }) + e.remove({ id: 'create:milling/sunflower' }) + e.remove({ id: 'create:milling/dandelion' }) + e.remove({ id: 'create:milling/oxeye_daisy' }) + + e.recipes.gtceu.extractor('tfg:yellow_dye') + .itemInputs('#tfc:makes_yellow_dye') + .itemOutputs('2x minecraft:yellow_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:yellow_dye', '#tfc:makes_yellow_dye') + .id('tfg:milling/yellow_dye') + + + //#endregion + + //#region Лаймовый + e.remove({ id: 'minecraft:lime_dye_from_smelting' }) + + e.remove({ id: 'gtceu:extractor/sea_pickle_dye' }) + + e.remove({ id: 'create:milling/pink_tulip' }) + e.remove({ id: 'create:milling/compat/botania/lime_petal' }) + e.remove({ id: 'create:milling/red_tulip' }) + e.remove({ id: 'create:milling/lily_of_the_valley' }) + e.remove({ id: 'create:milling/orange_tulip' }) + e.remove({ id: 'create:milling/white_tulip' }) + e.remove({ id: 'create:milling/sea_pickle' }) + + e.recipes.gtceu.extractor('tfg:lime_dye') + .itemInputs('#tfc:makes_lime_dye') + .itemOutputs('2x minecraft:lime_dye') + .duration(200) + .EUt(2) + + e.recipes.createMilling('2x minecraft:lime_dye', '#tfc:makes_lime_dye') + .id('tfg:milling/lime_dye') + //#endregion + + //#region Зеленый + e.remove({ id: 'tfc:crafting/vanilla/green_dye_from_bismuthinite' }) + e.remove({ id: 'tfc:crafting/vanilla/green_dye_from_malachite' }) + + e.remove({ id: 'minecraft:green_dye' }) + + e.remove({ id: 'create:milling/rose_bush' }) + e.remove({ id: 'create:milling/compat/botania/green_petal' }) + e.remove({ id: 'create:milling/cactus' }) + e.remove({ id: 'create:milling/poppy' }) + e.remove({ id: 'create:milling/sea_pickle' }) + + e.recipes.gtceu.extractor('tfg:green_dye') + .itemInputs('#tfc:makes_green_dye') + .itemOutputs('2x minecraft:green_dye') + .duration(200) + .EUt(2) + + e.recipes.createMilling('2x minecraft:green_dye', '#tfc:makes_green_dye') + .id('tfg:milling/green_dye') + //#endregion + + //#region Бирюзовый + e.remove({ id: 'minecraft:cyan_dye_from_pitcher_plant' }) + e.remove({ id: 'gtceu:extractor/pitcher_dye' }) + e.remove({ id: 'create:milling/compat/botania/cyan_petal' }) + //#endregion + + //#region Светло-синий + e.remove({ id: 'minecraft:light_blue_dye_from_blue_orchid' }) + e.remove({ id: 'gtceu:extractor/blue_orchid_dye' }) + e.remove({ id: 'create:milling/blue_orchid' }) + e.remove({ id: 'create:milling/compat/botania/light_blue_petal' }) + e.remove({ id: 'gtceu:extractor/blue_orchid_dye' }) + + e.recipes.gtceu.extractor('tfg:light_blue_dye') + .itemInputs('#tfc:makes_light_blue_dye') + .itemOutputs('2x minecraft:light_blue_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:light_blue_dye', '#tfc:makes_light_blue_dye') + .id('tfg:milling/light_blue_dye') + //#endregion + + //#region Синий + e.remove({ id: 'minecraft:blue_dye_from_cornflower' }) + e.remove({ id: 'minecraft:blue_dye' }) + e.remove({ id: 'tfc:crafting/vanilla/blue_dye_from_lapis_lazuli' }) + e.remove({ id: 'tfc:crafting/vanilla/blue_dye_from_graphite' }) + e.remove({ id: 'gtceu:extractor/cornflower_dye' }) + + e.remove({ id: 'create:milling/cornflower' }) + e.remove({ id: 'create:milling/compat/botania/blue_petal' }) + e.remove({ id: 'create:milling/lapis_lazuli' }) + e.remove({ id: 'coralstfc:milling/coral_blue' }) + e.remove({ id: 'coralstfc:milling/coral_block_blue' }) + + e.recipes.gtceu.extractor('tfg:blue_dye') + .itemInputs('#tfc:makes_blue_dye') + .itemOutputs('2x minecraft:blue_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:blue_dye', '#tfc:makes_blue_dye') + .id('tfg:milling/blue_dye') + //#endregion + + //#region Фиолетовый + e.remove({ id: 'create:milling/allium' }) + e.remove({ id: 'create:milling/lilac' }) + e.remove({ id: 'create:milling/compat/botania/purple_petal' }) + e.remove({ id: 'coralstfc:milling/coral_purple' }) + e.remove({ id: 'coralstfc:milling/coral_block_purple' }) + + e.recipes.gtceu.extractor('tfg:purple_dye') + .itemInputs('#tfc:makes_purple_dye') + .itemOutputs('2x minecraft:purple_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:purple_dye', '#tfc:makes_purple_dye') + .id('tfg:milling/purple_dye') + //#endregion + + //#region Пурпурный + e.remove({ id: 'minecraft:magenta_dye_from_allium' }) + e.remove({ id: 'minecraft:magenta_dye_from_lilac' }) + + e.remove({ id: 'gtceu:extractor/lilac_dye' }) + e.remove({ id: 'gtceu:extractor/allium_dye' }) + + e.remove({ id: 'create:milling/compat/botania/magenta_petal' }) + e.remove({ id: 'create:milling/peony' }) + e.remove({ id: 'create:milling/allium' }) + e.remove({ id: 'create:milling/lilac' }) + + e.recipes.gtceu.extractor('tfg:magenta_dye') + .itemInputs('#tfc:makes_magenta_dye') + .itemOutputs('2x minecraft:magenta_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:magenta_dye', '#tfc:makes_magenta_dye') + .id('tfg:milling/magenta_dye') + //#endregion + + //#region Розовый + e.remove({ id: 'minecraft:pink_dye_from_pink_tulip' }) + e.remove({ id: 'minecraft:pink_dye_from_pink_petals' }) + e.remove({ id: 'minecraft:pink_dye_from_peony' }) + + e.remove({ id: 'tfc:crafting/vanilla/pink_dye_from_kaolinite' }) + + e.remove({ id: 'gtceu:extractor/pink_petals_dye' }) + e.remove({ id: 'gtceu:extractor/peony_dye' }) + e.remove({ id: 'gtceu:extractor/pink_tulip_dye' }) + + e.remove({ id: 'create:milling/pink_tulip' }) + e.remove({ id: 'create:milling/peony' }) + e.remove({ id: 'create:milling/compat/botania/pink_petal' }) + e.remove({ id: 'create:milling/allium' }) + + e.remove({ id: 'coralstfc:milling/coral_pink' }) + e.remove({ id: 'coralstfc:milling/coral_block_pink' }) + + e.recipes.gtceu.extractor('tfg:pink_dye') + .itemInputs('#tfc:makes_pink_dye') + .itemOutputs('2x minecraft:pink_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:pink_dye', '#tfc:makes_pink_dye') + .id('tfg:milling/pink_dye') + //#endregion + + //#endregion + + + + + + + + + + + + + + + + + + + + + + + + + + + // e.shaped('minecraft:', [ + // 'ABA', + // 'BCB', + // 'DED' + // ], { + // A: '', + // B: '', + // C: '', + // D: '', + // E: '', + // }).id('tfg:workbench/') + + + //#region 1 + //e.remove({ id: '' }) + //#endregion + + //#region + //#endregion + + //#region 1 + //e.remove({ id: '' }) + //#endregion + + //#region Выход: Бумага + + // e.remove({ id: 'gtceu:shaped/paper' }) + + // e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) + // e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) + + // e.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) + + // e.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 Выход: Сахар + + // e.remove({ id: 'gtceu:shaped/sugar' }) + // e.remove({ id: 'minecraft:sugar_from_honey_bottle' }) + // e.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) + + // e.recipes.gtceu.centrifuge('sugar') + // .itemInputs('tfc:food/sugarcane') + // .inputFluids(Fluid.of('minecraft:water', 600)) + // .itemOutputs('minecraft:sugar') + // .duration(800) + // .EUt(6) + + //#endregion + + //#region Выход: Ферментированный паучий глаз + + // e.remove({ id: 'minecraft:fermented_spider_eye' }) + // e.remove({ id: 'gtceu:mixer/fermented_spider_eye_red' }) + // e.remove({ id: 'gtceu:mixer/fermented_spider_eye_brown' }) + // e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_red' }) + // e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_brown' }) + + //#endregion + + //#region Выход: Светящийся арбуз + + // e.shaped('minecraft:glistering_melon_slice', [ + // 'AAA', + // 'ABA', + // 'AAA' + // ], { + // A: '#forge:nuggets/gold', + // B: 'tfc:food/melon_slice' + // }).id('minecraft:glistering_melon_slice') + + // e.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) + + // e.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 Выход: Книга + + // e.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) + + // e.shapeless('minecraft:book', [ + // 'minecraft:paper', 'minecraft:paper', 'minecraft:paper', 'minecraft:leather' + // ]).id('minecraft:book') + + //#endregion + + //#region Шаблоны брони + // e.remove({id: 'minecraft:wild_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:wayfinder_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:ward_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:vex_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:tide_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:spire_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:snout_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:silence_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:shaper_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:sentry_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:rib_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:raiser_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:host_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:eye_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:dune_armor_trim_smithing_template_smithing_trim'}) + // e.remove({id: 'minecraft:coast_armor_trim_smithing_template_smithing_trim'}) + + // e.remove({ id: 'minecraft:coast_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:vex_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:host_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:rib_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:spire_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:tide_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:eye_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:raiser_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:wild_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:shaper_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:snout_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:dune_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) + // e.remove({ id: 'minecraft:wayfinder_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:ward_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:silence_armor_trim_smithing_template' }) + // e.remove({ id: 'minecraft:sentry_armor_trim_smithing_template' }) + //#endregion +} + diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 5069ac6bb..e40db939d 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -227,6 +227,11 @@ const registerTFCItemTags = (event) => { }) //#endregion + //#region Теги для обхединения яблок + event.add(`tfg:all_apples`, `tfc:food/red_apple`) + event.add(`tfg:all_apples`, `tfc:food/green_apple`) + //#endregion + //#region Удаление тегов и скрытие руд const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds From 05a7b7bdde9375bde52f2bf5c64ceb7d241c6d93 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 28 Sep 2024 16:58:19 +0700 Subject: [PATCH 182/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index e9acdf769..fda6d71d0 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit e9acdf7697eb8dd8fcf54ce4d82e6bacc0d61a4f +Subproject commit fda6d71d0de9344b87ce5c0f71d32ec09abb915a From 862508f3cae622728639dc936bab4ca84ccc5654 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Mon, 30 Sep 2024 21:38:53 +0500 Subject: [PATCH 183/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index fda6d71d0..e9acdf769 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit fda6d71d0de9344b87ce5c0f71d32ec09abb915a +Subproject commit e9acdf7697eb8dd8fcf54ce4d82e6bacc0d61a4f From 3809650921cec1dc4c8cdf8248a52c150546d313 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Tue, 1 Oct 2024 02:02:44 +0500 Subject: [PATCH 184/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index e9acdf769..6c59bc9f8 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit e9acdf7697eb8dd8fcf54ce4d82e6bacc0d61a4f +Subproject commit 6c59bc9f83c410e7dc5ea86f756d3327be664717 From b1dace56638220a0a2457c578fae028fdc0efddb Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Tue, 1 Oct 2024 02:04:33 +0500 Subject: [PATCH 185/266] Update tfcea-server.toml --- global-server-configs/tfcea-server.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/global-server-configs/tfcea-server.toml b/global-server-configs/tfcea-server.toml index 087adc875..b74376595 100644 --- a/global-server-configs/tfcea-server.toml +++ b/global-server-configs/tfcea-server.toml @@ -2,5 +2,5 @@ [general] #The modifier for the 'Refrigerating' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. #Range: 0.0 ~ 1.7976931348623157E308 - traitRefrigeratingModifier = 0.125 + traitRefrigeratingModifier = 0.066 From cbb25da71e36a2751ba0ba7e291eeae25261448c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 1 Oct 2024 22:57:04 +0700 Subject: [PATCH 186/266] Use snapshot gt --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index fda6d71d0..06042aa49 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit fda6d71d0de9344b87ce5c0f71d32ec09abb915a +Subproject commit 06042aa49e8447cd96fd2e94c0c18a81cc3d2736 From d9c1aae4f03236c370b4286ccd15c313f3e843d0 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 1 Oct 2024 22:57:17 +0700 Subject: [PATCH 187/266] more recipes --- kubejs/server_scripts/alekiroofs/recipes.js | 136 ++ kubejs/server_scripts/gregtech/recipes.js | 52 +- kubejs/server_scripts/main_server_script.js | 4 +- kubejs/server_scripts/minecraft/recipes.js | 44 +- kubejs/server_scripts/minecraft/tags.js | 4 +- kubejs/startup_scripts/minecraft/constants.js | 1090 ++++++++--------- 6 files changed, 688 insertions(+), 642 deletions(-) diff --git a/kubejs/server_scripts/alekiroofs/recipes.js b/kubejs/server_scripts/alekiroofs/recipes.js index ad7827a64..84d57293d 100644 --- a/kubejs/server_scripts/alekiroofs/recipes.js +++ b/kubejs/server_scripts/alekiroofs/recipes.js @@ -2,5 +2,141 @@ const registerAlekiRoofsRecipes = (e) => { + e.remove({ id: 'alekiroofs:crafting/brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/brick_roofing_from_stonecutting' }) + e.remove({ id: 'alekiroofs:crafting/cobbled_deepslate_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/cobbled_deepslate_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/polished_deepslate_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/polished_deepslate_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/deepslate_tile_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/deepslate_tile_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/deepslate_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/deepslate_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/andesite_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/andesite_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/polished_andesite_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/polished_andesite_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/granite_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/granite_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/polished_granite_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/polished_granite_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/diorite_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/diorite_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/polished_diorite_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/polished_diorite_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/stone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/stone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/cobblestone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/cobblestone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/mossy_cobblestone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/mossy_cobblestone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/stone_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/stone_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/mossy_stone_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/mossy_stone_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/blackstone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/blackstone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/polished_blackstone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/polished_blackstone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/polished_blackstone_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/polished_blackstone_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/prismarine_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/prismarine_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/dark_prismarine_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/dark_prismarine_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/prismarine_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/prismarine_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/purpur_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/purpur_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/end_stone_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/end_stone_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/mud_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/mud_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/sandstone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/sandstone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/smooth_sandstone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/smooth_sandstone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/red_sandstone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/red_sandstone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/smooth_red_sandstone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/smooth_red_sandstone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/quartz_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/quartz_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/smooth_quartz_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/smooth_quartz_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/nether_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/nether_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/red_nether_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/red_nether_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/exposed_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/exposed_cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/weathered_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/weathered_cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/oxidized_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/oxidized_cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/waxed_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:crafting/waxed_cut_copper_roofing_from_honeycomb' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/waxed_cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/waxed_exposed_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:crafting/waxed_exposed_cut_copper_roofing_from_honeycomb' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/waxed_exposed_cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/waxed_weathered_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:crafting/waxed_weathered_cut_copper_roofing_from_honeycomb' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/waxed_weathered_cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/waxed_oxidized_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:crafting/waxed_oxidized_cut_copper_roofing_from_honeycomb' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/waxed_oxidized_cut_copper_roofing_from_stonecutting' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index a957b6453..71dacd9bc 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -814,6 +814,41 @@ const registerGregTechRecipes = (event) => { }) //#endregion + + //#region Рецепты из ванильного камня + + event.remove({ id: 'gtceu:lathe/stone_rod_from_stone' }) + event.remove({ id: 'gtceu:lathe/stone_rod_from_cobblestone' }) + + // Из сырого камня + event.recipes.gtceu.lathe('tfg:stone_rod_from_stone') + .itemInputs('#tfc:rock/raw') + .itemOutputs('gtceu:stone_rod', 'gtceu:small_stone_dust') + .EUt(7).duration(20) + + + // Из булыжника + event.recipes.gtceu.lathe('tfg:stone_rod_from_cobblestone') + .itemInputs('#forge:cobblestone') + .itemOutputs('gtceu:stone_rod', 'gtceu:small_stone_dust') + .EUt(7).duration(20) + + //#endregion + + //#region Рецепты каменной пыли + //#endregion + + //#region Рецепты средней каменной пыли + event.remove({ id: 'gtceu:macerator/macerate_stone_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_slab' }) + //#endregion + + //#region Рецепты мелкой каменной пыли + //#endregion + + //#region Рецепты маскировочных крышек + // event.remove({ id: 'gtceu:crafting/facade_cover' }) + //#endregion } const registerGregTechRecipes1 = (event) => { @@ -839,6 +874,9 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Удобрение + //#region Chad + //#endregion + // В обычном миксере event.recipes.gtceu.mixer('fertilizer') .itemInputs( @@ -958,19 +996,7 @@ const registerGregTechRecipes1 = (event) => { //#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 diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 01b127831..8722af08b 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -116,8 +116,8 @@ ServerEvents.recipes(event => { // registerEtchedRecipes(event) // registerFirmaCivRecipes(event) // registerFirmaLifeRecipes(event) - // registerFramedBlocksRecipes(event) - // registerFTBQuestsRecipes(event) + registerFramedBlocksRecipes(event) + registerFTBQuestsRecipes(event) registerGregTechRecipes(event) // registerHandGliderRecipes(event) // registerHotOrNotRecipes(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index b05902b6f..8708c51cb 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3054,6 +3054,7 @@ const registerMinecraftRecipes = (e) => { global.MINECRAFT_DYE_NAMES.forEach(dye => { e.remove({ id: `minecraft:${dye}_candle` }) e.remove({ id: `gtceu:chemical_bath/${dye}_candle_to_white` }) + e.remove({ id: `gtceu:chemical_bath/dye_candle_to_${dye}` }) }) //#endregion @@ -5062,7 +5063,27 @@ const registerMinecraftRecipes = (e) => { //#endregion + //#region Выход: Бумага + e.remove({ id: 'gtceu:shaped/paper' }) + e.remove({ id: 'create:pressing/sugar_cane' }) + + e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) + e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) + + e.recipes.gtceu.chemical_bath('tfg:paper_from_papyrus') + .itemInputs('tfc:papyrus') + .inputFluids(Fluid.of('minecraft:water', 100)) + .itemOutputs('minecraft:paper') + .EUt(7).duration(100) + + e.recipes.gtceu.chemical_bath('tfg:paper_from_papyrus_distilled') + .itemInputs('tfc:papyrus') + .inputFluids(Fluid.of('gtceu:distilled_water', 100)) + .itemOutputs('minecraft:paper') + .EUt(7).duration(100) + + //#endregion @@ -5111,28 +5132,7 @@ const registerMinecraftRecipes = (e) => { //e.remove({ id: '' }) //#endregion - //#region Выход: Бумага - - // e.remove({ id: 'gtceu:shaped/paper' }) - - // e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) - // e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) - - // e.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) - - // e.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 Выход: Сахар diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 4b4c511db..6616f4e9b 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -3,11 +3,11 @@ const registerMinecraftItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) + // event.add('c:hidden_from_recipe_viewers', item) }) global.MINECRAFT_HIDED_ITEMS.forEach(item => { - event.add('c:hidden_from_recipe_viewers', item) + // event.add('c:hidden_from_recipe_viewers', item) }) //#region Ванильные пиломатериалы в TFC тег diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 247a66c0f..96baad4af 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -187,301 +187,296 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:mangrove_hanging_sign", //#endregion + //#region Бамбук + 'minecraft:bamboo_raft', + 'minecraft:bamboo_chest_raft', //#endregion + //#endregion + + //#region Зараженные блоки + 'minecraft:infested_stone', + 'minecraft:infested_cobblestone', + 'minecraft:infested_stone_bricks', + 'minecraft:infested_mossy_stone_bricks', + 'minecraft:infested_cracked_stone_bricks', + 'minecraft:infested_chiseled_stone_bricks', + 'minecraft:infested_deepslate', + //#endregion + + //#region Каменные блоки + 'minecraft:stone', + 'minecraft:stone_stairs', + 'minecraft:stone_slab', + 'minecraft:stone_pressure_plate', + 'minecraft:stone_button', + 'minecraft:smooth_stone', + 'minecraft:smooth_stone_slab', + 'minecraft:cobblestone', + 'minecraft:cobblestone_stairs', + 'minecraft:cobblestone_slab', + 'minecraft:cobblestone_wall', + 'minecraft:stone_bricks', + 'minecraft:stone_brick_stairs', + 'minecraft:stone_brick_slab', + 'minecraft:stone_brick_wall', + 'minecraft:cracked_stone_bricks', + 'minecraft:chiseled_stone_bricks', + 'minecraft:mossy_stone_bricks', + 'minecraft:mossy_stone_brick_stairs', + 'minecraft:mossy_stone_brick_slab', + 'minecraft:mossy_stone_brick_wall', + 'minecraft:mossy_cobblestone', + 'minecraft:mossy_cobblestone_stairs', + 'minecraft:mossy_cobblestone_slab', + 'minecraft:mossy_cobblestone_wall', + //#endregion - // Зараженные блоки - // 'minecraft:infested_stone', - // 'minecraft:infested_cobblestone', - // 'minecraft:infested_stone_bricks', - // 'minecraft:infested_mossy_stone_bricks', - // 'minecraft:infested_cracked_stone_bricks', - // 'minecraft:infested_chiseled_stone_bricks', - // 'minecraft:infested_deepslate', - - // Каменные блоки - // 'minecraft:stone', - // 'minecraft:stone_stairs', - // 'minecraft:stone_slab', - // 'minecraft:stone_pressure_plate', - // 'minecraft:stone_button', - // 'minecraft:smooth_stone', - // 'minecraft:smooth_stone_slab', - // 'minecraft:cobblestone', - // 'minecraft:cobblestone_stairs', - // 'minecraft:cobblestone_slab', - // 'minecraft:cobblestone_wall', - // 'minecraft:stone_bricks', - // 'minecraft:stone_brick_stairs', - // 'minecraft:stone_brick_slab', - // 'minecraft:stone_brick_wall', - // 'minecraft:cracked_stone_bricks', - // 'minecraft:chiseled_stone_bricks', - // 'minecraft:mossy_stone_bricks', - // 'minecraft:mossy_stone_brick_stairs', - // 'minecraft:mossy_stone_brick_slab', - // 'minecraft:mossy_stone_brick_wall', - // 'minecraft:mossy_cobblestone', - // 'minecraft:mossy_cobblestone_stairs', - // 'minecraft:mossy_cobblestone_slab', - // 'minecraft:mossy_cobblestone_wall', - - // Гранитовые блоки - // 'minecraft:granite', - // 'minecraft:granite_stairs', - // 'minecraft:granite_slab', - // 'minecraft:granite_wall', - // 'minecraft:polished_granite', - // 'minecraft:polished_granite_stairs', - // 'minecraft:polished_granite_slab', + //#region Гранитовые блоки + 'minecraft:granite', + 'minecraft:granite_stairs', + 'minecraft:granite_slab', + 'minecraft:granite_wall', + 'minecraft:polished_granite', + 'minecraft:polished_granite_stairs', + 'minecraft:polished_granite_slab', + //#endregion - // Диоритовые блоки - // 'minecraft:diorite', - // 'minecraft:diorite_stairs', - // 'minecraft:diorite_slab', - // 'minecraft:diorite_wall', - // 'minecraft:polished_diorite', - // 'minecraft:polished_diorite_stairs', - // 'minecraft:polished_diorite_slab', + //#region Диоритовые блоки + 'minecraft:diorite', + 'minecraft:diorite_stairs', + 'minecraft:diorite_slab', + 'minecraft:diorite_wall', + 'minecraft:polished_diorite', + 'minecraft:polished_diorite_stairs', + 'minecraft:polished_diorite_slab', + //#endregion + + //#region Андезитовые блоки + 'minecraft:andesite', + 'minecraft:andesite_stairs', + 'minecraft:andesite_slab', + 'minecraft:andesite_wall', + 'minecraft:polished_andesite', + 'minecraft:polished_andesite_stairs', + 'minecraft:polished_andesite_slab', + //#endregion + + //#region Эндерняк + 'minecraft:end_stone', + 'minecraft:end_stone_bricks', + 'minecraft:end_stone_brick_stairs', + 'minecraft:end_stone_brick_slab', + 'minecraft:end_stone_brick_wall', + //#endregion + + //#region Призмарин + 'minecraft:prismarine', + 'minecraft:prismarine_stairs', + 'minecraft:prismarine_slab', + 'minecraft:prismarine_wall', + 'minecraft:prismarine_bricks', + 'minecraft:prismarine_brick_stairs', + 'minecraft:prismarine_brick_slab', + 'minecraft:dark_prismarine', + 'minecraft:dark_prismarine_stairs', + 'minecraft:dark_prismarine_slab', + + 'minecraft:prismarine_crystals', + 'minecraft:prismarine_shard', + //#endregion + + //#region Глубоко-Сланец + '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', + //#endregion + + //#region Грязь + 'minecraft:mud_brick_wall', + 'minecraft:packed_mud', + 'minecraft:mud_bricks', + 'minecraft:mud_brick_stairs', + 'minecraft:mud_brick_slab', + //#endregion - // Андезитовые блоки - // 'minecraft:andesite', - // 'minecraft:andesite_stairs', - // 'minecraft:andesite_slab', - // 'minecraft:andesite_wall', - // 'minecraft:polished_andesite', - // 'minecraft:polished_andesite_stairs', - // 'minecraft:polished_andesite_slab', + //#region Песок + 'minecraft:sandstone', + 'minecraft:sandstone_stairs', + 'minecraft:sandstone_slab', + 'minecraft:sandstone_wall', + 'minecraft:smooth_sandstone', + 'minecraft:smooth_sandstone_stairs', + 'minecraft:smooth_sandstone_slab', + 'minecraft:cut_sandstone', + 'minecraft:cut_sandstone_slab', + 'minecraft:chiseled_sandstone', + 'minecraft:sand', + 'minecraft:suspicious_sand', + //#endregion + + //#region Красный песок + 'minecraft:red_sandstone', + 'minecraft:red_sandstone_stairs', + 'minecraft:red_sandstone_slab', + 'minecraft:red_sandstone_wall', + 'minecraft:smooth_red_sandstone', + 'minecraft:smooth_red_sandstone_stairs', + 'minecraft:smooth_red_sandstone_slab', + 'minecraft:cut_red_sandstone', + 'minecraft:cut_red_sandstone_slab', + 'minecraft:chiseled_red_sandstone', + 'minecraft:red_sand', + //#endregion - // Призмарин - // 'minecraft:prismarine', - // 'minecraft:prismarine_stairs', - // 'minecraft:prismarine_slab', - // 'minecraft:prismarine_wall', - // 'minecraft:prismarine_bricks', - // 'minecraft:prismarine_brick_stairs', - // 'minecraft:prismarine_brick_slab', - // 'minecraft:dark_prismarine', - // 'minecraft:dark_prismarine_stairs', - // 'minecraft:dark_prismarine_slab', - // 'minecraft:prismarine_crystals', - // 'minecraft:prismarine_shard', + //#region Кораллы + 'minecraft:horn_coral', + 'minecraft:horn_coral_fan', + 'minecraft:dead_brain_coral', + 'minecraft:dead_brain_coral_fan', + 'minecraft:dead_tube_coral_fan', + 'minecraft:dead_bubble_coral', + 'minecraft:dead_fire_coral', + 'minecraft:dead_horn_coral', + 'minecraft:dead_bubble_coral_fan', + 'minecraft:dead_fire_coral_fan', + 'minecraft:dead_tube_coral', + 'minecraft:brain_coral', + 'minecraft:tube_coral', + 'minecraft:tube_coral_fan', + 'minecraft:dead_horn_coral_fan', + 'minecraft:bubble_coral_fan', + 'minecraft:fire_coral_fan', + 'minecraft:brain_coral_fan', + 'minecraft:bubble_coral', + 'minecraft:fire_coral', + //#endregion - // Эндстоун - // 'minecraft:end_stone', - // 'minecraft:end_stone_bricks', - // 'minecraft:end_stone_brick_stairs', - // 'minecraft:end_stone_brick_slab', - // 'minecraft:end_stone_brick_wall', + //#region Шалкеры + 'minecraft:shulker_box', + 'minecraft:white_shulker_box', + 'minecraft:orange_shulker_box', + 'minecraft:magenta_shulker_box', + 'minecraft:light_blue_shulker_box', + 'minecraft:yellow_shulker_box', + 'minecraft:lime_shulker_box', + 'minecraft:pink_shulker_box', + 'minecraft:gray_shulker_box', + 'minecraft:light_gray_shulker_box', + 'minecraft:cyan_shulker_box', + 'minecraft:purple_shulker_box', + 'minecraft:blue_shulker_box', + 'minecraft:brown_shulker_box', + 'minecraft:green_shulker_box', + 'minecraft:red_shulker_box', + 'minecraft:black_shulker_box', + //#endregion - // Сланец - // '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', + //#region Мясо + 'minecraft:porkchop', + 'minecraft:chicken', + 'minecraft:mutton', + 'minecraft:rabbit', + 'minecraft:beef', + 'minecraft:cooked_porkchop', + 'minecraft:cooked_chicken', + 'minecraft:cooked_mutton', + 'minecraft:cooked_rabbit', + 'minecraft:cooked_beef', + //#endregion - // Грязь - // 'minecraft:mud_brick_wall', - // 'minecraft:packed_mud', - // 'minecraft:mud_bricks', - // 'minecraft:mud_brick_stairs', - // 'minecraft:mud_brick_slab', + //#region Семяна + 'minecraft:wheat_seeds', + 'minecraft:pumpkin_seeds', + 'minecraft:melon_seeds', + 'minecraft:torchflower_seeds', + 'minecraft:beetroot_seeds', + //#endregion + + //#region Инструменты + "minecraft:wooden_sword", + "minecraft:wooden_pickaxe", + "minecraft:wooden_axe", + "minecraft:wooden_shovel", + "minecraft:wooden_hoe", - // Руды - // 'minecraft:coal_ore', - // 'minecraft:iron_ore', - // 'minecraft:copper_ore', - // 'minecraft:gold_ore', - // 'minecraft:redstone_ore', - // 'minecraft:emerald_ore', - // 'minecraft:lapis_ore', - // 'minecraft:diamond_ore', - // 'minecraft:deepslate_coal_ore', - // 'minecraft:deepslate_iron_ore', - // 'minecraft:deepslate_copper_ore', - // 'minecraft:deepslate_gold_ore', - // 'minecraft:deepslate_redstone_ore', - // 'minecraft:deepslate_emerald_ore', - // 'minecraft:deepslate_lapis_ore', - // 'minecraft:deepslate_diamond_ore', - // 'minecraft:nether_gold_ore', - // 'minecraft:nether_quartz_ore', - // 'minecraft:ancient_debris', + "minecraft:stone_sword", + "minecraft:stone_pickaxe", + "minecraft:stone_axe", + "minecraft:stone_shovel", + "minecraft:stone_hoe", - // Песок - // 'minecraft:sandstone', - // 'minecraft:sandstone_stairs', - // 'minecraft:sandstone_slab', - // 'minecraft:sandstone_wall', - // 'minecraft:smooth_sandstone', - // 'minecraft:smooth_sandstone_stairs', - // 'minecraft:smooth_sandstone_slab', - // 'minecraft:cut_sandstone', - // 'minecraft:cut_sandstone_slab', - // 'minecraft:chiseled_sandstone', - // 'minecraft:sand', - // 'minecraft:suspicious_sand', + "minecraft:iron_sword", + "minecraft:iron_pickaxe", + "minecraft:iron_axe", + "minecraft:iron_shovel", + "minecraft:iron_hoe", - // Красный песок - // 'minecraft:red_sandstone', - // 'minecraft:red_sandstone_stairs', - // 'minecraft:red_sandstone_slab', - // 'minecraft:red_sandstone_wall', - // 'minecraft:smooth_red_sandstone', - // 'minecraft:smooth_red_sandstone_stairs', - // 'minecraft:smooth_red_sandstone_slab', - // 'minecraft:cut_red_sandstone', - // 'minecraft:cut_red_sandstone_slab', - // 'minecraft:chiseled_red_sandstone', - // 'minecraft:red_sand', + "minecraft:golden_sword", + "minecraft:golden_pickaxe", + "minecraft:golden_axe", + "minecraft:golden_shovel", + "minecraft:golden_hoe", - // Кораллы - // 'minecraft:horn_coral', - // 'minecraft:horn_coral_fan', - // 'minecraft:dead_brain_coral', - // 'minecraft:dead_brain_coral_fan', - // 'minecraft:dead_tube_coral_fan', - // 'minecraft:dead_bubble_coral', - // 'minecraft:dead_fire_coral', - // 'minecraft:dead_horn_coral', - // 'minecraft:dead_bubble_coral_fan', - // 'minecraft:dead_fire_coral_fan', - // 'minecraft:dead_tube_coral', - // 'minecraft:brain_coral', - // 'minecraft:tube_coral', - // 'minecraft:tube_coral_fan', - // 'minecraft:dead_horn_coral_fan', - // 'minecraft:bubble_coral_fan', - // 'minecraft:fire_coral_fan', - // 'minecraft:brain_coral_fan', - // 'minecraft:bubble_coral', - // 'minecraft:fire_coral', + "minecraft:diamond_sword", + "minecraft:diamond_pickaxe", + "minecraft:diamond_axe", + "minecraft:diamond_shovel", + "minecraft:diamond_hoe", - // Бамбук - // 'minecraft:bamboo_sign', - // 'minecraft:bamboo_hanging_sign', - // 'minecraft:bamboo_raft', - // 'minecraft:bamboo_chest_raft', + "minecraft:netherite_sword", + "minecraft:netherite_pickaxe", + "minecraft:netherite_axe", + "minecraft:netherite_shovel", + "minecraft:netherite_hoe", + //#endregion + + //#region Броня + "minecraft:netherite_helmet", + "minecraft:netherite_chestplate", + "minecraft:netherite_leggings", + "minecraft:netherite_boots", + "minecraft:golden_helmet", + "minecraft:golden_chestplate", + "minecraft:golden_leggings", + "minecraft:golden_boots", + "minecraft:iron_helmet", + "minecraft:iron_chestplate", + "minecraft:iron_leggings", + "minecraft:iron_boots", + "minecraft:chainmail_helmet", + "minecraft:chainmail_chestplate", + "minecraft:chainmail_leggings", + "minecraft:chainmail_boots", + "minecraft:diamond_helmet", + "minecraft:diamond_chestplate", + "minecraft:diamond_leggings", + "minecraft:diamond_boots", - // Шалкеры - // 'minecraft:shulker_box', - // 'minecraft:white_shulker_box', - // 'minecraft:orange_shulker_box', - // 'minecraft:magenta_shulker_box', - // 'minecraft:light_blue_shulker_box', - // 'minecraft:yellow_shulker_box', - // 'minecraft:lime_shulker_box', - // 'minecraft:pink_shulker_box', - // 'minecraft:gray_shulker_box', - // 'minecraft:light_gray_shulker_box', - // 'minecraft:cyan_shulker_box', - // 'minecraft:purple_shulker_box', - // 'minecraft:blue_shulker_box', - // 'minecraft:brown_shulker_box', - // 'minecraft:green_shulker_box', - // 'minecraft:red_shulker_box', - // 'minecraft:black_shulker_box', + "minecraft:iron_horse_armor", + "minecraft:golden_horse_armor", + "minecraft:diamond_horse_armor", + //#endregion - // Мясо - // 'minecraft:porkchop', - // 'minecraft:chicken', - // 'minecraft:mutton', - // 'minecraft:rabbit', - // 'minecraft:beef', - // 'minecraft:cooked_porkchop', - // 'minecraft:cooked_chicken', - // 'minecraft:cooked_mutton', - // 'minecraft:cooked_rabbit', - // 'minecraft:cooked_beef', - - // Семена - // 'minecraft:wheat_seeds', - // 'minecraft:pumpkin_seeds', - // 'minecraft:melon_seeds', - // 'minecraft:torchflower_seeds', - // 'minecraft:beetroot_seeds', - - // Инструменты - // "minecraft:wooden_sword", - // "minecraft:wooden_pickaxe", - // "minecraft:wooden_axe", - // "minecraft:wooden_shovel", - // "minecraft:wooden_hoe", - - // "minecraft:stone_sword", - // "minecraft:stone_pickaxe", - // "minecraft:stone_axe", - // "minecraft:stone_shovel", - // "minecraft:stone_hoe", - - // "minecraft:iron_sword", - // "minecraft:iron_pickaxe", - // "minecraft:iron_axe", - // "minecraft:iron_shovel", - // "minecraft:iron_hoe", - - // "minecraft:golden_sword", - // "minecraft:golden_pickaxe", - // "minecraft:golden_axe", - // "minecraft:golden_shovel", - // "minecraft:golden_hoe", - - // "minecraft:diamond_sword", - // "minecraft:diamond_pickaxe", - // "minecraft:diamond_axe", - // "minecraft:diamond_shovel", - // "minecraft:diamond_hoe", - - // "minecraft:netherite_sword", - // "minecraft:netherite_pickaxe", - // "minecraft:netherite_axe", - // "minecraft:netherite_shovel", - // "minecraft:netherite_hoe", - - // Броня - // "minecraft:netherite_helmet", - // "minecraft:netherite_chestplate", - // "minecraft:netherite_leggings", - // "minecraft:netherite_boots", - // "minecraft:golden_helmet", - // "minecraft:golden_chestplate", - // "minecraft:golden_leggings", - // "minecraft:golden_boots", - // "minecraft:iron_helmet", - // "minecraft:iron_chestplate", - // "minecraft:iron_leggings", - // "minecraft:iron_boots", - // "minecraft:chainmail_helmet", - // "minecraft:chainmail_chestplate", - // "minecraft:chainmail_leggings", - // "minecraft:chainmail_boots", - // "minecraft:diamond_helmet", - // "minecraft:diamond_chestplate", - // "minecraft:diamond_leggings", - // "minecraft:diamond_boots", - - // "minecraft:iron_horse_armor", - // "minecraft:golden_horse_armor", - // "minecraft:diamond_horse_armor", - - // Декоративные куски вазы + //#region Декоративные куски вазы // 'minecraft:danger_pottery_sherd', // 'minecraft:explorer_pottery_sherd', // 'minecraft:friend_pottery_sherd', @@ -502,337 +497,226 @@ global.MINECRAFT_DISABLED_ITEMS = [ // 'minecraft:blade_pottery_sherd', // 'minecraft:brewer_pottery_sherd', // 'minecraft:burn_pottery_sherd', + //#endregion - // Шаблоны брони - // 'minecraft:wayfinder_armor_trim_smithing_template', - // 'minecraft:netherite_upgrade_smithing_template', - // 'minecraft:dune_armor_trim_smithing_template', - // 'minecraft:snout_armor_trim_smithing_template', - // 'minecraft:shaper_armor_trim_smithing_template', - // 'minecraft:coast_armor_trim_smithing_template', - // 'minecraft:vex_armor_trim_smithing_template', - // 'minecraft:host_armor_trim_smithing_template', - // 'minecraft:rib_armor_trim_smithing_template', - // 'minecraft:silence_armor_trim_smithing_template', - // 'minecraft:spire_armor_trim_smithing_template', - // 'minecraft:tide_armor_trim_smithing_template', - // 'minecraft:eye_armor_trim_smithing_template', - // 'minecraft:raiser_armor_trim_smithing_template', - // 'minecraft:wild_armor_trim_smithing_template', - // 'minecraft:sentry_armor_trim_smithing_template', - // 'minecraft:ward_armor_trim_smithing_template', - - // Свечи - // 'minecraft:candle', - // 'minecraft:white_candle', - // 'minecraft:light_gray_candle', - // 'minecraft:gray_candle', - // 'minecraft:black_candle', - // 'minecraft:brown_candle', - // 'minecraft:red_candle', - // 'minecraft:orange_candle', - // 'minecraft:yellow_candle', - // 'minecraft:lime_candle', - // 'minecraft:green_candle', - // 'minecraft:cyan_candle', - // 'minecraft:light_blue_candle', - // 'minecraft:blue_candle', - // 'minecraft:purple_candle', - // 'minecraft:magenta_candle', - // 'minecraft:pink_candle', + //#region Шаблоны брони + 'minecraft:wayfinder_armor_trim_smithing_template', + 'minecraft:netherite_upgrade_smithing_template', + 'minecraft:dune_armor_trim_smithing_template', + 'minecraft:snout_armor_trim_smithing_template', + 'minecraft:shaper_armor_trim_smithing_template', + 'minecraft:coast_armor_trim_smithing_template', + 'minecraft:vex_armor_trim_smithing_template', + 'minecraft:host_armor_trim_smithing_template', + 'minecraft:rib_armor_trim_smithing_template', + 'minecraft:silence_armor_trim_smithing_template', + 'minecraft:spire_armor_trim_smithing_template', + 'minecraft:tide_armor_trim_smithing_template', + 'minecraft:eye_armor_trim_smithing_template', + 'minecraft:raiser_armor_trim_smithing_template', + 'minecraft:wild_armor_trim_smithing_template', + 'minecraft:sentry_armor_trim_smithing_template', + 'minecraft:ward_armor_trim_smithing_template', + //#endregion // Другое - // 'minecraft:calcite', - // 'minecraft:tuff', - // 'minecraft:dripstone_block', - // 'minecraft:grass_block', - // 'minecraft:dirt', - // 'minecraft:coarse_dirt', - // 'minecraft:podzol', - // 'minecraft:rooted_dirt', - // 'minecraft:mud', - // 'minecraft:netherite_scrap', - // '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', - // 'minecraft:fern', - // 'minecraft:dandelion', - // 'minecraft:poppy', - // 'minecraft:blue_orchid', - // 'minecraft:allium', - // 'minecraft:azure_bluet', - // 'minecraft:red_tulip', - // 'minecraft:orange_tulip', - // 'minecraft:white_tulip', - // 'minecraft:pink_tulip', - // 'minecraft:oxeye_daisy', - // 'minecraft:cornflower', - // 'minecraft:lily_of_the_valley', - // 'minecraft:wither_rose', - // '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', - // 'minecraft:pink_petals', - // 'minecraft:chain', - // 'minecraft:peony', - // 'minecraft:rose_bush', - // 'minecraft:lilac', - // 'minecraft:sunflower', - // 'minecraft:chain_command_block', - // 'minecraft:turtle_egg', - // 'minecraft:sniffer_egg', - // 'minecraft:structure_block', - // 'minecraft:jigsaw', - // 'minecraft:sculk_sensor', - // 'minecraft:calibrated_sculk_sensor', - // 'minecraft:conduit', - // 'minecraft:chest_minecart', - // 'minecraft:bread', - // 'minecraft:wheat', - // 'minecraft:cookie', - // 'minecraft:cake', - // 'minecraft:crafting_table', - // 'minecraft:chest', - // 'minecraft:trapped_chest', - // 'minecraft:fishing_rod', - // 'minecraft:brewing_stand', - // 'minecraft:warped_fungus_on_a_stick', - // 'minecraft:carrot_on_a_stick', - // 'minecraft:carrot', - // 'minecraft:pumpkin', - // 'minecraft:pearlescent_froglight', - // 'minecraft:verdant_froglight', - // 'minecraft:ochre_froglight', - // 'minecraft:suspicious_stew', - // 'minecraft:mycelium', - // 'minecraft:farmland', - // 'minecraft:composter', - // 'minecraft:pufferfish_bucket', - // 'minecraft:salmon_bucket', - // 'minecraft:cod_bucket', - // 'minecraft:tropical_fish_bucket', - // 'minecraft:axolotl_bucket', - // 'minecraft:tadpole_bucket', - // 'minecraft:player_head', - // 'minecraft:command_block_minecart', - // 'minecraft:knowledge_book', - // 'minecraft:bundle', - // 'minecraft:debug_stick', - // 'minecraft:spawner', - // 'minecraft:pitcher_pod', - // 'minecraft:beetroot', - // 'minecraft:beetroot_soup', - // 'minecraft:cocoa_beans', - // 'minecraft:experience_bottle', - // 'minecraft:shulker_shell', - // 'minecraft:rabbit_stew', - // 'minecraft:recovery_compass', - // 'minecraft:chorus_plant', - // 'minecraft:frogspawn', - // 'minecraft:cactus', - // 'minecraft:sweet_berries', - // 'minecraft:glow_berries', - // 'minecraft:campfire', - // 'minecraft:soul_campfire', - // 'minecraft:bee_nest', - // 'minecraft:fletching_table', - // 'minecraft:echo_shard', - // 'minecraft:totem_of_undying', - // 'minecraft:trident', - // 'minecraft:heart_of_the_sea', - // 'minecraft:barrel', - // 'minecraft:chorus_flower', - // 'minecraft:netherite_ingot', - // 'minecraft:netherite_block', - // 'minecraft:lodestone', - // 'minecraft:iron_trapdoor', - // 'minecraft:cod', - // 'minecraft:cooked_cod', - // 'minecraft:salmon', - // 'minecraft:cooked_salmon', - // 'minecraft:tropical_fish', - // 'minecraft:melon_slice', - // 'minecraft:beehive', + 'minecraft:calcite', + 'minecraft:tuff', + 'minecraft:dripstone_block', + 'minecraft:grass_block', + 'minecraft:dirt', + 'minecraft:coarse_dirt', + 'minecraft:podzol', + 'minecraft:rooted_dirt', + 'minecraft:mud', + 'minecraft:netherite_scrap', + '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', + 'minecraft:fern', + 'minecraft:dandelion', + 'minecraft:poppy', + 'minecraft:blue_orchid', + 'minecraft:allium', + 'minecraft:azure_bluet', + 'minecraft:red_tulip', + 'minecraft:orange_tulip', + 'minecraft:white_tulip', + 'minecraft:pink_tulip', + 'minecraft:oxeye_daisy', + 'minecraft:cornflower', + 'minecraft:lily_of_the_valley', + 'minecraft:wither_rose', + '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', + 'minecraft:pink_petals', + 'minecraft:chain', + 'minecraft:peony', + 'minecraft:rose_bush', + 'minecraft:lilac', + 'minecraft:sunflower', + 'minecraft:chain_command_block', + 'minecraft:turtle_egg', + 'minecraft:sniffer_egg', + 'minecraft:structure_block', + 'minecraft:jigsaw', + 'minecraft:sculk_sensor', + 'minecraft:calibrated_sculk_sensor', + 'minecraft:conduit', + 'minecraft:chest_minecart', + 'minecraft:bread', + 'minecraft:wheat', + 'minecraft:cookie', + 'minecraft:cake', + 'minecraft:crafting_table', + 'minecraft:chest', + 'minecraft:trapped_chest', + 'minecraft:fishing_rod', + 'minecraft:brewing_stand', + 'minecraft:warped_fungus_on_a_stick', + 'minecraft:carrot_on_a_stick', + 'minecraft:carrot', + 'minecraft:pumpkin', + 'minecraft:pearlescent_froglight', + 'minecraft:verdant_froglight', + 'minecraft:ochre_froglight', + 'minecraft:suspicious_stew', + 'minecraft:mycelium', + 'minecraft:farmland', + 'minecraft:composter', + 'minecraft:pufferfish_bucket', + 'minecraft:salmon_bucket', + 'minecraft:cod_bucket', + 'minecraft:tropical_fish_bucket', + 'minecraft:axolotl_bucket', + 'minecraft:tadpole_bucket', + 'minecraft:player_head', + 'minecraft:command_block_minecart', + 'minecraft:knowledge_book', + 'minecraft:bundle', + 'minecraft:debug_stick', + 'minecraft:spawner', + 'minecraft:pitcher_pod', + 'minecraft:beetroot', + 'minecraft:beetroot_soup', + 'minecraft:cocoa_beans', + 'minecraft:experience_bottle', + 'minecraft:shulker_shell', + 'minecraft:rabbit_stew', + 'minecraft:recovery_compass', + 'minecraft:chorus_plant', + 'minecraft:frogspawn', + 'minecraft:cactus', + 'minecraft:sweet_berries', + 'minecraft:glow_berries', + 'minecraft:campfire', + 'minecraft:soul_campfire', + 'minecraft:bee_nest', + 'minecraft:fletching_table', + 'minecraft:echo_shard', + 'minecraft:totem_of_undying', + 'minecraft:trident', + 'minecraft:heart_of_the_sea', + 'minecraft:barrel', + 'minecraft:chorus_flower', + 'minecraft:netherite_ingot', + 'minecraft:netherite_block', + 'minecraft:lodestone', + 'minecraft:iron_trapdoor', + 'minecraft:cod', + 'minecraft:cooked_cod', + 'minecraft:salmon', + 'minecraft:cooked_salmon', + 'minecraft:tropical_fish', + 'minecraft:melon_slice', + 'minecraft:beehive', // 'minecraft:honey_bottle', // 'minecraft:honeycomb_block', // 'minecraft:honey_block', - // 'minecraft:chorus_fruit', - // 'minecraft:popped_chorus_fruit', - // 'minecraft:purpur_pillar', - // 'minecraft:purpur_block', - // 'minecraft:purpur_stairs', - // 'minecraft:purpur_slab', - // 'minecraft:shears', - // 'minecraft:lantern', - // 'minecraft:soul_lantern', - // 'minecraft:smithing_table', - // 'minecraft:smoker', - // 'minecraft:blast_furnace', - // 'minecraft:chiseled_bookshelf', - // 'minecraft:decorated_pot', - // 'minecraft:poisonous_potato', - // 'minecraft:potato', - // 'minecraft:baked_potato', - // 'minecraft:end_rod', - // 'minecraft:brush', - // 'minecraft:sea_lantern', - // 'minecraft:bookshelf', - // 'minecraft:enchanted_book', - // 'minecraft:repeating_command_block', - // 'minecraft:command_block', - // 'minecraft:azalea', - // 'minecraft:light', - // 'minecraft:azalea', - // 'minecraft:flowering_azalea', - // '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', - // 'minecraft:torch', - // 'minecraft:anvil', - // 'minecraft:chipped_anvil', - // '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:compass', - // 'minecraft:iron_bars', + 'minecraft:chorus_fruit', + 'minecraft:popped_chorus_fruit', + 'minecraft:purpur_pillar', + 'minecraft:purpur_block', + 'minecraft:purpur_stairs', + 'minecraft:purpur_slab', + 'minecraft:shears', + 'minecraft:lantern', + 'minecraft:soul_lantern', + 'minecraft:smithing_table', + 'minecraft:smoker', + 'minecraft:blast_furnace', + 'minecraft:chiseled_bookshelf', + 'minecraft:decorated_pot', + 'minecraft:poisonous_potato', + 'minecraft:potato', + 'minecraft:baked_potato', + 'minecraft:end_rod', + 'minecraft:brush', + 'minecraft:sea_lantern', + 'minecraft:bookshelf', + 'minecraft:enchanted_book', + 'minecraft:repeating_command_block', + 'minecraft:command_block', + 'minecraft:azalea', + 'minecraft:light', + 'minecraft:azalea', + 'minecraft:flowering_azalea', + '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', + 'minecraft:torch', + 'minecraft:anvil', + 'minecraft:chipped_anvil', + '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:compass', + 'minecraft:iron_bars', // 'minecraft:honeycomb', - - // Кримзон незер дерево - // TODO: Разблокировать после добавления ада - // 'minecraft:crimson_stem', - // 'minecraft:crimson_hyphae', - // 'minecraft:stripped_crimson_stem', - // 'minecraft:stripped_crimson_hyphae', - // 'minecraft:crimson_planks', - // 'minecraft:crimson_stairs', - // 'minecraft:crimson_slab', - // 'minecraft:crimson_fence', - // 'minecraft:crimson_fence_gate', - // 'minecraft:crimson_door', - // 'minecraft:crimson_trapdoor', - // 'minecraft:crimson_pressure_plate', - // 'minecraft:crimson_button', - - // Варпед незер дерево - // TODO: Разблокировать после добавления ада - // 'minecraft:warped_stem', - // 'minecraft:warped_hyphae', - // 'minecraft:stripped_warped_stem', - // 'minecraft:stripped_warped_hyphae', - // 'minecraft:warped_planks', - // 'minecraft:warped_stairs', - // 'minecraft:warped_slab', - // 'minecraft:warped_fence', - // 'minecraft:warped_fence_gate', - // 'minecraft:warped_door', - // 'minecraft:warped_trapdoor', - // 'minecraft:warped_pressure_plate', - // 'minecraft:warped_button', - - // Куча незер блоков - // 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', - // 'minecraft:nether_brick_stairs', - // 'minecraft:nether_brick_slab', - // 'minecraft:nether_brick_wall', - // 'minecraft:nether_brick_fence', - // 'minecraft:chiseled_nether_bricks', - // 'minecraft:red_nether_bricks', - // '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:nether_wart_block', - // 'minecraft:warped_wart_block', - // 'minecraft:shroomlight', - // 'minecraft:crimson_fungus', - // 'minecraft:piglin_head', - // 'minecraft:zombie_head', - // 'minecraft:skeleton_skull', - // 'minecraft:nether_sprouts', - // 'minecraft:warped_roots', - // 'minecraft:dragon_head', - // 'minecraft:creeper_head', - // 'minecraft:wither_skeleton_skull', - // 'minecraft:weeping_vines', - // 'minecraft:crimson_roots', - // 'minecraft:nether_brick', - // 'minecraft:nether_wart', - // 'minecraft:twisting_vines', - // 'minecraft:warped_fungus', - // 'minecraft:respawn_anchor', ]; global.MINECRAFT_HIDED_ITEMS = [ From 6a8ef27f67dcbb623d79ae5b633bc3e371a41102 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 1 Oct 2024 23:05:41 +0700 Subject: [PATCH 188/266] Update gtceu.yaml --- config/gtceu.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/gtceu.yaml b/config/gtceu.yaml index ebdb9dcf8..958f5053b 100644 --- a/config/gtceu.yaml +++ b/config/gtceu.yaml @@ -251,6 +251,14 @@ machines: # Default: 50 ldFluidPipeMinDistance: 50 + # Whether non owners can open a machine gui + # Default: false + machineOwnerGUI: true + + # Whether non owners can break a machine + # Default: false + machineOwnerBreak: true + # 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. From 58d8b35daccdad4b3cdbac33c4c824f46e4c5cc2 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 1 Oct 2024 23:16:28 +0700 Subject: [PATCH 189/266] revert gt recipes after rebase --- kubejs/server_scripts/gregtech/recipes.js | 1042 ++++++++++++++++---- kubejs/server_scripts/minecraft/recipes.js | 12 +- 2 files changed, 858 insertions(+), 196 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 61d2e2dec..c13b55252 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1,11 +1,844 @@ // priority: 0 -const registerGTCEURecipes = (event) => { - //#region Выход: Удобрение +const registerGregTechRecipes = (event) => { + + //#region Обработчики рецептов основанных на материалах + const makeToolRecipe = (toolType, headTagPrefix, extruderMold, cirucitMeta, material) => { + const toolItem = ToolHelper.get(toolType, material) + if (toolItem.isEmpty()) return - //#region Chad + 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(toolHeadItem).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(12).EUt(32) + + } else if (material.hasProperty(PropertyKey.GEM)) { + + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) + if (gemItem.isEmpty()) return + + event.recipes.gtceu.extruder(`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(12).EUt(32) + } + // 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.shaped(toolItem, [ + ' A ', + 'BAB', + 'BBB' + ], { + A: usableItem, + B: '#tfc:rock/raw', + }).id(`gtceu:shaped/mortar_${material.getName()}`) + } + + const processNugget = (tagPrefix, material) => { + if (material != TFGMaterials.Unknown) return + + const item = ChemicalHelper.get(tagPrefix, material, 1) + if (item.isEmpty()) return + + event.remove({ id: `gtceu:alloy_smelter/alloy_smelt_${material.getName()}_to_nugget` }) + event.remove({ id: `gtceu:fluid_solidifier/solidify_${material.getName()}_to_nugget` }) + } + + const processIngot = (tagPrefix, material) => { + const ingotItem = 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.recipes.createPressing(plateStack.withChance(0.8), ingotItem) + .id(`tfg:pressing/${material.getName()}_plate`) + + if (!blockStack.isEmpty()) { + + // 9х Слиток -> Блок + event.recipes.createCompacting(blockStack, ingotItem.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 processRod = (tagPrefix, material) => { + const rodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (rodItem.isEmpty()) return + + const ingotItem = ChemicalHelper.get(tagPrefix, material, 1) + if (ingotItem.isEmpty()) return + + if (!material.hasFlag(MaterialFlags.GENERATE_ROD) || material == GTMaterials.Wood) return + if (ingotItem.isEmpty() || rodItem.isEmpty()) return + + // Прокатка стержней + event.custom({ + type: "createaddition:rolling", + input: ingotItem.toJson(), + result: rodItem.toJson() + }).id(`tfg:rolling/${material.getName()}_rod`) + } + + 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 processPoorRawOre = (tagPrefix, material) => { + const poorOreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (poorOreItem.isEmpty()) return + + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedOreItem.isEmpty()) return + + // Бедная сырая руда -> Дробленная руда (75%) + event.recipes.createCrushing([crushedOreItem.withChance(0.75)], poorOreItem) + .processingTime(200) + .id(`tfg:crushing/${material.getName()}_crushed_ore_from_poor_raw_ore`) + } + + const processNormalRawOre = (tagPrefix, material) => { + const normalOreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (normalOreItem.isEmpty()) return + + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedOreItem.isEmpty()) return + + // Нормальная сырая руда -> Дробленная руда + Дробленная руда (20%) + event.recipes.createCrushing([crushedOreItem, crushedOreItem.withChance(0.2)], normalOreItem) + .processingTime(200) + .id(`tfg:crushing/${material.getName()}_crushed_ore_from_normal_raw_ore`) + } + + const processRichRawOre = (tagPrefix, material) => { + const richOreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (richOreItem.isEmpty()) return + + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedOreItem.isEmpty()) return + + // Богатая сырая руда -> Дробленная руда + Дробленная руда (20%) + event.recipes.createCrushing([crushedOreItem, crushedOreItem, crushedOreItem.withChance(0.2)], richOreItem) + .processingTime(200) + .id(`tfg:crushing/${material.getName()}_crushed_ore_from_rich_raw_ore`) + } + + const processCrushedDust = (tagPrefix, material) => { + const crushedDustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (crushedDustItem.isEmpty()) return + + const pureDustItem = ChemicalHelper.get(TagPrefix.dustPure, material, 1) + if (pureDustItem.isEmpty()) return + + // Дробленная руда -> Очищенная руда (90%) + event.recipes.createSplashing(pureDustItem.withChance(0.9), crushedDustItem) + .id(`tfg:splashing/${material.getName()}_purified_ore`) + + // Дробленная руда -> Очищенная руда + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [ + crushedDustItem.toJson() + ], + result: pureDustItem.toJson() + }).id(`tfg:ae_transform/${material.getName()}_purified_ore`) + } + + const processImpureDust = (tagPrefix, material) => { + const impureDustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (impureDustItem.isEmpty()) return + + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) + if (dustItem.isEmpty()) return + + // Грязная пыль -> Пыль (90%) + event.recipes.createSplashing(dustItem.withChance(0.9), 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) + if (pureDust.isEmpty()) return + + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) + if (dustItem.isEmpty()) return + + // Очищенная пыль -> Пыль (90%) + event.recipes.createSplashing(dustItem.withChance(0.9), 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`) + } + + const processDust = (tagPrefix, material) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) + + if (!ingotItem.isEmpty()) { + event.recipes.createCrushing(dustItem, ingotItem) + .processingTime(250) + .id(`tfg:crushing/${material.getName()}_dust`) + } + + if (!gemItem.isEmpty()) { + event.recipes.createMilling(dustItem, gemItem) + .processingTime(200) + .id(`tfg:milling/${material.getName()}_dust`) + } + } + + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + const toolProperty = material.getProperty(PropertyKey.TOOL) + const ingotProperty = material.getProperty(PropertyKey.INGOT) + const oreProperty = material.getProperty(PropertyKey.ORE) + + 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) + } + + if (ingotProperty != null) { + processNugget(TagPrefix.nugget, material) + processIngot(TagPrefix.ingot, material) + processPlate(TagPrefix.plate, material) + processPlateDouble(TagPrefix.plateDouble, material) + processBlock(TagPrefix.block, material) + processRod(TagPrefix.rod, material) + processRodLong(TagPrefix.rodLong, material) + } + + if (oreProperty != null) { + processPoorRawOre(TFGTagPrefix.poorRawOre, material) + processNormalRawOre(TagPrefix.rawOre, material) + processRichRawOre(TFGTagPrefix.richRawOre, material) + + processCrushedDust(TagPrefix.crushed, material) + processImpureDust(TagPrefix.dustImpure, material) + processPureDust(TagPrefix.dustPure, material) + processDust(TagPrefix.dust, material) + } + + }) //#endregion + //#region Рецепты декрафта пыли каменных пород + // Gabbro + event.recipes.gtceu.centrifuge(`tfg:gabbro_dust_separation`) + .itemInputs('tfg:gabbro_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Titanium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Iron, 3700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Shale + event.recipes.gtceu.centrifuge(`tfg:shale_dust_separation`) + .itemInputs('tfg:shale_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Sodium, 7500, 500) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1500, 500) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 16)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Claystone + event.recipes.gtceu.centrifuge(`tfg:claystone_dust_separation`) + .itemInputs('tfg:claystone_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Aluminium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Hematite, 6700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 5)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Limestone + event.recipes.gtceu.centrifuge(`tfg:limestone_dust_separation`) + .itemInputs('tfg:limestone_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 8700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 36)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Conglomerate + event.recipes.gtceu.centrifuge(`tfg:conglomerate_dust_separation`) + .itemInputs('tfg:conglomerate_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Hematite, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 4700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.TricalciumPhosphate, 3700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 5)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Dolomite + event.recipes.gtceu.centrifuge(`tfg:dolomite_dust_separation`) + .itemInputs('tfg:dolomite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Magnesium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 3700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 16)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Chert + event.recipes.gtceu.centrifuge(`tfg:chert_dust_separation`) + .itemInputs('tfg:chert_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 5700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 24)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Chalk + event.recipes.gtceu.centrifuge(`tfg:chalk_dust_separation`) + .itemInputs('tfg:chalk_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Carbon, 3700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 12)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Rhyolite + event.recipes.gtceu.centrifuge(`tfg:rhyolite_dust_separation`) + .itemInputs('tfg:rhyolite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 8700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 800, 700) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Dacite + event.recipes.gtceu.centrifuge(`tfg:dacite_dust_separation`) + .itemInputs('tfg:dacite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Sodium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 4700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Aluminium, 3700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 150, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 12)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Slate + event.recipes.gtceu.centrifuge(`tfg:slate_dust_separation`) + .itemInputs('tfg:slate_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 780, 480) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 6)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Phyllite + event.recipes.gtceu.centrifuge(`tfg:phyllite_dust_separation`) + .itemInputs('tfg:phyllite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Quartzite, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.CalciumChloride, 1700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 2)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Schist + event.recipes.gtceu.centrifuge(`tfg:schist_dust_separation`) + .itemInputs('tfg:schist_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Mica, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Talc, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Graphite, 4700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 780, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 12)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Gneiss + event.recipes.gtceu.centrifuge(`tfg:gneiss_dust_separation`) + .itemInputs('tfg:gneiss_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Quartzite, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Biotite, 3700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 2)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + //#endregion + + //#region Рецепты форм для экструдера + + // Меч + event.shaped('tfg:sword_head_extruder_mold', [ + 'ABC', + ' ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/sword_head_extruder_mold') + + // Кирка + event.shaped('tfg:pickaxe_head_extruder_mold', [ + 'A ', + 'BC ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/pickaxe_head_extruder_mold') + + // Топор + event.shaped('tfg:axe_head_extruder_mold', [ + 'A ', + ' BC', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/axe_head_extruder_mold') + + + // Лопата + event.shaped('tfg:shovel_head_extruder_mold', [ + 'A ', + 'B ', + 'C ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shovel_head_extruder_mold') + + // Мотыга + event.shaped('tfg:hoe_head_extruder_mold', [ + 'A ', + 'CB ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/hoe_head_extruder_mold') + + + // Молот + event.shaped('tfg:hammer_head_extruder_mold', [ + 'AB ', + ' C ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/hammer_head_extruder_mold') + + // Пила + event.shaped('tfg:saw_head_extruder_mold', [ + 'AC ', + ' B ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/saw_head_extruder_mold') + + // Нож + event.shaped('tfg:knife_head_extruder_mold', [ + 'A B', + ' ', + ' C' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/knife_head_extruder_mold') + + // Напильник + event.shaped('tfg:file_head_extruder_mold', [ + 'A ', + ' ', + 'CB ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/file_head_extruder_mold') + + // Коса + event.shaped('tfg:scythe_head_extruder_mold', [ + 'A ', + ' ', + 'BC ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/scythe_head_extruder_mold') + + // Нож мясника + event.shaped('tfg:butchery_knife_head_extruder_mold', [ + 'A C', + ' ', + ' B' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/butchery_knife_head_extruder_mold') + + // Молот шахтера + event.shaped('tfg:mining_hammer_head_extruder_mold', [ + 'ABC', + ' ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/mining_hammer_head_extruder_mold') + + // Большая лопата + event.shaped('tfg:spade_head_extruder_mold', [ + 'A ', + 'B ', + ' C' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/spade_head_extruder_mold') + + // Проспектор + event.shaped('tfg:propick_head_extruder_mold', [ + 'ACB', + ' ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/propick_head_extruder_mold') + + // Копье + event.shaped('tfg:javelin_head_extruder_mold', [ + 'A C', + 'B ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/javelin_head_extruder_mold') + + // Стамеска + event.shaped('tfg:chisel_head_extruder_mold', [ + 'A ', + 'CB ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/chisel_head_extruder_mold') + + // Бита + event.shaped('tfg:mace_head_extruder_mold', [ + 'A ', + ' BC', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/mace_head_extruder_mold') + + global.TFG_EXTRUDER_MOLDS.forEach(mold => { + event.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}`) + .itemInputs('gtceu:empty_mold') + .notConsumable(mold) + .itemOutputs(mold) + .EUt(22).duration(120) + + }) + + //#endregion + + //#region Рецепты форм для формовки + + // Лампа + event.shaped('tfg:lamp_casting_mold', [ + 'AB ', + ' ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/hammers', + }).id('tfg:shaped/lamp_casting_mold') + + // Люк + event.shaped('tfg:trapdoor_casting_mold', [ + 'A ', + ' ', + ' B' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/hammers', + }).id('tfg:shaped/trapdoor_casting_mold') + + // Цепь + event.shaped('tfg:chain_casting_mold', [ + 'A ', + 'B ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/hammers', + }).id('tfg:shaped/chain_casting_mold') + + // Колокол + event.shaped('tfg:bell_casting_mold', [ + 'A ', + ' B ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/hammers', + }).id('tfg:shaped/bell_casting_mold') + + global.TFG_CASTING_MOLDS.forEach(mold => { + event.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}_casting_mold`) + .itemInputs('gtceu:empty_mold') + .notConsumable(mold) + .itemOutputs(mold) + .EUt(22).duration(120) + + }) + + //#endregion + + //#region Рецепты электрического генератора + + //#region Контроллер + + //todo: облегчить + 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') + //#endregion + + event.recipes.gtceu.alternator('32_rpm_to_32_eu') + .inputStress(256) + .circuit(0) + .rpm(32) + .duration(2) + .EUt(-8) + + event.recipes.gtceu.alternator('64_rpm_to_48_eu') + .inputStress(256) + .circuit(1) + .rpm(64) + .duration(2) + .EUt(-16) + + event.recipes.gtceu.alternator('128_rpm_to_64_eu') + .inputStress(256) + .circuit(2) + .rpm(128) + .duration(2) + .EUt(-24) + + event.recipes.gtceu.alternator('256_rpm_to_96_eu') + .inputStress(256) + .circuit(3) + .rpm(256) + .duration(2) + .EUt(-32) + //#endregion + + //#region Рецепты теплицы + + //#region Контроллер + 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') + //#endregion + + // Дерево + 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) + }) + + //#endregion +} + +const registerGregTechRecipes1 = (event) => { + + + event.recipes.gtceu.macerator('dirt_from_bio_chaff') + .itemInputs('gtceu:bio_chaff') + .itemOutputs('tfc:dirt/loam') + .duration(300) + .EUt(4) + + // 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)*/ + + //#region Выход: Удобрение + // В обычном миксере event.recipes.gtceu.mixer('fertilizer') .itemInputs( @@ -125,7 +958,19 @@ const registerGTCEURecipes = (event) => { //#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 @@ -153,7 +998,6 @@ const registerGTCEURecipes = (event) => { .EUt(2) //#endregion - //#region Выход: Пропитанные доски event.remove({ id: 'gtceu:shaped/treated_wood_planks' }) @@ -1193,184 +2037,10 @@ const registerGTCEURecipes = (event) => { //#endregion - - //#region Рецепты, которые итерируются по всем материалам - - 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) - - 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 - - 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 matAmount = TagPrefix.block.getMaterialAmount(material) / GTValues.M; - - if (material.hasProperty(PropertyKey.INGOT)) - { - if (!plateStack.isEmpty()) { - // Слиток -> Стержень - event.recipes.createPressing(plateStack.withChance(0.8), ingotStack) - .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 -} + event.recipes.gtceu.fluid_solidifier('tfg:latex_heating') + .itemInputs('gtceu:sulfur_dust') + .inputFluids(Fluid.of('tfg:latex', 1000)) + .itemOutputs('gtceu:sticky_resin') + .duration(480) + .EUt(7) +} \ No newline at end of file diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 3f5a4a26f..cc2c2a673 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3193,11 +3193,11 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Адский гриб (Красный) - e.remove({ id: 'jei:/create/haunting/crimson_fungus' }) + e.remove({ id: 'create:haunting/crimson_fungus' }) //#endregion //#region Адский гриб (Синий) - e.remove({ id: 'jei:/create/haunting/warped_fungus' }) + e.remove({ id: 'create:haunting/warped_fungus' }) //#endregion //#region Сухой кустик @@ -4216,14 +4216,6 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'gtceu:assembler/furnace_minecart' }) //#endregion - //#region Деревянные инструменты - // Нечего удалять - //#endregion - - //#region Каменные инстурменты - // Нечего удалять - //#endregion - //#region Железные инструменты e.remove({ id: 'gtceu:shaped/iron_sword' }) e.remove({ id: 'gtceu:shaped/iron_pickaxe' }) From 5be1cf24e350d7c1771b31e52ff2781c999c1a48 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 00:00:53 +0700 Subject: [PATCH 190/266] some recipes --- kubejs/server_scripts/gregtech/recipes.js | 1004 ++++++++++++-------- kubejs/server_scripts/minecraft/recipes.js | 72 +- 2 files changed, 617 insertions(+), 459 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index c13b55252..377ba12b6 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1,6 +1,6 @@ // priority: 0 -const registerGregTechRecipes = (event) => { +const registerGregTechRecipes = (e) => { //#region Обработчики рецептов основанных на материалах const makeToolRecipe = (toolType, headTagPrefix, extruderMold, cirucitMeta, material) => { @@ -11,13 +11,13 @@ const registerGregTechRecipes = (event) => { if (toolHeadItem.isEmpty()) return if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - event.shapeless(toolItem, [ + e.shapeless(toolItem, [ '#forge:rods/wooden', toolHeadItem ]).id(`gtceu:shaped/${toolType.name}_${material.getName()}`) } else { - event.recipes.tfc.advanced_shapeless_crafting(TFC.itemStackProvider.of(toolHeadItem).copyForgingBonus(), ['#forge:rods/wooden', toolHeadItem]) + e.recipes.tfc.advanced_shapeless_crafting(TFC.itemStackProvider.of(toolHeadItem).copyForgingBonus(), ['#forge:rods/wooden', toolHeadItem]) .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) } @@ -33,7 +33,7 @@ const registerGregTechRecipes = (event) => { 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`) + e.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) @@ -44,7 +44,7 @@ const registerGregTechRecipes = (event) => { const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) if (gemItem.isEmpty()) return - event.recipes.gtceu.extruder(`tfg:engrave_${material.getName()}_gem_to_${new String(headTagPrefix.name).toLowerCase()}_head`) + e.recipes.gtceu.extruder(`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) @@ -63,7 +63,7 @@ const registerGregTechRecipes = (event) => { if (usableItem.isEmpty()) return - event.shaped(toolItem, [ + e.shaped(toolItem, [ ' A ', 'BAB', 'BBB' @@ -79,8 +79,8 @@ const registerGregTechRecipes = (event) => { const item = ChemicalHelper.get(tagPrefix, material, 1) if (item.isEmpty()) return - event.remove({ id: `gtceu:alloy_smelter/alloy_smelt_${material.getName()}_to_nugget` }) - event.remove({ id: `gtceu:fluid_solidifier/solidify_${material.getName()}_to_nugget` }) + e.remove({ id: `gtceu:alloy_smelter/alloy_smelt_${material.getName()}_to_nugget` }) + e.remove({ id: `gtceu:fluid_solidifier/solidify_${material.getName()}_to_nugget` }) } const processIngot = (tagPrefix, material) => { @@ -96,13 +96,13 @@ const registerGregTechRecipes = (event) => { if (!plateStack.isEmpty()) { // Слиток -> Стержень - event.recipes.createPressing(plateStack.withChance(0.8), ingotItem) + e.recipes.createPressing(plateStack.withChance(0.8), ingotItem) .id(`tfg:pressing/${material.getName()}_plate`) - if (!blockStack.isEmpty()) { + if (!blockStack.isEmpty() && GTMaterials.Stone != material) { // 9х Слиток -> Блок - event.recipes.createCompacting(blockStack, ingotItem.withCount(matAmount)) + e.recipes.createCompacting(blockStack, ingotItem.withCount(matAmount)) .heated() .id(`tfg:compacting/${material.getName()}_block`) } @@ -112,7 +112,7 @@ const registerGregTechRecipes = (event) => { if (!blockStack.isEmpty()) { // Блок из гемов -> 9 Пластин - event.recipes.createCutting(plateStack.withCount(matAmount).withChance(0.65), blockStack) + e.recipes.createCutting(plateStack.withCount(matAmount).withChance(0.65), blockStack) .id(`tfg:cutting/${material.getName()}_plate`) } @@ -127,21 +127,21 @@ const registerGregTechRecipes = (event) => { const item = ChemicalHelper.get(tagPrefix, material, 1) if (item.isEmpty()) return - event.remove({ id: `gtceu:shaped/plate_${material.getName()}` }) + e.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()}` }) + e.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` }) + e.remove({ id: `gtceu:compressor/compress_${material.getName()}_to_block` }) } const processRod = (tagPrefix, material) => { @@ -155,7 +155,7 @@ const registerGregTechRecipes = (event) => { if (ingotItem.isEmpty() || rodItem.isEmpty()) return // Прокатка стержней - event.custom({ + e.custom({ type: "createaddition:rolling", input: ingotItem.toJson(), result: rodItem.toJson() @@ -166,7 +166,7 @@ const registerGregTechRecipes = (event) => { const item = ChemicalHelper.get(tagPrefix, material, 1) if (item.isEmpty()) return - event.remove({ id: `gtceu:shaped/stick_long_stick_${material.getName()}` }) + e.remove({ id: `gtceu:shaped/stick_long_stick_${material.getName()}` }) } const processPoorRawOre = (tagPrefix, material) => { @@ -177,7 +177,7 @@ const registerGregTechRecipes = (event) => { if (crushedOreItem.isEmpty()) return // Бедная сырая руда -> Дробленная руда (75%) - event.recipes.createCrushing([crushedOreItem.withChance(0.75)], poorOreItem) + e.recipes.createCrushing([crushedOreItem.withChance(0.75)], poorOreItem) .processingTime(200) .id(`tfg:crushing/${material.getName()}_crushed_ore_from_poor_raw_ore`) } @@ -190,7 +190,7 @@ const registerGregTechRecipes = (event) => { if (crushedOreItem.isEmpty()) return // Нормальная сырая руда -> Дробленная руда + Дробленная руда (20%) - event.recipes.createCrushing([crushedOreItem, crushedOreItem.withChance(0.2)], normalOreItem) + e.recipes.createCrushing([crushedOreItem, crushedOreItem.withChance(0.2)], normalOreItem) .processingTime(200) .id(`tfg:crushing/${material.getName()}_crushed_ore_from_normal_raw_ore`) } @@ -203,7 +203,7 @@ const registerGregTechRecipes = (event) => { if (crushedOreItem.isEmpty()) return // Богатая сырая руда -> Дробленная руда + Дробленная руда (20%) - event.recipes.createCrushing([crushedOreItem, crushedOreItem, crushedOreItem.withChance(0.2)], richOreItem) + e.recipes.createCrushing([crushedOreItem, crushedOreItem, crushedOreItem.withChance(0.2)], richOreItem) .processingTime(200) .id(`tfg:crushing/${material.getName()}_crushed_ore_from_rich_raw_ore`) } @@ -216,11 +216,11 @@ const registerGregTechRecipes = (event) => { if (pureDustItem.isEmpty()) return // Дробленная руда -> Очищенная руда (90%) - event.recipes.createSplashing(pureDustItem.withChance(0.9), crushedDustItem) + e.recipes.createSplashing(pureDustItem.withChance(0.9), crushedDustItem) .id(`tfg:splashing/${material.getName()}_purified_ore`) // Дробленная руда -> Очищенная руда - event.custom({ + e.custom({ type: "ae2:transform", circumstance: { type: "fluid", @@ -241,11 +241,11 @@ const registerGregTechRecipes = (event) => { if (dustItem.isEmpty()) return // Грязная пыль -> Пыль (90%) - event.recipes.createSplashing(dustItem.withChance(0.9), impureDustItem) + e.recipes.createSplashing(dustItem.withChance(0.9), impureDustItem) .id(`tfg:splashing/${material.getName()}_dust_from_impure`) // Грязная пыль -> Пыль - event.custom({ + e.custom({ type: "ae2:transform", circumstance: { type: "fluid", @@ -266,11 +266,11 @@ const registerGregTechRecipes = (event) => { if (dustItem.isEmpty()) return // Очищенная пыль -> Пыль (90%) - event.recipes.createSplashing(dustItem.withChance(0.9), pureDust) + e.recipes.createSplashing(dustItem.withChance(0.9), pureDust) .id(`tfg:splashing/${material.getName()}_dust_from_pure`) // Очищенная пыль -> Пыль - event.custom({ + e.custom({ type: "ae2:transform", circumstance: { type: "fluid", @@ -291,13 +291,13 @@ const registerGregTechRecipes = (event) => { const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) if (!ingotItem.isEmpty()) { - event.recipes.createCrushing(dustItem, ingotItem) + e.recipes.createCrushing(dustItem, ingotItem) .processingTime(250) .id(`tfg:crushing/${material.getName()}_dust`) } if (!gemItem.isEmpty()) { - event.recipes.createMilling(dustItem, gemItem) + e.recipes.createMilling(dustItem, gemItem) .processingTime(200) .id(`tfg:milling/${material.getName()}_dust`) } @@ -357,7 +357,7 @@ const registerGregTechRecipes = (event) => { //#region Рецепты декрафта пыли каменных пород // Gabbro - event.recipes.gtceu.centrifuge(`tfg:gabbro_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:gabbro_dust_separation`) .itemInputs('tfg:gabbro_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.Titanium, 6700, 700) .chancedOutput(TagPrefix.dustTiny, GTMaterials.Iron, 3700, 700) @@ -365,7 +365,7 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) // Shale - event.recipes.gtceu.centrifuge(`tfg:shale_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:shale_dust_separation`) .itemInputs('tfg:shale_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.Sodium, 7500, 500) .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1500, 500) @@ -373,7 +373,7 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) // Claystone - event.recipes.gtceu.centrifuge(`tfg:claystone_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:claystone_dust_separation`) .itemInputs('tfg:claystone_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.Aluminium, 6700, 700) .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 6700, 700) @@ -382,7 +382,7 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) // Limestone - event.recipes.gtceu.centrifuge(`tfg:limestone_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:limestone_dust_separation`) .itemInputs('tfg:limestone_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 8700, 700) .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) @@ -390,7 +390,7 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) // Conglomerate - event.recipes.gtceu.centrifuge(`tfg:conglomerate_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:conglomerate_dust_separation`) .itemInputs('tfg:conglomerate_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.Hematite, 6700, 700) .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 4700, 700) @@ -399,7 +399,7 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) // Dolomite - event.recipes.gtceu.centrifuge(`tfg:dolomite_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:dolomite_dust_separation`) .itemInputs('tfg:dolomite_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.Magnesium, 6700, 700) .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 5700, 700) @@ -408,7 +408,7 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) // Chert - event.recipes.gtceu.centrifuge(`tfg:chert_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:chert_dust_separation`) .itemInputs('tfg:chert_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 6700, 700) .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 5700, 700) @@ -416,7 +416,7 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) // Chalk - event.recipes.gtceu.centrifuge(`tfg:chalk_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:chalk_dust_separation`) .itemInputs('tfg:chalk_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 6700, 700) .chancedOutput(TagPrefix.dustTiny, GTMaterials.Carbon, 3700, 700) @@ -425,14 +425,14 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) // Rhyolite - event.recipes.gtceu.centrifuge(`tfg:rhyolite_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:rhyolite_dust_separation`) .itemInputs('tfg:rhyolite_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 8700, 700) .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 800, 700) .EUt(GTValues.VA[GTValues.MV]).duration(480) // Dacite - event.recipes.gtceu.centrifuge(`tfg:dacite_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:dacite_dust_separation`) .itemInputs('tfg:dacite_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.Sodium, 6700, 700) .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 5700, 700) @@ -443,14 +443,14 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) // Slate - event.recipes.gtceu.centrifuge(`tfg:slate_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:slate_dust_separation`) .itemInputs('tfg:slate_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 780, 480) .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 6)) .EUt(GTValues.VA[GTValues.MV]).duration(480) // Phyllite - event.recipes.gtceu.centrifuge(`tfg:phyllite_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:phyllite_dust_separation`) .itemInputs('tfg:phyllite_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.Quartzite, 5700, 700) .chancedOutput(TagPrefix.dustTiny, GTMaterials.CalciumChloride, 1700, 700) @@ -458,7 +458,7 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) // Schist - event.recipes.gtceu.centrifuge(`tfg:schist_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:schist_dust_separation`) .itemInputs('tfg:schist_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.Mica, 6700, 700) .chancedOutput(TagPrefix.dustTiny, GTMaterials.Talc, 5700, 700) @@ -468,7 +468,7 @@ const registerGregTechRecipes = (event) => { .EUt(GTValues.VA[GTValues.MV]).duration(480) // Gneiss - event.recipes.gtceu.centrifuge(`tfg:gneiss_dust_separation`) + e.recipes.gtceu.centrifuge(`tfg:gneiss_dust_separation`) .itemInputs('tfg:gneiss_dust') .chancedOutput(TagPrefix.dustTiny, GTMaterials.Quartzite, 6700, 700) .chancedOutput(TagPrefix.dustTiny, GTMaterials.Biotite, 3700, 700) @@ -479,7 +479,7 @@ const registerGregTechRecipes = (event) => { //#region Рецепты форм для экструдера // Меч - event.shaped('tfg:sword_head_extruder_mold', [ + e.shaped('tfg:sword_head_extruder_mold', [ 'ABC', ' ', ' ' @@ -490,7 +490,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/sword_head_extruder_mold') // Кирка - event.shaped('tfg:pickaxe_head_extruder_mold', [ + e.shaped('tfg:pickaxe_head_extruder_mold', [ 'A ', 'BC ', ' ' @@ -501,7 +501,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/pickaxe_head_extruder_mold') // Топор - event.shaped('tfg:axe_head_extruder_mold', [ + e.shaped('tfg:axe_head_extruder_mold', [ 'A ', ' BC', ' ' @@ -513,7 +513,7 @@ const registerGregTechRecipes = (event) => { // Лопата - event.shaped('tfg:shovel_head_extruder_mold', [ + e.shaped('tfg:shovel_head_extruder_mold', [ 'A ', 'B ', 'C ' @@ -524,7 +524,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/shovel_head_extruder_mold') // Мотыга - event.shaped('tfg:hoe_head_extruder_mold', [ + e.shaped('tfg:hoe_head_extruder_mold', [ 'A ', 'CB ', ' ' @@ -536,7 +536,7 @@ const registerGregTechRecipes = (event) => { // Молот - event.shaped('tfg:hammer_head_extruder_mold', [ + e.shaped('tfg:hammer_head_extruder_mold', [ 'AB ', ' C ', ' ' @@ -547,7 +547,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/hammer_head_extruder_mold') // Пила - event.shaped('tfg:saw_head_extruder_mold', [ + e.shaped('tfg:saw_head_extruder_mold', [ 'AC ', ' B ', ' ' @@ -558,7 +558,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/saw_head_extruder_mold') // Нож - event.shaped('tfg:knife_head_extruder_mold', [ + e.shaped('tfg:knife_head_extruder_mold', [ 'A B', ' ', ' C' @@ -569,7 +569,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/knife_head_extruder_mold') // Напильник - event.shaped('tfg:file_head_extruder_mold', [ + e.shaped('tfg:file_head_extruder_mold', [ 'A ', ' ', 'CB ' @@ -580,7 +580,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/file_head_extruder_mold') // Коса - event.shaped('tfg:scythe_head_extruder_mold', [ + e.shaped('tfg:scythe_head_extruder_mold', [ 'A ', ' ', 'BC ' @@ -591,7 +591,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/scythe_head_extruder_mold') // Нож мясника - event.shaped('tfg:butchery_knife_head_extruder_mold', [ + e.shaped('tfg:butchery_knife_head_extruder_mold', [ 'A C', ' ', ' B' @@ -602,7 +602,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/butchery_knife_head_extruder_mold') // Молот шахтера - event.shaped('tfg:mining_hammer_head_extruder_mold', [ + e.shaped('tfg:mining_hammer_head_extruder_mold', [ 'ABC', ' ', ' ' @@ -613,7 +613,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/mining_hammer_head_extruder_mold') // Большая лопата - event.shaped('tfg:spade_head_extruder_mold', [ + e.shaped('tfg:spade_head_extruder_mold', [ 'A ', 'B ', ' C' @@ -624,7 +624,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/spade_head_extruder_mold') // Проспектор - event.shaped('tfg:propick_head_extruder_mold', [ + e.shaped('tfg:propick_head_extruder_mold', [ 'ACB', ' ', ' ' @@ -635,7 +635,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/propick_head_extruder_mold') // Копье - event.shaped('tfg:javelin_head_extruder_mold', [ + e.shaped('tfg:javelin_head_extruder_mold', [ 'A C', 'B ', ' ' @@ -646,7 +646,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/javelin_head_extruder_mold') // Стамеска - event.shaped('tfg:chisel_head_extruder_mold', [ + e.shaped('tfg:chisel_head_extruder_mold', [ 'A ', 'CB ', ' ' @@ -657,7 +657,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/chisel_head_extruder_mold') // Бита - event.shaped('tfg:mace_head_extruder_mold', [ + e.shaped('tfg:mace_head_extruder_mold', [ 'A ', ' BC', ' ' @@ -668,7 +668,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/mace_head_extruder_mold') global.TFG_EXTRUDER_MOLDS.forEach(mold => { - event.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}`) + e.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}`) .itemInputs('gtceu:empty_mold') .notConsumable(mold) .itemOutputs(mold) @@ -681,7 +681,7 @@ const registerGregTechRecipes = (event) => { //#region Рецепты форм для формовки // Лампа - event.shaped('tfg:lamp_casting_mold', [ + e.shaped('tfg:lamp_casting_mold', [ 'AB ', ' ', ' ' @@ -691,7 +691,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/lamp_casting_mold') // Люк - event.shaped('tfg:trapdoor_casting_mold', [ + e.shaped('tfg:trapdoor_casting_mold', [ 'A ', ' ', ' B' @@ -701,7 +701,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/trapdoor_casting_mold') // Цепь - event.shaped('tfg:chain_casting_mold', [ + e.shaped('tfg:chain_casting_mold', [ 'A ', 'B ', ' ' @@ -711,7 +711,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/chain_casting_mold') // Колокол - event.shaped('tfg:bell_casting_mold', [ + e.shaped('tfg:bell_casting_mold', [ 'A ', ' B ', ' ' @@ -721,7 +721,7 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/bell_casting_mold') global.TFG_CASTING_MOLDS.forEach(mold => { - event.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}_casting_mold`) + e.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}_casting_mold`) .itemInputs('gtceu:empty_mold') .notConsumable(mold) .itemOutputs(mold) @@ -736,7 +736,7 @@ const registerGregTechRecipes = (event) => { //#region Контроллер //todo: облегчить - event.shaped('gtceu:alternator', [ + e.shaped('gtceu:alternator', [ 'ABA', 'CDC', 'EBE' @@ -749,28 +749,28 @@ const registerGregTechRecipes = (event) => { }).id('tfg:shaped/alternator') //#endregion - event.recipes.gtceu.alternator('32_rpm_to_32_eu') + e.recipes.gtceu.alternator('32_rpm_to_32_eu') .inputStress(256) .circuit(0) .rpm(32) .duration(2) .EUt(-8) - event.recipes.gtceu.alternator('64_rpm_to_48_eu') + e.recipes.gtceu.alternator('64_rpm_to_48_eu') .inputStress(256) .circuit(1) .rpm(64) .duration(2) .EUt(-16) - event.recipes.gtceu.alternator('128_rpm_to_64_eu') + e.recipes.gtceu.alternator('128_rpm_to_64_eu') .inputStress(256) .circuit(2) .rpm(128) .duration(2) .EUt(-24) - event.recipes.gtceu.alternator('256_rpm_to_96_eu') + e.recipes.gtceu.alternator('256_rpm_to_96_eu') .inputStress(256) .circuit(3) .rpm(256) @@ -781,7 +781,7 @@ const registerGregTechRecipes = (event) => { //#region Рецепты теплицы //#region Контроллер - event.shaped('gtceu:greenhouse', [ + e.shaped('gtceu:greenhouse', [ 'ABA', 'CDC', 'BCB' @@ -795,40 +795,218 @@ const registerGregTechRecipes = (event) => { // Дерево global.TFC_WOOD_TYPES.forEach(wood => { - generateGreenHouseRecipe(event, `tfc:wood/sapling/${wood}`, 16000, `32x tfc:wood/log/${wood}`, `tfg:greenhouse/${wood}`) + generateGreenHouseRecipe(e, `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) + generateGreenHouseRecipe(e, 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) + generateGreenHouseRecipe(e, 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) + generateGreenHouseRecipe(e, element.input, element.fluid_amount, element.output, element.name) }) //#endregion + + //#region Рецепты MaterialInfo + + //#region Дерево + global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { + e.remove({ id: `gtceu:macerator/macerate_${woodName}_planks` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_stairs` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_slab` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_fence` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_fence_gate` }) + + e.remove({ id: `gtceu:arc_furnace/arc_${woodName}_door` }) + e.remove({ id: `gtceu:macerator/macerate_${woodName}_door` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_button` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_boat` }) + }) + + e.remove({ id: `gtceu:macerator/macerate_bamboo_raft` }) + //#endregion + + //#region Камень + + //#region Блок + e.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_stone_ingot_to_block' }) + e.remove({ id: 'gtceu:extruder/extrude_stone_ingot_to_block' }) + //#endregion + + //#region Слитки + e.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot' }) + e.remove({ id: 'gtceu:arc_furnace/arc_stone_block' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_block' }) + e.remove({ id: 'gtceu:cutter/cut_stone_block_to_plate_water' }) + e.remove({ id: 'gtceu:cutter/cut_stone_block_to_plate_distilled_water' }) + e.remove({ id: 'gtceu:cutter/cut_stone_block_to_plate' }) + //#endregion + + //#region Стержни + e.remove({ id: 'gtceu:lathe/stone_rod_from_stone' }) + e.remove({ id: 'gtceu:lathe/stone_rod_from_cobblestone' }) + + // Из сырого камня + e.recipes.gtceu.lathe('tfg:stone_rod_from_stone') + .itemInputs('#tfc:rock/raw') + .itemOutputs('gtceu:stone_rod', '2x gtceu:small_stone_dust') + .EUt(7).duration(20) + + + // Из булыжника + e.recipes.gtceu.lathe('tfg:stone_rod_from_cobblestone') + .itemInputs('#forge:cobblestone') + .itemOutputs('gtceu:stone_rod', '2x gtceu:small_stone_dust') + .EUt(7).duration(20) + + + //#endregion + + //#region Пыль + e.remove({ id: 'gtceu:macerator/macerate_stone_pressure_plate' }) + e.remove({ id: 'gtceu:macerator/gravel_to_flint' }) + e.remove({ id: 'gtceu:macerator/macerate_furnace_minecart' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_axe' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_sword' }) + e.remove({ id: 'gtceu:macerator/macerate_furnace' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_bricks' }) + e.remove({ id: 'gtceu:macerator/macerate_cobblestone' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_pickaxe' }) + e.remove({ id: 'gtceu:macerator/macerate_mossy_cobblestone' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_block' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_hoe' }) + e.remove({ id: 'gtceu:macerator/macerate_cobblestone_wall' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_shovel' }) + //#endregion + + //#region Средняя пыль + e.remove({ id: 'gtceu:macerator/macerate_stone_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_cobblestone_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_sandstone_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_red_sandstone_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_red_sandstone_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_brick_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_brick_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_sandstone_slab' }) + //#endregion + + //#region Маленькая пыль + e.remove({ id: 'gtceu:macerator/macerate_stone_button' }) + //#endregion + + //#endregion + + //#region Гранит + + //#region Пыль + e.remove({ id: 'gtceu:macerator/macerate_granite' }) + //#endregion + + //#endregion + + //#region Диорит + + //#region Пыль + e.remove({ id: 'gtceu:macerator/macerate_diorite' }) + //#endregion + + //#endregion + + //#region Андезит + + //#region Пыль + e.remove({ id: 'gtceu:macerator/macerate_andesite' }) + //#endregion + + //#endregion + + //#region Глубокий-Сланец + + //#region Пыль + e.remove({ id: 'gtceu:macerator/macerate_deepslate' }) + //#endregion + + //#endregion + + //#region Эндерняк + + //#region Пыль + e.remove({ id: 'gtceu:macerator/macerate_end_stone' }) + //#endregion + + //#endregion + + //#region Железо + + //#region Самородок + + //#region Из каменной нажимной плиты + e.remove({ id: 'gtceu:arc_furnace/arc_stone_pressure_plate' }) + //#endregion + + //#region Из решеток + e.remove({ id: 'gtceu:arc_furnace/arc_iron_bars' }) + //#endregion + + //#region Из железной двери + e.remove({ id: 'gtceu:arc_furnace/arc_iron_door' }) + + e.recipes.gtceu.arc_furnace('tfg:arc_iron_door') + .itemInputs('minecraft:iron_door') + .itemOutputs('8x gtceu:iron_nugget') + .EUt(30).duration(140) + + //#endregion + + //#endregion + + //#region Маленькая пыль + + //#region Из решеток + e.remove({ id: 'gtceu:macerator/macerate_iron_bars' }) + //#endregion + + //#region + //#endregion + + //#endregion + + //#endregion + + + + //#endregion + } -const registerGregTechRecipes1 = (event) => { +const registerGregTechRecipes1 = (e) => { - event.recipes.gtceu.macerator('dirt_from_bio_chaff') + e.recipes.gtceu.macerator('dirt_from_bio_chaff') .itemInputs('gtceu:bio_chaff') .itemOutputs('tfc:dirt/loam') .duration(300) .EUt(4) // TODO: Из пыли лунного грунта - event.remove({ id: 'gtceu:centrifuge/endstone_separation' }) + e.remove({ id: 'gtceu:centrifuge/endstone_separation' }) /* - event.recipes.gtceu.centrifuge('endstone_separation') + e.recipes.gtceu.centrifuge('endstone_separation') .itemInputs('') .chancedOutput('tfc:sand/yellow', 9000, 300) .chancedOutput('gtceu:tungstate_small_dust', 1250, 450) @@ -840,7 +1018,7 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Удобрение // В обычном миксере - event.recipes.gtceu.mixer('fertilizer') + e.recipes.gtceu.mixer('fertilizer') .itemInputs( '#tfc:dirt', '2x #forge:dusts/wood', @@ -853,7 +1031,7 @@ const registerGregTechRecipes1 = (event) => { .EUt(30) // В create миксере - event.recipes.gtceu.create_mixer('fertilizer') + e.recipes.gtceu.create_mixer('fertilizer') .itemInputs( '#tfc:dirt', '2x #forge:dusts/wood', @@ -870,7 +1048,7 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Кварцевый песок - event.shaped('gtceu:quartz_sand_dust', [ + e.shaped('gtceu:quartz_sand_dust', [ 'A', 'B' ], { @@ -878,7 +1056,7 @@ const registerGregTechRecipes1 = (event) => { B: '#forge:tools/mortars' }).id('gtceu:shaped/quartz_sand') - event.recipes.gtceu.macerator('quartz_sand_from_sand') + e.recipes.gtceu.macerator('quartz_sand_from_sand') .itemInputs('#forge:sand') .itemOutputs('gtceu:quartz_sand_dust') .duration(30) @@ -888,7 +1066,7 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Диоксид силикона - event.recipes.gtceu.electrolyzer('sand_electrolysis') + e.recipes.gtceu.electrolyzer('sand_electrolysis') .itemInputs('8x #forge:sand') .itemOutputs('gtceu:silicon_dioxide_dust') .duration(500) @@ -899,7 +1077,7 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Соленая пыль + Вода // Декрафт в центрифуге - event.recipes.gtceu.centrifuge('centrifuging_tfc_salt_water') + e.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)) @@ -907,7 +1085,7 @@ const registerGregTechRecipes1 = (event) => { .EUt(30) // Декрафт в электролайзере - event.recipes.gtceu.electrolyzer('electrolyze_tfc_salt_water') + e.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)) @@ -918,80 +1096,68 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Крошечная кучка камня - event.remove({ id: 'gtceu:macerator/macerate_stone_button' }) + e.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' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_brick_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_brick_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_sandstone_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_sandstone_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_red_sandstone_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_red_sandstone_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_granite' }) + e.remove({ id: 'gtceu:macerator/macerate_diorite' }) + e.remove({ id: 'gtceu:macerator/macerate_cobblestone_slab' }) + e.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' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_sword' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_shovel' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_pressure_plate' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_pickaxe' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_hoe' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_bricks' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_axe' }) + e.remove({ id: 'gtceu:macerator/macerate_mossy_cobblestone' }) + e.remove({ id: 'gtceu:macerator/macerate_cobblestone_wall' }) + e.remove({ id: 'gtceu:macerator/macerate_cobblestone' }) + e.remove({ id: 'gtceu:macerator/gravel_to_flint' }) + e.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') + e.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') + e.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') + e.recipes.gtceu.extractor('raw_rubber_from_leaves') .itemInputs('16x tfc:wood/leaves/kapok') .itemOutputs('gtceu:raw_rubber_dust') .duration(300) @@ -1000,9 +1166,9 @@ const registerGregTechRecipes1 = (event) => { //#endregion //#region Выход: Пропитанные доски - event.remove({ id: 'gtceu:shaped/treated_wood_planks' }) + e.remove({ id: 'gtceu:shaped/treated_wood_planks' }) - event.recipes.tfc.barrel_sealed(4000) + e.recipes.tfc.barrel_sealed(4000) .outputItem('gtceu:treated_wood_planks') .inputs('#minecraft:planks', TFC.fluidStackIngredient('#forge:creosote', 100)) .id('tfg:barrel/treated_wood_planks') @@ -1012,12 +1178,12 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Капля резины // Из латекса - event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 5000, 300) + e.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') + e.recipes.gtceu.centrifuge('rubber_log_separation') .itemInputs('#tfc:kapok_logs') .chancedOutput('gtceu:sticky_resin', 5000, 1200) .chancedOutput('gtceu:plant_ball', 3750, 900) @@ -1032,43 +1198,43 @@ const registerGregTechRecipes1 = (event) => { //#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'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_wheat'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_warped_stem'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_crimson_stem'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_tube_coral'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_sugar_cane'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_red_mushroom'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_potato'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_nether_wart'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_horn_coral'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_fire_coral'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_carrot'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_cactus'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_bubble_coral'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_brown_mushroom'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_brain_coral'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_beetroot'}) + e.remove({id: 'gtceu:compressor/plant_ball_from_moss'}) - event.recipes.gtceu.compressor('plant_ball_from_tfc_seeds') + e.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') + e.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') + e.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') + e.recipes.gtceu.compressor('plant_ball_from_tfc_corals') .itemInputs('8x #tfc:corals') .itemOutputs('gtceu:plant_ball') .duration(300) @@ -1079,33 +1245,33 @@ const registerGregTechRecipes1 = (event) => { //#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'}) + e.remove({id: 'gtceu:brewery/biomass_from_sugar_cane'}) + e.remove({id: 'gtceu:brewery/biomass_from_red_mushroom'}) + e.remove({id: 'gtceu:brewery/biomass_from_potato'}) + e.remove({id: 'gtceu:brewery/biomass_from_carrot'}) + e.remove({id: 'gtceu:brewery/biomass_from_cactus'}) + e.remove({id: 'gtceu:brewery/biomass_from_brown_mushroom'}) + e.remove({id: 'gtceu:brewery/biomass_from_beetroot'}) - event.recipes.gtceu.brewery('biomass_from_tfc_seeds') + e.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') + e.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') + e.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') + e.recipes.gtceu.brewery('biomass_from_tfc_corals') .itemInputs('#tfc:corals') .outputFluids(Fluid.of('gtceu:biomass', 20)) .duration(128) @@ -1115,12 +1281,12 @@ const registerGregTechRecipes1 = (event) => { //#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' }) + e.remove({ id: 'gtceu:extractor/fish_oil_from_tropical_fish' }) + e.remove({ id: 'gtceu:extractor/fish_oil_from_salmon' }) + e.remove({ id: 'gtceu:extractor/fish_oil_from_pufferfish' }) + e.remove({ id: 'gtceu:extractor/fish_oil_from_cod' }) - event.recipes.gtceu.extractor(`tfg/fish_oil`) + e.recipes.gtceu.extractor(`tfg/fish_oil`) .itemInputs('#minecraft:fishes') .outputFluids(Fluid.of('gtceu:fish_oil', 40)) .duration(16) @@ -1130,12 +1296,12 @@ const registerGregTechRecipes1 = (event) => { //#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' }) + e.remove({ id: 'gtceu:extractor/seed_oil_from_tag_seeds' }) + e.remove({ id: 'gtceu:extractor/seed_oil_from_pumpkin' }) + e.remove({ id: 'gtceu:extractor/seed_oil_from_melon' }) + e.remove({ id: 'gtceu:extractor/seed_oil_from_beetroot' }) - event.recipes.gtceu.extractor(`tfg/seed_oil`) + e.recipes.gtceu.extractor(`tfg/seed_oil`) .itemInputs('#tfc:seeds') .outputFluids(Fluid.of('gtceu:seed_oil', 16)) .duration(32) @@ -1146,7 +1312,7 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Цемент generateMixerRecipe( - event, + e, ['2x #tfg:stone_dusts', 'gtceu:marble_dust', 'gtceu:gypsum_dust'], Fluid.of('minecraft:water', 1000), [], @@ -1159,7 +1325,7 @@ const registerGregTechRecipes1 = (event) => { ) generateMixerRecipe( - event, + e, ['3x #tfg:stone_dusts', 'gtceu:clay_dust'], Fluid.of('minecraft:water', 500), [], @@ -1172,7 +1338,7 @@ const registerGregTechRecipes1 = (event) => { ) generateMixerRecipe( - event, + e, ['3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust'], Fluid.of('minecraft:water', 1000), [], @@ -1189,7 +1355,7 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Бурильная жидкость generateMixerRecipe( - event, + e, ['2x #tfg:stone_dusts'], [Fluid.of('gtceu:lubricant', 20), Fluid.of('minecraft:water', 4000)], [], @@ -1205,150 +1371,150 @@ const registerGregTechRecipes1 = (event) => { //#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' }) + e.remove({ id: 'gtceu:macerator/macerate_warped_button' }) + e.remove({ id: 'gtceu:macerator/macerate_spruce_button' }) + e.remove({ id: 'gtceu:macerator/macerate_oak_button' }) + e.remove({ id: 'gtceu:macerator/macerate_mangrove_button' }) + e.remove({ id: 'gtceu:macerator/macerate_jungle_button' }) + e.remove({ id: 'gtceu:macerator/macerate_dark_oak_button' }) + e.remove({ id: 'gtceu:macerator/macerate_crimson_button' }) + e.remove({ id: 'gtceu:macerator/macerate_cherry_button' }) + e.remove({ id: 'gtceu:macerator/macerate_birch_button' }) + e.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' }) + e.remove({ id: 'gtceu:macerator/macerate_wooden_sword' }) + e.remove({ id: 'gtceu:macerator/macerate_wooden_shovel' }) + e.remove({ id: 'gtceu:macerator/macerate_wooden_pickaxe' }) + e.remove({ id: 'gtceu:macerator/macerate_wooden_hoe' }) + e.remove({ id: 'gtceu:macerator/macerate_wooden_axe' }) + e.remove({ id: 'gtceu:macerator/macerate_warped_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_warped_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_spruce_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_spruce_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_oak_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_oak_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_mangrove_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_mangrove_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_jungle_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_jungle_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_iron_sword' }) + e.remove({ id: 'gtceu:macerator/macerate_iron_shovel' }) + e.remove({ id: 'gtceu:macerator/macerate_iron_pickaxe' }) + e.remove({ id: 'gtceu:macerator/macerate_iron_hoe' }) + e.remove({ id: 'gtceu:macerator/macerate_iron_axe' }) + e.remove({ id: 'gtceu:macerator/macerate_golden_sword' }) + e.remove({ id: 'gtceu:macerator/macerate_golden_shovel' }) + e.remove({ id: 'gtceu:macerator/macerate_golden_pickaxe' }) + e.remove({ id: 'gtceu:macerator/macerate_golden_hoe' }) + e.remove({ id: 'gtceu:macerator/macerate_golden_axe' }) + e.remove({ id: 'gtceu:macerator/macerate_diamond_sword' }) + e.remove({ id: 'gtceu:macerator/macerate_diamond_shovel' }) + e.remove({ id: 'gtceu:macerator/macerate_diamond_pickaxe' }) + e.remove({ id: 'gtceu:macerator/macerate_diamond_hoe' }) + e.remove({ id: 'gtceu:macerator/macerate_diamond_axe' }) + e.remove({ id: 'gtceu:macerator/macerate_dark_oak_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_dark_oak_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_crimson_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_crimson_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_cherry_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_cherry_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_birch_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_birch_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_acacia_stairs' }) + e.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'}) + e.remove({id: 'gtceu:macerator/macerate_trapped_chest'}) + e.remove({id: 'gtceu:macerator/macerate_spruce_planks'}) + e.remove({id: 'gtceu:macerator/macerate_spruce_fence_gate'}) + e.remove({id: 'gtceu:macerator/macerate_spruce_fence'}) + e.remove({id: 'gtceu:macerator/macerate_spruce_door'}) + e.remove({id: 'gtceu:macerator/macerate_spruce_boat'}) + e.remove({id: 'gtceu:macerator/macerate_oak_planks'}) + e.remove({id: 'gtceu:macerator/macerate_oak_fence_gate'}) + e.remove({id: 'gtceu:macerator/macerate_oak_fence'}) + e.remove({id: 'gtceu:macerator/macerate_oak_door'}) + e.remove({id: 'gtceu:macerator/macerate_oak_boat'}) + e.remove({id: 'gtceu:macerator/macerate_mangrove_planks'}) + e.remove({id: 'gtceu:macerator/macerate_mangrove_fence_gate'}) + e.remove({id: 'gtceu:macerator/macerate_mangrove_fence'}) + e.remove({id: 'gtceu:macerator/macerate_mangrove_door'}) + e.remove({id: 'gtceu:macerator/macerate_mangrove_boat'}) + e.remove({id: 'gtceu:macerator/macerate_jungle_planks'}) + e.remove({id: 'gtceu:macerator/macerate_jungle_fence_gate'}) + e.remove({id: 'gtceu:macerator/macerate_jungle_fence'}) + e.remove({id: 'gtceu:macerator/macerate_jungle_door'}) + e.remove({id: 'gtceu:macerator/macerate_jungle_boat'}) + e.remove({id: 'gtceu:macerator/macerate_dark_oak_planks'}) + e.remove({id: 'gtceu:macerator/macerate_dark_oak_fence_gate'}) + e.remove({id: 'gtceu:macerator/macerate_dark_oak_fence'}) + e.remove({id: 'gtceu:macerator/macerate_dark_oak_door'}) + e.remove({id: 'gtceu:macerator/macerate_dark_oak_boat'}) + e.remove({id: 'gtceu:macerator/macerate_crafting_table'}) + e.remove({id: 'gtceu:macerator/macerate_chest'}) + e.remove({id: 'gtceu:macerator/macerate_chest_minecart'}) + e.remove({id: 'gtceu:macerator/macerate_cherry_planks'}) + e.remove({id: 'gtceu:macerator/macerate_cherry_fence_gate'}) + e.remove({id: 'gtceu:macerator/macerate_cherry_fence'}) + e.remove({id: 'gtceu:macerator/macerate_cherry_door'}) + e.remove({id: 'gtceu:macerator/macerate_cherry_boat'}) + e.remove({id: 'gtceu:macerator/macerate_bookshelf'}) + e.remove({id: 'gtceu:macerator/macerate_birch_planks'}) + e.remove({id: 'gtceu:macerator/macerate_birch_fence_gate'}) + e.remove({id: 'gtceu:macerator/macerate_birch_fence'}) + e.remove({id: 'gtceu:macerator/macerate_birch_door'}) + e.remove({id: 'gtceu:macerator/macerate_birch_boat'}) + e.remove({id: 'gtceu:macerator/macerate_acacia_planks'}) + e.remove({id: 'gtceu:macerator/macerate_acacia_fence_gate'}) + e.remove({id: 'gtceu:macerator/macerate_acacia_fence'}) + e.remove({id: 'gtceu:macerator/macerate_acacia_door'}) + e.remove({id: 'gtceu:macerator/macerate_acacia_boat'}) + e.remove({id: 'gtceu:macerator/macerate_bamboo_raft'}) + e.remove({id: 'gtceu:macerator/macerate_crimson_door'}) + e.remove({id: 'gtceu:macerator/macerate_crimson_fence'}) + e.remove({id: 'gtceu:macerator/macerate_crimson_fence_gate'}) + e.remove({id: 'gtceu:macerator/macerate_crimson_planks'}) + e.remove({id: 'gtceu:macerator/macerate_warped_door'}) + e.remove({id: 'gtceu:macerator/macerate_warped_fence'}) + e.remove({id: 'gtceu:macerator/macerate_warped_fence_gate'}) + e.remove({id: 'gtceu:macerator/macerate_warped_planks'}) //#endregion //#region Выход: Бумажная пыль - event.remove({ id: 'gtceu:shaped/paper_dust' }) + e.remove({ id: 'gtceu:shaped/paper_dust' }) //#endregion //#region Выход: Метан - event.remove({ id: 'gtceu:centrifuge/red_mushroom_separation' }) - event.remove({ id: 'gtceu:centrifuge/brown_mushroom_separation' }) + e.remove({ id: 'gtceu:centrifuge/red_mushroom_separation' }) + e.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' }) + e.remove({ id: 'gtceu:macerator/macerate_steak' }) + e.remove({ id: 'gtceu:macerator/macerate_rabbit' }) + e.remove({ id: 'gtceu:macerator/macerate_pork_chop' }) //#endregion //#region Выход: Пыль мяса - event.remove({ id: 'gtceu:macerator/macerate_mutton' }) - event.remove({ id: 'gtceu:macerator/macerate_chicken' }) + e.remove({ id: 'gtceu:macerator/macerate_mutton' }) + e.remove({ id: 'gtceu:macerator/macerate_chicken' }) - event.recipes.gtceu.macerator('macerate_meat_to_dust') + e.recipes.gtceu.macerator('macerate_meat_to_dust') .itemInputs('#tfc:foods/meats') .itemOutputs('gtceu:meat_dust', 'gtceu:tiny_bone_dust') .duration(100) @@ -1358,15 +1524,15 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Пшеничная пыль - event.remove({ id: 'gtceu:shapeless/wheat_to_dust' }) - event.remove({ id: 'gtceu:macerator/macerate_wheat' }) - event.remove({ id: 'gtceu:macerator/macerate_hay_block' }) + e.remove({ id: 'gtceu:shapeless/wheat_to_dust' }) + e.remove({ id: 'gtceu:macerator/macerate_wheat' }) + e.remove({ id: 'gtceu:macerator/macerate_hay_block' }) //#endregion //#region Выход: Пыль какао-бобов - event.recipes.gtceu.assembler('macerate_cocoa') + e.recipes.gtceu.assembler('macerate_cocoa') .itemInputs('firmalife:food/cocoa_beans') .itemOutputs('gtceu:cocoa_dust') .duration(400) @@ -1376,62 +1542,62 @@ const registerGregTechRecipes1 = (event) => { //#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' }) + e.remove({ id: 'gtceu:arc_furnace/arc_chest_minecart' }) + e.remove({ id: 'gtceu:arc_furnace/arc_iron_trapdoor' }) + e.remove({ id: 'gtceu:arc_furnace/arc_damaged_anvil' }) + e.remove({ id: 'gtceu:arc_furnace/arc_chipped_anvil' }) + e.remove({ id: 'gtceu:arc_furnace/arc_anvil' }) + e.remove({ id: 'gtceu:arc_furnace/arc_furnace_minecart' }) + e.remove({ id: 'gtceu:arc_furnace/arc_compass' }) //#endregion //#region Выход: Кованные самородки - event.remove({ id: 'gtceu:arc_furnace/arc_iron_bars' }) + e.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' }) + e.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' }) + e.remove({ id: 'gtceu:macerator/macerate_damaged_anvil' }) + e.remove({ id: 'gtceu:macerator/macerate_chipped_anvil' }) + e.remove({ id: 'gtceu:macerator/macerate_anvil' }) + e.remove({ id: 'gtceu:macerator/macerate_furnace_minecart' }) + e.remove({ id: 'gtceu:macerator/macerate_bucket' }) + e.remove({ id: 'gtceu:macerator/macerate_compass' }) //#endregion //#region Выход: Крошечная железная пыль - event.remove({ id: 'gtceu:macerator/macerate_iron_bars' }) + e.remove({ id: 'gtceu:macerator/macerate_iron_bars' }) //#endregion //#region Выход: Крошечная пыль золы - event.remove({ id: 'gtceu:arc_furnace/arc_bookshelf' }) + e.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' }) + e.remove({ id: 'gtceu:macerator/macerate_nether_brick_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_nether_brick_slab' }) //#endregion //#region Выход: Пыль базальта - event.remove({ id: 'gtceu:macerator/macerate_basalt' }) + e.remove({ id: 'gtceu:macerator/macerate_basalt' }) //#endregion //#region Выход: Filter Casing - event.shaped('gtceu:filter_casing', [ + e.shaped('gtceu:filter_casing', [ 'AAA', 'BBB', 'CDE' @@ -1447,7 +1613,7 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Assembly Line Grating - event.shaped('2x gtceu:assembly_line_grating', [ + e.shaped('2x gtceu:assembly_line_grating', [ 'ABA', 'ACA', 'ADA' @@ -1462,7 +1628,7 @@ const registerGregTechRecipes1 = (event) => { //#region Gas Collectors - event.shaped('gtceu:lv_gas_collector', [ + e.shaped('gtceu:lv_gas_collector', [ 'ABA', 'CEC', 'ADA' @@ -1474,7 +1640,7 @@ const registerGregTechRecipes1 = (event) => { E: 'gtceu:lv_machine_hull' }).id('gtceu:shaped/lv_gas_collector') - event.shaped('gtceu:mv_gas_collector', [ + e.shaped('gtceu:mv_gas_collector', [ 'ABA', 'CEC', 'ADA' @@ -1486,7 +1652,7 @@ const registerGregTechRecipes1 = (event) => { E: 'gtceu:mv_machine_hull' }).id('gtceu:shaped/mv_gas_collector') - event.shaped('gtceu:hv_gas_collector', [ + e.shaped('gtceu:hv_gas_collector', [ 'ABA', 'CEC', 'ADA' @@ -1498,7 +1664,7 @@ const registerGregTechRecipes1 = (event) => { E: 'gtceu:hv_machine_hull' }).id('gtceu:shaped/hv_gas_collector') - event.shaped('gtceu:ev_gas_collector', [ + e.shaped('gtceu:ev_gas_collector', [ 'ABA', 'CEC', 'ADA' @@ -1510,7 +1676,7 @@ const registerGregTechRecipes1 = (event) => { E: 'gtceu:ev_machine_hull' }).id('gtceu:shaped/ev_gas_collector') - event.shaped('gtceu:iv_gas_collector', [ + e.shaped('gtceu:iv_gas_collector', [ 'ABA', 'CEC', 'ADA' @@ -1522,7 +1688,7 @@ const registerGregTechRecipes1 = (event) => { E: 'gtceu:iv_machine_hull' }).id('gtceu:shaped/iv_gas_collector') - event.shaped('gtceu:luv_gas_collector', [ + e.shaped('gtceu:luv_gas_collector', [ 'ABA', 'CEC', 'ADA' @@ -1534,7 +1700,7 @@ const registerGregTechRecipes1 = (event) => { E: 'gtceu:luv_machine_hull' }).id('gtceu:shaped/luv_gas_collector') - event.shaped('gtceu:zpm_gas_collector', [ + e.shaped('gtceu:zpm_gas_collector', [ 'ABA', 'CEC', 'ADA' @@ -1546,7 +1712,7 @@ const registerGregTechRecipes1 = (event) => { E: 'gtceu:zpm_machine_hull' }).id('gtceu:shaped/zpm_gas_collector') - event.shaped('gtceu:uv_gas_collector', [ + e.shaped('gtceu:uv_gas_collector', [ 'ABA', 'CEC', 'ADA' @@ -1562,7 +1728,7 @@ const registerGregTechRecipes1 = (event) => { //#region Forge Hammers - event.shaped('gtceu:lv_forge_hammer', [ + e.shaped('gtceu:lv_forge_hammer', [ 'ABA', 'CDC', 'AEA' @@ -1574,7 +1740,7 @@ const registerGregTechRecipes1 = (event) => { E: 'tfc:metal/anvil/steel', }).id('gtceu:shaped/lv_forge_hammer') - event.shaped('gtceu:mv_forge_hammer', [ + e.shaped('gtceu:mv_forge_hammer', [ 'ABA', 'CDC', 'AEA' @@ -1586,7 +1752,7 @@ const registerGregTechRecipes1 = (event) => { E: 'tfc:metal/anvil/steel', }).id('gtceu:shaped/mv_forge_hammer') - event.shaped('gtceu:hv_forge_hammer', [ + e.shaped('gtceu:hv_forge_hammer', [ 'ABA', 'CDC', 'AEA' @@ -1598,7 +1764,7 @@ const registerGregTechRecipes1 = (event) => { E: 'tfc:metal/anvil/steel', }).id('gtceu:shaped/hv_forge_hammer') - event.shaped('gtceu:ev_forge_hammer', [ + e.shaped('gtceu:ev_forge_hammer', [ 'ABA', 'CDC', 'AEA' @@ -1610,7 +1776,7 @@ const registerGregTechRecipes1 = (event) => { E: 'tfc:metal/anvil/black_steel', }).id('gtceu:shaped/ev_forge_hammer') - event.shaped('gtceu:iv_forge_hammer', [ + e.shaped('gtceu:iv_forge_hammer', [ 'ABA', 'CDC', 'AEA' @@ -1622,7 +1788,7 @@ const registerGregTechRecipes1 = (event) => { E: 'tfc:metal/anvil/black_steel', }).id('gtceu:shaped/iv_forge_hammer') - event.shaped('gtceu:luv_forge_hammer', [ + e.shaped('gtceu:luv_forge_hammer', [ 'ABA', 'CDC', 'AEA' @@ -1634,7 +1800,7 @@ const registerGregTechRecipes1 = (event) => { E: 'tfc:metal/anvil/black_steel', }).id('gtceu:shaped/luv_forge_hammer') - event.shaped('gtceu:zpm_forge_hammer', [ + e.shaped('gtceu:zpm_forge_hammer', [ 'ABA', 'CDC', 'AEA' @@ -1646,7 +1812,7 @@ const registerGregTechRecipes1 = (event) => { E: '#tfg:tier_6_anvil', }).id('gtceu:shaped/zpm_forge_hammer') - event.shaped('gtceu:uv_forge_hammer', [ + e.shaped('gtceu:uv_forge_hammer', [ 'ABA', 'CDC', 'AEA' @@ -1663,7 +1829,7 @@ const registerGregTechRecipes1 = (event) => { //#region CokeOven // Coke Oven - event.shaped('gtceu:coke_oven', [ + e.shaped('gtceu:coke_oven', [ 'ABA', 'BCB', 'ABA' @@ -1674,7 +1840,7 @@ const registerGregTechRecipes1 = (event) => { }).id('gtceu:shaped/coke_oven') // Coke Oven Hatch - event.shaped('gtceu:coke_oven_hatch', [ + e.shaped('gtceu:coke_oven_hatch', [ 'AB' ], { A: 'gtceu:coke_oven_bricks', @@ -1685,50 +1851,50 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Слиток камня - event.remove({id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot'}) + e.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' }) + e.remove({ id: 'gtceu:shaped/bronze_hull' }) + e.remove({ id: 'gtceu:arc_furnace/arc_bronze_machine_casing' }) + e.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' }) + e.remove({ id: 'gtceu:shaped/steam_extractor_bronze' }) + e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_extractor' }) + e.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' }) + e.remove({ id: 'gtceu:shaped/steam_macerator_bronze' }) + e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_macerator' }) + e.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' }) + e.remove({ id: 'gtceu:shaped/steam_compressor_bronze' }) + e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_compressor' }) + e.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' }) + e.remove({ id: 'gtceu:shaped/steam_hammer_bronze' }) + e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_forge_hammer' }) + e.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' }) + e.remove({ id: 'gtceu:shaped/steam_furnace_bronze' }) + e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_furnace' }) + e.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' }) + e.remove({ id: 'gtceu:shaped/steam_alloy_smelter_bronze' }) + e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_alloy_smelter' }) + e.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' }) + e.remove({ id: 'gtceu:shaped/steam_rock_breaker_bronze' }) + e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_rock_crusher' }) + e.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' }) + e.remove({ id: 'gtceu:shaped/steam_miner' }) + e.remove({ id: 'gtceu:arc_furnace/arc_steam_miner' }) + e.remove({ id: 'gtceu:macerator/macerate_steam_miner' }) // Low Pressure Steam Solid Boiler - event.shaped('gtceu:lp_steam_solid_boiler', [ + e.shaped('gtceu:lp_steam_solid_boiler', [ 'AAA', 'ABA', 'ACA' @@ -1743,7 +1909,7 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Стальные машины // Экстрактор - event.shaped('gtceu:hp_steam_extractor', [ + e.shaped('gtceu:hp_steam_extractor', [ 'BEB', 'CAC', 'DBD' @@ -1756,7 +1922,7 @@ const registerGregTechRecipes1 = (event) => { }).id('gtceu:shaped/steam_extractor_steel') // Дробитель - event.shaped('gtceu:hp_steam_macerator', [ + e.shaped('gtceu:hp_steam_macerator', [ 'CCC', 'BAB', 'DDD' @@ -1768,7 +1934,7 @@ const registerGregTechRecipes1 = (event) => { }).id('gtceu:shaped/steam_macerator_steel') // Компрессор - event.shaped('gtceu:hp_steam_compressor', [ + e.shaped('gtceu:hp_steam_compressor', [ 'BCB', 'DAD', 'BBB' @@ -1780,7 +1946,7 @@ const registerGregTechRecipes1 = (event) => { }).id('gtceu:shaped/steam_compressor_steel') // Молот - event.shaped('gtceu:hp_steam_forge_hammer', [ + e.shaped('gtceu:hp_steam_forge_hammer', [ 'DDD', 'BAB', 'CCC' @@ -1792,7 +1958,7 @@ const registerGregTechRecipes1 = (event) => { }).id('gtceu:shaped/steam_hammer_steel') // Печь - event.shaped('gtceu:hp_steam_furnace', [ + e.shaped('gtceu:hp_steam_furnace', [ 'BCB', 'DAD', 'BCB' @@ -1804,7 +1970,7 @@ const registerGregTechRecipes1 = (event) => { }).id('gtceu:shaped/steam_furnace_steel') // Сплавщик - event.shaped('gtceu:hp_steam_alloy_smelter', [ + e.shaped('gtceu:hp_steam_alloy_smelter', [ 'DCD', 'DAD', 'DBD' @@ -1816,7 +1982,7 @@ const registerGregTechRecipes1 = (event) => { }).id('gtceu:shaped/steam_alloy_smelter_steel') // Блоко-ломатель - event.shaped('gtceu:hp_steam_rock_crusher', [ + e.shaped('gtceu:hp_steam_rock_crusher', [ 'DCD', 'BAB', 'DDD' @@ -1831,17 +1997,17 @@ const registerGregTechRecipes1 = (event) => { //#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'}) + e.remove({id: 'gtceu:shapeless/dust_brass'}) + e.remove({id: 'gtceu:shapeless/glass_dust_flint'}) + e.remove({id: 'gtceu:shapeless/dust_bronze'}) + e.remove({id: 'gtceu:shapeless/potin_dust'}) //#endregion //#region Вырезка из резины // TODO: Не работает из-за магического бага - // event.recipes.tfc.knapping('gtceu:rubber_ring', 'tfg:rubber', ['XXX', 'X X', 'XXX']) + // e.recipes.tfc.knapping('gtceu:rubber_ring', 'tfg:rubber', ['XXX', 'X X', 'XXX']) // .ingredient('gtceu:rubber_plate') //#endregion @@ -1849,44 +2015,44 @@ const registerGregTechRecipes1 = (event) => { //#region Стеклодувка // Glass Tube - event.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) + e.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' }) + e.remove({ id: 'gtceu:arc_furnace/arc_primitive_blast_furnace' }) + e.remove({ id: 'gtceu:macerator/macerate_primitive_blast_furnace' }) // Удаление рецепта беск. воды кавера - event.remove('gtceu:assembler/cover_infinite_water') + e.remove('gtceu:assembler/cover_infinite_water') // Удаление рецептов помпы - event.remove('gtceu:shaped/pump_deck') - event.remove('gtceu:shaped/pump_hatch') - event.remove('gtceu:shaped/primitive_pump') + e.remove('gtceu:shaped/pump_deck') + e.remove('gtceu:shaped/pump_hatch') + e.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' }) + e.remove({ id: 'gtceu:shaped/wooden_barrel' }) + e.remove({ id: 'gtceu:assembler/wood_barrel' }) + e.remove({ id: 'gtceu:arc_furnace/arc_wood_drum' }) + e.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' }) + e.remove({id: 'gtceu:shaped/casing_primitive_bricks' }) + e.remove({id: 'gtceu:macerator/macerate_firebricks' }) + e.remove({id: 'gtceu:extractor/extract_primitive_bricks' }) // Удаление рецептов связанных с FireBrick - event.remove({ id: 'gtceu:smelting/fireclay_brick' }) - event.remove({ id: 'gtceu:macerator/macerate_firebrick' }) + e.remove({ id: 'gtceu:smelting/fireclay_brick' }) + e.remove({ id: 'gtceu:macerator/macerate_firebrick' }) // TODO: Удалить после фикса GTCEu - event.remove({ id: 'gtceu:extractor/extract_raw_rubber_dust' }) + e.remove({ id: 'gtceu:extractor/extract_raw_rubber_dust' }) //#region Пыль звезды незера // TODO: Нужно ли удалять? - event.recipes.gtceu.chemical_reactor('tfg:nether_star_dust') + e.recipes.gtceu.chemical_reactor('tfg:nether_star_dust') .itemInputs('2x #forge:dusts/iridium', '#forge:dusts/diamond') .circuit(10) .itemOutputs('gtceu:nether_star_dust') @@ -1896,14 +2062,14 @@ const registerGregTechRecipes1 = (event) => { //#endregion // Creosote-Treated Wood Planks -> Treated Wood Pulp - event.recipes.gtceu.macerator('tfg:gtceu/macerate_treated_wood_planks') + e.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', [ + e.shaped('gtceu:empty_wooden_form', [ ' AA', 'BAA' ], { @@ -1912,7 +2078,7 @@ const registerGregTechRecipes1 = (event) => { }).id('gtceu:shaped/plank_to_wooden_shape') // Деревянная шестерня - event.shaped('gtceu:wood_gear', [ + e.shaped('gtceu:wood_gear', [ ' A ', 'ABA', ' A ' @@ -1926,7 +2092,7 @@ const registerGregTechRecipes1 = (event) => { // Compressed Coke Clay - event.shaped('gtceu:compressed_coke_clay', [ + e.shaped('gtceu:compressed_coke_clay', [ 'AAA', 'BCB', 'BBB' @@ -1937,19 +2103,19 @@ const registerGregTechRecipes1 = (event) => { }).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) + e.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') + e.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', [ + e.shaped('gtceu:hp_steam_solid_boiler', [ 'AAA', 'ACA', 'BDB' @@ -1961,7 +2127,7 @@ const registerGregTechRecipes1 = (event) => { }).id('gtceu:shaped/steam_boiler_coal_steel') // Multi-Smelter - event.shaped('gtceu:multi_smelter', [ + e.shaped('gtceu:multi_smelter', [ 'AAA', 'BCB', 'DBD' @@ -1973,7 +2139,7 @@ const registerGregTechRecipes1 = (event) => { }).id('gtceu:shaped/multi_furnace') // Electric Blast Furnace - event.shaped('gtceu:electric_blast_furnace', [ + e.shaped('gtceu:electric_blast_furnace', [ 'AAA', 'BCB', 'DBD' @@ -1985,43 +2151,43 @@ const registerGregTechRecipes1 = (event) => { }).id('gtceu:shaped/electric_blast_furnace') // Клей из ТФК клея - event.recipes.gtceu.centrifuge('glue_from_tfc_glue') + e.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(e, ['#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') + generateMixerRecipe(e, ['#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' }) + e.remove({ id: 'gtceu:shaped/vacuum_tube' }) - event.recipes.createSequencedAssembly([ + e.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']), + e.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', '#forge:bolts/steel']), + e.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:glass_tube']), + e.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' }) + e.remove({ id: 'gtceu:shaped/electronic_circuit_lv' }) - event.recipes.createSequencedAssembly([ + e.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']), + e.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', '#forge:plates/steel']), + e.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']), + e.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']), + e.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 @@ -2030,14 +2196,14 @@ const registerGregTechRecipes1 = (event) => { //#region Выход: Фикс выработки пара на ведре лавы - //event.remove({ id: 'minecraft:large_boiler/lava_bucket' }) - //event.recipes.gtceu.large_boiler('lava_bucket') + //e.remove({ id: 'minecraft:large_boiler/lava_bucket' }) + //e.recipes.gtceu.large_boiler('lava_bucket') // .itemInputs('minecraft:lava_bucket') // .duration(25) //#endregion - event.recipes.gtceu.fluid_solidifier('tfg:latex_heating') + e.recipes.gtceu.fluid_solidifier('tfg:latex_heating') .itemInputs('gtceu:sulfur_dust') .inputFluids(Fluid.of('tfg:latex', 1000)) .itemOutputs('gtceu:sticky_resin') diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index cc2c2a673..23f4ea229 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -2,43 +2,6 @@ const registerMinecraftRecipes = (e) => { - const removeMaterialnfoRecipes = () => { - //#region Дерево - - //#region Незер - global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { - e.remove({ id: `gtceu:macerator/macerate_${woodName}_planks` }) - - e.remove({ id: `gtceu:macerator/macerate_${woodName}_stairs` }) - - e.remove({ id: `gtceu:macerator/macerate_${woodName}_slab` }) - - e.remove({ id: `gtceu:macerator/macerate_${woodName}_fence` }) - - e.remove({ id: `gtceu:macerator/macerate_${woodName}_fence_gate` }) - - e.remove({ id: `gtceu:arc_furnace/arc_${woodName}_door` }) - e.remove({ id: `gtceu:macerator/macerate_${woodName}_door` }) - - e.remove({ id: `gtceu:macerator/macerate_${woodName}_button` }) - - e.remove({ id: `gtceu:macerator/macerate_${woodName}_boat` }) - }) - //#endregion - - //#region Бамбук - e.remove({ id: `gtceu:macerator/macerate_bamboo_raft` }) - //#endregion - - //#endregion - - //#region Камень - - //#endregion - } - - removeMaterialnfoRecipes() - //#region Дерево const processOverworldWood = (woodName) => { // Wood @@ -2176,9 +2139,9 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Полублок - e.remove({ id: 'gtceu:shaped/red_sandstone_slab_saw' }) - e.remove({ id: 'minecraft:red_sandstone_slab_from_red_sandstone_stonecutting' }) - e.remove({ id: '' }) + e.remove({ id: 'gtceu:shaped/smooth_red_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:smooth_red_sandstone_slab_from_smooth_red_sandstone_stonecutting' }) + e.remove({ id: 'gtceu:forge_hammer/smooth_red_sandstone_to_red_sand' }) //#endregion //#endregion @@ -3558,6 +3521,22 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'gtceu:assembler/composter' }) //#endregion + //#region Нотный блок + e.remove({ id: 'gtceu:shaped/note_block' }) + e.remove({ id: 'gtceu:assembler/note_block' }) + + e.shaped('minecraft:note_block', [ + 'AAA', + 'BCB', + 'BDB' + ], { + A: 'gtceu:wood_plank', + B: '#tfg:metal_bars', + C: '#forge:gears/wood', + D: '#forge:rods/red_alloy', + }).id('tfg:workbench/note_block') + //#endregion + //#region Варочная стойка e.remove({ id: 'gtceu:shaped/brewing_stand' }) //#endregion @@ -3845,6 +3824,18 @@ const registerMinecraftRecipes = (e) => { //#endregion + //#region Рычаг + e.remove({ id: 'gtceu:shaped/lever' }) + + e.shaped('minecraft:lever', [ + 'A', + 'B' + ], { + A: '#forge:rods/wooden', + B: '#minecraft:buttons', + }).id('tfg:workbench/lever') + //#endregion + //#region Калиброванный скалк сенсер e.remove({ id: 'minecraft:calibrated_sculk_sensor' }) e.remove({ id: 'gtceu:assembler/calibrated_sculk_sensor' }) @@ -4623,6 +4614,7 @@ const registerMinecraftRecipes = (e) => { //#region Кварц e.remove({ id: 'minecraft:quartz' }) e.remove({ id: 'minecraft:quartz_from_blasting' }) + e.remove({ id: 'create:crushing/diorite' }) //#endregion //#region Железный самородок From 8d0462128061619ada5b23d047a21bb5f2f02991 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 08:30:54 +0700 Subject: [PATCH 191/266] remove global configs, move them to defaultconfigs --- .../additionalplacements-server.toml | 10 - global-server-configs/alekiships-server.toml | 3 - .../barrels_2012-server.toml | 13 - .../computercraft-server.toml | 205 -- global-server-configs/corpse-server.toml | 33 - global-server-configs/create-server.toml | 521 ---- .../create_connected-server.toml | 54 - global-server-configs/curios-server.toml | 19 - global-server-configs/etched-server.toml | 9 - global-server-configs/firmaciv-server.toml | 15 - global-server-configs/firmalife-server.toml | 121 - global-server-configs/forge-server.toml | 20 - .../framedblocks-server.toml | 16 - .../ftbessentials-server.snbt | 241 -- global-server-configs/ftbessentials.snbt | 232 -- .../ftblibrary/ftblibrary-client.snbt | 4 - .../ftbquests/client-config.snbt | 4 - global-server-configs/ftbranks/README.txt | 2103 ----------------- global-server-configs/ftbranks/players.snbt | 1 - global-server-configs/ftbranks/ranks.snbt | 26 - .../ftbxmodcompat/ftbxmodcompat.snbt | 4 - .../getittogetherdrops-server.toml | 6 - .../inventorysorter-server.toml | 8 - global-server-configs/jei-server.toml | 9 - .../jumbofurnace-server.toml | 10 - global-server-configs/morered-server.toml | 6 - .../openpartiesandclaims-server.toml | 298 --- global-server-configs/railways-server.toml | 75 - .../sophisticatedbackpacks-server.toml | 439 ---- global-server-configs/tfc-server.toml | 1314 ---------- .../tfcchannelcasting-server.toml | 6 - global-server-configs/tfcea-server.toml | 5 - global-server-configs/toolbelt-server.toml | 7 - 33 files changed, 5837 deletions(-) delete mode 100644 global-server-configs/additionalplacements-server.toml delete mode 100644 global-server-configs/alekiships-server.toml delete mode 100644 global-server-configs/barrels_2012-server.toml delete mode 100644 global-server-configs/computercraft-server.toml delete mode 100644 global-server-configs/corpse-server.toml delete mode 100644 global-server-configs/create-server.toml delete mode 100644 global-server-configs/create_connected-server.toml delete mode 100644 global-server-configs/curios-server.toml delete mode 100644 global-server-configs/etched-server.toml delete mode 100644 global-server-configs/firmaciv-server.toml delete mode 100644 global-server-configs/firmalife-server.toml delete mode 100644 global-server-configs/forge-server.toml delete mode 100644 global-server-configs/framedblocks-server.toml delete mode 100644 global-server-configs/ftbessentials-server.snbt delete mode 100644 global-server-configs/ftbessentials.snbt delete mode 100644 global-server-configs/ftblibrary/ftblibrary-client.snbt delete mode 100644 global-server-configs/ftbquests/client-config.snbt delete mode 100644 global-server-configs/ftbranks/README.txt delete mode 100644 global-server-configs/ftbranks/players.snbt delete mode 100644 global-server-configs/ftbranks/ranks.snbt delete mode 100644 global-server-configs/ftbxmodcompat/ftbxmodcompat.snbt delete mode 100644 global-server-configs/getittogetherdrops-server.toml delete mode 100644 global-server-configs/inventorysorter-server.toml delete mode 100644 global-server-configs/jei-server.toml delete mode 100644 global-server-configs/jumbofurnace-server.toml delete mode 100644 global-server-configs/morered-server.toml delete mode 100644 global-server-configs/openpartiesandclaims-server.toml delete mode 100644 global-server-configs/railways-server.toml delete mode 100644 global-server-configs/sophisticatedbackpacks-server.toml delete mode 100644 global-server-configs/tfc-server.toml delete mode 100644 global-server-configs/tfcchannelcasting-server.toml delete mode 100644 global-server-configs/tfcea-server.toml delete mode 100644 global-server-configs/toolbelt-server.toml diff --git a/global-server-configs/additionalplacements-server.toml b/global-server-configs/additionalplacements-server.toml deleted file mode 100644 index 51c7db835..000000000 --- a/global-server-configs/additionalplacements-server.toml +++ /dev/null @@ -1,10 +0,0 @@ - -#World settings -[server] - #Check for and notify of mismatching tags. Only works when the same option in the common config is true. - check_tags = true - #Automatically rebuild and reload the generated tags datapack when a tagging mismatch is detected. Only works when the same option in the server/world config is true. - auto_rebuild_tags = true - #Whether fake players (such as block placers) can utilize Additional Placement's placement logic. - fake_player_placement = true - diff --git a/global-server-configs/alekiships-server.toml b/global-server-configs/alekiships-server.toml deleted file mode 100644 index dd750aeff..000000000 --- a/global-server-configs/alekiships-server.toml +++ /dev/null @@ -1,3 +0,0 @@ -#When true, boats with no anchor will drift in the wind -windAffectsBoatsWithNoAnchor = false - diff --git a/global-server-configs/barrels_2012-server.toml b/global-server-configs/barrels_2012-server.toml deleted file mode 100644 index 758a86ec5..000000000 --- a/global-server-configs/barrels_2012-server.toml +++ /dev/null @@ -1,13 +0,0 @@ - -[general] - #Enables worn powderkegs exploding when you catch on fire. - enablePowderkegExplosions = true - #Enables lamps burning fuel when worn. Disabling this makes them last forever. - enableLampBurningFuel = true - #The light value emitted by the worn lamp. - #Range: 0 ~ 15 - lampBrightness = 15 - #The ticks between times the lamp tries to update its light position while worn. 20 ticks are in a second. - #Range: > 1 - lampUpdateInterval = 15 - diff --git a/global-server-configs/computercraft-server.toml b/global-server-configs/computercraft-server.toml deleted file mode 100644 index 5c053ac51..000000000 --- a/global-server-configs/computercraft-server.toml +++ /dev/null @@ -1,205 +0,0 @@ -#The disk space limit for computers and turtles, in bytes. -computer_space_limit = 1000000 -#The disk space limit for floppy disks, in bytes. -floppy_space_limit = 125000 -#The file upload size limit, in bytes. Must be in range of 1 KiB and 16 MiB. -#Keep in mind that uploads are processed in a single tick - large files or -#poor network performance can stall the networking thread. And mind the disk space! -#Range: 1024 ~ 16777216 -upload_max_size = 524288 -#Set how many files a computer can have open at the same time. Set to 0 for unlimited. -#Range: > 0 -maximum_open_files = 128 -#A comma separated list of default system settings to set on new computers. -#Example: "shell.autocomplete=false,lua.autocomplete=false,edit.autocomplete=false" -#will disable all autocompletion. -default_computer_settings = "" -#Log exceptions thrown by peripherals and other Lua objects. This makes it easier -#for mod authors to debug problems, but may result in log spam should people use -#buggy methods. -log_computer_errors = true -#Require players to be in creative mode and be opped in order to interact with -#command computers. This is the default behaviour for vanilla's Command blocks. -command_require_creative = true -#A list of generic methods or method sources to disable. Generic methods are -#methods added to a block/block entity when there is no explicit peripheral -#provider. This includes inventory methods (i.e. inventory.getItemDetail, -#inventory.pushItems), and (if on Forge), the fluid_storage and energy_storage -#methods. -#Methods in this list can either be a whole group of methods (computercraft:inventory) -#or a single method (computercraft:inventory#pushItems). -# -disabled_generic_methods = [] - -#Controls execution behaviour of computers. This is largely intended for -#fine-tuning servers, and generally shouldn't need to be touched. -[execution] - #Set the number of threads computers can run on. A higher number means more - #computers can run at once, but may induce lag. Please note that some mods may - #not work with a thread count higher than 1. Use with caution. - #Range: > 1 - computer_threads = 1 - #The maximum time that can be spent executing tasks in a single tick, in - #milliseconds. - #Note, we will quite possibly go over this limit, as there's no way to tell how - #long a will take - this aims to be the upper bound of the average time. - #Range: > 1 - max_main_global_time = 10 - #The ideal maximum time a computer can execute for in a tick, in milliseconds. - #Note, we will quite possibly go over this limit, as there's no way to tell how - #long a will take - this aims to be the upper bound of the average time. - #Range: > 1 - max_main_computer_time = 5 - -#Controls the HTTP API -[http] - #Enable the "http" API on Computers. Disabling this also disables the "pastebin" and - #"wget" programs, that many users rely on. It's recommended to leave this on and use - #the "rules" config option to impose more fine-grained control. - enabled = true - #Enable use of http websockets. This requires the "http_enable" option to also be true. - websocket_enabled = true - #The number of http requests a computer can make at one time. Additional requests - #will be queued, and sent when the running requests have finished. Set to 0 for - #unlimited. - #Range: > 0 - max_requests = 16 - #The number of websockets a computer can have open at one time. - #Range: > 1 - max_websockets = 4 - - #Limits bandwidth used by computers. - [http.bandwidth] - #The number of bytes which can be downloaded in a second. This is shared across all computers. (bytes/s). - #Range: > 1 - global_download = 33554432 - #The number of bytes which can be uploaded in a second. This is shared across all computers. (bytes/s). - #Range: > 1 - global_upload = 33554432 - - #Tunnels HTTP and websocket requests through a proxy server. Only affects HTTP - #rules with "use_proxy" set to true (off by default). - #If authentication is required for the proxy, create a "computercraft-proxy.pw" - #file in the same directory as "computercraft-server.toml", containing the - #username and password separated by a colon, e.g. "myuser:mypassword". For - #SOCKS4 proxies only the username is required. - [http.proxy] - #The type of proxy to use. - #Allowed Values: HTTP, HTTPS, SOCKS4, SOCKS5 - type = "HTTP" - #The hostname or IP address of the proxy server. - host = "" - #The port of the proxy server. - #Range: 1 ~ 65536 - port = 8080 - - #A list of rules which control behaviour of the "http" API for specific domains or - #IPs. Each rule matches against a hostname and an optional port, and then sets several - #properties for the request. Rules are evaluated in order, meaning earlier rules override - #later ones. - # - #Valid properties: - # - "host" (required): The domain or IP address this rule matches. This may be a domain name - # ("pastebin.com"), wildcard ("*.pastebin.com") or CIDR notation ("127.0.0.0/8"). - # - "port" (optional): Only match requests for a specific port, such as 80 or 443. - # - # - "action" (optional): Whether to allow or deny this request. - # - "max_download" (optional): The maximum size (in bytes) that a computer can download in this - # request. - # - "max_upload" (optional): The maximum size (in bytes) that a computer can upload in a this request. - # - "max_websocket_message" (optional): The maximum size (in bytes) that a computer can send or - # receive in one websocket packet. - # - "use_proxy" (optional): Enable use of the HTTP/SOCKS proxy if it is configured. - [[http.rules]] - #The magic "$private" host matches all private address ranges, such as localhost and 192.168.0.0/16. - #This rule prevents computers accessing internal services, and is strongly recommended. - host = "$private" - #Deny all requests to private IP addresses. - action = "deny" - - [[http.rules]] - #The wildcard "*" rule matches all remaining hosts. - host = "*" - #Allow all non-denied hosts. - action = "allow" - #The maximum size (in bytes) that a computer can download in a single request. - #Note that responses may receive more data than allowed, but this data will not - #be returned to the client. - max_download = 16777216 - #The maximum size (in bytes) that a computer can upload in a single request. This - #includes headers and POST text. - max_upload = 4194304 - #The maximum size (in bytes) that a computer can send or receive in one websocket packet. - max_websocket_message = 131072 - #Enable use of the HTTP/SOCKS proxy if it is configured. - use_proxy = false - -#Various options relating to peripherals. -[peripheral] - #Enable Command Block peripheral support - command_block_enabled = false - #The range of Wireless Modems at low altitude in clear weather, in meters. - #Range: 0 ~ 100000 - modem_range = 64 - #The range of Wireless Modems at maximum altitude in clear weather, in meters. - #Range: 0 ~ 100000 - modem_high_altitude_range = 384 - #The range of Wireless Modems at low altitude in stormy weather, in meters. - #Range: 0 ~ 100000 - modem_range_during_storm = 64 - #The range of Wireless Modems at maximum altitude in stormy weather, in meters. - #Range: 0 ~ 100000 - modem_high_altitude_range_during_storm = 384 - #Maximum amount of notes a speaker can play at once. - #Range: > 1 - max_notes_per_tick = 8 - #The limit to how much monitor data can be sent *per tick*. Note: - # - Bandwidth is measured before compression, so the data sent to the client is - # smaller. - # - This ignores the number of players a packet is sent to. Updating a monitor for - # one player consumes the same bandwidth limit as sending to 20. - # - A full sized monitor sends ~25kb of data. So the default (1MB) allows for ~40 - # monitors to be updated in a single tick. - #Set to 0 to disable. - #Range: > 0 - monitor_bandwidth = 1000000 - -#Various options relating to turtles. -[turtle] - #Set whether Turtles require fuel to move. - need_fuel = true - #The fuel limit for Turtles. - #Range: > 0 - normal_fuel_limit = 20000 - #The fuel limit for Advanced Turtles. - #Range: > 0 - advanced_fuel_limit = 100000 - #If set to true, Turtles will push entities out of the way instead of stopping if - #there is space to do so. - can_push = true - -#Configure the size of various computer's terminals. -#Larger terminals require more bandwidth, so use with care. -[term_sizes] - - #Terminal size of computers. - [term_sizes.computer] - #Range: 1 ~ 255 - width = 51 - #Range: 1 ~ 255 - height = 19 - - #Terminal size of pocket computers. - [term_sizes.pocket_computer] - #Range: 1 ~ 255 - width = 26 - #Range: 1 ~ 255 - height = 20 - - #Maximum size of monitors (in blocks). - [term_sizes.monitor] - #Range: 1 ~ 32 - width = 8 - #Range: 1 ~ 32 - height = 6 - diff --git a/global-server-configs/corpse-server.toml b/global-server-configs/corpse-server.toml deleted file mode 100644 index ff4eb11ee..000000000 --- a/global-server-configs/corpse-server.toml +++ /dev/null @@ -1,33 +0,0 @@ -#The time (in real life days) deaths get stored -#-1 for infinite storage -#0 for not storing deaths at all -#Range: > -1 -death_storage_duration = -1 - -[corpse] - #The time passed (in ticks) after a corpse turns into a skeleton - #Range: > 0 - skeleton_time = 72000 - #If the corpse should lie on its face - lie_on_face = false - #If the corpse should wear the players equipment - show_equipment = true - #If the corpse should fall into the void - fall_into_void = false - #If the corpse should get removed when in lava - lava_damage = false - - [corpse.access] - #If only the owner of the corpse can access the inventory - only_owner = true - #If everybody can access the corpse in the skeleton stage (Only if only_owner_access is set to true) - skeleton = true - - [corpse.despawn] - #The time passed (in ticks) after a corpse despawns (only if empty) - #Range: > 20 - time = 600 - #The time passed (in ticks) after a corpse despawns even if its not empty (-1 = never) - #Range: > -1 - force_time = -1 - diff --git a/global-server-configs/create-server.toml b/global-server-configs/create-server.toml deleted file mode 100644 index 2d74570ba..000000000 --- a/global-server-configs/create-server.toml +++ /dev/null @@ -1,521 +0,0 @@ - -#. -#The Backbone of Create -[infrastructure] - #. - #[in Ticks] - #The amount of time a server waits before sending out tickrate synchronization packets. - #These packets help animations to be more accurate when tps is below 20. - #Range: > 5 - tickrateSyncTimer = 20 - -#. -#Packmakers' control panel for internal recipe compat -[recipes] - #. - #. - #Allow the Mechanical Press to process entire stacks at a time. - bulkPressing = false - #. - #Allow the Mechanical Saw to process entire stacks at a time. - bulkCutting = false - #. - #Allow supported potions to be brewed by a Mechanical Mixer + Basin. - allowBrewingInMixer = true - #. - #Allow any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin. - allowShapelessInMixer = true - #. - #Allow any single-ingredient 2x2 or 3x3 crafting recipes to be processed by a Mechanical Press + Basin. - allowShapedSquareInPress = true - #. - #Allow any standard crafting recipes to be processed by Mechanical Crafters. - allowRegularCraftingInCrafter = true - #. - #The Maximum amount of ingredients that can be used to craft Firework Rockets using Mechanical Crafters. - #Range: > 1 - maxFireworkIngredientsInCrafter = 9 - #. - #Allow any stonecutting recipes to be processed by a Mechanical Saw. - allowStonecuttingOnSaw = true - #. - #Allow any Druidcraft woodcutter recipes to be processed by a Mechanical Saw. - allowWoodcuttingOnSaw = true - #. - #Allow Spouts to interact with Casting Tables and Basins from Tinkers' Construct. - allowCastingBySpout = true - #. - #Display vanilla Log-stripping interactions in JEI. - displayLogStrippingRecipes = false - #. - #The amount of Light sources destroyed before Chromatic Compound turns into Refined Radiance. - #Range: > 1 - lightSourceCountForRefinedRadiance = 10 - #. - #Allow the standard in-world Refined Radiance recipes. - enableRefinedRadianceRecipe = true - #. - #Allow the standard in-world Shadow Steel recipe. - enableShadowSteelRecipe = true - -#. -#Parameters and abilities of Create's kinetic mechanisms -[kinetics] - #. - #. - #Disable the Stress mechanic altogether. - disableStress = false - #. - #Maximum length in blocks of mechanical belts. - #Range: > 5 - maxBeltLength = 20 - #. - #Damage dealt by active Crushing Wheels. - #Range: > 0 - crushingDamage = 4 - #. - #[in Revolutions per Minute] - #Maximum allowed rotation speed for any Kinetic Block. - #Range: > 64 - maxRotationSpeed = 256 - #. - #Select what mobs should ignore Deployers when attacked by them. - #Allowed Values: ALL, CREEPERS, NONE - ignoreDeployerAttacks = "CREEPERS" - #. - #Game ticks between Kinetic Blocks checking whether their source is still valid. - #Range: > 5 - kineticValidationFrequency = 60 - #. - #multiplier used for calculating exhaustion from speed when a crank is turned. - #Range: 0.0 ~ 1.0 - crankHungerMultiplier = 0.009999999776482582 - #. - #Amount of sail-type blocks required for a windmill to assemble successfully. - #Range: > 0 - minimumWindmillSails = 8 - #. - #Number of sail-type blocks required to increase windmill speed by 1RPM. - #Range: > 1 - windmillSailsPerRPM = 8 - #. - #Max Distance in blocks a Weighted Ejector can throw - #Range: > 0 - maxEjectorDistance = 32 - #. - #Time in ticks until the next item launched by an ejector scans blocks for potential collisions - #Range: > 10 - ejectorScanInterval = 120 - - #. - #Encased Fan - [kinetics.encasedFan] - #. - #Maximum distance in blocks Fans can push entities. - #Range: > 5 - fanPushDistance = 20 - #. - #Maximum distance in blocks from where Fans can pull entities. - #Range: > 5 - fanPullDistance = 20 - #. - #Game ticks between Fans checking for anything blocking their air flow. - #Range: > 10 - fanBlockCheckRate = 30 - #. - #[in Revolutions per Minute] - #Rotation speed at which the maximum stats of fans are reached. - #Range: > 64 - fanRotationArgmax = 256 - #. - #Game ticks required for a Fan-based processing recipe to take effect. - #Range: > 0 - fanProcessingTime = 150 - - #. - #Moving Contraptions - [kinetics.contraptions] - #. - #Maximum amount of blocks in a structure movable by Pistons, Bearings or other means. - #Range: > 1 - maxBlocksMoved = 2048 - #. - #[in Bytes] - #[0 to disable this limit] - #Maximum amount of data a contraption can have before it can't be synced with players. - #Un-synced contraptions will not be visible and will not have collision. - #Range: > 0 - maxDataSize = 2000000 - #. - #Maximum value of a chassis attachment range. - #Range: > 1 - maxChassisRange = 16 - #. - #Maximum amount of extension poles behind a Mechanical Piston. - #Range: > 1 - maxPistonPoles = 64 - #. - #Max length of rope available off a Rope Pulley. - #Range: > 1 - maxRopeLength = 256 - #. - #Maximum allowed distance of two coupled minecarts. - #Range: > 1 - maxCartCouplingLength = 32 - #. - #Maximum depth of blocks filled in using a Mechanical Roller. - #Range: > 1 - rollerFillDepth = 12 - #. - #Whether minecart contraptions can be picked up in survival mode. - survivalContraptionPickup = true - #. - #Configure how Spawner blocks can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - movableSpawners = "NO_PICKUP" - #. - #Configure how Budding Amethyst can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - amethystMovement = "NO_PICKUP" - #. - #Configure how Obsidian blocks can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - movableObsidian = "UNMOVABLE" - #. - #Configure how Reinforced Deepslate blocks can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - movableReinforcedDeepslate = "UNMOVABLE" - #. - #Whether items mined or harvested by contraptions should be placed in their mounted storage. - moveItemsToStorage = true - #. - #Whether harvesters should break crops that aren't fully grown. - harvestPartiallyGrown = false - #. - #Whether harvesters should replant crops after harvesting. - harvesterReplants = true - #. - #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. - [kinetics.stats] - #. - #[in Revolutions per Minute] - #Minimum speed of rotation to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumSpeed = 30.0 - #. - #[in Revolutions per Minute] - #Minimum speed of rotation to be considered 'fast' - #Range: 0.0 ~ 65535.0 - fastSpeed = 100.0 - #. - #[in Stress Units] - #Minimum stress impact to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumStressImpact = 4.0 - #. - #[in Stress Units] - #Minimum stress impact to be considered 'high' - #Range: 0.0 ~ 65535.0 - highStressImpact = 8.0 - #. - #[in Stress Units] - #Minimum added Capacity by sources to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumCapacity = 256.0 - #. - #[in Stress Units] - #Minimum added Capacity by sources to be considered 'high' - #Range: 0.0 ~ 65535.0 - highCapacity = 1024.0 - - [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] - 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 - speedometer = 0.0 - copper_backtank = 4.0 - mechanical_saw = 4.0 - flywheel = 0.0 - encased_chain_drive = 0.0 - clutch = 0.0 - encased_fan = 2.0 - adjustable_chain_gearshift = 0.0 - mechanical_pump = 4.0 - crushing_wheel = 8.0 - mechanical_mixer = 4.0 - gantry_shaft = 0.0 - rope_pulley = 4.0 - 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 - stressometer = 0.0 - shaft = 0.0 - brass_encased_shaft = 0.0 - gearshift = 0.0 - turntable = 4.0 - sticky_mechanical_piston = 4.0 - sequenced_gearshift = 0.0 - weighted_ejector = 2.0 - cogwheel = 0.0 - andesite_encased_cogwheel = 0.0 - belt = 0.0 - brass_encased_cogwheel = 0.0 - gearbox = 0.0 - hose_pulley = 4.0 - elevator_pulley = 4.0 - mechanical_crafter = 2.0 - - #. - #[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 - creative_motor = 16384.0 - large_water_wheel = 128.0 - water_wheel = 32.0 - windmill_bearing = 512.0 - -#. -#Create's liquid manipulation tools -[fluids] - #. - #. - #[in Buckets] - #The amount of liquid a tank can hold per block. - #Range: > 1 - fluidTankCapacity = 8 - #. - #[in Blocks] - #The maximum height a fluid tank can reach. - #Range: > 1 - fluidTankMaxHeight = 32 - #. - #[in Blocks] - #The maximum distance a mechanical pump can push or pull liquids on either side. - #Range: > 1 - mechanicalPumpRange = 16 - #. - #[in Blocks] - #The maximum distance a hose pulley can draw fluid blocks from. - #Range: > 1 - hosePulleyRange = 128 - #. - #[in Blocks] - #[-1 to disable this behaviour] - #The minimum amount of fluid blocks the hose pulley needs to find before deeming it an infinite source. - #Range: > -1 - hosePulleyBlockThreshold = 0 - #. - #Whether hose pulleys should continue filling up above-threshold sources. - fillInfinite = false - #. - #Configure which fluids can be drained infinitely. - #Allowed Values: ALLOW_ALL, DENY_ALL, ALLOW_BY_TAG, DENY_BY_TAG - bottomlessFluidMode = "ALLOW_BY_TAG" - #. - #Whether hose pulleys should be allowed to place fluid sources. - fluidFillPlaceFluidSourceBlocks = false - #. - #Whether open-ended pipes should be allowed to place fluid sources. - pipesPlaceFluidSourceBlocks = false - -#. -#Tweaks for logistical components -[logistics] - #. - #. - #The amount of ticks a funnel waits between item transferrals, when it is not re-activated by redstone. - #Range: > 1 - defaultExtractionTimer = 8 - #. - #The amount of ticks a portable storage interface waits for transfers until letting contraptions move along. - #Range: > 1 - psiTimeout = 60 - #. - #Maximum distance in blocks a Mechanical Arm can reach across. - #Range: > 1 - mechanicalArmRange = 5 - #. - #Maximum possible range in blocks of redstone link connections. - #Range: > 1 - linkRange = 256 - #. - #Maximum possible distance in blocks between data gatherers and their target. - #Range: > 1 - displayLinkRange = 64 - #. - #The total amount of stacks a vault can hold per block in size. - #Range: > 1 - vaultCapacity = 20 - #. - #The amount of ticks a brass tunnel waits between distributions. - #Range: 1 ~ 10 - brassTunnelTimer = 10 - #. - #Whether hostile mobs walking near a seat will start riding it. - seatHostileMobs = true - -#. -#Everything related to Schematic tools -[schematics] - #. - #. - #Whether placing a Schematic directly in Creative Mode should replace world blocks with Air - creativePrintIncludesAir = false - #. - #The amount of Schematics a player can upload until previous ones are overwritten. - #Range: > 1 - maxSchematics = 256 - #. - #[in Bytes] - #The maximum packet size uploaded Schematics are split into. - #Range: 256 ~ 32767 - maxSchematicPacketSize = 1024 - #. - #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 - [schematics.schematicannon] - #. - #Amount of game ticks between shots of the cannon. Higher => Slower - #Range: > 1 - schematicannonDelay = 10 - #. - #Amount of blocks a Schematicannon can print per Gunpowder item provided. - #Range: > 1 - schematicannonShotsPerGunpowder = 400 - -#. -#Equipment and gadgets added by Create -[equipment] - #. - #. - #The Maximum Distance to an active mirror for the symmetry wand to trigger. - #Range: > 10 - maxSymmetryWandRange = 50 - #. - #The Maximum Distance a Block placed by Create's placement assist will have to its interaction point. - #Range: > 3 - placementAssistRange = 12 - #. - #The Maximum Distance at which a Toolbox can interact with Players' Inventories. - #Range: > 1 - toolboxRange = 10 - #. - #The Maximum volume of Air that can be stored in a backtank = Seconds of underwater breathing - #Range: > 1 - airInBacktank = 900 - #. - #The volume of Air added by each level of the backtanks Capacity Enchantment - #Range: > 1 - enchantedBacktankCapacity = 300 - #. - #Amount of free Extendo Grip actions provided by one filled Copper Backtank. Set to 0 makes Extendo Grips unbreakable - #Range: > 0 - maxExtendoGripActions = 1000 - #. - #Amount of free Potato Cannon shots provided by one filled Copper Backtank. Set to 0 makes Potato Cannons unbreakable - #Range: > 0 - maxPotatoCannonShots = 200 - -#. -#Create's builtin Railway systems -[trains] - #. - #. - #Whether moving Trains can hurt colliding mobs and players. - trainsCauseDamage = true - #. - #Maximum length of track that can be placed as one batch or turn. - #Range: 16 ~ 128 - maxTrackPlacementLength = 32 - #. - #Maximum length of a Train Stations' assembly track. - #Range: > 5 - maxAssemblyLength = 128 - #. - #Maximum amount of bogeys assembled as a single Train. - #Range: > 1 - maxBogeyCount = 20 - #. - #Relative speed of a manually controlled Train compared to a Scheduled one. - #Range: 0.0 ~ 3.4028234663852886E38 - manualTrainSpeedModifier = 0.75 - - #. - #Standard Trains - [trains.trainStats] - #. - #[in Blocks/Second] - #The top speed of any assembled Train. - #Range: 0.0 ~ 3.4028234663852886E38 - trainTopSpeed = 28.0 - #. - #[in Blocks/Second] - #The top speed of Trains during a turn. - #Range: 0.0 ~ 3.4028234663852886E38 - trainTurningTopSpeed = 14.0 - #. - #[in Blocks/Second²] - #The acceleration of any assembled Train. - #Range: 0.0 ~ 3.4028234663852886E38 - trainAcceleration = 3.0 - - #. - #Powered Trains - [trains.poweredTrainStats] - #. - #[in Blocks/Second] - #The top speed of powered Trains. - #Range: 0.0 ~ 3.4028234663852886E38 - poweredTrainTopSpeed = 40.0 - #. - #[in Blocks/Second] - #The top speed of powered Trains during a turn. - #Range: 0.0 ~ 3.4028234663852886E38 - poweredTrainTurningTopSpeed = 20.0 - #. - #[in Blocks/Second²] - #The acceleration of powered Trains. - #Range: 0.0 ~ 3.4028234663852886E38 - poweredTrainAcceleration = 3.0 - diff --git a/global-server-configs/create_connected-server.toml b/global-server-configs/create_connected-server.toml deleted file mode 100644 index ed130c2ae..000000000 --- a/global-server-configs/create_connected-server.toml +++ /dev/null @@ -1,54 +0,0 @@ -#. -#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 = 8.0 - large_crank_wheel = 8.0 - diff --git a/global-server-configs/curios-server.toml b/global-server-configs/curios-server.toml deleted file mode 100644 index b9df94c76..000000000 --- a/global-server-configs/curios-server.toml +++ /dev/null @@ -1,19 +0,0 @@ -#Sets behavior for keeping Curios items on death. -#ON - Curios items are kept on death -#DEFAULT - Curios items follow the keepInventory gamerule -#OFF - Curios items are dropped on death -#Allowed Values: ON, DEFAULT, OFF -keepCurios = "DEFAULT" - -[menu] - #Enables the old legacy Curios menu for better backwards compatibility. - enableLegacyMenu = false - - [menu.experimental] - #The minimum number of columns for the Curios menu. - #Range: 1 ~ 8 - minimumColumns = 1 - #The maximum number of slots per page of the Curios menu. - #Range: 1 ~ 48 - maxSlotsPerPage = 48 - diff --git a/global-server-configs/etched-server.toml b/global-server-configs/etched-server.toml deleted file mode 100644 index 459c2ba56..000000000 --- a/global-server-configs/etched-server.toml +++ /dev/null @@ -1,9 +0,0 @@ - -[Boombox] - #Disables right clicking music discs into boomboxes and allows the menu to be used by shift right-clicking - "Use boombox menu" = false - -["Album Cover"] - #Disables right clicking music discs into album covers and allows the menu to be used by shift right-clicking - "Use album cover menu" = false - diff --git a/global-server-configs/firmaciv-server.toml b/global-server-configs/firmaciv-server.toml deleted file mode 100644 index ab39ca616..000000000 --- a/global-server-configs/firmaciv-server.toml +++ /dev/null @@ -1,15 +0,0 @@ - -[general] - #Force creation of canoes from specified wood types. Turning this to false will make canoes craftable from any wood type. - canoeWoodRestriction = true - #Force creation of ships and rowboats from specified wood types. Turning this to false will make ships and rowboats craftable from any wood type. - shipWoodRestriction = true - #Force reduceDebugInfo gamerule. Turn this to FALSE if you want coordinates back. - forceReducedDebugInfo = false - #Disables vanilla boats and base TFC boats from working. - disableVanillaBoatFunctionality = true - #Automatically adjusts latitude and longitude to match the climate scale of the TFC world. - changeLatitudeLongitudeBasedOnClimateConfig = false - #Expands water source creation to make canal building possible at sea level. - enableParallelSourceCreationAtSeaLevel = true - diff --git a/global-server-configs/firmalife-server.toml b/global-server-configs/firmalife-server.toml deleted file mode 100644 index fe487192f..000000000 --- a/global-server-configs/firmalife-server.toml +++ /dev/null @@ -1,121 +0,0 @@ - -[general] - #Days in a cellar to make cheese Aged. - #Range: > 1 - cheeseAgedDays = 28 - #Days in a cellar to make cheese Vintage. - #Range: > 1 - cheeseVintageDays = 112 - #Ticks to dry something on a drying mat (24000 ticks = 1 day) - #Range: > 1 - dryingTicks = 12000 - #Ticks to dry something on a solar drier (24000 ticks = 1 day) - #Range: > 1 - solarDryingTicks = 1000 - #Ticks to smoke something on a string (24000 ticks = 1 day) - #Range: > 1 - smokingTicks = 8000 - #Number of blocks below the firepit that wool string will search for valid smoking firepits. - #Range: > 1 - smokingFirepitRange = 6 - #Ticks for a composter tumbler to finish (24000 ticks = 1 day) - #Range: > 1 - compostTumblerTicks = 96000 - #Ticks for an oven to cure (24000 ticks = 1 day) - #Range: > 1 - ovenCureTicks = 2000 - #Minimum temperature for an oven to start the curing process (24000 ticks = 1 day) - #Range: > 1 - ovenCureTemperature = 600 - #If true, ovens will hurt the player if they touch it without a peel in hand. - ovenRequirePeel = true - #The chance for fuel burning in an oven to drop an ash block into an ashtray. - #Range: 0.0 ~ 1.0 - ovenAshChance = 0.5 - #If true, players can throw seed balls. - enableSeedBalls = true - #If true, bees can swarm and hurt the player if provoked. - enableBeeSwarm = true - #The capacity in mB of the wine glass. Default 250 - #Range: > 1 - hollowShellCapacity = 100 - #The average temperature below which stronger decay modifiers apply to cellar blocks. - #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 - cellarLevel2Temperature = 0.0 - #The average temperature below which even stronger decay modifiers apply to cellar blocks. - #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 - cellarLevel3Temperature = -12.0 - #The average amount of days for a crop in a greenhouse to grow. For normal crops, this is 24 days. - #Range: 4.9E-324 ~ 1.7976931348623157E308 - greenhouseGrowthDays = 20.0 - #The average amount of days for a crop in a greenhouse to consume all its water. - #Range: 0.0 ~ 1.7976931348623157E308 - greenhouseWaterDays = 12.0 - #The average amount of days for a crop to consume all of a nutrient. You should probably not configure this value unless you know what it does in the code. For regular crops this value is 12. - #Range: 0.0 ~ 1.7976931348623157E308 - greenhouseNutrientDays = 8.0 - #The max bounded distance from the climate station a greenhouse wall can be. Higher numbers = more lag. - #Range: 1 ~ 128 - greenhouseRadius = 15 - #The max bounded distance from the climate station a cellar wall can be. Higher numbers = more lag. - #Range: 1 ~ 128 - cellarRadius = 15 - #If true, the tumbler and the pumping station work magically with a redstone signal and no power required. - mechanicalPowerCheatMode = false - -[foodTraits] - #The modifier for the 'Dried' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitDriedModifier = 0.5 - #The modifier for the 'Fresh' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitFreshModifier = 1.100000023841858 - #The modifier for the 'Aged' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitAgedModifier = 0.8999999761581421 - #The modifier for the 'Vintage' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitVintageModifier = 0.6000000238418579 - #The modifier for the 'Oven_baked' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitOven_bakedModifier = 0.8999999761581421 - #The modifier for the 'Smoked' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitSmokedModifier = 0.699999988079071 - #The modifier for the 'Rancid_smoked' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitRancid_smokedModifier = 2.0 - #The modifier for the 'Shelved' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitShelvedModifier = 0.4000000059604645 - #The modifier for the 'Shelved_2' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitShelved_2Modifier = 0.3499999940395355 - #The modifier for the 'Shelved_3' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitShelved_3Modifier = 0.25 - #The modifier for the 'Hung' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitHungModifier = 0.3499999940395355 - #The modifier for the 'Hung_2' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitHung_2Modifier = 0.30000001192092896 - #The modifier for the 'Hung_3' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitHung_3Modifier = 0.25 - #The modifier for the 'Fermented' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitFermentedModifier = 0.25 - #The modifier for the 'Bee_pollinated' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitBee_pollinatedModifier = 0.800000011920929 - #The modifier for the 'Dirt_grown' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitDirt_grownModifier = 0.8999999761581421 - #The modifier for the 'Gravel_grown' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitGravel_grownModifier = 0.800000011920929 - #The modifier for the 'Slope_grown' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitSlope_grownModifier = 0.800000011920929 - diff --git a/global-server-configs/forge-server.toml b/global-server-configs/forge-server.toml deleted file mode 100644 index 13772cf52..000000000 --- a/global-server-configs/forge-server.toml +++ /dev/null @@ -1,20 +0,0 @@ - -#Server configuration settings -[server] - #Set this to true to remove any BlockEntity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES. - removeErroringBlockEntities = false - #Set this to true to remove any Entity (Note: Does not include BlockEntities) that throws an error in its tick method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES. - removeErroringEntities = false - #Set this to true to check the entire entity's collision bounding box for ladders instead of just the block they are in. Causes noticeable differences in mechanics so default is vanilla behavior. Default: false. - fullBoundingBoxLadders = false - #Base zombie summoning spawn chance. Allows changing the bonus zombie summoning mechanic. - #Range: 0.0 ~ 1.0 - zombieBaseSummonChance = 0.1 - #Chance that a zombie (or subclass) is a baby. Allows changing the zombie spawning mechanic. - #Range: 0.0 ~ 1.0 - zombieBabyChance = 0.05 - #The permission handler used by the server. Defaults to forge:default_handler if no such handler with that name is registered. - permissionHandler = "forge:default_handler" - #Set this to true to enable advertising the dedicated server to local LAN clients so that it shows up in the Multiplayer screen automatically. - advertiseDedicatedServerToLan = true - diff --git a/global-server-configs/framedblocks-server.toml b/global-server-configs/framedblocks-server.toml deleted file mode 100644 index 6e5137517..000000000 --- a/global-server-configs/framedblocks-server.toml +++ /dev/null @@ -1,16 +0,0 @@ - -[general] - #Whether blocks with block entities can be placed in framed blocks - allowBlockEntities = false - #Enables the intangbility feature. Disabling this also prevents moving through blocks that are already marked as intangible - enableIntangibleFeature = false - #The item to use for making Framed Blocks intangible. The value must be a valid item registry name - intangibleMarkerItem = "minecraft:phantom_membrane" - #If true, only the player who placed the Framed One-Way Window can modify the window direction - oneWayWindowOwnable = true - #If true, applying a camo will consume the item and removing the camo will drop it again - consumeCamoItem = true - #The light level to emit when glowstone dust is applied to a framed block - #Range: 0 ~ 15 - glowstoneLightLevel = 15 - diff --git a/global-server-configs/ftbessentials-server.snbt b/global-server-configs/ftbessentials-server.snbt deleted file mode 100644 index c3f5803c5..000000000 --- a/global-server-configs/ftbessentials-server.snbt +++ /dev/null @@ -1,241 +0,0 @@ -# Default config file that will be copied to world's serverconfig/ftbessentials.snbt location -# Copy values you wish to override in here -# Example: -# -# { -# misc: { -# enderchest: { -# enabled: false -# } -# } -# } - -{ - # Admin commands for cheating and moderation - admin: { - # Allows admins to toggle flying status using a command, without having to use Creative Mode - fly: { - # Default: true - enabled: true - } - - # Allows admins to toggle invincibility using a command, without having to use Creative Mode - god: { - # Default: true - enabled: true - } - - # Allows admins to heal themselves using a command - heal: { - # Default: true - enabled: true - } - - # Allows admins to view other users' inventories using a command - invsee: { - # Default: true - enabled: true - } - - # Allows admins to restrict players from chatting by using a command to mute (or unmute) them - mute: { - # Default: true - enabled: true - } - } - - # Miscellaneous features and utilities - misc: { - # Allows users to access their ender chest, as well as admins to manage other players' ender chests. - enderchest: { - # Default: true - enabled: true - } - - # Allows users to set a custom hat as their head item by using a command - hat: { - # Default: true - enabled: true - } - - # Allows users to kick themselves from the server, for example if they are stuck or desynced - kickme: { - # Default: true - enabled: false - } - - # Allows users to view player leaderboard stats. - leaderboard: { - # Default: true - enabled: true - } - - # Allows users to change their display name, as well as admins to change nicknames for other users - nick: { - # Default: true - enabled: false - } - - # Allows users to announce their recording or streaming status to the server by using commands - rec: { - # Default: true - enabled: false - } - - # Enables usage of a trash can inventory, which can be used to void unneeded items - trashcan: { - # Default: true - enabled: true - } - } - - # Teleportation-related settings - teleportation: { - # Allows users to return to their previous location after teleporting (or dying) - back: { - # Cooldown between /back commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.cooldown - # Default: 30 - # Range: 0 ~ 604800 - cooldown: 30 - - # Default: true - enabled: false - - # Max size of the teleport history. This limits how many times you can use /back - # You can override this with FTB Ranks using ftbessentials.back.max - # Default: 10 - # Range: 0 ~ 2147483647 - max: 10 - - # Warm-up time before /back command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows users to set 'homes', which they can then freely teleport to by using /home afterwards - home: { - # Cooldown between /home commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Max amount of homes a user can have. - # You can override this with FTB Ranks using ftbessentials.home.max - # Default: 1 - # Range: 0 ~ 2147483647 - max: 1 - - # Warm-up time before /home command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to teleport to a random point in the Wilderness - # Note: This currently does not respect Claimed Chunks yet! - rtp: { - # Cooldown between /rtp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.cooldown - # Default: 600 - # Range: 0 ~ 604800 - cooldown: 600 - - # Default: true - enabled: false - - # /rtp max distance from spawn point - # Default: 100000 - # Range: 0 ~ 30000000 - max_distance: 100000 - - # Number of tries before /rtp gives up - # Default: 100 - # Range: 1 ~ 1000 - max_tries: 100 - - # /rtp min distance from spawn point - # Default: 1000 - # Range: 0 ~ 30000000 - min_distance: 1000 - - # Warm-up time before /rtp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - spawn: { - # Cooldown between /spawn commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /spawn command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to create requests to teleport to other users on the server, - # as well as requesting other players to teleport to them - tpa: { - # Cooldown between /tpa commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /tpa command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows admins to teleport to the location a user was last seen at - tpl: { - # Default: true - enabled: false - } - - # Allows admins to teleport to dimension - tpx: { - # Default: true - enabled: true - } - - # Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp - warp: { - # Cooldown between /warp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /warp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - } -} diff --git a/global-server-configs/ftbessentials.snbt b/global-server-configs/ftbessentials.snbt deleted file mode 100644 index 888367213..000000000 --- a/global-server-configs/ftbessentials.snbt +++ /dev/null @@ -1,232 +0,0 @@ -# FTB Essentials config file -# If you're a modpack maker, edit defaultconfigs/ftbessentials-server.snbt instead - -{ - # Admin commands for cheating and moderation - admin: { - # Allows admins to toggle flying status using a command, without having to use Creative Mode - fly: { - # Default: true - enabled: true - } - - # Allows admins to toggle invincibility using a command, without having to use Creative Mode - god: { - # Default: true - enabled: true - } - - # Allows admins to heal themselves using a command - heal: { - # Default: true - enabled: true - } - - # Allows admins to view other users' inventories using a command - invsee: { - # Default: true - enabled: true - } - - # Allows admins to restrict players from chatting by using a command to mute (or unmute) them - mute: { - # Default: true - enabled: true - } - } - - # Miscellaneous features and utilities - misc: { - # Allows users to access their ender chest, as well as admins to manage other players' ender chests. - enderchest: { - # Default: true - enabled: true - } - - # Allows users to set a custom hat as their head item by using a command - hat: { - # Default: true - enabled: false - } - - # Allows users to kick themselves from the server, for example if they are stuck or desynced - kickme: { - # Default: true - enabled: false - } - - # Allows users to view player leaderboard stats. - leaderboard: { - # Default: true - enabled: true - } - - # Allows users to change their display name, as well as admins to change nicknames for other users - nick: { - # Default: true - enabled: false - } - - # Allows users to announce their recording or streaming status to the server by using commands - rec: { - # Default: true - enabled: false - } - - # Enables usage of a trash can inventory, which can be used to void unneeded items - trashcan: { - # Default: true - enabled: true - } - } - - # Teleportation-related settings - teleportation: { - # Allows users to return to their previous location after teleporting (or dying) - back: { - # Cooldown between /back commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.cooldown - # Default: 30 - # Range: 0 ~ 604800 - cooldown: 30 - - # Default: true - enabled: false - - # Max size of the teleport history. This limits how many times you can use /back - # You can override this with FTB Ranks using ftbessentials.back.max - # Default: 10 - # Range: 0 ~ 2147483647 - max: 10 - - # Warm-up time before /back command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows users to set 'homes', which they can then freely teleport to by using /home afterwards - home: { - # Cooldown between /home commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Max amount of homes a user can have. - # You can override this with FTB Ranks using ftbessentials.home.max - # Default: 1 - # Range: 0 ~ 2147483647 - max: 1 - - # Warm-up time before /home command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to teleport to a random point in the Wilderness - # Note: This currently does not respect Claimed Chunks yet! - rtp: { - # Cooldown between /rtp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.cooldown - # Default: 600 - # Range: 0 ~ 604800 - cooldown: 600 - - # Default: true - enabled: false - - # /rtp max distance from spawn point - # Default: 100000 - # Range: 0 ~ 30000000 - max_distance: 100000 - - # Number of tries before /rtp gives up - # Default: 100 - # Range: 1 ~ 1000 - max_tries: 100 - - # /rtp min distance from spawn point - # Default: 1000 - # Range: 0 ~ 30000000 - min_distance: 1000 - - # Warm-up time before /rtp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - spawn: { - # Cooldown between /spawn commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /spawn command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to create requests to teleport to other users on the server, - # as well as requesting other players to teleport to them - tpa: { - # Cooldown between /tpa commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /tpa command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows admins to teleport to the location a user was last seen at - tpl: { - # Default: true - enabled: false - } - - # Allows admins to teleport to dimension - tpx: { - # Default: true - enabled: false - } - - # Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp - warp: { - # Cooldown between /warp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /warp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - } -} diff --git a/global-server-configs/ftblibrary/ftblibrary-client.snbt b/global-server-configs/ftblibrary/ftblibrary-client.snbt deleted file mode 100644 index ee8fa4b3d..000000000 --- a/global-server-configs/ftblibrary/ftblibrary-client.snbt +++ /dev/null @@ -1,4 +0,0 @@ -# Default config file that will be copied to local\ftblibrary-client.snbt if it doesn't exist! -# Just copy any values you wish to override in here! - -{ } diff --git a/global-server-configs/ftbquests/client-config.snbt b/global-server-configs/ftbquests/client-config.snbt deleted file mode 100644 index 406c7da71..000000000 --- a/global-server-configs/ftbquests/client-config.snbt +++ /dev/null @@ -1,4 +0,0 @@ -# Default config file that will be copied to local\ftbquests\client-config.snbt if it doesn't exist! -# Just copy any values you wish to override in here! - -{ } diff --git a/global-server-configs/ftbranks/README.txt b/global-server-configs/ftbranks/README.txt deleted file mode 100644 index 74c94df2c..000000000 --- a/global-server-configs/ftbranks/README.txt +++ /dev/null @@ -1,2103 +0,0 @@ -=== FTB Ranks === - -Last README file update: Thu Jul 20 09:32:31 YEKT 2023 -Wiki: https://www.notion.so/feedthebeast/FTB-Mod-Documentation-da2e359bad2449459d58d787edda3168 -To refresh this file, run /ftbranks refresh_readme - -= All available command nodes = -command -command.advancement -command.advancement.grant -command.advancement.grant.targets -command.advancement.grant.targets.everything -command.advancement.grant.targets.from -command.advancement.grant.targets.from.advancement -command.advancement.grant.targets.only -command.advancement.grant.targets.only.advancement -command.advancement.grant.targets.only.advancement.criterion -command.advancement.grant.targets.through -command.advancement.grant.targets.through.advancement -command.advancement.grant.targets.until -command.advancement.grant.targets.until.advancement -command.advancement.revoke -command.advancement.revoke.targets -command.advancement.revoke.targets.everything -command.advancement.revoke.targets.from -command.advancement.revoke.targets.from.advancement -command.advancement.revoke.targets.only -command.advancement.revoke.targets.only.advancement -command.advancement.revoke.targets.only.advancement.criterion -command.advancement.revoke.targets.through -command.advancement.revoke.targets.through.advancement -command.advancement.revoke.targets.until -command.advancement.revoke.targets.until.advancement -command.attribute -command.attribute.target -command.attribute.target.attribute -command.attribute.target.attribute.base -command.attribute.target.attribute.base.get -command.attribute.target.attribute.base.get.scale -command.attribute.target.attribute.base.set -command.attribute.target.attribute.base.set.value -command.attribute.target.attribute.get -command.attribute.target.attribute.get.scale -command.attribute.target.attribute.modifier -command.attribute.target.attribute.modifier.add -command.attribute.target.attribute.modifier.add.uuid -command.attribute.target.attribute.modifier.add.uuid.name -command.attribute.target.attribute.modifier.add.uuid.name.value -command.attribute.target.attribute.modifier.add.uuid.name.value.add -command.attribute.target.attribute.modifier.add.uuid.name.value.multiply -command.attribute.target.attribute.modifier.add.uuid.name.value.multiply_base -command.attribute.target.attribute.modifier.remove -command.attribute.target.attribute.modifier.remove.uuid -command.attribute.target.attribute.modifier.value -command.attribute.target.attribute.modifier.value.get -command.attribute.target.attribute.modifier.value.get.uuid -command.attribute.target.attribute.modifier.value.get.uuid.scale -command.back -command.betterbiomeblend -command.betterbiomeblend.toggleBenchmark -command.bossbar -command.bossbar.add -command.bossbar.add.id -command.bossbar.add.id.name -command.bossbar.get -command.bossbar.get.id -command.bossbar.get.id.max -command.bossbar.get.id.players -command.bossbar.get.id.value -command.bossbar.get.id.visible -command.bossbar.list -command.bossbar.remove -command.bossbar.remove.id -command.bossbar.set -command.bossbar.set.id -command.bossbar.set.id.color -command.bossbar.set.id.color.blue -command.bossbar.set.id.color.green -command.bossbar.set.id.color.pink -command.bossbar.set.id.color.purple -command.bossbar.set.id.color.red -command.bossbar.set.id.color.white -command.bossbar.set.id.color.yellow -command.bossbar.set.id.max -command.bossbar.set.id.max.max -command.bossbar.set.id.name -command.bossbar.set.id.name.name -command.bossbar.set.id.players -command.bossbar.set.id.players.targets -command.bossbar.set.id.style -command.bossbar.set.id.style.notched_10 -command.bossbar.set.id.style.notched_12 -command.bossbar.set.id.style.notched_20 -command.bossbar.set.id.style.notched_6 -command.bossbar.set.id.style.progress -command.bossbar.set.id.value -command.bossbar.set.id.value.value -command.bossbar.set.id.visible -command.bossbar.set.id.visible.visible -command.c -command.c.clone -command.c.clone.begin -command.c.clone.begin.end -command.c.clone.begin.end.destination -command.c.clone.begin.end.destination.skipBlocks -command.c.config -command.c.config.path -command.c.config.path.set -command.c.config.path.set.value -command.c.coupling -command.c.coupling.add -command.c.coupling.add.cart1 -command.c.coupling.add.cart1.cart2 -command.c.coupling.add.carts -command.c.coupling.remove -command.c.coupling.remove.cart1 -command.c.coupling.remove.cart1.cart2 -command.c.coupling.removeAll -command.c.coupling.removeAll.cart -command.c.dismissFabulousWarning -command.c.fixLighting -command.c.glue -command.c.glue.from -command.c.glue.from.to -command.c.highlight -command.c.highlight.pos -command.c.highlight.pos.players -command.c.killTrain -command.c.killTrain.train -command.c.overlay -command.c.overlay.reset -command.c.passenger -command.c.passenger.rider -command.c.passenger.rider.vehicle -command.c.passenger.rider.vehicle.seatIndex -command.c.ponder -command.c.ponder.scene -command.c.ponder.scene.targets -command.c.rainbowDebug -command.c.rainbowDebug.off -command.c.rainbowDebug.on -command.c.trains -command.c.u -command.c.u.angle -command.c.u.angle.players -command.c.u.angle.players.mode -command.c.u.angle.players.mode.exponential -command.c.u.angle.players.mode.exponential.speed -command.c.u.angle.players.mode.linear -command.c.u.angle.players.mode.linear.speed -command.c.u.angle.players.pitch -command.c.u.angle.players.pitch.degrees -command.c.u.angle.players.yaw -command.c.u.angle.players.yaw.degrees -command.c.u.camera -command.c.u.camera.multiplier -command.c.u.camera.reset -command.c.u.clearRenderBuffers -command.c.u.flySpeed -command.c.u.flySpeed.reset -command.c.u.flySpeed.reset.target -command.c.u.flySpeed.speed -command.c.u.flySpeed.speed.target -command.c.u.replaceInCommandBlocks -command.c.u.replaceInCommandBlocks.begin -command.c.u.replaceInCommandBlocks.begin.end -command.c.u.replaceInCommandBlocks.begin.end.toReplace -command.c.u.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.c.util -command.c.util.angle -command.c.util.angle.players -command.c.util.angle.players.mode -command.c.util.angle.players.mode.exponential -command.c.util.angle.players.mode.exponential.speed -command.c.util.angle.players.mode.linear -command.c.util.angle.players.mode.linear.speed -command.c.util.angle.players.pitch -command.c.util.angle.players.pitch.degrees -command.c.util.angle.players.yaw -command.c.util.angle.players.yaw.degrees -command.c.util.camera -command.c.util.camera.multiplier -command.c.util.camera.reset -command.c.util.clearRenderBuffers -command.c.util.flySpeed -command.c.util.flySpeed.reset -command.c.util.flySpeed.reset.target -command.c.util.flySpeed.speed -command.c.util.flySpeed.speed.target -command.c.util.replaceInCommandBlocks -command.c.util.replaceInCommandBlocks.begin -command.c.util.replaceInCommandBlocks.begin.end -command.c.util.replaceInCommandBlocks.begin.end.toReplace -command.c.util.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.candb -command.candb.clear -command.candb.clear.start -command.candb.clear.start.end -command.candb.fill -command.candb.fill.start -command.candb.fill.start.end -command.candb.fill.start.end.random -command.candb.fill.start.end.state -command.candb.give -command.candb.give.target -command.candb.give.target.state -command.candb.give.target.state.count -command.candb.load -command.candb.load.name -command.candb.profiling -command.candb.profiling.start -command.candb.profiling.stop -command.candb.redo -command.candb.redo.target -command.candb.save -command.candb.save.target -command.candb.save.target.name -command.candb.stats -command.candb.stats.start -command.candb.stats.start.end -command.candb.undo -command.candb.undo.target -command.carryon -command.carryon.clear -command.carryon.clear.target -command.carryon.debug -command.cca_api -command.clear -command.clear.targets -command.clear.targets.item -command.clear.targets.item.maxCount -command.clone -command.clone.begin -command.clone.begin.end -command.clone.begin.end.destination -command.clone.begin.end.destination.filtered -command.clone.begin.end.destination.filtered.filter -command.clone.begin.end.destination.filtered.filter.force -command.clone.begin.end.destination.filtered.filter.move -command.clone.begin.end.destination.filtered.filter.normal -command.clone.begin.end.destination.masked -command.clone.begin.end.destination.masked.force -command.clone.begin.end.destination.masked.move -command.clone.begin.end.destination.masked.normal -command.clone.begin.end.destination.replace -command.clone.begin.end.destination.replace.force -command.clone.begin.end.destination.replace.move -command.clone.begin.end.destination.replace.normal -command.config -command.config.showfile -command.config.showfile.mod -command.config.showfile.mod.type -command.create -command.create.clone -command.create.clone.begin -command.create.clone.begin.end -command.create.clone.begin.end.destination -command.create.clone.begin.end.destination.skipBlocks -command.create.config -command.create.config.path -command.create.config.path.set -command.create.config.path.set.value -command.create.coupling -command.create.coupling.add -command.create.coupling.add.cart1 -command.create.coupling.add.cart1.cart2 -command.create.coupling.add.carts -command.create.coupling.remove -command.create.coupling.remove.cart1 -command.create.coupling.remove.cart1.cart2 -command.create.coupling.removeAll -command.create.coupling.removeAll.cart -command.create.dismissFabulousWarning -command.create.fixLighting -command.create.glue -command.create.glue.from -command.create.glue.from.to -command.create.highlight -command.create.highlight.pos -command.create.highlight.pos.players -command.create.killTrain -command.create.killTrain.train -command.create.overlay -command.create.overlay.reset -command.create.passenger -command.create.passenger.rider -command.create.passenger.rider.vehicle -command.create.passenger.rider.vehicle.seatIndex -command.create.ponder -command.create.ponder.scene -command.create.ponder.scene.targets -command.create.rainbowDebug -command.create.rainbowDebug.off -command.create.rainbowDebug.on -command.create.trains -command.create.u -command.create.u.angle -command.create.u.angle.players -command.create.u.angle.players.mode -command.create.u.angle.players.mode.exponential -command.create.u.angle.players.mode.exponential.speed -command.create.u.angle.players.mode.linear -command.create.u.angle.players.mode.linear.speed -command.create.u.angle.players.pitch -command.create.u.angle.players.pitch.degrees -command.create.u.angle.players.yaw -command.create.u.angle.players.yaw.degrees -command.create.u.camera -command.create.u.camera.multiplier -command.create.u.camera.reset -command.create.u.clearRenderBuffers -command.create.u.flySpeed -command.create.u.flySpeed.reset -command.create.u.flySpeed.reset.target -command.create.u.flySpeed.speed -command.create.u.flySpeed.speed.target -command.create.u.replaceInCommandBlocks -command.create.u.replaceInCommandBlocks.begin -command.create.u.replaceInCommandBlocks.begin.end -command.create.u.replaceInCommandBlocks.begin.end.toReplace -command.create.u.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.create.util -command.create.util.angle -command.create.util.angle.players -command.create.util.angle.players.mode -command.create.util.angle.players.mode.exponential -command.create.util.angle.players.mode.exponential.speed -command.create.util.angle.players.mode.linear -command.create.util.angle.players.mode.linear.speed -command.create.util.angle.players.pitch -command.create.util.angle.players.pitch.degrees -command.create.util.angle.players.yaw -command.create.util.angle.players.yaw.degrees -command.create.util.camera -command.create.util.camera.multiplier -command.create.util.camera.reset -command.create.util.clearRenderBuffers -command.create.util.flySpeed -command.create.util.flySpeed.reset -command.create.util.flySpeed.reset.target -command.create.util.flySpeed.speed -command.create.util.flySpeed.speed.target -command.create.util.replaceInCommandBlocks -command.create.util.replaceInCommandBlocks.begin -command.create.util.replaceInCommandBlocks.begin.end -command.create.util.replaceInCommandBlocks.begin.end.toReplace -command.create.util.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.ctm -command.ctm.reload -command.curios -command.curios.add -command.curios.add.slot -command.curios.add.slot.player -command.curios.add.slot.player.amount -command.curios.clear -command.curios.clear.player -command.curios.clear.player.slot -command.curios.drop -command.curios.drop.player -command.curios.drop.player.slot -command.curios.list -command.curios.remove -command.curios.remove.slot -command.curios.remove.slot.player -command.curios.remove.slot.player.amount -command.curios.replace -command.curios.replace.slot -command.curios.replace.slot.index -command.curios.replace.slot.index.player -command.curios.replace.slot.index.player.with -command.curios.replace.slot.index.player.with.item -command.curios.replace.slot.index.player.with.item.count -command.curios.reset -command.curios.reset.player -command.curios.set -command.curios.set.slot -command.curios.set.slot.player -command.curios.set.slot.player.amount -command.data -command.data.get -command.data.get.block -command.data.get.block.targetPos -command.data.get.block.targetPos.path -command.data.get.block.targetPos.path.scale -command.data.get.entity -command.data.get.entity.target -command.data.get.entity.target.path -command.data.get.entity.target.path.scale -command.data.get.storage -command.data.get.storage.target -command.data.get.storage.target.path -command.data.get.storage.target.path.scale -command.data.merge -command.data.merge.block -command.data.merge.block.targetPos -command.data.merge.block.targetPos.nbt -command.data.merge.entity -command.data.merge.entity.target -command.data.merge.entity.target.nbt -command.data.merge.storage -command.data.merge.storage.target -command.data.merge.storage.target.nbt -command.data.modify -command.data.modify.block -command.data.modify.block.targetPos -command.data.modify.block.targetPos.targetPath -command.data.modify.block.targetPos.targetPath.append -command.data.modify.block.targetPos.targetPath.append.from -command.data.modify.block.targetPos.targetPath.append.from.block -command.data.modify.block.targetPos.targetPath.append.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.append.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.append.from.entity -command.data.modify.block.targetPos.targetPath.append.from.entity.source -command.data.modify.block.targetPos.targetPath.append.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.append.from.storage -command.data.modify.block.targetPos.targetPath.append.from.storage.source -command.data.modify.block.targetPos.targetPath.append.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.append.value -command.data.modify.block.targetPos.targetPath.append.value.value -command.data.modify.block.targetPos.targetPath.insert -command.data.modify.block.targetPos.targetPath.insert.index -command.data.modify.block.targetPos.targetPath.insert.index.from -command.data.modify.block.targetPos.targetPath.insert.index.from.block -command.data.modify.block.targetPos.targetPath.insert.index.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.insert.index.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.insert.index.from.entity -command.data.modify.block.targetPos.targetPath.insert.index.from.entity.source -command.data.modify.block.targetPos.targetPath.insert.index.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.insert.index.from.storage -command.data.modify.block.targetPos.targetPath.insert.index.from.storage.source -command.data.modify.block.targetPos.targetPath.insert.index.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.insert.index.value -command.data.modify.block.targetPos.targetPath.insert.index.value.value -command.data.modify.block.targetPos.targetPath.merge -command.data.modify.block.targetPos.targetPath.merge.from -command.data.modify.block.targetPos.targetPath.merge.from.block -command.data.modify.block.targetPos.targetPath.merge.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.merge.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.merge.from.entity -command.data.modify.block.targetPos.targetPath.merge.from.entity.source -command.data.modify.block.targetPos.targetPath.merge.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.merge.from.storage -command.data.modify.block.targetPos.targetPath.merge.from.storage.source -command.data.modify.block.targetPos.targetPath.merge.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.merge.value -command.data.modify.block.targetPos.targetPath.merge.value.value -command.data.modify.block.targetPos.targetPath.prepend -command.data.modify.block.targetPos.targetPath.prepend.from -command.data.modify.block.targetPos.targetPath.prepend.from.block -command.data.modify.block.targetPos.targetPath.prepend.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.prepend.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.prepend.from.entity -command.data.modify.block.targetPos.targetPath.prepend.from.entity.source -command.data.modify.block.targetPos.targetPath.prepend.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.prepend.from.storage -command.data.modify.block.targetPos.targetPath.prepend.from.storage.source -command.data.modify.block.targetPos.targetPath.prepend.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.prepend.value -command.data.modify.block.targetPos.targetPath.prepend.value.value -command.data.modify.block.targetPos.targetPath.set -command.data.modify.block.targetPos.targetPath.set.from -command.data.modify.block.targetPos.targetPath.set.from.block -command.data.modify.block.targetPos.targetPath.set.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.set.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.set.from.entity -command.data.modify.block.targetPos.targetPath.set.from.entity.source -command.data.modify.block.targetPos.targetPath.set.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.set.from.storage -command.data.modify.block.targetPos.targetPath.set.from.storage.source -command.data.modify.block.targetPos.targetPath.set.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.set.value -command.data.modify.block.targetPos.targetPath.set.value.value -command.data.modify.entity -command.data.modify.entity.target -command.data.modify.entity.target.targetPath -command.data.modify.entity.target.targetPath.append -command.data.modify.entity.target.targetPath.append.from -command.data.modify.entity.target.targetPath.append.from.block -command.data.modify.entity.target.targetPath.append.from.block.sourcePos -command.data.modify.entity.target.targetPath.append.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.append.from.entity -command.data.modify.entity.target.targetPath.append.from.entity.source -command.data.modify.entity.target.targetPath.append.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.append.from.storage -command.data.modify.entity.target.targetPath.append.from.storage.source -command.data.modify.entity.target.targetPath.append.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.append.value -command.data.modify.entity.target.targetPath.append.value.value -command.data.modify.entity.target.targetPath.insert -command.data.modify.entity.target.targetPath.insert.index -command.data.modify.entity.target.targetPath.insert.index.from -command.data.modify.entity.target.targetPath.insert.index.from.block -command.data.modify.entity.target.targetPath.insert.index.from.block.sourcePos -command.data.modify.entity.target.targetPath.insert.index.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.insert.index.from.entity -command.data.modify.entity.target.targetPath.insert.index.from.entity.source -command.data.modify.entity.target.targetPath.insert.index.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.insert.index.from.storage -command.data.modify.entity.target.targetPath.insert.index.from.storage.source -command.data.modify.entity.target.targetPath.insert.index.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.insert.index.value -command.data.modify.entity.target.targetPath.insert.index.value.value -command.data.modify.entity.target.targetPath.merge -command.data.modify.entity.target.targetPath.merge.from -command.data.modify.entity.target.targetPath.merge.from.block -command.data.modify.entity.target.targetPath.merge.from.block.sourcePos -command.data.modify.entity.target.targetPath.merge.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.merge.from.entity -command.data.modify.entity.target.targetPath.merge.from.entity.source -command.data.modify.entity.target.targetPath.merge.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.merge.from.storage -command.data.modify.entity.target.targetPath.merge.from.storage.source -command.data.modify.entity.target.targetPath.merge.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.merge.value -command.data.modify.entity.target.targetPath.merge.value.value -command.data.modify.entity.target.targetPath.prepend -command.data.modify.entity.target.targetPath.prepend.from -command.data.modify.entity.target.targetPath.prepend.from.block -command.data.modify.entity.target.targetPath.prepend.from.block.sourcePos -command.data.modify.entity.target.targetPath.prepend.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.prepend.from.entity -command.data.modify.entity.target.targetPath.prepend.from.entity.source -command.data.modify.entity.target.targetPath.prepend.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.prepend.from.storage -command.data.modify.entity.target.targetPath.prepend.from.storage.source -command.data.modify.entity.target.targetPath.prepend.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.prepend.value -command.data.modify.entity.target.targetPath.prepend.value.value -command.data.modify.entity.target.targetPath.set -command.data.modify.entity.target.targetPath.set.from -command.data.modify.entity.target.targetPath.set.from.block -command.data.modify.entity.target.targetPath.set.from.block.sourcePos -command.data.modify.entity.target.targetPath.set.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.set.from.entity -command.data.modify.entity.target.targetPath.set.from.entity.source -command.data.modify.entity.target.targetPath.set.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.set.from.storage -command.data.modify.entity.target.targetPath.set.from.storage.source -command.data.modify.entity.target.targetPath.set.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.set.value -command.data.modify.entity.target.targetPath.set.value.value -command.data.modify.storage -command.data.modify.storage.target -command.data.modify.storage.target.targetPath -command.data.modify.storage.target.targetPath.append -command.data.modify.storage.target.targetPath.append.from -command.data.modify.storage.target.targetPath.append.from.block -command.data.modify.storage.target.targetPath.append.from.block.sourcePos -command.data.modify.storage.target.targetPath.append.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.append.from.entity -command.data.modify.storage.target.targetPath.append.from.entity.source -command.data.modify.storage.target.targetPath.append.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.append.from.storage -command.data.modify.storage.target.targetPath.append.from.storage.source -command.data.modify.storage.target.targetPath.append.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.append.value -command.data.modify.storage.target.targetPath.append.value.value -command.data.modify.storage.target.targetPath.insert -command.data.modify.storage.target.targetPath.insert.index -command.data.modify.storage.target.targetPath.insert.index.from -command.data.modify.storage.target.targetPath.insert.index.from.block -command.data.modify.storage.target.targetPath.insert.index.from.block.sourcePos -command.data.modify.storage.target.targetPath.insert.index.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.insert.index.from.entity -command.data.modify.storage.target.targetPath.insert.index.from.entity.source -command.data.modify.storage.target.targetPath.insert.index.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.insert.index.from.storage -command.data.modify.storage.target.targetPath.insert.index.from.storage.source -command.data.modify.storage.target.targetPath.insert.index.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.insert.index.value -command.data.modify.storage.target.targetPath.insert.index.value.value -command.data.modify.storage.target.targetPath.merge -command.data.modify.storage.target.targetPath.merge.from -command.data.modify.storage.target.targetPath.merge.from.block -command.data.modify.storage.target.targetPath.merge.from.block.sourcePos -command.data.modify.storage.target.targetPath.merge.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.merge.from.entity -command.data.modify.storage.target.targetPath.merge.from.entity.source -command.data.modify.storage.target.targetPath.merge.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.merge.from.storage -command.data.modify.storage.target.targetPath.merge.from.storage.source -command.data.modify.storage.target.targetPath.merge.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.merge.value -command.data.modify.storage.target.targetPath.merge.value.value -command.data.modify.storage.target.targetPath.prepend -command.data.modify.storage.target.targetPath.prepend.from -command.data.modify.storage.target.targetPath.prepend.from.block -command.data.modify.storage.target.targetPath.prepend.from.block.sourcePos -command.data.modify.storage.target.targetPath.prepend.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.prepend.from.entity -command.data.modify.storage.target.targetPath.prepend.from.entity.source -command.data.modify.storage.target.targetPath.prepend.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.prepend.from.storage -command.data.modify.storage.target.targetPath.prepend.from.storage.source -command.data.modify.storage.target.targetPath.prepend.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.prepend.value -command.data.modify.storage.target.targetPath.prepend.value.value -command.data.modify.storage.target.targetPath.set -command.data.modify.storage.target.targetPath.set.from -command.data.modify.storage.target.targetPath.set.from.block -command.data.modify.storage.target.targetPath.set.from.block.sourcePos -command.data.modify.storage.target.targetPath.set.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.set.from.entity -command.data.modify.storage.target.targetPath.set.from.entity.source -command.data.modify.storage.target.targetPath.set.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.set.from.storage -command.data.modify.storage.target.targetPath.set.from.storage.source -command.data.modify.storage.target.targetPath.set.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.set.value -command.data.modify.storage.target.targetPath.set.value.value -command.data.remove -command.data.remove.block -command.data.remove.block.targetPos -command.data.remove.block.targetPos.path -command.data.remove.entity -command.data.remove.entity.target -command.data.remove.entity.target.path -command.data.remove.storage -command.data.remove.storage.target -command.data.remove.storage.target.path -command.datapack -command.datapack.disable -command.datapack.disable.name -command.datapack.enable -command.datapack.enable.name -command.datapack.enable.name.after -command.datapack.enable.name.after.existing -command.datapack.enable.name.before -command.datapack.enable.name.before.existing -command.datapack.enable.name.first -command.datapack.enable.name.last -command.datapack.list -command.datapack.list.available -command.datapack.list.enabled -command.deathhistory -command.deathhistory.player -command.deathhistory.player_uuid -command.debug -command.debug.function -command.debug.function.name -command.debug.start -command.debug.stop -command.defaultgamemode -command.defaultgamemode.adventure -command.defaultgamemode.creative -command.defaultgamemode.spectator -command.defaultgamemode.survival -command.delhome -command.delhome.name -command.delwarp -command.delwarp.name -command.difficulty -command.difficulty.easy -command.difficulty.hard -command.difficulty.normal -command.difficulty.peaceful -command.dt -command.dt.clearorphaned -command.dt.clearorphaned.location -command.dt.clearorphaned.location.radius -command.dt.createstaff -command.dt.createstaff.location -command.dt.createstaff.location.species -command.dt.createstaff.location.species.jo_code -command.dt.createstaff.location.species.jo_code.color -command.dt.createstaff.location.species.jo_code.color.readOnly -command.dt.createstaff.location.species.jo_code.color.readOnly.maxUses -command.dt.createtransformpotion -command.dt.createtransformpotion.location -command.dt.createtransformpotion.location.species -command.dt.fertility -command.dt.fertility.location -command.dt.fertility.location.fertility -command.dt.fertility.location.raw -command.dt.gettree -command.dt.gettree.location -command.dt.gettree.location.code_raw -command.dt.growpulse -command.dt.growpulse.location -command.dt.growpulse.location.number -command.dt.killtree -command.dt.killtree.location -command.dt.purgetrees -command.dt.purgetrees.location -command.dt.purgetrees.location.radius -command.dt.registry -command.dt.registry.cellkit -command.dt.registry.cellkit.list -command.dt.registry.cellkit.list.raw -command.dt.registry.family -command.dt.registry.family.list -command.dt.registry.family.list.raw -command.dt.registry.fruit -command.dt.registry.fruit.list -command.dt.registry.fruit.list.raw -command.dt.registry.genfeature -command.dt.registry.genfeature.list -command.dt.registry.genfeature.list.raw -command.dt.registry.growthlogickit -command.dt.registry.growthlogickit.list -command.dt.registry.growthlogickit.list.raw -command.dt.registry.leavesproperties -command.dt.registry.leavesproperties.list -command.dt.registry.leavesproperties.list.raw -command.dt.registry.pod -command.dt.registry.pod.list -command.dt.registry.pod.list.raw -command.dt.registry.registryhandler -command.dt.registry.registryhandler.list -command.dt.registry.registryhandler.list.raw -command.dt.registry.soilproperties -command.dt.registry.soilproperties.list -command.dt.registry.soilproperties.list.raw -command.dt.registry.species -command.dt.registry.species.list -command.dt.registry.species.list.raw -command.dt.rotatejocode -command.dt.rotatejocode.jo_code -command.dt.rotatejocode.jo_code.turns -command.dt.setcoordxor -command.dt.setcoordxor.xor -command.dt.settree -command.dt.settree.location -command.dt.settree.location.species -command.dt.settree.location.species.jo_code -command.dt.settree.location.species.jo_code.turns -command.dt.settree.location.species.jo_code.turns.fertility -command.dt.transform -command.dt.transform.location -command.dt.transform.location.species -command.dumpHandlers -command.effect -command.effect.clear -command.effect.clear.targets -command.effect.clear.targets.effect -command.effect.give -command.effect.give.targets -command.effect.give.targets.effect -command.effect.give.targets.effect.seconds -command.effect.give.targets.effect.seconds.amplifier -command.effect.give.targets.effect.seconds.amplifier.hideParticles -command.enchant -command.enchant.targets -command.enchant.targets.enchantment -command.enchant.targets.enchantment.level -command.enderchest -command.enderchest.player -command.execute -command.execute.align -command.execute.anchored -command.execute.as -command.execute.at -command.execute.facing -command.execute.facing.entity -command.execute.facing.entity.targets -command.execute.if -command.execute.if.block -command.execute.if.block.pos -command.execute.if.blocks -command.execute.if.blocks.start -command.execute.if.blocks.start.end -command.execute.if.blocks.start.end.destination -command.execute.if.data -command.execute.if.data.block -command.execute.if.data.block.sourcePos -command.execute.if.data.entity -command.execute.if.data.entity.source -command.execute.if.data.storage -command.execute.if.data.storage.source -command.execute.if.entity -command.execute.if.predicate -command.execute.if.score -command.execute.if.score.target -command.execute.if.score.target.targetObjective -command.execute.if.score.target.targetObjective.< -command.execute.if.score.target.targetObjective.<.source -command.execute.if.score.target.targetObjective.<= -command.execute.if.score.target.targetObjective.<=.source -command.execute.if.score.target.targetObjective.= -command.execute.if.score.target.targetObjective.=.source -command.execute.if.score.target.targetObjective.> -command.execute.if.score.target.targetObjective.>.source -command.execute.if.score.target.targetObjective.>= -command.execute.if.score.target.targetObjective.>=.source -command.execute.if.score.target.targetObjective.matches -command.execute.in -command.execute.positioned -command.execute.positioned.as -command.execute.rotated -command.execute.rotated.as -command.execute.run -command.execute.store -command.execute.store.result -command.execute.store.result.block -command.execute.store.result.block.targetPos -command.execute.store.result.block.targetPos.path -command.execute.store.result.block.targetPos.path.byte -command.execute.store.result.block.targetPos.path.double -command.execute.store.result.block.targetPos.path.float -command.execute.store.result.block.targetPos.path.int -command.execute.store.result.block.targetPos.path.long -command.execute.store.result.block.targetPos.path.short -command.execute.store.result.bossbar -command.execute.store.result.bossbar.id -command.execute.store.result.entity -command.execute.store.result.entity.target -command.execute.store.result.entity.target.path -command.execute.store.result.entity.target.path.byte -command.execute.store.result.entity.target.path.double -command.execute.store.result.entity.target.path.float -command.execute.store.result.entity.target.path.int -command.execute.store.result.entity.target.path.long -command.execute.store.result.entity.target.path.short -command.execute.store.result.score -command.execute.store.result.score.targets -command.execute.store.result.storage -command.execute.store.result.storage.target -command.execute.store.result.storage.target.path -command.execute.store.result.storage.target.path.byte -command.execute.store.result.storage.target.path.double -command.execute.store.result.storage.target.path.float -command.execute.store.result.storage.target.path.int -command.execute.store.result.storage.target.path.long -command.execute.store.result.storage.target.path.short -command.execute.store.success -command.execute.store.success.block -command.execute.store.success.block.targetPos -command.execute.store.success.block.targetPos.path -command.execute.store.success.block.targetPos.path.byte -command.execute.store.success.block.targetPos.path.double -command.execute.store.success.block.targetPos.path.float -command.execute.store.success.block.targetPos.path.int -command.execute.store.success.block.targetPos.path.long -command.execute.store.success.block.targetPos.path.short -command.execute.store.success.bossbar -command.execute.store.success.bossbar.id -command.execute.store.success.entity -command.execute.store.success.entity.target -command.execute.store.success.entity.target.path -command.execute.store.success.entity.target.path.byte -command.execute.store.success.entity.target.path.double -command.execute.store.success.entity.target.path.float -command.execute.store.success.entity.target.path.int -command.execute.store.success.entity.target.path.long -command.execute.store.success.entity.target.path.short -command.execute.store.success.score -command.execute.store.success.score.targets -command.execute.store.success.storage -command.execute.store.success.storage.target -command.execute.store.success.storage.target.path -command.execute.store.success.storage.target.path.byte -command.execute.store.success.storage.target.path.double -command.execute.store.success.storage.target.path.float -command.execute.store.success.storage.target.path.int -command.execute.store.success.storage.target.path.long -command.execute.store.success.storage.target.path.short -command.execute.unless -command.execute.unless.block -command.execute.unless.block.pos -command.execute.unless.blocks -command.execute.unless.blocks.start -command.execute.unless.blocks.start.end -command.execute.unless.blocks.start.end.destination -command.execute.unless.data -command.execute.unless.data.block -command.execute.unless.data.block.sourcePos -command.execute.unless.data.entity -command.execute.unless.data.entity.source -command.execute.unless.data.storage -command.execute.unless.data.storage.source -command.execute.unless.entity -command.execute.unless.predicate -command.execute.unless.score -command.execute.unless.score.target -command.execute.unless.score.target.targetObjective -command.execute.unless.score.target.targetObjective.< -command.execute.unless.score.target.targetObjective.<.source -command.execute.unless.score.target.targetObjective.<= -command.execute.unless.score.target.targetObjective.<=.source -command.execute.unless.score.target.targetObjective.= -command.execute.unless.score.target.targetObjective.=.source -command.execute.unless.score.target.targetObjective.> -command.execute.unless.score.target.targetObjective.>.source -command.execute.unless.score.target.targetObjective.>= -command.execute.unless.score.target.targetObjective.>=.source -command.execute.unless.score.target.targetObjective.matches -command.experience -command.experience.add -command.experience.add.targets -command.experience.add.targets.amount -command.experience.add.targets.amount.levels -command.experience.add.targets.amount.points -command.experience.query -command.experience.query.targets -command.experience.query.targets.levels -command.experience.query.targets.points -command.experience.set -command.experience.set.targets -command.experience.set.targets.amount -command.experience.set.targets.amount.levels -command.experience.set.targets.amount.points -command.fill -command.fill.from -command.fill.from.to -command.fill.from.to.block -command.fill.from.to.block.destroy -command.fill.from.to.block.hollow -command.fill.from.to.block.keep -command.fill.from.to.block.outline -command.fill.from.to.block.replace -command.fill.from.to.block.replace.filter -command.fly -command.fly.player -command.forceload -command.forceload.add -command.forceload.add.from -command.forceload.add.from.to -command.forceload.query -command.forceload.query.pos -command.forceload.remove -command.forceload.remove.all -command.forceload.remove.from -command.forceload.remove.from.to -command.forge -command.forge.dimensions -command.forge.entity -command.forge.entity.list -command.forge.entity.list.filter -command.forge.entity.list.filter.dim -command.forge.generate -command.forge.generate.pos -command.forge.generate.pos.count -command.forge.generate.pos.count.dim -command.forge.generate.pos.count.dim.interval -command.forge.mods -command.forge.tags -command.forge.tags.registry -command.forge.tags.registry.get -command.forge.tags.registry.get.tag -command.forge.tags.registry.get.tag.page -command.forge.tags.registry.list -command.forge.tags.registry.list.page -command.forge.tags.registry.query -command.forge.tags.registry.query.element -command.forge.tags.registry.query.element.page -command.forge.tps -command.forge.tps.dim -command.forge.track -command.forge.track.entity -command.forge.track.reset -command.forge.track.reset.entity -command.forge.track.reset.te -command.forge.track.start -command.forge.track.start.entity -command.forge.track.start.entity.duration -command.forge.track.start.te -command.forge.track.start.te.duration -command.forge.track.te -command.ftblibrary -command.ftblibrary.day -command.ftblibrary.gamemode -command.ftblibrary.generate_loot_tables -command.ftblibrary.nbtedit -command.ftblibrary.nbtedit.block -command.ftblibrary.nbtedit.block.pos -command.ftblibrary.nbtedit.entity -command.ftblibrary.nbtedit.entity.entity -command.ftblibrary.nbtedit.item -command.ftblibrary.nbtedit.player -command.ftblibrary.nbtedit.player.player -command.ftblibrary.night -command.ftblibrary.rain -command.ftbquests -command.ftbquests.block_rewards -command.ftbquests.block_rewards.enabled -command.ftbquests.block_rewards.enabled.player -command.ftbquests.change_progress -command.ftbquests.change_progress.players -command.ftbquests.change_progress.players.complete -command.ftbquests.change_progress.players.complete.quest_object -command.ftbquests.change_progress.players.reset -command.ftbquests.change_progress.players.reset.quest_object -command.ftbquests.delete_empty_reward_tables -command.ftbquests.editing_mode -command.ftbquests.editing_mode.enabled -command.ftbquests.editing_mode.enabled.player -command.ftbquests.export_reward_table_to_chest -command.ftbquests.export_reward_table_to_chest.reward_table -command.ftbquests.export_reward_table_to_chest.reward_table.pos -command.ftbquests.generate_chapter_with_all_items_in_game -command.ftbquests.import_reward_table_from_chest -command.ftbquests.import_reward_table_from_chest.name -command.ftbquests.import_reward_table_from_chest.name.pos -command.ftbquests.locked -command.ftbquests.locked.enabled -command.ftbquests.locked.enabled.player -command.ftbquests.reload -command.ftbranks -command.ftbranks.add -command.ftbranks.add.players -command.ftbranks.add.players.rank -command.ftbranks.condition -command.ftbranks.condition.rank -command.ftbranks.condition.rank.value -command.ftbranks.create -command.ftbranks.create.name -command.ftbranks.delete -command.ftbranks.delete.rank -command.ftbranks.list_all_ranks -command.ftbranks.list_players_with -command.ftbranks.list_players_with.rank -command.ftbranks.list_ranks_of -command.ftbranks.list_ranks_of.player -command.ftbranks.node -command.ftbranks.node.add -command.ftbranks.node.add.rank -command.ftbranks.node.add.rank.node -command.ftbranks.node.add.rank.node.value -command.ftbranks.node.remove -command.ftbranks.node.remove.rank -command.ftbranks.node.remove.rank.node -command.ftbranks.refresh_readme -command.ftbranks.reload -command.ftbranks.remove -command.ftbranks.remove.players -command.ftbranks.remove.players.rank -command.ftbranks.show_rank -command.ftbranks.show_rank.rank -command.ftbteams -command.ftbteams.info -command.ftbteams.info.server_id -command.ftbteams.info.team -command.ftbteams.list -command.ftbteams.list.parties -command.ftbteams.list.players -command.ftbteams.list.server_teams -command.ftbteams.msg -command.ftbteams.msg.text -command.ftbteams.party -command.ftbteams.party.allies -command.ftbteams.party.allies.add -command.ftbteams.party.allies.add.player -command.ftbteams.party.allies.list -command.ftbteams.party.allies.remove -command.ftbteams.party.allies.remove.player -command.ftbteams.party.create -command.ftbteams.party.create.name -command.ftbteams.party.deny_invite -command.ftbteams.party.deny_invite.team -command.ftbteams.party.invite -command.ftbteams.party.invite.players -command.ftbteams.party.join -command.ftbteams.party.join.team -command.ftbteams.party.kick -command.ftbteams.party.kick.players -command.ftbteams.party.leave -command.ftbteams.party.settings -command.ftbteams.party.settings.key -command.ftbteams.party.settings.key.value -command.ftbteams.party.settings_for -command.ftbteams.party.settings_for.team -command.ftbteams.party.settings_for.team.key -command.ftbteams.party.settings_for.team.key.value -command.ftbteams.party.transfer_ownership -command.ftbteams.party.transfer_ownership.player -command.ftbteams.server -command.ftbteams.server.create -command.ftbteams.server.create.name -command.ftbteams.server.delete -command.ftbteams.server.delete.team -command.ftbteams.server.settings -command.ftbteams.server.settings.team -command.ftbteams.server.settings.team.key -command.ftbteams.server.settings.team.key.value -command.function -command.function.name -command.gamemode -command.gamemode.adventure -command.gamemode.adventure.target -command.gamemode.creative -command.gamemode.creative.target -command.gamemode.spectator -command.gamemode.spectator.target -command.gamemode.survival -command.gamemode.survival.target -command.gamerule -command.gamerule.announceAdvancements -command.gamerule.announceAdvancements.value -command.gamerule.commandBlockOutput -command.gamerule.commandBlockOutput.value -command.gamerule.disableElytraMovementCheck -command.gamerule.disableElytraMovementCheck.value -command.gamerule.disableRaids -command.gamerule.disableRaids.value -command.gamerule.doDaylightCycle -command.gamerule.doDaylightCycle.value -command.gamerule.doEntityDrops -command.gamerule.doEntityDrops.value -command.gamerule.doFireTick -command.gamerule.doFireTick.value -command.gamerule.doImmediateRespawn -command.gamerule.doImmediateRespawn.value -command.gamerule.doInsomnia -command.gamerule.doInsomnia.value -command.gamerule.doLimitedCrafting -command.gamerule.doLimitedCrafting.value -command.gamerule.doMobLoot -command.gamerule.doMobLoot.value -command.gamerule.doMobSpawning -command.gamerule.doMobSpawning.value -command.gamerule.doPatrolSpawning -command.gamerule.doPatrolSpawning.value -command.gamerule.doTileDrops -command.gamerule.doTileDrops.value -command.gamerule.doTraderSpawning -command.gamerule.doTraderSpawning.value -command.gamerule.doWeatherCycle -command.gamerule.doWeatherCycle.value -command.gamerule.drowningDamage -command.gamerule.drowningDamage.value -command.gamerule.fallDamage -command.gamerule.fallDamage.value -command.gamerule.fireDamage -command.gamerule.fireDamage.value -command.gamerule.forgiveDeadPlayers -command.gamerule.forgiveDeadPlayers.value -command.gamerule.freezeDamage -command.gamerule.freezeDamage.value -command.gamerule.keepInventory -command.gamerule.keepInventory.value -command.gamerule.logAdminCommands -command.gamerule.logAdminCommands.value -command.gamerule.maxCommandChainLength -command.gamerule.maxCommandChainLength.value -command.gamerule.maxEntityCramming -command.gamerule.maxEntityCramming.value -command.gamerule.mobGriefing -command.gamerule.mobGriefing.value -command.gamerule.naturalRegeneration -command.gamerule.naturalRegeneration.value -command.gamerule.playersSleepingPercentage -command.gamerule.playersSleepingPercentage.value -command.gamerule.randomTickSpeed -command.gamerule.randomTickSpeed.value -command.gamerule.reducedDebugInfo -command.gamerule.reducedDebugInfo.value -command.gamerule.sendCommandFeedback -command.gamerule.sendCommandFeedback.value -command.gamerule.showDeathMessages -command.gamerule.showDeathMessages.value -command.gamerule.spawnRadius -command.gamerule.spawnRadius.value -command.gamerule.spectatorsGenerateChunks -command.gamerule.spectatorsGenerateChunks.value -command.gamerule.universalAnger -command.gamerule.universalAnger.value -command.give -command.give.targets -command.give.targets.item -command.give.targets.item.count -command.god -command.god.player -command.hat -command.heal -command.heal.player -command.help -command.help.command -command.home -command.home.name -command.ie -command.ie.clearshaders -command.ie.clearshaders.player -command.ie.mineral -command.ie.mineral.get -command.ie.mineral.get.location -command.ie.mineral.list -command.ie.mineral.put -command.ie.mineral.put.mineral -command.ie.mineral.put.mineral.radius -command.ie.mineral.put.mineral.radius.pos -command.ie.mineral.setDepletion -command.ie.mineral.setDepletion.depletion -command.ie.mineral.setDepletion.depletion.pos -command.invsee -command.invsee.player -command.ip -command.ip.reservoir -command.ip.reservoir.get -command.ip.reservoir.get.location -command.ip.reservoir.locate -command.ip.reservoir.set -command.ip.reservoir.set.amount -command.ip.reservoir.set.amount.amount -command.ip.reservoir.set.amount.amount.location -command.ip.reservoir.set.capacity -command.ip.reservoir.set.capacity.capacity -command.ip.reservoir.set.capacity.capacity.location -command.ip.reservoir.set.type -command.ip.reservoir.set.type.name -command.ip.reservoir.set.type.name.location -command.item -command.item.modify -command.item.modify.block -command.item.modify.block.pos -command.item.modify.block.pos.slot -command.item.modify.block.pos.slot.modifier -command.item.modify.entity -command.item.modify.entity.targets -command.item.modify.entity.targets.slot -command.item.modify.entity.targets.slot.modifier -command.item.replace -command.item.replace.block -command.item.replace.block.pos -command.item.replace.block.pos.slot -command.item.replace.block.pos.slot.from -command.item.replace.block.pos.slot.from.block -command.item.replace.block.pos.slot.from.block.source -command.item.replace.block.pos.slot.from.block.source.sourceSlot -command.item.replace.block.pos.slot.from.block.source.sourceSlot.modifier -command.item.replace.block.pos.slot.from.entity -command.item.replace.block.pos.slot.from.entity.source -command.item.replace.block.pos.slot.from.entity.source.sourceSlot -command.item.replace.block.pos.slot.from.entity.source.sourceSlot.modifier -command.item.replace.block.pos.slot.with -command.item.replace.block.pos.slot.with.item -command.item.replace.block.pos.slot.with.item.count -command.item.replace.entity -command.item.replace.entity.targets -command.item.replace.entity.targets.slot -command.item.replace.entity.targets.slot.from -command.item.replace.entity.targets.slot.from.block -command.item.replace.entity.targets.slot.from.block.source -command.item.replace.entity.targets.slot.from.block.source.sourceSlot -command.item.replace.entity.targets.slot.from.block.source.sourceSlot.modifier -command.item.replace.entity.targets.slot.from.entity -command.item.replace.entity.targets.slot.from.entity.source -command.item.replace.entity.targets.slot.from.entity.source.sourceSlot -command.item.replace.entity.targets.slot.from.entity.source.sourceSlot.modifier -command.item.replace.entity.targets.slot.with -command.item.replace.entity.targets.slot.with.item -command.item.replace.entity.targets.slot.with.item.count -command.jfr -command.jfr.start -command.jfr.stop -command.kick -command.kick.targets -command.kick.targets.reason -command.kickme -command.kill -command.kill.targets -command.kjs_hand -command.kubejs -command.kubejs.custom_command -command.kubejs.custom_command.id -command.kubejs.dump_registry -command.kubejs.dump_registry.registry -command.kubejs.errors -command.kubejs.export -command.kubejs.export_virtual_data -command.kubejs.hand -command.kubejs.hotbar -command.kubejs.inventory -command.kubejs.list_tag -command.kubejs.list_tag.registry -command.kubejs.list_tag.registry.tag -command.kubejs.offhand -command.kubejs.painter -command.kubejs.painter.player -command.kubejs.painter.player.object -command.kubejs.reload -command.kubejs.reload.client_scripts -command.kubejs.reload.lang -command.kubejs.reload.server_scripts -command.kubejs.reload.startup_scripts -command.kubejs.reload.textures -command.kubejs.stages -command.kubejs.stages.add -command.kubejs.stages.add.player -command.kubejs.stages.add.player.stage -command.kubejs.stages.clear -command.kubejs.stages.clear.player -command.kubejs.stages.list -command.kubejs.stages.list.player -command.kubejs.stages.remove -command.kubejs.stages.remove.player -command.kubejs.stages.remove.player.stage -command.kubejs.warnings -command.kubejs.wiki -command.leaderboard -command.leaderboard.damage_dealt -command.leaderboard.deaths -command.leaderboard.deaths_per_hour -command.leaderboard.distance_walked -command.leaderboard.jumps -command.leaderboard.mob_kills -command.leaderboard.player_kills -command.leaderboard.time_played -command.leaderboard.time_since_death -command.list -command.list.uuids -command.listhomes -command.listhomes.player -command.listwarps -command.locate -command.locate.structure -command.locatebiome -command.locatebiome.biome -command.loot -command.loot.give -command.loot.give.players -command.loot.give.players.fish -command.loot.give.players.fish.loot_table -command.loot.give.players.fish.loot_table.pos -command.loot.give.players.fish.loot_table.pos.mainhand -command.loot.give.players.fish.loot_table.pos.offhand -command.loot.give.players.fish.loot_table.pos.tool -command.loot.give.players.kill -command.loot.give.players.kill.target -command.loot.give.players.loot -command.loot.give.players.loot.loot_table -command.loot.give.players.mine -command.loot.give.players.mine.pos -command.loot.give.players.mine.pos.mainhand -command.loot.give.players.mine.pos.offhand -command.loot.give.players.mine.pos.tool -command.loot.insert -command.loot.insert.targetPos -command.loot.insert.targetPos.fish -command.loot.insert.targetPos.fish.loot_table -command.loot.insert.targetPos.fish.loot_table.pos -command.loot.insert.targetPos.fish.loot_table.pos.mainhand -command.loot.insert.targetPos.fish.loot_table.pos.offhand -command.loot.insert.targetPos.fish.loot_table.pos.tool -command.loot.insert.targetPos.kill -command.loot.insert.targetPos.kill.target -command.loot.insert.targetPos.loot -command.loot.insert.targetPos.loot.loot_table -command.loot.insert.targetPos.mine -command.loot.insert.targetPos.mine.pos -command.loot.insert.targetPos.mine.pos.mainhand -command.loot.insert.targetPos.mine.pos.offhand -command.loot.insert.targetPos.mine.pos.tool -command.loot.replace -command.loot.replace.block -command.loot.replace.block.targetPos -command.loot.replace.block.targetPos.slot -command.loot.replace.block.targetPos.slot.count -command.loot.replace.block.targetPos.slot.count.fish -command.loot.replace.block.targetPos.slot.count.fish.loot_table -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.mainhand -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.offhand -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.tool -command.loot.replace.block.targetPos.slot.count.kill -command.loot.replace.block.targetPos.slot.count.kill.target -command.loot.replace.block.targetPos.slot.count.loot -command.loot.replace.block.targetPos.slot.count.loot.loot_table -command.loot.replace.block.targetPos.slot.count.mine -command.loot.replace.block.targetPos.slot.count.mine.pos -command.loot.replace.block.targetPos.slot.count.mine.pos.mainhand -command.loot.replace.block.targetPos.slot.count.mine.pos.offhand -command.loot.replace.block.targetPos.slot.count.mine.pos.tool -command.loot.replace.block.targetPos.slot.fish -command.loot.replace.block.targetPos.slot.fish.loot_table -command.loot.replace.block.targetPos.slot.fish.loot_table.pos -command.loot.replace.block.targetPos.slot.fish.loot_table.pos.mainhand -command.loot.replace.block.targetPos.slot.fish.loot_table.pos.offhand -command.loot.replace.block.targetPos.slot.fish.loot_table.pos.tool -command.loot.replace.block.targetPos.slot.kill -command.loot.replace.block.targetPos.slot.kill.target -command.loot.replace.block.targetPos.slot.loot -command.loot.replace.block.targetPos.slot.loot.loot_table -command.loot.replace.block.targetPos.slot.mine -command.loot.replace.block.targetPos.slot.mine.pos -command.loot.replace.block.targetPos.slot.mine.pos.mainhand -command.loot.replace.block.targetPos.slot.mine.pos.offhand -command.loot.replace.block.targetPos.slot.mine.pos.tool -command.loot.replace.entity -command.loot.replace.entity.entities -command.loot.replace.entity.entities.slot -command.loot.replace.entity.entities.slot.count -command.loot.replace.entity.entities.slot.count.fish -command.loot.replace.entity.entities.slot.count.fish.loot_table -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.mainhand -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.offhand -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.tool -command.loot.replace.entity.entities.slot.count.kill -command.loot.replace.entity.entities.slot.count.kill.target -command.loot.replace.entity.entities.slot.count.loot -command.loot.replace.entity.entities.slot.count.loot.loot_table -command.loot.replace.entity.entities.slot.count.mine -command.loot.replace.entity.entities.slot.count.mine.pos -command.loot.replace.entity.entities.slot.count.mine.pos.mainhand -command.loot.replace.entity.entities.slot.count.mine.pos.offhand -command.loot.replace.entity.entities.slot.count.mine.pos.tool -command.loot.replace.entity.entities.slot.fish -command.loot.replace.entity.entities.slot.fish.loot_table -command.loot.replace.entity.entities.slot.fish.loot_table.pos -command.loot.replace.entity.entities.slot.fish.loot_table.pos.mainhand -command.loot.replace.entity.entities.slot.fish.loot_table.pos.offhand -command.loot.replace.entity.entities.slot.fish.loot_table.pos.tool -command.loot.replace.entity.entities.slot.kill -command.loot.replace.entity.entities.slot.kill.target -command.loot.replace.entity.entities.slot.loot -command.loot.replace.entity.entities.slot.loot.loot_table -command.loot.replace.entity.entities.slot.mine -command.loot.replace.entity.entities.slot.mine.pos -command.loot.replace.entity.entities.slot.mine.pos.mainhand -command.loot.replace.entity.entities.slot.mine.pos.offhand -command.loot.replace.entity.entities.slot.mine.pos.tool -command.loot.spawn -command.loot.spawn.targetPos -command.loot.spawn.targetPos.fish -command.loot.spawn.targetPos.fish.loot_table -command.loot.spawn.targetPos.fish.loot_table.pos -command.loot.spawn.targetPos.fish.loot_table.pos.mainhand -command.loot.spawn.targetPos.fish.loot_table.pos.offhand -command.loot.spawn.targetPos.fish.loot_table.pos.tool -command.loot.spawn.targetPos.kill -command.loot.spawn.targetPos.kill.target -command.loot.spawn.targetPos.loot -command.loot.spawn.targetPos.loot.loot_table -command.loot.spawn.targetPos.mine -command.loot.spawn.targetPos.mine.pos -command.loot.spawn.targetPos.mine.pos.mainhand -command.loot.spawn.targetPos.mine.pos.offhand -command.loot.spawn.targetPos.mine.pos.tool -command.me -command.me.action -command.modernfix -command.modernfix.upgradeStructures -command.msg -command.msg.targets -command.msg.targets.message -command.mute -command.mute.player -command.nickname -command.nickname.nickname -command.nicknamefor -command.nicknamefor.player -command.nicknamefor.player.nickname -command.open-patchouli-book -command.open-patchouli-book.targets -command.open-patchouli-book.targets.book -command.open-patchouli-book.targets.book.entry -command.open-patchouli-book.targets.book.entry.page -command.openpac -command.openpac-claims -command.openpac-claims.about -command.openpac-claims.about.profile -command.openpac-claims.admin-mode -command.openpac-claims.claim -command.openpac-claims.claim.anyway -command.openpac-claims.claim.anyway.block pos -command.openpac-claims.claim.block pos -command.openpac-claims.forceload -command.openpac-claims.forceload.anyway -command.openpac-claims.forceload.anyway.block pos -command.openpac-claims.forceload.block pos -command.openpac-claims.non-ally-mode -command.openpac-claims.server -command.openpac-claims.server-claim-mode -command.openpac-claims.server.claim -command.openpac-claims.server.claim.anyway -command.openpac-claims.server.claim.anyway.block pos -command.openpac-claims.server.claim.block pos -command.openpac-claims.server.forceload -command.openpac-claims.server.forceload.anyway -command.openpac-claims.server.forceload.anyway.block pos -command.openpac-claims.server.forceload.block pos -command.openpac-claims.server.sub-claim -command.openpac-claims.server.sub-claim.current -command.openpac-claims.server.sub-claim.for -command.openpac-claims.server.sub-claim.for.player -command.openpac-claims.server.sub-claim.for.player.current -command.openpac-claims.server.sub-claim.for.player.use -command.openpac-claims.server.sub-claim.for.player.use.sub-id -command.openpac-claims.server.sub-claim.use -command.openpac-claims.server.sub-claim.use.sub-id -command.openpac-claims.server.unclaim -command.openpac-claims.server.unclaim.anyway -command.openpac-claims.server.unclaim.anyway.block pos -command.openpac-claims.server.unclaim.block pos -command.openpac-claims.server.unforceload -command.openpac-claims.server.unforceload.anyway -command.openpac-claims.server.unforceload.anyway.block pos -command.openpac-claims.server.unforceload.block pos -command.openpac-claims.sub-claim -command.openpac-claims.sub-claim.current -command.openpac-claims.sub-claim.for -command.openpac-claims.sub-claim.for.player -command.openpac-claims.sub-claim.for.player.current -command.openpac-claims.sub-claim.for.player.use -command.openpac-claims.sub-claim.for.player.use.sub-id -command.openpac-claims.sub-claim.use -command.openpac-claims.sub-claim.use.sub-id -command.openpac-claims.unclaim -command.openpac-claims.unclaim.anyway -command.openpac-claims.unclaim.anyway.block pos -command.openpac-claims.unclaim.block pos -command.openpac-claims.unforceload -command.openpac-claims.unforceload.anyway -command.openpac-claims.unforceload.anyway.block pos -command.openpac-claims.unforceload.block pos -command.openpac-parties -command.openpac-parties.about -command.openpac-parties.about.player -command.openpac-parties.about.profile -command.openpac-parties.ally -command.openpac-parties.ally.add -command.openpac-parties.ally.add.player -command.openpac-parties.ally.remove -command.openpac-parties.ally.remove.owner -command.openpac-parties.chat -command.openpac-parties.chat.message -command.openpac-parties.create -command.openpac-parties.destroy -command.openpac-parties.destroy.confirm -command.openpac-parties.join -command.openpac-parties.join.id -command.openpac-parties.leave -command.openpac-parties.member -command.openpac-parties.member.invite -command.openpac-parties.member.invite.player -command.openpac-parties.member.kick -command.openpac-parties.member.kick.name -command.openpac-parties.member.rank -command.openpac-parties.member.rank.rank -command.openpac-parties.member.rank.rank.name -command.openpac-parties.transfer -command.openpac-parties.transfer.new-owner -command.openpac-parties.transfer.new-owner.confirm -command.openpac.expired-claims-config -command.openpac.expired-claims-config.get -command.openpac.expired-claims-config.get.key -command.openpac.expired-claims-config.help -command.openpac.expired-claims-config.help.key -command.openpac.expired-claims-config.reset -command.openpac.expired-claims-config.reset.key -command.openpac.expired-claims-config.set -command.openpac.expired-claims-config.set.key -command.openpac.expired-claims-config.set.key.value -command.openpac.player-config -command.openpac.player-config.default -command.openpac.player-config.default.get -command.openpac.player-config.default.get.key -command.openpac.player-config.default.help -command.openpac.player-config.default.help.key -command.openpac.player-config.default.reset -command.openpac.player-config.default.reset.key -command.openpac.player-config.default.set -command.openpac.player-config.default.set.key -command.openpac.player-config.default.set.key.value -command.openpac.player-config.for -command.openpac.player-config.for.player -command.openpac.player-config.for.player.get -command.openpac.player-config.for.player.get.key -command.openpac.player-config.for.player.help -command.openpac.player-config.for.player.help.key -command.openpac.player-config.for.player.reset -command.openpac.player-config.for.player.reset.key -command.openpac.player-config.for.player.set -command.openpac.player-config.for.player.set.key -command.openpac.player-config.for.player.set.key.value -command.openpac.player-config.for.player.sub -command.openpac.player-config.for.player.sub.create -command.openpac.player-config.for.player.sub.create.sub-id -command.openpac.player-config.for.player.sub.delete -command.openpac.player-config.for.player.sub.delete.sub-id -command.openpac.player-config.for.player.sub.get -command.openpac.player-config.for.player.sub.get.sub-id -command.openpac.player-config.for.player.sub.get.sub-id.key -command.openpac.player-config.for.player.sub.help -command.openpac.player-config.for.player.sub.help.sub-id -command.openpac.player-config.for.player.sub.help.sub-id.key -command.openpac.player-config.for.player.sub.list -command.openpac.player-config.for.player.sub.list.start-at -command.openpac.player-config.for.player.sub.reset -command.openpac.player-config.for.player.sub.reset.sub-id -command.openpac.player-config.for.player.sub.reset.sub-id.key -command.openpac.player-config.for.player.sub.set -command.openpac.player-config.for.player.sub.set.sub-id -command.openpac.player-config.for.player.sub.set.sub-id.key -command.openpac.player-config.for.player.sub.set.sub-id.key.value -command.openpac.player-config.get -command.openpac.player-config.get.key -command.openpac.player-config.help -command.openpac.player-config.help.key -command.openpac.player-config.reset -command.openpac.player-config.reset.key -command.openpac.player-config.set -command.openpac.player-config.set.key -command.openpac.player-config.set.key.value -command.openpac.player-config.sub -command.openpac.player-config.sub.create -command.openpac.player-config.sub.create.sub-id -command.openpac.player-config.sub.delete -command.openpac.player-config.sub.delete.sub-id -command.openpac.player-config.sub.get -command.openpac.player-config.sub.get.sub-id -command.openpac.player-config.sub.get.sub-id.key -command.openpac.player-config.sub.help -command.openpac.player-config.sub.help.sub-id -command.openpac.player-config.sub.help.sub-id.key -command.openpac.player-config.sub.list -command.openpac.player-config.sub.list.start-at -command.openpac.player-config.sub.reset -command.openpac.player-config.sub.reset.sub-id -command.openpac.player-config.sub.reset.sub-id.key -command.openpac.player-config.sub.set -command.openpac.player-config.sub.set.sub-id -command.openpac.player-config.sub.set.sub-id.key -command.openpac.player-config.sub.set.sub-id.key.value -command.openpac.server-claims-config -command.openpac.server-claims-config.get -command.openpac.server-claims-config.get.key -command.openpac.server-claims-config.help -command.openpac.server-claims-config.help.key -command.openpac.server-claims-config.reset -command.openpac.server-claims-config.reset.key -command.openpac.server-claims-config.set -command.openpac.server-claims-config.set.key -command.openpac.server-claims-config.set.key.value -command.openpac.server-claims-config.sub -command.openpac.server-claims-config.sub.create -command.openpac.server-claims-config.sub.create.sub-id -command.openpac.server-claims-config.sub.delete -command.openpac.server-claims-config.sub.delete.sub-id -command.openpac.server-claims-config.sub.get -command.openpac.server-claims-config.sub.get.sub-id -command.openpac.server-claims-config.sub.get.sub-id.key -command.openpac.server-claims-config.sub.help -command.openpac.server-claims-config.sub.help.sub-id -command.openpac.server-claims-config.sub.help.sub-id.key -command.openpac.server-claims-config.sub.list -command.openpac.server-claims-config.sub.list.start-at -command.openpac.server-claims-config.sub.reset -command.openpac.server-claims-config.sub.reset.sub-id -command.openpac.server-claims-config.sub.reset.sub-id.key -command.openpac.server-claims-config.sub.set -command.openpac.server-claims-config.sub.set.sub-id -command.openpac.server-claims-config.sub.set.sub-id.key -command.openpac.server-claims-config.sub.set.sub-id.key.value -command.openpac.wilderness-config -command.openpac.wilderness-config.get -command.openpac.wilderness-config.get.key -command.openpac.wilderness-config.help -command.openpac.wilderness-config.help.key -command.openpac.wilderness-config.reset -command.openpac.wilderness-config.reset.key -command.openpac.wilderness-config.set -command.openpac.wilderness-config.set.key -command.openpac.wilderness-config.set.key.value -command.opm -command.opm.message -command.particle -command.particle.name -command.particle.name.pos -command.particle.name.pos.delta -command.particle.name.pos.delta.speed -command.particle.name.pos.delta.speed.count -command.particle.name.pos.delta.speed.count.force -command.particle.name.pos.delta.speed.count.force.viewers -command.particle.name.pos.delta.speed.count.normal -command.particle.name.pos.delta.speed.count.normal.viewers -command.placefeature -command.placefeature.feature -command.placefeature.feature.pos -command.playsound -command.playsound.sound -command.playsound.sound.ambient -command.playsound.sound.ambient.targets -command.playsound.sound.ambient.targets.pos -command.playsound.sound.ambient.targets.pos.volume -command.playsound.sound.ambient.targets.pos.volume.pitch -command.playsound.sound.ambient.targets.pos.volume.pitch.minVolume -command.playsound.sound.block -command.playsound.sound.block.targets -command.playsound.sound.block.targets.pos -command.playsound.sound.block.targets.pos.volume -command.playsound.sound.block.targets.pos.volume.pitch -command.playsound.sound.block.targets.pos.volume.pitch.minVolume -command.playsound.sound.hostile -command.playsound.sound.hostile.targets -command.playsound.sound.hostile.targets.pos -command.playsound.sound.hostile.targets.pos.volume -command.playsound.sound.hostile.targets.pos.volume.pitch -command.playsound.sound.hostile.targets.pos.volume.pitch.minVolume -command.playsound.sound.master -command.playsound.sound.master.targets -command.playsound.sound.master.targets.pos -command.playsound.sound.master.targets.pos.volume -command.playsound.sound.master.targets.pos.volume.pitch -command.playsound.sound.master.targets.pos.volume.pitch.minVolume -command.playsound.sound.music -command.playsound.sound.music.targets -command.playsound.sound.music.targets.pos -command.playsound.sound.music.targets.pos.volume -command.playsound.sound.music.targets.pos.volume.pitch -command.playsound.sound.music.targets.pos.volume.pitch.minVolume -command.playsound.sound.neutral -command.playsound.sound.neutral.targets -command.playsound.sound.neutral.targets.pos -command.playsound.sound.neutral.targets.pos.volume -command.playsound.sound.neutral.targets.pos.volume.pitch -command.playsound.sound.neutral.targets.pos.volume.pitch.minVolume -command.playsound.sound.player -command.playsound.sound.player.targets -command.playsound.sound.player.targets.pos -command.playsound.sound.player.targets.pos.volume -command.playsound.sound.player.targets.pos.volume.pitch -command.playsound.sound.player.targets.pos.volume.pitch.minVolume -command.playsound.sound.record -command.playsound.sound.record.targets -command.playsound.sound.record.targets.pos -command.playsound.sound.record.targets.pos.volume -command.playsound.sound.record.targets.pos.volume.pitch -command.playsound.sound.record.targets.pos.volume.pitch.minVolume -command.playsound.sound.voice -command.playsound.sound.voice.targets -command.playsound.sound.voice.targets.pos -command.playsound.sound.voice.targets.pos.volume -command.playsound.sound.voice.targets.pos.volume.pitch -command.playsound.sound.voice.targets.pos.volume.pitch.minVolume -command.playsound.sound.weather -command.playsound.sound.weather.targets -command.playsound.sound.weather.targets.pos -command.playsound.sound.weather.targets.pos.volume -command.playsound.sound.weather.targets.pos.volume.pitch -command.playsound.sound.weather.targets.pos.volume.pitch.minVolume -command.publish -command.publish.port -command.railways -command.railways.split_train -command.railways.split_train.train_id -command.railways.split_train.train_id.number -command.railways.split_train.train_name -command.railways.split_train.train_name.number -command.railways.train_uuid -command.railways.train_uuid.name -command.recipe -command.recipe.give -command.recipe.give.targets -command.recipe.give.targets.all -command.recipe.give.targets.recipe -command.recipe.take -command.recipe.take.targets -command.recipe.take.targets.all -command.recipe.take.targets.recipe -command.recording -command.reload -command.rtp -command.say -command.say.message -command.schedule -command.schedule.clear -command.schedule.clear.function -command.schedule.function -command.schedule.function.function -command.schedule.function.function.time -command.schedule.function.function.time.append -command.schedule.function.function.time.replace -command.scoreboard -command.scoreboard.objectives -command.scoreboard.objectives.add -command.scoreboard.objectives.add.objective -command.scoreboard.objectives.add.objective.criteria -command.scoreboard.objectives.add.objective.criteria.displayName -command.scoreboard.objectives.list -command.scoreboard.objectives.modify -command.scoreboard.objectives.modify.objective -command.scoreboard.objectives.modify.objective.displayname -command.scoreboard.objectives.modify.objective.displayname.displayName -command.scoreboard.objectives.modify.objective.rendertype -command.scoreboard.objectives.modify.objective.rendertype.hearts -command.scoreboard.objectives.modify.objective.rendertype.integer -command.scoreboard.objectives.remove -command.scoreboard.objectives.remove.objective -command.scoreboard.objectives.setdisplay -command.scoreboard.objectives.setdisplay.slot -command.scoreboard.objectives.setdisplay.slot.objective -command.scoreboard.players -command.scoreboard.players.add -command.scoreboard.players.add.targets -command.scoreboard.players.add.targets.objective -command.scoreboard.players.add.targets.objective.score -command.scoreboard.players.enable -command.scoreboard.players.enable.targets -command.scoreboard.players.enable.targets.objective -command.scoreboard.players.get -command.scoreboard.players.get.target -command.scoreboard.players.get.target.objective -command.scoreboard.players.list -command.scoreboard.players.list.target -command.scoreboard.players.operation -command.scoreboard.players.operation.targets -command.scoreboard.players.operation.targets.targetObjective -command.scoreboard.players.operation.targets.targetObjective.operation -command.scoreboard.players.operation.targets.targetObjective.operation.source -command.scoreboard.players.operation.targets.targetObjective.operation.source.sourceObjective -command.scoreboard.players.remove -command.scoreboard.players.remove.targets -command.scoreboard.players.remove.targets.objective -command.scoreboard.players.remove.targets.objective.score -command.scoreboard.players.reset -command.scoreboard.players.reset.targets -command.scoreboard.players.reset.targets.objective -command.scoreboard.players.set -command.scoreboard.players.set.targets -command.scoreboard.players.set.targets.objective -command.scoreboard.players.set.targets.objective.score -command.seed -command.setblock -command.setblock.pos -command.setblock.pos.block -command.setblock.pos.block.destroy -command.setblock.pos.block.keep -command.setblock.pos.block.replace -command.sethome -command.sethome.name -command.setwarp -command.setwarp.name -command.setworldspawn -command.setworldspawn.pos -command.setworldspawn.pos.angle -command.snr -command.snr.split_train -command.snr.split_train.train_id -command.snr.split_train.train_id.number -command.snr.split_train.train_name -command.snr.split_train.train_name.number -command.snr.train_uuid -command.snr.train_uuid.name -command.spawn -command.spawnpoint -command.spawnpoint.targets -command.spawnpoint.targets.pos -command.spawnpoint.targets.pos.angle -command.spectate -command.spectate.target -command.spectate.target.player -command.spreadplayers -command.spreadplayers.center -command.spreadplayers.center.spreadDistance -command.spreadplayers.center.spreadDistance.maxRange -command.spreadplayers.center.spreadDistance.maxRange.respectTeams -command.spreadplayers.center.spreadDistance.maxRange.respectTeams.targets -command.spreadplayers.center.spreadDistance.maxRange.under -command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight -command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams -command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams.targets -command.stopsound -command.stopsound.targets -command.stopsound.targets.all -command.stopsound.targets.all.sound -command.stopsound.targets.ambient -command.stopsound.targets.ambient.sound -command.stopsound.targets.block -command.stopsound.targets.block.sound -command.stopsound.targets.hostile -command.stopsound.targets.hostile.sound -command.stopsound.targets.master -command.stopsound.targets.master.sound -command.stopsound.targets.music -command.stopsound.targets.music.sound -command.stopsound.targets.neutral -command.stopsound.targets.neutral.sound -command.stopsound.targets.player -command.stopsound.targets.player.sound -command.stopsound.targets.record -command.stopsound.targets.record.sound -command.stopsound.targets.voice -command.stopsound.targets.voice.sound -command.stopsound.targets.weather -command.stopsound.targets.weather.sound -command.streaming -command.summon -command.summon.entity -command.summon.entity.pos -command.summon.entity.pos.nbt -command.tag -command.tag.targets -command.tag.targets.add -command.tag.targets.add.name -command.tag.targets.list -command.tag.targets.remove -command.tag.targets.remove.name -command.tb -command.tb.access -command.tb.access.pos -command.tb.access.target -command.tb.clear -command.tb.clear.player -command.tb.remove -command.tb.remove.player -command.tb.restore -command.tb.restore.target -command.tb.restore.target.backpack_id -command.tb.unpack -command.tb.unpack.pos -command.tb.unpack.target -command.team -command.team.add -command.team.add.team -command.team.add.team.displayName -command.team.empty -command.team.empty.team -command.team.join -command.team.join.team -command.team.join.team.members -command.team.leave -command.team.leave.members -command.team.list -command.team.list.team -command.team.modify -command.team.modify.team -command.team.modify.team.collisionRule -command.team.modify.team.collisionRule.always -command.team.modify.team.collisionRule.never -command.team.modify.team.collisionRule.pushOtherTeams -command.team.modify.team.collisionRule.pushOwnTeam -command.team.modify.team.color -command.team.modify.team.color.value -command.team.modify.team.deathMessageVisibility -command.team.modify.team.deathMessageVisibility.always -command.team.modify.team.deathMessageVisibility.hideForOtherTeams -command.team.modify.team.deathMessageVisibility.hideForOwnTeam -command.team.modify.team.deathMessageVisibility.never -command.team.modify.team.displayName -command.team.modify.team.displayName.displayName -command.team.modify.team.friendlyFire -command.team.modify.team.friendlyFire.allowed -command.team.modify.team.nametagVisibility -command.team.modify.team.nametagVisibility.always -command.team.modify.team.nametagVisibility.hideForOtherTeams -command.team.modify.team.nametagVisibility.hideForOwnTeam -command.team.modify.team.nametagVisibility.never -command.team.modify.team.prefix -command.team.modify.team.prefix.prefix -command.team.modify.team.seeFriendlyInvisibles -command.team.modify.team.seeFriendlyInvisibles.allowed -command.team.modify.team.suffix -command.team.modify.team.suffix.suffix -command.team.remove -command.team.remove.team -command.teammsg -command.teammsg.message -command.teleport -command.teleport.destination -command.teleport.location -command.teleport.targets -command.teleport.targets.destination -command.teleport.targets.location -command.teleport.targets.location.facing -command.teleport.targets.location.facing.entity -command.teleport.targets.location.facing.entity.facingEntity -command.teleport.targets.location.facing.entity.facingEntity.facingAnchor -command.teleport.targets.location.facing.facingLocation -command.teleport.targets.location.rotation -command.teleport_last -command.teleport_last.player -command.tellraw -command.tellraw.targets -command.tellraw.targets.message -command.tfc -command.tfc.clearworld -command.tfc.clearworld.radius -command.tfc.clearworld.radius.preset -command.tfc.climateChunkUpdate -command.tfc.count -command.tfc.count.radius -command.tfc.count.radius.block -command.tfc.forge -command.tfc.forge.bonus -command.tfc.heat -command.tfc.heat.value -command.tfc.locate -command.tfc.locate.biome -command.tfc.locate.biome.biome -command.tfc.locate.vein -command.tfc.locate.vein.vein -command.tfc.locate.vein.vein.max_y -command.tfc.locate.volcano -command.tfc.player -command.tfc.player.target -command.tfc.player.target.add -command.tfc.player.target.add.hunger -command.tfc.player.target.add.hunger.value -command.tfc.player.target.add.saturation -command.tfc.player.target.add.saturation.value -command.tfc.player.target.add.water -command.tfc.player.target.add.water.value -command.tfc.player.target.query -command.tfc.player.target.query.hunger -command.tfc.player.target.query.nutrition -command.tfc.player.target.query.saturation -command.tfc.player.target.query.water -command.tfc.player.target.reset -command.tfc.player.target.reset.hunger -command.tfc.player.target.reset.saturation -command.tfc.player.target.reset.water -command.tfc.player.target.set -command.tfc.player.target.set.hunger -command.tfc.player.target.set.hunger.value -command.tfc.player.target.set.saturation -command.tfc.player.target.set.saturation.value -command.tfc.player.target.set.water -command.tfc.player.target.set.water.value -command.tfc.propick -command.tfc.propick.clearworld -command.tfc.propick.scan -command.tfc.tree -command.tfc.tree.pos -command.tfc.tree.pos.wood -command.tfc.tree.pos.wood.variant -command.time -command.time.add -command.time.add.days -command.time.add.days.value -command.time.add.months -command.time.add.months.value -command.time.add.ticks -command.time.add.ticks.value -command.time.add.years -command.time.add.years.value -command.time.query -command.time.query.calendarticks -command.time.query.day -command.time.query.daytime -command.time.query.gametime -command.time.query.ticks -command.time.set -command.time.set.day -command.time.set.midnight -command.time.set.monthlength -command.time.set.monthlength.value -command.time.set.night -command.time.set.noon -command.title -command.title.targets -command.title.targets.actionbar -command.title.targets.actionbar.title -command.title.targets.clear -command.title.targets.reset -command.title.targets.subtitle -command.title.targets.subtitle.title -command.title.targets.times -command.title.targets.times.fadeIn -command.title.targets.times.fadeIn.stay -command.title.targets.times.fadeIn.stay.fadeOut -command.title.targets.title -command.title.targets.title.title -command.tpa -command.tpa.target -command.tpaccept -command.tpaccept.id -command.tpahere -command.tpahere.target -command.tpdeny -command.tpdeny.id -command.tpx -command.tpx.dimension -command.trashcan -command.trigger -command.trigger.objective -command.trigger.objective.add -command.trigger.objective.add.value -command.trigger.objective.set -command.trigger.objective.set.value -command.unmute -command.unmute.player -command.warp -command.warp.name -command.weather -command.weather.clear -command.weather.clear.duration -command.weather.rain -command.weather.rain.duration -command.weather.rain.duration.intensity -command.weather.thunder -command.weather.thunder.duration -command.weather.thunder.duration.intensity -command.worldborder -command.worldborder.add -command.worldborder.add.distance -command.worldborder.add.distance.time -command.worldborder.center -command.worldborder.center.pos -command.worldborder.damage -command.worldborder.damage.amount -command.worldborder.damage.amount.damagePerBlock -command.worldborder.damage.buffer -command.worldborder.damage.buffer.distance -command.worldborder.get -command.worldborder.set -command.worldborder.set.distance -command.worldborder.set.distance.time -command.worldborder.warning -command.worldborder.warning.distance -command.worldborder.warning.distance.distance -command.worldborder.warning.time -command.worldborder.warning.time.time diff --git a/global-server-configs/ftbranks/players.snbt b/global-server-configs/ftbranks/players.snbt deleted file mode 100644 index ffcd4415b..000000000 --- a/global-server-configs/ftbranks/players.snbt +++ /dev/null @@ -1 +0,0 @@ -{ } diff --git a/global-server-configs/ftbranks/ranks.snbt b/global-server-configs/ftbranks/ranks.snbt deleted file mode 100644 index 16cfe32af..000000000 --- a/global-server-configs/ftbranks/ranks.snbt +++ /dev/null @@ -1,26 +0,0 @@ -{ - member: { - name: "Player" - power: 1 - condition: "always_active" - ftbranks.name_format: "{name}" - ftbchunks.max_claimed: 50 - ftbchunks.max_force_loaded: 3 - command.trashcan: true - } - vip: { - name: "VIP" - power: 50 - ftbranks.name_format: "&b{name}&r" - ftbchunks.max_claimed: 150 - ftbchunks.max_force_loaded: 5 - } - admin: { - name: "Admin" - power: 1000 - condition: "op" - ftbranks.name_format: "&c{name}&r" - ftbchunks.max_claimed: 1000 - ftbchunks.max_force_loaded: 10 - } -} diff --git a/global-server-configs/ftbxmodcompat/ftbxmodcompat.snbt b/global-server-configs/ftbxmodcompat/ftbxmodcompat.snbt deleted file mode 100644 index 313ca3bf4..000000000 --- a/global-server-configs/ftbxmodcompat/ftbxmodcompat.snbt +++ /dev/null @@ -1,4 +0,0 @@ -# Default config file that will be copied to config\ftbxmodcompat.snbt if it doesn't exist! -# Just copy any values you wish to override in here! - -{ } diff --git a/global-server-configs/getittogetherdrops-server.toml b/global-server-configs/getittogetherdrops-server.toml deleted file mode 100644 index 5af9205e6..000000000 --- a/global-server-configs/getittogetherdrops-server.toml +++ /dev/null @@ -1,6 +0,0 @@ -#The radius (in blocks) that dropped items should check around them for other dropped items to combine with. ("0.5" is vanilla behavior) -#Range: 0.5 ~ 500.0 -radius = 2.0 -#Set to true if you want dropped items to also check above and below them, set to false if not ("false" is vanilla behavior) -checkY = true - diff --git a/global-server-configs/inventorysorter-server.toml b/global-server-configs/inventorysorter-server.toml deleted file mode 100644 index 57aef891e..000000000 --- a/global-server-configs/inventorysorter-server.toml +++ /dev/null @@ -1,8 +0,0 @@ - -#Inventory sorter blacklists -[blacklists] - #Container blacklist - containerBlacklist = [] - #Slot type blacklist - slotBlacklist = [] - diff --git a/global-server-configs/jei-server.toml b/global-server-configs/jei-server.toml deleted file mode 100644 index 752781a59..000000000 --- a/global-server-configs/jei-server.toml +++ /dev/null @@ -1,9 +0,0 @@ - -["cheat mode"] - #Enable Cheat Mode for Operators (/op) - enableCheatModeForOp = true - #Enable Cheat Mode for users in Creative Mode - enableCheatModeForCreative = true - #Enable Cheat Mode for users who can use /give - enableCheatModeForGive = false - diff --git a/global-server-configs/jumbofurnace-server.toml b/global-server-configs/jumbofurnace-server.toml deleted file mode 100644 index 299c60cd4..000000000 --- a/global-server-configs/jumbofurnace-server.toml +++ /dev/null @@ -1,10 +0,0 @@ - -["Cooking Settings"] - #Cook Time: Time in ticks needed for one cooking cycle - #Range: > 1 - cooktime = 200 - -["Construction Settings"] - #Shearable: Allow jumbo furnaces to be cleanly dismantled with shears - shearable = true - diff --git a/global-server-configs/morered-server.toml b/global-server-configs/morered-server.toml deleted file mode 100644 index 9fa3fdbfb..000000000 --- a/global-server-configs/morered-server.toml +++ /dev/null @@ -1,6 +0,0 @@ - -["General Settings"] - #Maximum Plinth Connection Range - #Range: 0.0 ~ 1.7976931348623157E308 - max_wire_plinth_connection_range = 32.0 - diff --git a/global-server-configs/openpartiesandclaims-server.toml b/global-server-configs/openpartiesandclaims-server.toml deleted file mode 100644 index f0ea92d63..000000000 --- a/global-server-configs/openpartiesandclaims-server.toml +++ /dev/null @@ -1,298 +0,0 @@ - -[serverConfig] - #The default language used for server-side localization for players that don't have the mod installed. - defaultLanguage = "en_us" - #How often to auto-save modified data, e.g. parties, claims, player configs (in minutes). - #Range: > 1 - autosaveInterval = 10 - #How many sub-configs (sub-claims) can each player create. - #Range: 0 ~ 1024 - playerSubConfigLimit = 64 - #The permission system to use for everything that requires permission checks (e.g. permission_api, ftb_ranks, luck_perms, prometheus). Non-built-in permission systems can be registered through the API with an addon. - permissionSystem = "ftb_ranks" - #The player party system to prefer and use for anything that can't support multiple systems (e.g. default, ftb_teams, argonauts, argonauts_guilds). Non-built-in party systems can be registered through the API with an addon. - primaryPartySystem = "ftb_teams" - #A list of options in the player config that individual players can reconfigure. If an option is in neither of the configurable option lists, - #then the value in the default player config is used across the server. Check the default player config .toml file for the option names. - playerConfigurablePlayerConfigOptions = ["claims.protectClaimedChunks", "claims.forceload.enabled", "claims.name", "claims.color", "claims.protection.fromParty", "claims.protection.fromAllyParties", "claims.protection.buttonsFromProjectiles", "claims.protection.targetsFromProjectiles", "claims.protection.platesFromPlayers", "claims.protection.platesFromMobs", "claims.protection.platesFromOther", "claims.protection.tripwireFromPlayers", "claims.protection.tripwireFromMobs", "claims.protection.tripwireFromOther", "claims.protection.cropTrample", "claims.protection.playerLightning", "claims.protection.fromFrostWalking", "claims.protection.entitiesFromPlayers", "claims.protection.entitiesFromMobs", "claims.protection.entitiesFromOther", "claims.protection.entitiesRedirect", "claims.protection.entitiesFromExplosions", "claims.protection.entitiesFromFire", "claims.protection.netherPortalsPlayers", "claims.protection.netherPortalsMobs", "claims.protection.netherPortalsOther", "claims.protection.fluidBarrier", "claims.protection.dispenserBarrier", "claims.protection.pistonBarrier", "claims.protection.itemTossPlayers", "claims.protection.itemTossMobs", "claims.protection.itemTossOther", "claims.protection.itemTossRedirect", "claims.protection.mobLoot", "claims.protection.playerDeathLoot", "claims.protection.itemPickupPlayers", "claims.protection.itemPickupMobs", "claims.protection.itemPickupRedirect", "claims.protection.xpPickup", "claims.protection.raids", "claims.protection.naturalSpawnHostile", "claims.protection.naturalSpawnFriendly", "claims.protection.spawnersHostile", "claims.protection.spawnersFriendly", "claims.protection.projectileHitHostileSpawn", "claims.protection.projectileHitFriendlySpawn", "parties.name", "parties.shareLocationWithParty", "parties.shareLocationWithMutualAllyParties", "parties.receiveLocationsFromParty", "parties.receiveLocationsFromMutualAllyParties", "claims.protection.exceptionGroups.block.interact.Controls", "claims.protection.exceptionGroups.block.interact.Doors", "claims.protection.exceptionGroups.block.interact.Chests", "claims.protection.exceptionGroups.block.interact.Barrels", "claims.protection.exceptionGroups.block.interact.Ender_Chests", "claims.protection.exceptionGroups.block.interact.Shulker_Boxes", "claims.protection.exceptionGroups.block.interact.Furnaces", "claims.protection.exceptionGroups.block.interact.Hoppers", "claims.protection.exceptionGroups.block.interact.Dispenser-like", "claims.protection.exceptionGroups.block.interact.Anvils", "claims.protection.exceptionGroups.block.interact.Beds", "claims.protection.exceptionGroups.block.interact.Beacons", "claims.protection.exceptionGroups.block.interact.Enchanting_Tables", "claims.protection.exceptionGroups.block.break.Crops", "claims.protection.exceptionGroups.entity.interact.Traders", "claims.protection.exceptionGroups.entity.handInteract.Item_Frames", "claims.protection.exceptionGroups.entity.interact.Armor_Stands", "claims.protection.exceptionGroups.entity.break.Livestock", "claims.protection.exceptionGroups.entity.blockAccess.Villagers", "claims.protection.exceptionGroups.entity.entityAccess.Zombies", "claims.protection.exceptionGroups.entity.droppedItemAccess.Villagers", "claims.protection.exceptionGroups.entity.droppedItemAccess.Piglins", "claims.protection.exceptionGroups.entity.droppedItemAccess.Foxes", "claims.protection.exceptionGroups.item.interact.Books", "claims.protection.exceptionGroups.entity.barrier.Ender_Pearls", "/*remove comment to enable*/claims.protection.exceptionGroups.entity.barrier.Players"] - #A list of additional options in the player config that OPs can reconfigure for players. - #This is meant for options that should be configured per player but not by the players. - #If an option is in neither of the configurable option lists, then the value in the default player config is used across the server. - #Check the default player config .toml file for the option names. - opConfigurablePlayerConfigOptions = ["claims.bonusChunkClaims", "claims.bonusChunkForceloads"] - - [serverConfig.parties] - #Whether the parties part of this mod is enabled. - enabled = false - #The maximum number of members in a party. Existing members are not removed if the limit is reduced. - #Range: > 1 - maxPartyMembers = 64 - #The maximum number of allies for a party. Existing allies are not removed if the limit is reduced. - #Range: > 0 - maxPartyAllies = 64 - #The maximum number of invites to a party. Existing invites are not removed if the limit is reduced. - #Range: > 1 - maxPartyInvites = 16 - #For how long a party (members) can stay completely inactive on the server until it is deleted (in hours). This improves performance for servers running for years. - #Range: > 1 - partyExpirationTime = 168 - #How often to check for expired parties in order to remove them (in minutes). The interval is effectively rounded up to a multiple of 10 minutes. - #Range: > 10 - partyExpirationCheckInterval = 360 - - [serverConfig.claims] - #Whether the claims part of this mod is enabled. - enabled = true - #For how long a player can stay completely inactive on the server until their claims are expired (in hours). This improves performance for servers running for years. - #Range: > 1 - playerClaimsExpirationTime = 4380 - #How often to check for expired player chunk claims in order to remove them (in minutes). The interval is effectively rounded up to a multiple of 10 minutes. - #Range: > 10 - playerClaimsExpirationCheckInterval = 360 - #Whether to convert expired player chunk claims to "expired claims" instead of completely freeing them. This shouldn't be too bad for performance because it still reduces the number of unique claims. - playerClaimsConvertExpiredClaims = true - #The maximum number of chunks that a player can claim. Additional claims can be configured in the player config. - #This value can be overridden with a player permission. - #Range: > 0 - maxPlayerClaims = 50 - #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 - #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. - #The permission override only takes effect after the player logs in at least once after a server (re)launch, so it is recommended to keep all permission-based forceload limits equal to or greater than "maxPlayerClaimForceloads". - #The used permission system can be configured with "permissionSystem". - maxPlayerClaimForceloadsPermission = "ftbchunks.max_force_loaded" - #The permission that gives non-OP players the ability to make server claims and enable server claim mode. The used permission system can be configured with "permissionSystem". - serverClaimPermission = "xaero.pac_server_claims" - #The permission that gives non-OP players the ability to enable claim admin mode. The used permission system can be configured with "permissionSystem". - adminModePermission = "xaero.pac_admin_mode" - #The maximum distance on the X or Z axis (forming a square) that a chunk can be claimed at by a player. - #Range: > 0 - maxClaimDistance = 5 - #The type of the list defined in "claimableDimensionsList". ONLY - include only the listed dimensions. ALL_BUT - include all but the listed dimensions. - #Allowed Values: ONLY, ALL_BUT - claimableDimensionsListType = "ALL_BUT" - #Dimensions to include/exclude from being claimable, depending on the list type in "claimableDimensionsListType". - #For example ["minecraft:overworld", "minecraft:the_nether"]. - #By default the list is empty and of type ALL_BUT, meaning that all dimensions are claimable. - claimableDimensionsList = [] - #Whether to allow existing player claims to stay active in unclaimable dimensions which were previously claimable. - allowExistingClaimsInUnclaimableDimensions = true - #Whether to allow existing player forceloads to stay active in unclaimable dimensions which were previously claimable. Only relevant if existing claims are allowed. - allowExistingForceloadsInUnclaimableDimensions = false - #Whether to synchronize world chunk claims to the game clients. Enables client-side mods to access the claims data, e.g. to display it on a map. - #ALL - all claims are synced. OWNED_ONLY - only the claims that the client player owns and server claims are synced. NOT_SYNCED - claims are not synced. - #Allowed Values: NOT_SYNCED, OWNED_ONLY, ALL - claimsSynchronization = "ALL" - - [serverConfig.claims.protection] - #The type of the list defined in "friendlyChunkProtectedEntityList". ONLY - include only the listed entities. ALL_BUT - include all but the listed entities. - #Allowed Values: ONLY, ALL_BUT - friendlyChunkProtectedEntityListType = "ALL_BUT" - #Friendly entities to fully include/exclude in chunk protection, depending on the list type in "friendlyChunkProtectedEntityListType". Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["*:villager", "minecraft:m(ule|ooshroom)", "#minecraft:axolotl_hunt_targets"]. - #By default the list is empty with the type set to ALL_BUT, which means that all friendly entities are included. - friendlyChunkProtectedEntityList = ["minecraft:boat"] - #The type of the list defined in "hostileChunkProtectedEntityList". ONLY - include only the listed entities. ALL_BUT - include all but the listed entities. - #Allowed Values: ONLY, ALL_BUT - hostileChunkProtectedEntityListType = "ONLY" - #Hostile entities to fully include/exclude in chunk protection, depending on the list type in "hostileChunkProtectedEntityListType". Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(|wither_)skeleton", "minecraft:zombie(_villager|)", "#minecraft:raiders"] - hostileChunkProtectedEntityList = [] - #No longer a working option. Please transfer anything you still have here to "forcedBlockProtectionExceptionList" or "blockProtectionOptionalExceptionGroups", - #but keep in mind that those options work differently and please read their comments. - #This option will be completely removed on the full release of the mod. - blockProtectionExceptionList = [] - #No longer a working option. Please transfer anything you still have here to "forcedEntityProtectionExceptionList" or "entityProtectionOptionalExceptionGroups", - #but keep in mind that those options work differently and please read their comments. - #This option will be completely removed on the full release of the mod. - entityProtectionExceptionList = [] - #No longer a working option. Please transfer anything you still have here to "forcedEntityClaimBarrierList" or "entityClaimBarrierOptionalGroups", - #but keep in mind that those options work differently and please read their comments. - #This option will be completely removed on the full release of the mod. - entityClaimBarrierList = [] - #Blocks to partially exclude from chunk protection. Supports block tags. - #Just a block/tag ID in the list, e.g. "minecraft:lever" allows block interaction across the server if the item in the used hand isn't blocking it. - #Prefix "hand$" is the same as no prefix but enforces an empty hand requirement in protected chunks. Prefix "break$" allows breaking the block(s). - #Prefix "anything$" is the same as no prefix but allows interaction with any item held in the hand. Please make sure that no item does anything bad when used at a block with such an exception. - #Add the same block/tag multiple times to use multiple prefixes. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:lever", "minecraft:*_button", "break$minecraft:*_button", "break$minecraft:(*_|)sand"] - forcedBlockProtectionExceptionList = ["minecraft:crafting_table"] - #Custom groups of blocks that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple blocks and block tags. - #A group without a prefix creates a player config option for the right-click interaction with the group blocks. The format for a block group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-DIRT35{minecraft:dirt, minecraft:grass_block, minecraft:(oak|spruce)_*}". - #A group can be prefixed with "hand$" to create an option for the right-click interaction with an enforced empty hand requirement or "break$" for breaking the group blocks. - #Moreover, prefix "anything$" creates an option for the right-click interaction with any item held in the hand, not just allowed items. Please make sure that no item does anything - #bad when used at a block with such an exception. - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - blockProtectionOptionalExceptionGroups = ["Controls{minecraft:lever, #minecraft:buttons}", "Doors{#minecraft:doors, #minecraft:fence_gates, #forge:fence_gates, #minecraft:trapdoors}", "Chests{minecraft:chest, minecraft:trapped_chest, #forge:chests/wooden}", "Barrels{minecraft:barrel, #forge:barrels}", "Ender_Chests{minecraft:ender_chest, #forge:chests/ender}", "Shulker_Boxes{#minecraft:shulker_boxes}", "Furnaces{minecraft:furnace, minecraft:blast_furnace, minecraft:smoker}", "Hoppers{minecraft:hopper}", "Dispenser-like{minecraft:dispenser, minecraft:dropper}", "Anvils{#minecraft:anvil}", "Beds{#minecraft:beds}", "Beacons{minecraft:beacon}", "Enchanting_Tables{minecraft:enchanting_table}", "break$Crops{#minecraft:crops}"] - #Entities to partially exclude from chunk protection. Supports entity type tags. - #Just an entity/tag ID in the list, e.g. "minecraft:horse" allows entity interaction across the server if the item in the used hand isn't blocking it. - #Prefix "hand$" is the same as no prefix but enforces an empty hand requirement in protected chunks. Prefix "break$" allows killing the entities across the server. - #Prefix "anything$" is the same as no prefix but allows interaction with any item held in the hand. Please make sure that no item does anything bad when used at an entity with such an exception. - #Add the same entity/tag multiple times to use multiple prefixes. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:villager", "break$minecraft:villager", "break$minecraft:(trader_|)llama"] - forcedEntityProtectionExceptionList = ["minecraft:minecart"] - #Custom groups of entities that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple entities and entity tags. - #A group without a prefix creates a player config option for the right-click interaction with the group entities. The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #A group can be prefixed with "hand$" to create an option for the right-click interaction with an enforced empty hand requirement or "break$" for destroying the group entities. - #Moreover, prefix "anything$" creates an option for the right-click interaction with any item held in the hand, not just allowed items. Please make sure that no item does anything - #bad when used at an entity with such an exception. - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - entityProtectionOptionalExceptionGroups = ["Traders{minecraft:villager, minecraft:wandering_trader}", "hand$Item_Frames{minecraft:item_frame}", "break$Livestock{minecraft:cow, minecraft:mooshroom, minecraft:sheep, minecraft:chicken, minecraft:pig, minecraft:rabbit, minecraft:goat}", "Armor_Stands{minecraft:armor_stand}"] - #Entities that are prevented from entering the claim. Supports entity type tags. An entity/tag ID in the list, e.g. "minecraft:falling_block" prevents the entities from entering. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. For example: "minecraft:zombie(_villager|)". - forcedEntityClaimBarrierList = ["minecraft:falling_block", "supplementaries:slingshot_projectile"] - #Custom groups of entities that a player/claim config should be able to enable a barrier for. Each group can consist of multiple entities and entity tags. - #Each group creates a player config option for controlling the entity barrier. The format for a entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{#minecraft:raiders, minecraft:zombie(_villager|)}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - entityClaimBarrierOptionalGroups = ["Players{minecraft:player}", "Ender_Pearls{minecraft:ender_pearl}"] - #Entities that can bypass all block protection. Supports entity type tags. - #Prefixing an entity id/tag with "interact$" creates an exception which tries to exclude block breaking. - #Prefixing an entity id/tag with "break$" creates an exception that only includes block breaking. - #Leaving an entity id/tag without a prefix creates an exception that includes all block interactions. - #Projectiles landing on blocks is considered a non-breaking interaction first, even if it can result in a block break, - #which is protected separately afterwards. - #Projectile landing on blocks requires non-break block access through this option or blockAccessEntityGroups. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGrief = ["minecraft:sheep", "interact$minecraft:potion", "interact$minecraft:trident", "interact$minecraft:(*_|)arrow", "interact$minecraft:ender_pearl", "interact$minecraft:egg"] - #Entities that can bypass all protection of other entities. Supports entity type tags. - #Prefixing an entity id/tag with "interact$" creates an exception which tries to exclude attacks. - #Prefixing an entity id/tag with "break$" creates an exception that only includes attacks. - #Leaving an entity id/tag without a prefix creates an exception that includes all entity interactions. - #Projectiles landing on entities is considered a non-attack interaction first, even if it can result in an attack, - #which is protected separately afterwards. - #Projectile landing on entities requires non-attack entity access through this option or entityAccessEntityGroups. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGriefEntities = ["interact$minecraft:potion", "interact$minecraft:trident", "interact$minecraft:(*_|)arrow", "interact$minecraft:ender_pearl", "interact$minecraft:egg"] - #Entities that can bypass all dropped item protection. Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGriefDroppedItems = [] - #(Forge-only option) Mobs that can grief entities/items but not blocks. This list is used when overriding the vanilla "mob griefing" game rule value. - #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection. - #This means that the "Protect Blocks From Mobs" option might cause entity or item protection, if that's what the mob is trying to affect. - #By adding a mob to this list, you're removing the block protection check for it during the "mob griefing" game rule check. - #Supports entity type tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:*illager", "minecraft:(v|p)illager", "#minecraft:raiders"] - nonBlockGriefingMobs = [] - #(Forge-only option) Mobs that can grief entities in ways other than attacking them, e.g. how evokers can change the color of sheep. This list is used when overriding the vanilla "mob griefing" game rule value. - #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection only. Add a mob to this list if you want the entity protection option to be checked as well when the rule is checked. - #Check out the "nonBlockGriefingMobs" option if you want to also remove the default block protection check for the mob. - #Supports entity type tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entityGriefingMobs = [] - #(Forge-only option) Mobs that can grief dropped items. This list is used when overriding the vanilla "mob griefing" game rule value. - #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection only. Add a mob to this list if you want the item pickup protection option to be checked as well when the rule is checked. - #This mod should detect most mobs picking up items by default, but if it doesn't already detect a specific mob, this option might help. - #Check out the "nonBlockGriefingMobs" option if you want to also remove the default block protection check for the mob. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - droppedItemGriefingMobs = [] - #Custom groups of entities that a player/claim config should be able to make block access exceptions for (e.g. letting sheep eat grass or endermen take blocks). Each group can consist of multiple entities and entity tags. - #The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #The group can be prefixed with "interact$" to create an exception that tries to exclude block breaking. - #The group can be prefixed with "break$" to create an exception that only includes block breaking. - #The group can be left without a prefix to create an exception that includes all block interactions. - #Projectiles landing on blocks is considered a non-breaking interaction first, even if it can result in a block break, - #which is protected separately afterwards. - #Projectile landing on blocks requires non-break block access through this option or entitiesAllowedToGrief. - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - blockAccessEntityGroups = ["Villagers{minecraft:villager}"] - #Custom groups of entities that a player/claim config should be able to make entity access exceptions for (e.g. letting zombies kill things). - #The groups should consist of entities that are the ones accessing other entities. The groups should not contain entities that are being accessed. Check out the "entityProtectionOptionalExceptionGroups" option for that. - #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #The group can be prefixed with "interact$" to create an exception that tries to exclude attacks. - #The group can be prefixed with "break$" to create an exception that only includes attacks. - #The group can be left without a prefix to create an exception that includes all entity interactions. - #Projectiles landing on entities is considered a non-attack interaction first, even if it can result in an attack, - #which is protected separately afterwards. - #Projectile landing on entities requires non-attack entity access through this option or entitiesAllowedToGriefEntities. - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - entityAccessEntityGroups = ["Zombies{minecraft:zombie, minecraft:zombie_villager, minecraft:husk, minecraft:drowned}"] - #Custom groups of entities that a player/claim config should be able to make dropped item access exceptions for (e.g. letting piglins pick up gold). - #The groups should consist of entities that are the ones trying to pick up items, not consist of specific items. - #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - droppedItemAccessEntityGroups = ["Villagers{minecraft:villager}", "Piglins{minecraft:piglin}", "Foxes{minecraft:fox}"] - #A list of fake players (UUIDs or names) that shouldn't be affected by any chunk claim protection if they try to access a chunk with building protection compatible with - #the chunk that the fake player's origin block is positioned in, e.g. claims with the same owner and block protection option values. - #This works great for fake players that are bound to the position of a specific placed block (origin block). Moreover, the mod supports fake players placed at a block - #next to the origin block, even if that means entering another chunk, e.g. in the case of the Integrated Tunnels mod, or if the origin block is touching the target block. - #The mod will try all positions next to the target block and the fake player as the possible position of the fake player origin block. - #This will always protect the target block if it or the fake player touch a claim with incompatible build protection. Avoid building on such claim edges. - #However, some fake players' origin blocks can be nowhere near the fake player or the target block, e.g. in the case of the Create mod, or there might be no origin block at all, - #e.g. NPCs that can move around. In this case, the mods that use such fake players require explicit support to be implemented. Although they might also sometimes - #be supported by default, if the fake players use UUIDs of actual players. - #Explicit support exists for the Create mod (requires an extension on Fabric) and you are not required to add anything to this list. - #Make sure to always test that claim edges are protected from outside interaction by fake players that you add to this list. - #Wondering where to get the UUIDs or usernames of specific fake players? You can check the source code of the mods that use them or politely ask the mod authors. - #For example ["41C82C87-7AfB-4024-BB57-13D2C99CAE77", "FakePlayerName"] - staticFakePlayers = ["[IntegratedTunnels]"] - #A list of Java classes of fake players that should be excluded from claim protection exceptions given to fake players with the "staticFakePlayers" option - #or built-in fake player support, like in the case of Create mod deployers. - #This option is meant for fake players similar to ComputerCraft's turtles, which take the UUID of the player that places them. It becomes a problem when a turtle takes - #the UUID of a fake player from "staticFakePlayers" or a deployer because the turtle then gets the same privileges without actually being stationary itself nor a deployer. - #Adding classes here should not break support of fake players that take the UUID of their owner. It simply takes away privileges which aren't meant for them. - #For example ["dan200.computercraft.shared.turtle.core.TurtlePlayer"] - staticFakePlayerClassExceptions = ["dan200.computercraft.shared.turtle.core.TurtlePlayer"] - #By default, right-click use of some items is allowed in protected chunks, e.g. swords, pickaxes, bows, shield, tridents, splash potions, to let the players protect themselves or interact with some blocks/entities. - #To remove such exceptions for specific items, add them to this list. This list applies to both using an item at air and using it at a block/entity. Supports item tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:trident", "minecraft:shield", "minecraft:(oak|spruce)_boat", "#minecraft:boats"] - additionalBannedItemsList = ["supplementaries:slingshot"] - #By default, most item right-click uses are disabled in protected chunks. To make an exception for a specific item, add it to this list. This option has a higher priority than "additionalBannedItemsList". - #This list applies to both using an item at air and using it at a block/entity. Supports item tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:fishing_rod", "minecraft:ender_pearl", "minecraft:(red|green)_bed", "#minecraft:beds"] - itemUseProtectionExceptionList = ["minecraft:firework_rocket"] - #Custom groups of items that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple items and item tags. - #Each group creates a player config option for the right-click use of the group items. The format for an item group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-stuff98{minecraft:(writable|written)_book, minecraft:*_book, #minecraft:compasses}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - itemUseProtectionOptionalExceptionGroups = ["Books{minecraft:written_book, minecraft:writable_book}"] - #Items that are completely banned from right-click usage on the server, claimed or not. This list applies to both using an item at air and using it at a block/entity. Supports item tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:trident", "minecraft:shield", "minecraft:(oak|spruce)_boat", "#minecraft:boats"] - completelyDisabledItemInteractions = [] - #Blocks that are completely banned from being interacted with on the server, claimed or not. Does not affect block breaking. Supports block tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:dirt", "minecraft:*_table", "minecraft:(cartography|fletching)_table", "#minecraft:buttons"] - completelyDisabledBlockInteractions = [] - #Entities that are completely banned from being interacted with on the server, claimed or not. Does not affect killing the entities. Supports entity tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - completelyDisabledEntityInteractions = [] - #Whether to completely disable frost walking on the server. Use this if the regular frost walking protection doesn't work, since there is no game rule for it. - completelyDisableFrostWalking = false - #Whether to ignore most detected entity collisions for boats. - #By default, boats detect entity collisions and handle them every tick for every entity that touches them, which is a lot. - #This can become very slow on a server if we also add the necessary claim protection checks in the mix. - #This option makes it so most collisions with boats are randomly ignored, which helps the performance without affecting gameplay all that much. - reducedBoatEntityCollisions = true - diff --git a/global-server-configs/railways-server.toml b/global-server-configs/railways-server.toml deleted file mode 100644 index 78e74925a..000000000 --- a/global-server-configs/railways-server.toml +++ /dev/null @@ -1,75 +0,0 @@ - -#. -#Miscellaneous settings -[misc] - #. - #Coupler will require points to be on the same or adjacent track edge, this will prevent the coupler from working if there is any form of junction in between the two points. - strictCoupler = false - #. - #Allow controlling Brass Switches remotely when approaching them on a train - flipDistantSwitches = true - #. - #Max distance between targeted track and placed switch stand - #Range: 16 ~ 128 - switchPlacementRange = 64 - #. - #Allow creepers and ghast fireballs to damage tracks - creeperTrackDamage = false - #. - #Multiplier used for calculating exhaustion from speed when a handcar is used. - #Range: 0.0 ~ 1.0 - handcarHungerMultiplier = 0.009999999776482582 - -#. -#Semaphore settings -[semaphores] - #. - #. - #Simplified semaphore placement (no upside-down placement) - simplifiedPlacement = true - #. - #Whether semaphore color order is reversed when the semaphores are oriented upside-down - flipYellowOrder = false - -#. -#Conductor settings -[conductors] - #. - #. - #Conductor whistle is limited to the owner of a train - mustOwnBoundTrain = false - #. - #Maximum length of conductor vents - #Range: > 1 - maxConductorVentLength = 64 - #. - #How often a conductor whistle updates the train of the bound conductor - #Range: 1 ~ 600 - whistleRebindRate = 10 - -#. -#Journeymap compat settings -[journeymap] - #. - #. - #[in Ticks] - #Outside-of-render-distance train sync time - #Range: 10 ~ 600 - farTrainSyncTicks = 200 - #. - #[in Ticks] - #In-render-distance train sync time - #Range: 1 ~ 600 - nearTrainSyncTicks = 5 - -#. -#Realism Settings -[realism] - #. - #. - #Make trains require fuel to run (either from fuel tanks or solid fuels in chests/barrels) - realisticTrains = false - #. - #Make fuel tanks only accept proper liquid fuels (so water etc can't go into them) - realisticFuelTanks = true - diff --git a/global-server-configs/sophisticatedbackpacks-server.toml b/global-server-configs/sophisticatedbackpacks-server.toml deleted file mode 100644 index facc03a10..000000000 --- a/global-server-configs/sophisticatedbackpacks-server.toml +++ /dev/null @@ -1,439 +0,0 @@ - -#Server Settings -[server] - #List of items that are not allowed to be put in backpacks - e.g. "minecraft:shulker_box" - disallowedItems = [] - #Determines if container items (those that override canFitInsideContainerItems to false) are able to fit in backpacks - containerItemsDisallowed = false - #List of blocks that inventory interaction upgrades can't interact with - e.g. "minecraft:shulker_box" - noInteractionBlocks = [] - #List of blocks that are not allowed to connect to backpacks - e.g. "refinedstorage:external_storage" - noConnectionBlocks = [] - #Turns on/off item fluid handler of backpack in its item form. There are some dupe bugs caused by default fluid handling implementation that manifest when backpack is drained / filled in its item form in another mod's tank and the only way to prevent them is disallowing drain/fill in item form altogether - itemFluidHandlerEnabled = true - #Determines whether player can right click on backpack that another player is wearing to open it. If off will turn off that capability for everyone and remove related settings from backpack. - allowOpeningOtherPlayerBackpacks = true - #Allows disabling item display settings. Primarily in cases where custom backpack model doesn't support showing the item. (Requires game restart to take effect) - itemDisplayDisabled = false - #Allows disabling logic that dedupes backpacks with the same UUID in players' inventory. This is here to allow turning off the logic just in case it would be causing performance issues. - tickDedupeLogicDisabled = false - #Determines if backpacks can be placed in container items (those that check for return value of canFitInsideContainerItems) - canBePlacedInContainerItems = false - #Maximum number of upgrades of type per backpack in format of "UpgradeRegistryName[or UpgradeGroup]|MaxNumber" - maxUpgradesPerStorage = ["jukebox_upgrade|1", "stack_upgrades|3", "furnace_upgrades|1"] - - #Leather Backpack Settings - [server.leatherBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 27 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 1 - - #Iron Backpack Settings - [server.ironBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 54 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 2 - - #Gold Backpack Settings - [server.goldBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 81 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 3 - - #Diamond Backpack Settings - [server.diamondBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 108 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 5 - - #Netherite Backpack Settings - [server.netheriteBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 120 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 7 - - #Compacting Upgrade Settings - [server.compactingUpgrade] - #Number of Compacting Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Compacting Upgrade Settings - [server.advancedCompactingUpgrade] - #Number of Advanced Compacting Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Deposit Upgrade Settings - [server.depositUpgrade] - #Number of Deposit Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Deposit Upgrade Settings - [server.advancedDepositUpgrade] - #Number of Advanced Deposit Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Feeding Upgrade Settings - [server.feedingUpgrade] - #Number of Feeding Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Feeding Upgrade Settings - [server.advancedFeedingUpgrade] - #Number of Advanced Feeding Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Filter Upgrade Settings - [server.filterUpgrade] - #Number of Filter Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Filter Upgrade Settings - [server.advancedFilterUpgrade] - #Number of Advanced Filter Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Magnet Upgrade Settings - [server.magnetUpgrade] - #Number of Magnet Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - #Range around storage in blocks at which magnet will pickup items - #Range: 1 ~ 20 - magnetRange = 3 - - #Advanced Magnet Upgrade Settings - [server.advancedMagnetUpgrade] - #Number of Advanced Magnet Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - #Range around storage in blocks at which magnet will pickup items - #Range: 1 ~ 20 - magnetRange = 5 - - #Pickup Upgrade Settings - [server.pickupUpgrade] - #Number of Pickup Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Pickup Upgrade Settings - [server.advancedPickupUpgrade] - #Number of Advanced Pickup Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Refill Upgrade Settings - [server.refillUpgrade] - #Number of Refill Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 6 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Refill Upgrade Settings - [server.advancedRefillUpgrade] - #Number of Advanced Refill Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 12 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Restock Upgrade Settings - [server.restockUpgrade] - #Number of Restock Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Restock Upgrade Settings - [server.advancedRestockUpgrade] - #Number of Advanced Restock Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Void Upgrade Settings - [server.voidUpgrade] - #Number of Void Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - #Determines whether void upgrade allows voiding anything or it only has overflow option - voidAnythingEnabled = true - - #Advanced Void Upgrade Settings - [server.advancedVoidUpgrade] - #Number of Advanced Void Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - #Determines whether void upgrade allows voiding anything or it only has overflow option - voidAnythingEnabled = true - - #Stack Upgrade Settings - [server.stackUpgrade] - #List of items that are not supposed to stack in storage even when stack upgrade is inserted. Item registry names are expected here. - nonStackableItems = ["minecraft:bundle", "minecraft:shulker_box", "minecraft:white_shulker_box", "minecraft:orange_shulker_box", "minecraft:magenta_shulker_box", "minecraft:light_blue_shulker_box", "minecraft:yellow_shulker_box", "minecraft:lime_shulker_box", "minecraft:pink_shulker_box", "minecraft:gray_shulker_box", "minecraft:light_gray_shulker_box", "minecraft:cyan_shulker_box", "minecraft:purple_shulker_box", "minecraft:blue_shulker_box", "minecraft:brown_shulker_box", "minecraft:green_shulker_box", "minecraft:red_shulker_box", "minecraft:black_shulker_box"] - - #Smelting Upgrade Settings - [server.smeltingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - - #Smoking Upgrade Settings - [server.smokingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - - #Blasting Upgrade Settings - [server.blastingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - - #Auto-Smelting Upgrade Settings - [server.autoSmeltingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - #Number of input filter slots - #Range: 1 ~ 20 - inputFilterSlots = 8 - #Number of input filter slots displayed in a row - #Range: 1 ~ 6 - inputFilterSlotsInRow = 4 - #Number of fuel filter slots - #Range: 1 ~ 20 - fuelFilterSlots = 4 - #Number of fuel filter slots displayed in a row - #Range: 1 ~ 6 - fuelFilterSlotsInRow = 4 - - #Auto-Smoking Upgrade Settings - [server.autoSmokingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - #Number of input filter slots - #Range: 1 ~ 20 - inputFilterSlots = 8 - #Number of input filter slots displayed in a row - #Range: 1 ~ 6 - inputFilterSlotsInRow = 4 - #Number of fuel filter slots - #Range: 1 ~ 20 - fuelFilterSlots = 4 - #Number of fuel filter slots displayed in a row - #Range: 1 ~ 6 - fuelFilterSlotsInRow = 4 - - #Auto-Blasting Upgrade Settings - [server.autoBlastingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - #Number of input filter slots - #Range: 1 ~ 20 - inputFilterSlots = 8 - #Number of input filter slots displayed in a row - #Range: 1 ~ 6 - inputFilterSlotsInRow = 4 - #Number of fuel filter slots - #Range: 1 ~ 20 - fuelFilterSlots = 4 - #Number of fuel filter slots displayed in a row - #Range: 1 ~ 6 - fuelFilterSlotsInRow = 4 - - #Inception Upgrade Settings - [server.inceptionUpgrade] - #Allows / Disallows backpack upgrades to work with inventories of Backpacks in the Backpack with Inception Upgrade - upgradesUseInventoriesOfBackpacksInBackpack = true - #Allows / Disallows upgrades to be functional even when they are in Backpacks in the inventory of Backpack with Inception Upgrade - upgradesInContainedBackpacksAreFunctional = true - - #Tool Swapper Upgrade Settings - [server.toolSwapperUpgrade] - #Number of Tool Swapper Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 8 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Tank Upgrade Settings - [server.tankUpgrade] - #Capacity in mB the tank upgrade will have per row of storage slots - #Range: 500 ~ 20000 - capacityPerSlotRow = 4000 - #Ratio that gets applied (multiplies) to inventory stack multiplier before this is applied to max energy of the battery and max in/out. Value lower than 1 makes stack multiplier affect the max energy less, higher makes it affect the max energy more. 0 turns off stack multiplier affecting battery upgrade - #Range: 0.0 ~ 5.0 - stackMultiplierRatio = 1.0 - #Cooldown between fill/drain actions done on fluid containers in tank slots. Only fills/drains one bucket worth to/from container after this cooldown and then waits again. - #Range: 1 ~ 100 - autoFillDrainContainerCooldown = 20 - #How much FE can be transfered in / out per operation. This is a base transfer rate and same as max capacity gets multiplied by number of rows in storage and stack multiplier. - #Range: 1 ~ 1000 - maxInputOutput = 20 - #Energy in FE the battery upgrade will have per row of storage slots - #Range: 500 ~ 50000 - energyPerSlotRow = 10000 - - #Pump Upgrade Settings - [server.pumpUpgrade] - #Number of fluid filter slots - #Range: 1 ~ 20 - filterSlots = 4 - #How much mB can be transfered in / out per operation. This is a base transfer rate that gets multiplied by number of rows in storage and stack multiplier. - #Range: 1 ~ 1000 - maxInputOutput = 20 - #Ratio that gets applied (multiplies) to inventory stack multiplier before this is applied to max input/output value. Value lower than 1 makes stack multiplier affect the capacity less, higher makes it affect the capacity more. 0 turns off stack multiplier affecting input/output - #Range: 0.0 ~ 5.0 - stackMultiplierRatio = 1.0 - - #Xp Pump Upgrade Settings - [server.xpPumpUpgrade] - #Whether xp pump can mend items with mending. Set false here to turn off the feature altogether. - mendingOn = true - #How many experience points at a maximum would be used to mend an item per operation (every 5 ticks and 1 xp point usually translates to 2 damage repaired). - #Range: 1 ~ 20 - maxXpPointsPerMending = 5 - - #Settings for Spawning Entities with Backpack - [server.entityBackpackAdditions] - #Chance of an entity spawning with Backpack - #Range: 0.0 ~ 1.0 - chance = 0.0 - #Turns on/off addition of loot into backpacks - addLoot = false - #Turns on/off buffing the entity that wears backpack with potion effects. These are scaled based on how much loot is added. - buffWithPotionEffects = true - #Turns on/off buffing the entity that wears backpack with additional health. Health is scaled based on backpack tier the mob wears. - buffHealth = true - #Turns on/off equiping the entity that wears backpack with armor. What armor material and how enchanted is scaled based on backpack tier the mob wears. - equipWithArmor = true - #Map of entities that can spawn with backpack and related loot tables (if adding a loot is enabled) in format of "EntityRegistryName|LootTableName" - entityLootTableList = [] - #List of music discs that are not supposed to be played by entities - discBlockList = [] - #Turns on/off a chance that the entity that wears backpack gets jukebox upgrade and plays a music disc. - playJukebox = true - #Determines whether backpack drops to fake players if killed by them in addition to real ones that it always drops to - dropToFakePlayers = false - #Chance of mob dropping backpack when killed by player - #Range: 0.0 ~ 1.0 - backpackDropChance = 0.5 - #Chance increase per looting level of mob dropping backpack - #Range: 0.0 ~ 0.3 - lootingChanceIncreasePerLevel = 0.15 - - [server.nerfs] - #Determines if too many backpacks in player's inventory cause slowness to the player - tooManyBackpacksSlowness = true - #Maximum number of backpacks in player's inventory that will not cause slowness - #Range: 1 ~ 27 - maxNumberOfBackpacks = 1 - #Ratio of slowness levels per every backpack above the maximum number allowed. (number of backpacks above the max gets multiplied by this number and ceiled) - #Range: 0.1 ~ 5.0 - slownessLevelsPerAdditionalBackpack = 1.0 - #Determines if active upgrades will only work in the backpack that's worn by the player. Active upgrades are for example magnet, pickup, cooking, feeding upgrades. - onlyWornBackpackTriggersUpgrades = true - - #Copper Backpack Settings - [server.copperBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 45 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 1 - diff --git a/global-server-configs/tfc-server.toml b/global-server-configs/tfc-server.toml deleted file mode 100644 index a78d29a13..000000000 --- a/global-server-configs/tfc-server.toml +++ /dev/null @@ -1,1314 +0,0 @@ -# -# Familiarity value above which familiarity no longer will decay. Default is 0.3, or 30%. Setting it to 0 will cause familiarity to never decay. -#Range: 0.0 ~ 1.0 -familiarityDecayLimit = 0.3 - -[general] - # - # Enable nether portal creation - enableNetherPortals = false - # - # Forces a number of game rules to specific values. - # naturalRegeneration = false (Health regen is much slower and not tied to extra saturation) - # doInsomnia = false (No phantoms) - # doTraderSpawning = false (No wandering traders) - # doPatrolSpawning = false (No pillager patrols) - enableForcedTFCGameRules = true - # - # If true, TFC will stop time when no players are online on a running server. - # This prevents food from decaying, the calendar from advancing, and the sun from moving, etc. - # !!Disable at your own risk!! - enableTimeStopWhenServerEmpty = true - # - # Enable fire arrows and fireballs to spread fire and light blocks. - enableFireArrowSpreading = true - # - # Base probability for a firestarter to start a fire. May change based on circumstances - #Range: 0.0 ~ 1.0 - fireStarterChance = 0.5 - # - # Enable rat infestations for improperly stored food. - enableInfestations = true - # - # Enables TFC setting the moon phase based on the progress of the month. The etymology of the English word 'month' is in fact related to the word 'moon'. - enableCalendarSensitiveMoonPhases = true - # - # If false, vanilla lightning will not strike. - enableLightning = true - # - # If true, lightning has a chance of stripping bark off of trees. - enableLightningStrippingLogs = true - # - # Every time the z coordinate reaches a multiple of this point, the wind over oceans will switch directions. - #Range: > 128 - oceanWindScale = 5000 - -[blocks] - - [blocks.farmland] - # - # If TFC soil blocks are able to be created into farmland using a hoe. - enableFarmlandCreation = true - - [blocks.grassPath] - # - # If TFC soil blocks are able to be created into (grass) path blocks using a hoe. - enableGrassPathCreation = true - - [blocks.grass] - # - # The chance that when grass that freezes and thaws it will have a loose rock rise to the surface, provided some conditions are met. Set to 0 to disable. - #Range: 0.0 ~ 1.0 - grassSpawningRocksChance = 0.001 - - [blocks.rootedDirt] - # - # If TFC rooted dirt blocks are able to be created into dirt blocks using a hoe. - enableRootedDirtToDirtCreation = true - - [blocks.snow] - # - # [Requires MC Restart] If snow will slow players that move on top of it similar to soul sand or honey. - enableSnowSlowEntities = true - # - # The chance that snow will accumulate during a storm. Lower values = faster snow accumulation, but also more block updates (aka lag). - #Range: > 1 - snowAccumulateChance = 20 - # - # The chance that snow will melt during a storm. Lower values = faster snow melting, but also more block updates (aka lag). - #Range: > 1 - snowMeltChance = 36 - - [blocks.plants] - # - # Chance for a plant to grow each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant growth. - #Range: 0.0 ~ 1.0 - plantGrowthChance = 0.04 - # - # Chance for a twisting/weeping/kelp plant to grow each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant growth. - #Range: 0.0 ~ 1.0 - plantLongGrowthChance = 0.03 - # - # Chance for a plant to spread each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant spreading. - #Range: 0.0 ~ 1.0 - plantSpreadChance = 0.001 - # - # A movement multiplier for players moving through plants. Individual plants will use a ratio of this value, and lower = slower. - #Range: 0.0 ~ 1.0 - plantsMovementModifier = 0.2 - - [blocks.leaves] - # - # A movement multiplier for players moving through leaves. Lower = slower. - #Range: 0.0 ~ 1.0 - leavesMovementModifier = 0.4 - # - # If true, then leaves will decay slowly over time when disconnected from logs (vanilla behavior), as opposed to instantly (TFC behavior). - enableLeavesDecaySlowly = false - - [blocks.cobblestone] - # - # If mossy rock blocks will spread their moss to nearby rock blocks (bricks and cobble; stairs, slabs and walls thereof). - enableMossyRockSpreading = true - # - # The rate at which rock blocks will accumulate moss. Higher value = slower. - #Range: > 1 - mossyRockSpreadRate = 20 - - [blocks.chest] - # - # The largest (inclusive) size of an item that is allowed in a chest. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - chestMaximumItemSize = "LARGE" - - [blocks.largeVessel] - # - # If true, large vessels will interact with in-world automation such as hoppers on a side-specific basis. - largeVesselEnableAutomation = true - # - # If true, large vessels will seal and unseal on redstone signal. - largeVesselEnableRedstoneSeal = true - - [blocks.torch] - # - # Number of ticks required for a torch to burn out (1000 = 1 in game hour = 50 seconds), default is 72 hours. Set to -1 to disable torch burnout. - #Range: > -1 - torchTicks = 72000 - - [blocks.candle] - # - # Number of ticks required for a candle to burn out (1000 = 1 in game hour = 50 seconds), default is 264 hours. Set to -1 to disable candle burnout. - #Range: > -1 - candleTicks = 264000 - - [blocks.dryingBricks] - # - # Number of ticks required for mud bricks to dry (1000 = 1 in game hour = 50 seconds), default is 24 hours. Set to -1 to disable drying. - #Range: > -1 - mudBricksTicks = 24000 - - [blocks.charcoal] - # - # Number of ticks required for charcoal pit to complete. (1000 = 1 in game hour = 50 seconds), default is 18 hours. - #Range: > -1 - charcoalTicks = 18000 - - [blocks.pitKiln] - # - # Number of ticks required for a pit kiln to burn out. (1000 = 1 in game hour = 50 seconds), default is 8 hours. - #Range: > 20 - pitKilnTicks = 8000 - # - # The maximum temperature which a pit kiln reaches. - #Range: > 0 - pitKilnTemperature1 = 1400 - - [blocks.crucible] - # - # Tank capacity of a crucible (in mB). - #Range: 0 ~ 2147483645 - crucibleCapacity = 4000 - # - # A modifier for how fast fluid containers empty into crucibles. Containers will empty 1 mB every (this) number of ticks. - #Range: > 1 - cruciblePouringRate = 4 - # - # A modifier for how fast fluid containers empty into crucibles when shift is held. Containers will empty 1 mB every (this) number of ticks. - #Range: > 1 - crucibleFastPouringRate = 1 - # - # If true, barrels will interact with in-world automation such as hoppers on a side-specific basis. - crucibleEnableAutomation = true - - [blocks.anvil] - # - # The number of pixels that the anvil's result may be off by, but still count as recipe completion. By default this requires pixel perfect accuracy. - #Range: 0 ~ 150 - anvilAcceptableWorkRange = 0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Modestly Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilModestlyForgedThreshold = 10.0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Well Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilWellForgedThreshold = 5.0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Expertly Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilExpertForgedThreshold = 2.0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Perfectly Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilPerfectlyForgedThreshold = 1.5 - # - # The multiplier to efficiency (mining speed) that is applied to a 'Perfectly Forged' tool. - #Range: 1.0 ~ 1000.0 - anvilMaxEfficiencyMultiplier = 1.8 - # - # The bonus to durability (probability to ignore a point of damage) that is applied to a 'Perfectly Forged' tool. Note that 1 ~ infinite durability, and 0 ~ no bonus. - #Range: 0.0 ~ 1.0 - anvilMaxDurabilityMultiplier = 0.5 - # - # The boost to attack damage that is applied to a 'Perfectly Forged' tool. - #Range: 1.0 ~ 1000.0 - anvilMaxDamageMultiplier = 1.5 - - [blocks.barrel] - # - # Tank capacity of a barrel (in mB). - #Range: > 0 - barrelCapacity = 10000 - # - # If true, barrels will interact with in-world automation such as hoppers on a side-specific basis. - barrelEnableAutomation = true - # - # If true, barrels will seal and unseal on redstone signal. - barrelEnableRedstoneSeal = true - - [blocks.composter] - # - # Number of ticks required for a composter in normal conditions to complete. (24000 = 1 game day), default is 12 days. - #Range: > 20 - composterTicks = 288000 - # - # If true, the composter will interact with in-world automation such as hoppers on a side-specific basis. - composterEnableAutomation = true - - [blocks.sluice] - # - # Number of ticks required for a sluice to process an item. (20 = 1 second), default is 5 seconds. - #Range: > 1 - sluiceTicks = 100 - - [blocks.lamp] - # - # Tank capacity of a lamp (in mB). - #Range: 0 ~ 2147483645 - lampCapacity = 250 - - [blocks.pumpkin] - # - # Enables the knifing of pumpkins to carve them. - enablePumpkinCarving = false - # - # Number of ticks required for a jack 'o lantern to burn out (1000 = 1 in game hour = 50 seconds), default is 108 hours. Set to -1 to disable burnout. - #Range: > -1 - jackOLanternTicks = 108000 - - [blocks.bloomery] - # - # The maximum number of levels that can be built in a bloomery multiblock, for added capacity. - #Range: > 1 - bloomeryMaxChimneyHeight = 3 - # - # Inventory capacity (in number of items per level of chimney) of the bloomery. - #Range: > 1 - bloomeryCapacity1 = 16 - - [blocks.blastFurnace] - # - # Inventory capacity (in number of items per level of chimney) of the blast furnace. - #Range: > 1 - blastFurnaceCapacity = 4 - # - # Fluid capacity (in mB) of the output tank of the blast furnace. - #Range: > 1 - blastFurnaceFluidCapacity = 10000 - # - # A multiplier for how fast the blast furnace consumes fuel. Higher values = faster fuel consumption. - #Range: > 1 - blastFurnaceFuelConsumptionMultiplier = 4 - # - # The maximum number of levels that can be built in a blast furnace multiblock, for added capacity. - #Range: > 1 - blastFurnaceMaxChimneyHeight = 5 - # - # If true, blast furnaces will interact with in-world automation such as hoppers on a side-specific basis. - blastFurnaceEnableAutomation = true - - [blocks.loom] - # - # If true, looms will interact with in-world automation such as hoppers on a side-specific basis. - loomEnableAutomation = true - - [blocks.thatch] - # - # A movement multiplier for players moving through thatch. Lower = slower. - #Range: 0.0 ~ 1.0 - thatchMovementMultiplier = 0.6 - - [blocks.thatchBed] - # - # If true, thatch beds can set the player's spawn. - enableThatchBedSpawnSetting = true - # - # If true, the player can sleep the night in a thatch bed - enableThatchBedSleeping = false - # - # If true, the player cannot sleep in thatch beds during thunderstorms. - thatchBedNoSleepInThunderstorms = true - - [blocks.placedItems] - # - # The maximum size of items that can be placed as 4 items on the ground with V. If an item is larger than this, it could still be placed with the 'maxPlacedLargeItemSize' option. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - maxPlacedItemSize = "LARGE" - # - # The maximum size of items that can be placed as a single item on the ground with V. Items are checked to see if they're the right size to be placed in a group of 4 items first. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - maxPlacedLargeItemSize = "HUGE" - # - # If true, players can place items on the ground with V. - enablePlacingItems = true - # - # If true, the tag 'tfc:placed_item_whitelist' will be checked to allow items to be in placed items and will exclude everything else. - usePlacedItemWhitelist = false - - [blocks.charcoalForge] - # - # If true, charcoal forges will interact with in-world automation such as hoppers on a side-specific basis. - charcoalForgeEnableAutomation = true - - [blocks.firePitEnableAutomation] - # - # If true, fire pits will interact with in-world automation such as hoppers on a side-specific basis. - firePitEnableAutomation = true - - [blocks.nestBox] - # - # If true, nest boxes will interact with in-world automation such as hoppers on a side-specific basis. - nestBoxEnableAutomation = true - - [blocks.powderKeg] - # - # If true, powder kegs can be lit and exploded. - powderKegEnabled = true - # - # If true, powder kegs will interact with in-world automation such as hoppers on a side-specific basis. - powderKegEnableAutomation = true - # - # A modifier to the strength of powderkegs when exploding. A max powderkeg explosion is 64, and all explosions are capped to this size no matter the value of the modifier. - #Range: 0.0 ~ 64.0 - powderKegStrengthModifier = 1.0 - # - # If true, powder kegs will only break stone, ores, gravel, and dirt. - powderKegOnlyBreaksNaturalBlocks = false - # - # The time in ticks for a powderkeg to defuse. Default is 80 ticks, or 4 seconds. - #Range: > 1 - powderKegFuseTime = 80 - - [blocks.hotWater] - # - # An amount that sitting in hot water will restore health, approximately twice per second. - #Range: 0.0 ~ 20.0 - hotWaterHealAmount = 0.08 - - [blocks.saplings] - # - # Modifier applied to the growth time of every (non-fruit) sapling. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.0 ~ 1.7976931348623157E308 - globalSaplingGrowthModifier = 1.0 - # - # Modifier applied to the growth time of every fruit tree sapling. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.0 ~ 1.7976931348623157E308 - globalFruitSaplingGrowthModifier = 1.0 - # - # Days for a acacia tree sapling to be ready to grow into a full tree. - #Range: > 0 - acaciaSaplingGrowthDays = 11 - # - # Days for a ash tree sapling to be ready to grow into a full tree. - #Range: > 0 - ashSaplingGrowthDays = 7 - # - # Days for a aspen tree sapling to be ready to grow into a full tree. - #Range: > 0 - aspenSaplingGrowthDays = 8 - # - # Days for a birch tree sapling to be ready to grow into a full tree. - #Range: > 0 - birchSaplingGrowthDays = 7 - # - # Days for a blackwood tree sapling to be ready to grow into a full tree. - #Range: > 0 - blackwoodSaplingGrowthDays = 8 - # - # Days for a chestnut tree sapling to be ready to grow into a full tree. - #Range: > 0 - chestnutSaplingGrowthDays = 7 - # - # Days for a douglas_fir tree sapling to be ready to grow into a full tree. - #Range: > 0 - douglas_firSaplingGrowthDays = 7 - # - # Days for a hickory tree sapling to be ready to grow into a full tree. - #Range: > 0 - hickorySaplingGrowthDays = 10 - # - # Days for a kapok tree sapling to be ready to grow into a full tree. - #Range: > 0 - kapokSaplingGrowthDays = 7 - # - # Days for a mangrove tree sapling to be ready to grow into a full tree. - #Range: > 0 - mangroveSaplingGrowthDays = 8 - # - # Days for a maple tree sapling to be ready to grow into a full tree. - #Range: > 0 - mapleSaplingGrowthDays = 7 - # - # Days for a oak tree sapling to be ready to grow into a full tree. - #Range: > 0 - oakSaplingGrowthDays = 10 - # - # Days for a palm tree sapling to be ready to grow into a full tree. - #Range: > 0 - palmSaplingGrowthDays = 7 - # - # Days for a pine tree sapling to be ready to grow into a full tree. - #Range: > 0 - pineSaplingGrowthDays = 7 - # - # Days for a rosewood tree sapling to be ready to grow into a full tree. - #Range: > 0 - rosewoodSaplingGrowthDays = 8 - # - # Days for a sequoia tree sapling to be ready to grow into a full tree. - #Range: > 0 - sequoiaSaplingGrowthDays = 18 - # - # Days for a spruce tree sapling to be ready to grow into a full tree. - #Range: > 0 - spruceSaplingGrowthDays = 7 - # - # Days for a sycamore tree sapling to be ready to grow into a full tree. - #Range: > 0 - sycamoreSaplingGrowthDays = 8 - # - # Days for a white_cedar tree sapling to be ready to grow into a full tree. - #Range: > 0 - white_cedarSaplingGrowthDays = 7 - # - # Days for a willow tree sapling to be ready to grow into a full tree. - #Range: > 0 - willowSaplingGrowthDays = 11 - # - # Days for a cherry tree sapling to be eligible to grow - #Range: > 0 - cherrySaplingGrowthDays1 = 8 - # - # Days for a green_apple tree sapling to be eligible to grow - #Range: > 0 - green_appleSaplingGrowthDays1 = 10 - # - # Days for a lemon tree sapling to be eligible to grow - #Range: > 0 - lemonSaplingGrowthDays1 = 8 - # - # Days for a olive tree sapling to be eligible to grow - #Range: > 0 - oliveSaplingGrowthDays1 = 12 - # - # Days for a orange tree sapling to be eligible to grow - #Range: > 0 - orangeSaplingGrowthDays1 = 7 - # - # Days for a peach tree sapling to be eligible to grow - #Range: > 0 - peachSaplingGrowthDays1 = 11 - # - # Days for a plum tree sapling to be eligible to grow - #Range: > 0 - plumSaplingGrowthDays1 = 8 - # - # Days for a red_apple tree sapling to be eligible to grow - #Range: > 0 - red_appleSaplingGrowthDays1 = 10 - # - # Days for a banana tree sapling to be eligible to grow - #Range: > 0 - bananaSaplingGrowthDays = 6 - - [blocks.crops] - # - # Modifier applied to the growth time of every crop. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.001 ~ 1000.0 - cropGrowthModifier = 1.0 - # - # Modifier applied to the expiry time of every crop. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.001 ~ 1000.0 - cropExpiryModifier = 1.0 - - [blocks.dispenser] - # - # If true, dispensers can light TFC devices. - dispenserEnableLighting = true - - [blocks.powderBowl] - # - # If true, powder bowls will interact with in-world automation such as hoppers on a side-specific basis. - powderBowlEnableAutomation = true - - [blocks.mud] - # - # If TFC dirt blocks are able to be created into mud blocks using a water-filled fluid container. - enableDirtToMudCreation = true - - [blocks.quern] - # - # If true, querns will interact with in-world automation such as hoppers on a side-specific basis. - quernEnableAutomation = true - -[items] - - [items.smallVessel] - # - # Tank capacity of a small vessel (in mB). - #Range: 0 ~ 2147483645 - smallVesselCapacity = 3000 - # - # The largest (inclusive) size of an item that is allowed in a small vessel. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - smallVesselMaximumItemSize = "SMALL" - # - # If true, the vessel can be inserted and extracted from by clicking on it in the inventory. You may want to disable this if you have a inventory-tweaking mod - enableSmallVesselInventoryInteraction = true - - [items.molds] - # - # Tank capacity of a Fire Ingot mold (in mB). - #Range: 0 ~ 2147483645 - moldIngotCapacity = 144 - # - # Tank capacity of a Pickaxe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldPickaxeHeadCapacity = 144 - # - # Tank capacity of a Propick Head mold (in mB). - #Range: 0 ~ 2147483645 - moldPropickHeadCapacity = 144 - # - # Tank capacity of a Axe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldAxeHeadCapacity = 144 - # - # Tank capacity of a Shovel Head mold (in mB). - #Range: 0 ~ 2147483645 - moldShovelHeadCapacity = 144 - # - # Tank capacity of a Hoe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldHoeHeadCapacity = 144 - # - # Tank capacity of a Chisel Head mold (in mB). - #Range: 0 ~ 2147483645 - moldChiselHeadCapacity = 144 - # - # Tank capacity of a Hammer Head mold (in mB). - #Range: 0 ~ 2147483645 - moldHammerHeadCapacity = 144 - # - # Tank capacity of a Saw Blade mold (in mB). - #Range: 0 ~ 2147483645 - moldSawBladeCapacity = 144 - # - # Tank capacity of a Javelin Head mold (in mB). - #Range: 0 ~ 2147483645 - moldJavelinHeadCapacity = 144 - # - # Tank capacity of a Sword Blade mold (in mB). - #Range: 0 ~ 2147483645 - moldSwordBladeCapacity = 288 - # - # Tank capacity of a Mace Head mold (in mB). - #Range: 0 ~ 2147483645 - moldMaceHeadCapacity = 288 - # - # Tank capacity of a Knife Blade mold (in mB). - #Range: 0 ~ 2147483645 - moldKnifeBladeCapacity = 144 - # - # Tank capacity of a Bell mold (in mB). - #Range: 0 ~ 2147483645 - moldScytheBladeCapacity = 144 - - [items.jug] - # - # Tank capacity of a ceramic jug (in mB). - #Range: 0 ~ 2147483645 - jugCapacity = 100 - # - # The chance a jug will break after drinking. - #Range: 0.0 ~ 1.0 - jugBreakChance = 0.02 - - [items.glassBottle] - # - # Tank capacity of a silica glass bottle (in mB). - #Range: 0 ~ 2147483645 - silicaGlassBottleCapacity = 500 - # - # The chance a silica glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - silicaGlassBottleBreakChance = 0.005 - # - # Tank capacity of a hematitic glass bottle (in mB). - #Range: 0 ~ 2147483645 - hematiticGlassBottleCapacity = 400 - # - # The chance a hematitic glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - hematiticGlassBottleBreakChance = 0.02 - # - # Tank capacity of a volcanic glass bottle (in mB). - #Range: 0 ~ 2147483645 - volcanicGlassBottleCapacity = 400 - # - # The chance a volcanic glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - volcanicGlassBottleBreakChance = 0.04 - # - # Tank capacity of a olivine glass bottle (in mB). - #Range: 0 ~ 2147483645 - olivineGlassBottleCapacity = 400 - # - # The chance a olivine glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - olivineGlassBottleBreakChance = 0.01 - - [items.woodenBucket] - # - # Tank capacity of a wooden bucket (in mB). - #Range: 0 ~ 2147483645 - woodenBucketCapacity = 1000 - -[mechanics] - - [mechanics.heat] - # - # A multiplier for how fast devices themselves heat up. Higher = faster. - #Range: 0.0 ~ 1.7976931348623157E308 - deviceHeatingModifier = 1.0 - # - # A multiplier for how fast items heat in devices. Higher = faster. - #Range: 0.0 ~ 1.7976931348623157E308 - itemHeatingModifier = 1.0 - # - # A multiplier for how fast items cool. Higher = faster. - #Range: 0.0 ~ 1.7976931348623157E308 - itemCoolingModifier = 0.8 - # - # Should hot item entities cool off when in contact with blocks like water or snow? - coolHotItemEntities = true - # - # Ticks between each time an item loses temperature when sitting on a cold block. 20 ticks = 1 second. - #Range: > 1 - ticksBeforeItemCool = 10 - - [mechanics.collapses] - # - # Enable rock collapsing when mining raw stone blocks - enableBlockCollapsing = true - # - # Enable explosions causing immediate collapses. - enableExplosionCollapsing = true - # - # Enable land slides (gravity affected blocks) when placing blocks or on block updates. - enableBlockLandslides = true - # - # Enable chisels starting collapses - enableChiselsStartCollapses = true - # - # Chance for a collapse to be triggered by mining a block. - #Range: 0.0 ~ 1.0 - collapseTriggerChance = 0.1 - # - # Chance for a collapse to be fake triggered by mining a block. - #Range: 0.0 ~ 1.0 - collapseFakeTriggerChance = 0.35 - # - # Chance for a block fo fall from mining collapse. Higher = more likely. - #Range: 0.0 ~ 1.0 - collapsePropagateChance = 0.55 - # - # Chance for a block to fall from an explosion triggered collapse. Higher = mor likely. - #Range: 0.0 ~ 1.0 - collapseExplosionPropagateChance = 0.3 - # - # Minimum radius for a collapse - #Range: 1 ~ 32 - collapseMinRadius = 3 - # - # Variance of the radius of a collapse. Total size is in [minRadius, minRadius + radiusVariance] - #Range: 1 ~ 32 - collapseRadiusVariance = 16 - - [mechanics.player] - # - # If peaceful difficulty should still have vanilla-esque passive regeneration of health, food, and hunger - enablePeacefulDifficultyPassiveRegeneration = false - # - # A multiplier for passive exhaustion accumulation. - # Exhaustion is the hidden stat which controls when you get hungry. In vanilla it is incremented by running and jumping for example. In TFC, exhaustion is added just by existing. - # 1.0 = A full hunger bar's worth of exhaustion every 2.5 days. Set to zero to disable completely. - #Range: 0.0 ~ 100.0 - passiveExhaustionMultiplier = 1.0 - # - # A multiplier for how quickly the player gets thirsty. - # The player loses thirst in sync with when they lose hunger. This represents how much thirst they lose. 0 = None, 100 = the entire thirst bar. - #Range: 0.0 ~ 100.0 - thirstModifier1 = 5.0 - # - # Enables the player losing more thirst in hotter environments. - enableThirstOverheating = true - # - # How much thirst the player gains from drinking in the rain (standing outside in the rain and looking up) per tick. - #Range: 0.0 ~ 100.0 - thirstGainedFromDrinkingInTheRain = 0.20833333333333334 - # - # A multiplier for how quickly the player regenerates health, under TFC's passive regeneration. - # By default, the player regenerates 0.2 HP/second, or 0.6 HP/second when above 80% hunger and thirst, where 1 HP = 1/50 of a heart. - #Range: 0.0 ~ 100.0 - naturalRegenerationModifier = 1.0 - # - # How much total hunger consumed is required to completely refresh the player's nutrition. - # Player nutrition in TFC is calculated based on nutrition of the last few foods eaten - this is how many foods are used to calculate nutrition. By default, all TFC foods restore 4 hunger. - #Range: > 1 - nutritionRotationHungerWindow = 80 - # - # If player's nutrition should be kept even after death. Hunger and thirst are not affected and will be reset. - keepNutritionAfterDeath = true - # - # How many hours should different foods ignore when trying to stack together automatically? - # Food made with different creation dates doesn't stack by default, unless it's within a specific window. This is the number of hours that different foods will try and stack together at the loss of a little extra expiry time. - #Range: 1 ~ 100 - foodDecayStackWindow = 6 - # - # A multiplier for food decay, or expiration times. Larger values will result in naturally shorter expiration times. - # Setting this to zero will cause decay not to apply. - # Note that if you set this to zero **food items will lose their creation dates!!**. This is not reversible! - #Range: 0.0 ~ 1000.0 - foodDecayModifier = 1.0 - # - # Enables negative effects from carrying too many very heavy items, including potion effects. - enableOverburdening = true - # - # A multiplier for the minimum health that the player will obtain, based on their nutrition - #Range: 0.001 ~ 1000.0 - nutritionMinimumHealthModifier = 0.2 - # - # A multiplier for the default health that the player will have (this is at a average nutrition of 40%, aka the starting nutrition. - # Nutrition above this value will linearly scale to the maximum multiplier. - # Nutrition below this value will linearly scale to the minimum multiplier. - #Range: 0.001 ~ 1000.0 - nutritionDefaultHealthModifier = 0.85 - # - # A multiplier for the maximum health that the player will obtain, based on their nutrition - #Range: 0.001 ~ 1000.0 - nutritionMaximumHealthModifier = 3.0 - - [mechanics.foodTraits] - # - # The modifier for the 'Salted' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitSaltedModifier = 0.5 - # - # The modifier for the 'Brined' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitBrinedModifier = 1.0 - # - # The modifier for the 'Pickled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitPickledModifier = 0.5 - # - # The modifier for the 'Preserved' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitPreservedModifier = 0.5 - # - # The modifier for the 'Vinegar' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitVinegarModifier = 0.1 - # - # The modifier for the 'Charcoal Grilled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitCharcoalGrilledModifier = 1.25 - # - # The modifier for the 'Wood Grilled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitWoodGrilledModifier = 0.8 - # - # The modifier for the 'Burnt To A Crisp' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitBurntToACrispModifier = 2.5 - # - # The modifier for the 'Wild' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitWildModifier = 0.5 - - [mechanics.fluids] - # - # If true, TFC buckets that naturally place sources (colored steel) will place sources. If false, this behavior is disabled. - enableBucketsPlacingSources = true - - [mechanics.vanillaChanges] - # - # If vanilla bonemeal's instant-growth effect should be enabled. - enableVanillaBonemeal = false - # - # If true, vanilla's snow and ice formation mechanics will be used, and none of the TFC mechanics (improved snow and ice placement, snow stacking, icicle formation, passive snow or ice melting) will exist. - enableVanillaWeatherEffects = false - # - # If true, vanilla will attempt to spawn skeleton 'trap' horses during thunderstorms. - enableVanillaSkeletonHorseSpawning = false - # - # If true, enables the default vanilla behavior of mobs spawning with enchanted weapons sometimes. - enableVanillaMobsSpawningWithEnchantments = false - # - # If true, enables the default behavior of mobs spawning with vanilla armor and weapons - enableVanillaMobsSpawningWithVanillaEquipment = false - # - # If true, golems can be built - enableVanillaGolems = false - # - # If true, vanilla monsters are able to spawn. If false, the 'enableVanillaMonstersOnSurface' config option is not used, and all spawns are denied. - enableVanillaMonsters = true - # - # If true, vanilla monsters will spawn on the surface instead of just underground. If false, vanilla monsters will not spawn on the surface. - enableVanillaMonstersOnSurface = false - # - # If true, chicken jockies can spawn - enableChickenJockies = false - # - # If true, eggs can be thrown. - enableVanillaEggThrowing = false - # - # If true, drinking milk will clear potion effects and restore no nutrition, as in vanilla. - enableVanillaDrinkingMilkClearsPotionEffects = false - - [mechanics.animals] - - [mechanics.animals.pig] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - pigFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - pigAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - pigUses = 60 - # - # Does the animal eat rotten food? - pigEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - pigGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - pigChildCount = 10 - - [mechanics.animals.donkey] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - donkeyFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - donkeyAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - donkeyUses = 60 - # - # Does the animal eat rotten food? - donkeyEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - donkeyGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - donkeyChildCount = 1 - - [mechanics.animals.mule] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - muleFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - muleAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - muleUses = 60 - # - # Does the animal eat rotten food? - muleEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - muleGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - muleChildCount = 1 - - [mechanics.animals.horse] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - horseFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - horseAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - horseUses = 60 - # - # Does the animal eat rotten food? - horseEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - horseGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - horseChildCount = 1 - - [mechanics.animals.cat] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - catFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - catAdulthoodDays = 50 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - catUses = 60 - # - # Does the animal eat rotten food? - catEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - catGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - catChildCount = 6 - - [mechanics.animals.dog] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - dogFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - dogAdulthoodDays = 50 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - dogUses = 60 - # - # Does the animal eat rotten food? - dogEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - dogGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - dogChildCount = 2 - - [mechanics.animals.cow] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - cowFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - cowAdulthoodDays = 192 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - cowUses = 128 - # - # Does the animal eat rotten food? - cowEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - cowGestationDays = 58 - # - # Max number of children born - #Range: 0 ~ 100 - cowChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - cowProduceTicks = 24000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - cowMinProduceFamiliarity = 0.15 - - [mechanics.animals.goat] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - goatFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - goatAdulthoodDays = 96 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - goatUses = 60 - # - # Does the animal eat rotten food? - goatEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - goatGestationDays = 32 - # - # Max number of children born - #Range: 0 ~ 100 - goatChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - goatProduceTicks = 72000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - goatMinProduceFamiliarity = 0.15 - - [mechanics.animals.yak] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - yakFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - yakAdulthoodDays = 180 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - yakUses = 230 - # - # Does the animal eat rotten food? - yakEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - yakGestationDays = 64 - # - # Max number of children born - #Range: 0 ~ 100 - yakChildCount = 1 - # - # Ticks until produce is ready - #Range: > 0 - yakProduceTicks = 23500 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - yakMinProduceFamiliarity = 0.15 - - [mechanics.animals.alpaca] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - alpacaFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - alpacaAdulthoodDays = 98 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - alpacaUses = 128 - # - # Does the animal eat rotten food? - alpacaEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - alpacaGestationDays = 36 - # - # Max number of children born - #Range: 0 ~ 100 - alpacaChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - alpacaProduceTicks = 120000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - alpacaMinProduceFamiliarity = 0.15 - - [mechanics.animals.sheep] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - sheepFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - sheepAdulthoodDays = 56 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - sheepUses = 60 - # - # Does the animal eat rotten food? - sheepEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - sheepGestationDays = 32 - # - # Max number of children born - #Range: 0 ~ 100 - sheepChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - sheepProduceTicks = 168000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - sheepMinProduceFamiliarity = 0.15 - - [mechanics.animals.muskOx] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - muskOxFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - muskOxAdulthoodDays = 168 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - muskOxUses = 160 - # - # Does the animal eat rotten food? - muskOxEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - muskOxGestationDays = 64 - # - # Max number of children born - #Range: 0 ~ 100 - muskOxChildCount = 1 - # - # Ticks until produce is ready - #Range: > 0 - muskOxProduceTicks = 96000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - muskOxMinProduceFamiliarity = 0.15 - - [mechanics.animals.chicken] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - chickenFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - chickenAdulthoodDays = 24 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - chickenUses = 100 - # - # Does the animal eat rotten food? - chickenEatsRottenFood = true - # - # Ticks until produce is ready - #Range: > 0 - chickenProduceTicks = 30000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - chickenMinProduceFamiliarity = 0.15 - # - # Ticks until egg is ready to hatch - #Range: > 0 - chickenHatchDays = 8 - - [mechanics.animals.duck] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - duckFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - duckAdulthoodDays = 32 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - duckUses = 72 - # - # Does the animal eat rotten food? - duckEatsRottenFood = false - # - # Ticks until produce is ready - #Range: > 0 - duckProduceTicks = 32000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - duckMinProduceFamiliarity = 0.15 - # - # Ticks until egg is ready to hatch - #Range: > 0 - duckHatchDays = 8 - - [mechanics.animals.quail] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - quailFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - quailAdulthoodDays = 22 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - quailUses = 48 - # - # Does the animal eat rotten food? - quailEatsRottenFood = true - # - # Ticks until produce is ready - #Range: > 0 - quailProduceTicks = 28000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - quailMinProduceFamiliarity = 0.15 - # - # Ticks until egg is ready to hatch - #Range: > 0 - quailHatchDays = 8 - - [mechanics.animals.rabbit] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - rabbitFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - rabbitAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - rabbitUses = 40 - # - # Does the animal eat rotten food? - rabbitEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - rabbitGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - rabbitChildCount = 6 - -[weird] - farmlandMakesTheBestRaceTracks = false - diff --git a/global-server-configs/tfcchannelcasting-server.toml b/global-server-configs/tfcchannelcasting-server.toml deleted file mode 100644 index bed592b2b..000000000 --- a/global-server-configs/tfcchannelcasting-server.toml +++ /dev/null @@ -1,6 +0,0 @@ - -[molds] - #Tank capacity of a Pickaxe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldHeartCapacity = 100 - diff --git a/global-server-configs/tfcea-server.toml b/global-server-configs/tfcea-server.toml deleted file mode 100644 index c96869e61..000000000 --- a/global-server-configs/tfcea-server.toml +++ /dev/null @@ -1,5 +0,0 @@ - -[general] - #The modifier for the 'Refrigerating' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitRefrigeratingModifier = 0.125 diff --git a/global-server-configs/toolbelt-server.toml b/global-server-configs/toolbelt-server.toml deleted file mode 100644 index 39afc4a41..000000000 --- a/global-server-configs/toolbelt-server.toml +++ /dev/null @@ -1,7 +0,0 @@ - -[general] - #List of items to force-allow placing in the belt. Takes precedence over blacklist. - whitelist = [] - #List of items to disallow from placing in the belt. (whitelist takes precedence) - blacklist = [] - From 56b3a17ed34ee625c84871d7801a7dcfa5d22ada Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 08:31:05 +0700 Subject: [PATCH 192/266] Create boatiview-client.toml --- config/boatiview-client.toml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 config/boatiview-client.toml diff --git a/config/boatiview-client.toml b/config/boatiview-client.toml new file mode 100644 index 000000000..ddc4bbd83 --- /dev/null +++ b/config/boatiview-client.toml @@ -0,0 +1,9 @@ + +["Client Settings"] + #Toggle whether the hand should be rendered whilst the boat is moving + showHandsInMovingBoat = true + #List of items that will make the hand display when a boat is moving + #Seperate every entry except the last one with commas + #To include all items for a particular modid use the wildcard character '*'. E.g. modid:* + itemsToShowInMovingBoat = ["minecraft:filled_map"] + From e2465fc702bcd7f197956fa1f70074227e5311ff Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 08:31:10 +0700 Subject: [PATCH 193/266] Create decay_2012-client.toml --- config/decay_2012-client.toml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 config/decay_2012-client.toml diff --git a/config/decay_2012-client.toml b/config/decay_2012-client.toml new file mode 100644 index 000000000..402bdf97b --- /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 = "NONE" + #If true, food stack counts will render behind the weight bar + enableFoodShowsStackCount = false + #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 = true + #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 = false + From 61703a73a4fe4418689ca56decf97806b749d0dd Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 08:31:18 +0700 Subject: [PATCH 194/266] deep resonanse --- config/deepresonance-client.toml | 19 +++++++++++++++++++ config/deepresonance-common.toml | 23 +++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 config/deepresonance-client.toml create mode 100644 config/deepresonance-common.toml diff --git a/config/deepresonance-client.toml b/config/deepresonance-client.toml new file mode 100644 index 000000000..ea7a6c690 --- /dev/null +++ b/config/deepresonance-client.toml @@ -0,0 +1,19 @@ +#Base generator volume +#Range: 0.0 ~ 1.0 +baseGeneratorVolume = 1.0 +#Loop volume factor +#Range: 0.0 ~ 1.0 +loopVolumeFactor = 1.0 +#The color for the radiation overlay text in case the radiation monitor is in the players hand +#Range: > -2147483648 +radiationOverlayColor = -65536 +#The color for the radiation overlay text in case the radiation monitor is in the players hand (in case there is no radiation) +#Range: > -2147483648 +radiationOverlayColorNoRadiation = -16711936 +#The X coordinate (with 0 being left) for the radiation overlay text. Use -1 to disable +#Range: > -1 +radiationOverlayX = 10 +#The Y coordinate (with 0 being top) for the radiation overlay text. Use -1 to disable +#Range: > -1 +radiationOverlayY = 10 + diff --git a/config/deepresonance-common.toml b/config/deepresonance-common.toml new file mode 100644 index 000000000..eff709027 --- /dev/null +++ b/config/deepresonance-common.toml @@ -0,0 +1,23 @@ +#Enable this if you want to get retrogen (generation of ores/crystals) for already existing chunks +retrogen = true +#Enable this if you want to see in the log where crystals are spawned +verboseSpawn = false +#Enable this if you want resonating ore in nether biomes +generateOreNether = true +#Enable this if you want resonating ore in end biomes +generateOreEnd = false +#Enable this if you want resonating ore in other biomes (if they have stone) +generateOreOther = true +#Biome blacklist, resonant crystals will not spawn in biomes listed here +otherBiomeBlacklist = ["minecraft:the_void"] +#Enable this if you want resonating crystals in nether biomes +generateCrystalsNether = true +#Enable this if you want resonating crystals in other dimensions biomes (if they have stone caves) +generateCrystalsOther = true +#The chance that a crystal will spawn in a chunk. (0 = never, 1 = every chunk +#Range: 0.0 ~ 1.0 +crystalSpawnChance = 0.3 +#The number of times that the worldgen will try to spawn a crystal in a chunk before it fails. +#Range: 1 ~ 32 +crystalSpawnTries = 20 + From 39aea3e58b605fd46f4d33652ca34a632b6bd326 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 08:31:26 +0700 Subject: [PATCH 195/266] Update everycomp-entries.toml --- config/everycomp-entries.toml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/config/everycomp-entries.toml b/config/everycomp-entries.toml index f56fa413f..72e12a12f 100644 --- a/config/everycomp-entries.toml +++ b/config/everycomp-entries.toml @@ -43,3 +43,12 @@ window_pane = true window = true + [entries.wood_type.storagedrawers] + full_drawers_2 = true + half_drawers_1 = true + full_drawers_4 = true + half_drawers_4 = true + trim = true + half_drawers_2 = true + full_drawers_1 = true + From 1d97f1cde29a9d67c064134f76ad5833bdddbb5c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 08:31:30 +0700 Subject: [PATCH 196/266] Create invtweaks-client.toml --- config/invtweaks-client.toml | 150 +++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 config/invtweaks-client.toml diff --git a/config/invtweaks-client.toml b/config/invtweaks-client.toml new file mode 100644 index 000000000..b6a8834c8 --- /dev/null +++ b/config/invtweaks-client.toml @@ -0,0 +1,150 @@ + +#Sorting customization +[sorting] + #Rules for sorting + #Each element is of the form + #A-D is the row from top to bottom + #1-9 is the column from left to right + #POS denotes the target slots + #Exs. POS = D3 means 3rd slot of hotbar + # POS = B means 2nd row, left to right + # POS = 9 means 9th column, bottom to top + # POS = A1-C9 means slots A1,A2,…,A9,B1,…,B9,C1,…,C9 + # POS = A9-C1 means slots A9,A8,…,A1,B9,…,B1,C9,…,C1 + #Append v to POS of the form A1-C9 to move in columns instead of rows + #Append r to POS of the form B or 9 to reverse slot order + #CATEGORY is the item category to designate the slots to + #CATEGORY = /LOCKED prevents slots from moving in sorting + #CATEGORY = /FROZEN has the effect of /LOCKED and, in addition, ignores slot in auto-refill + #CATEGORY = /OTHER covers all remaining items after other rules are exhausted + rules = ["D /LOCKED", "A1-C9 /OTHER"] + + #Custom settings per GUI + #x = x-position of external sort button relative to GUI top left + #y = same as above except for the y-position + #Omit x and y to leave position unchanged + #sortRange = slots to sort + #E.g. sortRange = "5,0-2" sorts slots 5,0,1,2 in that order + #sortRange = "" disables sorting for that container + #Out-of-bound slots are ignored + #Omit sortRange to leave as default + [[sorting.containerOverrides]] + containerClass = "appeng.client.gui.implementations.*Screen" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "appeng.client.gui.me.items.*Screen" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "de.mari_023.ae2wtlib.wct.*Screen" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "com.github.glodblock.epp.client.gui.*" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "org.cyclops.integrateddynamics.inventory.container.*" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "org.cyclops.integratedterminals.inventory.container.ContainerTerminalStoragePart" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "com.refinedmods.refinedstorage.screen.*" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "net.p3pp3rf1y.sophisticatedbackpacks.common.gui.BackpackContainer" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "net.p3pp3rf1y.sophisticatedstorage.common.gui.StorageContainerMenu" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "tfar.craftingstation.CraftingStationMenu" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "tfar.dankstorage.container.DankContainers" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "mcjty.rftoolsutility.modules.crafter.blocks.CrafterContainer" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "gripe._90.megacells.menu.MEGAInterfaceMenu" + sortRange = "" + + #Categor(y/ies) for sorting + # + #name: the name of the category + # + #spec: + #Each element denotes a series of semicolon-separated clauses + #Items need to match all clauses of at least one element + #Items matching earlier elements are earlier in order + #A clause of the form /tag: matches a tag + #Clauses /instanceof: or /class: check if item is + #instance of class or exactly of that class respectively + #Specifying an item's registry name as a clause checks for that item + #Prepending an exclamation mark at the start of a clause inverts it + [[sorting.category]] + name = "sword" + spec = ["/instanceof:net.minecraft.world.item.SwordItem"] + + [[sorting.category]] + name = "axe" + spec = ["/instanceof:net.minecraft.world.item.AxeItem"] + + [[sorting.category]] + name = "pickaxe" + spec = ["/instanceof:net.minecraft.world.item.PickaxeItem"] + + [[sorting.category]] + name = "shovel" + spec = ["/instanceof:net.minecraft.world.item.ShovelItem"] + + [[sorting.category]] + name = "hoe" + spec = ["/instanceof:net.minecraft.world.item.HoeItem"] + + [[sorting.category]] + name = "acceptableFood" + spec = ["/isFood:; !minecraft:rotten_flesh; !minecraft:spider_eye; !minecraft:poisonous_potato; !minecraft:pufferfish"] + + [[sorting.category]] + name = "torch" + spec = ["minecraft:torch"] + + [[sorting.category]] + name = "cheapBlocks" + spec = ["/tag:forge:cobblestone", "/tag:minecraft:dirt"] + + [[sorting.category]] + name = "blocks" + spec = ["/instanceof:net.minecraft.world.item.BlockItem"] + +#Tweaks +[tweaks] + #0 = disable buttons (i.e. keybind only) + #1 = buttons for player sorting only + #2 = buttons for external sorting only + #3 = all buttons enabled (default) + #Range: 0 ~ 3 + enableButtons = 3 + #Enable auto-refill + autoRefill = true + #0 = disable sorting + #1 = player sorting only + #2 = external sorting only + #3 = all sorting enabled (default) + #Range: 0 ~ 3 + enableSort = 3 + #Enable a quick view of how many items that you're currently holding exists in your inventory by displaying it next your hotbar. + quickView = true + From 10cc0fc7dc1dbab231e402081cf6f0174aad2411 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 08:31:33 +0700 Subject: [PATCH 197/266] Update plugins.json --- config/jade/plugins.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/config/jade/plugins.json b/config/jade/plugins.json index 02e6a2ef2..0cde91d45 100644 --- a/config/jade/plugins.json +++ b/config/jade/plugins.json @@ -54,6 +54,10 @@ "painting": true, "chiseled_bookshelf": true }, + "deepresonance": { + "crystal": true, + "generator_part": true + }, "gtceu": { "primitive_pump": true, "auto_output_info": true, @@ -93,6 +97,9 @@ "jade_chamber": true, "jade_wireless": true }, + "mcjtylib": { + "jadeaddons": true + }, "ae2": { "part_icon": true, "charger": true, @@ -200,5 +207,11 @@ }, "treetap": { "tap": true + }, + "storagedrawers": { + "display.stacklimit": true, + "main": true, + "display.content": true, + "display.status": true } } \ No newline at end of file From b6cf1711d418b5e46eb1ebe85ed6a0ed4d8886db Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 08:31:36 +0700 Subject: [PATCH 198/266] Update sort-order.json --- config/jade/sort-order.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/jade/sort-order.json b/config/jade/sort-order.json index 1d824abe9..900201476 100644 --- a/config/jade/sort-order.json +++ b/config/jade/sort-order.json @@ -26,6 +26,8 @@ "create:goggles": null, "create:hide_boiler_tanks": null, "create:placard": null, + "deepresonance:crystal": null, + "deepresonance:generator_part": null, "expatternprovider:jade_chamber": null, "expatternprovider:jade_wireless": null, "expatternprovider:tile_data": null, @@ -85,6 +87,7 @@ "jade:object_name": null, "jade:registry_name": null, "lootr:inventory": null, + "mcjtylib:jadeaddons": null, "minecraft:animal_owner": null, "minecraft:armor_stand": null, "minecraft:beehive": null, @@ -126,6 +129,7 @@ "minecraft:villager_profession": null, "minecraft:waxed": null, "minecraft:zombie_villager": null, + "storagedrawers:main": null, "tfc:animal": null, "tfc:axle": null, "tfc:barrel": null, From 263af7810cbd3aab11adc5b161215ec72a955690 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 08:31:38 +0700 Subject: [PATCH 199/266] Update recipe-category-sort-order.ini --- config/jei/recipe-category-sort-order.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/jei/recipe-category-sort-order.ini b/config/jei/recipe-category-sort-order.ini index 1fdc1ec3b..0eb699745 100644 --- a/config/jei/recipe-category-sort-order.ini +++ b/config/jei/recipe-category-sort-order.ini @@ -88,3 +88,6 @@ petrolpark:item_decay petrolpark:manual_crafting firmalife:press firmalife:stomping +deepresonance:laser +deepresonance:purifier +deepresonance:smelter From 3b5f7f436b6497022b9dffde97acb2bccec9c290 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 08:32:27 +0700 Subject: [PATCH 200/266] some cfgs --- config/mcjtylib-client.toml | 144 ++ config/rftoolsbuilder-client.toml | 21 + config/rftoolsdim-common.toml | 10 + config/rftoolsutility-client.toml | 15 + .../allowed_sounds.properties | 1864 +++++++++++++++++ .../occlusion.properties | 219 ++ .../reflectivity.properties | 213 ++ .../soundphysics.properties | 94 + config/storagedrawers-common.toml | 36 +- config/visual_workbench.json | 25 + config/visualworkbench-client.toml | 7 + defaultconfigs/ftbessentials-server.snbt | 230 +- 12 files changed, 2876 insertions(+), 2 deletions(-) create mode 100644 config/mcjtylib-client.toml create mode 100644 config/rftoolsbuilder-client.toml create mode 100644 config/rftoolsdim-common.toml create mode 100644 config/rftoolsutility-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 create mode 100644 config/visual_workbench.json create mode 100644 config/visualworkbench-client.toml diff --git a/config/mcjtylib-client.toml b/config/mcjtylib-client.toml new file mode 100644 index 000000000..1f8f6c8a9 --- /dev/null +++ b/config/mcjtylib-client.toml @@ -0,0 +1,144 @@ + +#Style settings for all mods using mcjtylib +[style] + #Color: slider top left border + colorSliderTopLeft = "2b2b2b" + #Color: slider bottom right border + colorSliderBottomRight = "ffffff" + #Color: slider background + colorSliderFiller = "636363" + #Color: slider knob top left border + colorSliderKnobTopLeft = "eeeeee" + #Color: slider knob bottom right border + colorSliderKnobBottomRight = "333333" + #Color: slider knob background + colorSliderKnobFiller = "8b8b8b" + #Color: slider knob top left border while dragging + colorSliderKnobDraggingTopLeft = "5c669d" + #Color: slider knob bottom right border while dragging + colorSliderKnobDraggingBottomRight = "bcc5ff" + #Color: slider knob background while dragging + colorSliderKnobDraggingFiller = "7f89bf" + #Color: slider knob top left border while hovering + colorSliderKnobHoveringTopLeft = "a5aac5" + #Color: slider knob bottom right border while hovering + colorSliderKnobHoveringBottomRight = "777c99" + #Color: slider knob background while hovering + colorSliderKnobHoveringFiller = "858aa5" + #Color: slider knob little marker lines + colorSliderKnobMarkerLine = "4e4e4e" + #Color: text normal + colorTextNormal = "303030" + #Color: text as used in lists + colorTextInListNormal = "151515" + #Color: text disabled + colorTextDisabled = "a0a0a0" + #Color: textfield top left border + colorTextFieldTopLeft = "2b2b2b" + #Color: textfield bottom right border + colorTextFieldBottomRight = "ffffff" + #Color: textfield background + colorTextFieldFiller = "c6c6c6" + #Color: textfield backbground while focused + colorTextFieldFocusedFiller = "eeeeee" + #Color: textfield backbground while hovering + colorTextFieldHoveringFiller = "dadada" + #Color: textfield cursor + colorTextFieldCursor = "0" + #Color: energy bar top left border + colorEnergyBarTopLeft = "2b2b2b" + #Color: energy bar bottom right border + colorEnergyBarBottomRight = "ffffff" + #Color: energy bar high energy level + colorEnergyBarHighEnergy = "dd0000" + #Color: energy bar low energy level + colorEnergyBarLowEnergy = "631111" + #Color: energy bar spacer (between every energy level bar) + colorEnergyBarSpacer = "430000" + #Color: energy bar text + colorEnergyBarText = "ffffff" + #Color: list background + colorListBackground = "8b8b8b" + #Color: list separator line + colorListSeparatorLine = "5c5c5c" + #Color: list selected and highlighted gradient + colorListSelectedHighlightedGradient1 = "bbbb00" + #Color: list selected and highlighted gradient + colorListSelectedHighlightedGradient2 = "999900" + #Color: list selected gradient + colorListSelectedGradient1 = "616161" + #Color: list selected gradient + colorListSelectedGradient2 = "414141" + #Color: list highlighted gradient + colorListHighlightedGradient1 = "717120" + #Color: list highlighted gradient + colorListHighlightedGradient2 = "515110" + #Color: standard bevel bright border color + colorBackgroundBevelBright = "ffffff" + #Color: standard bevel dark border color + colorBackgroundBevelDark = "2b2b2b" + #Color: standard background color + colorBackgroundFiller = "c6c6c6" + #Color: toggle button normal top left border + colorToggleNormalBorderTopLeft = "eeeeee" + #Color: toggle button normal bottom right border + colorToggleNormalBorderBottomRight = "777777" + #Color: toggle button normal background + colorToggleNormalFiller = "c6c6c6" + #Color: toggle button disabled top left border + colorToggleDisabledBorderTopLeft = "eeeeee" + #Color: toggle button disabled bottom right border + colorToggleDisabledBorderBottomRight = "777777" + #Color: toggle button disabled background + colorToggleDisabledFiller = "c6c6c6" + #Color: toggle button normal text + colorToggleTextNormal = "303030" + #Color: toggle button disabled text + colorToggleTextDisabled = "a0a0a0" + #Color: cycle button small triangle + colorCycleButtonTriangleNormal = "0" + #Color: cycle button disabled small triangle + colorCycleButtonTriangleDisabled = "888888" + #Color: external border around buttons and some other components + colorButtonExternalBorder = "0" + #Color: button top left border + colorButtonBorderTopLeft = "eeeeee" + #Color: button bottom right border + colorButtonBorderBottomRight = "777777" + #Color: button background + colorButtonFiller = "c6c6c6" + #Color: button background gradient + colorButtonFillerGradient1 = "b1b1b1" + #Color: button background gradient + colorButtonFillerGradient2 = "e1e1e1" + #Color: disabled button top left border + colorButtonDisabledBorderTopLeft = "eeeeee" + #Color: disabled button bottom right border + colorButtonDisabledBorderBottomRight = "777777" + #Color: disabled button background + colorButtonDisabledFiller = "c6c6c6" + #Color: disabled button background gradient + colorButtonDisabledFillerGradient1 = "b1b1b1" + #Color: disabled button background gradient + colorButtonDisabledFillerGradient2 = "e1e1e1" + #Color: selected button top left border + colorButtonSelectedBorderTopLeft = "5c669d" + #Color: selected button bottom right border + colorButtonSelectedBorderBottomRight = "bcc5ff" + #Color: selected button background + colorButtonSelectedFiller = "7f89bf" + #Color: selected button background gradient + colorButtonSelectedFillerGradient1 = "6a74aa" + #Color: selected button background gradient + colorButtonSelectedFillerGradient2 = "949ed4" + #Color: hovering button top left border + colorButtonHoveringBorderTopLeft = "a5aac5" + #Color: hovering button bottom right border + colorButtonHoveringBorderBottomRight = "999ebb" + #Color: hovering button background + colorButtonHoveringFiller = "a2a7c2" + #Color: hovering button background gradient + colorButtonHoveringFillerGradient1 = "8d92ad" + #Color: hovering button background gradient + colorButtonHoveringFillerGradient2 = "babfda" + diff --git a/config/rftoolsbuilder-client.toml b/config/rftoolsbuilder-client.toml new file mode 100644 index 000000000..f5edb212b --- /dev/null +++ b/config/rftoolsbuilder-client.toml @@ -0,0 +1,21 @@ + +#Settings for the builder +[builder] + #If true a holo hud with current progress is shown above the builder + showProgressHud = true + +#Settings for the scanner, composer, and projector +[scanner] + #Height of the beacon in case beacons are used + #Range: > 0 + locatorBeaconHeight = 30 + #The amount of milliseconds before the client will remove shape render data that hasn't been used. Decreasing this will free memory faster at the cost of having to update shape renders more often + #Range: 100 ~ 1000000 + clientRenderDataTimeout = 10000 + #The amount of milliseconds that a scanline 'flash' will exist on the client + #Range: 10 ~ 1000000 + projectorFlashTimeout = 400 + #The volume for the projector sound (0.0 is off) + #Range: 0.0 ~ 1.0 + baseProjectorVolume = 0.4 + diff --git a/config/rftoolsdim-common.toml b/config/rftoolsdim-common.toml new file mode 100644 index 000000000..9ce9c0431 --- /dev/null +++ b/config/rftoolsdim-common.toml @@ -0,0 +1,10 @@ +#Maximum health of the common blob +#Range: > 0 +commonBlobMaxHealth = 30 +#Maximum health of the rare blob +#Range: > 0 +rareBlobMaxHealth = 250 +#Maximum health of the legendary blob +#Range: > 0 +legendaryBlobMaxHealth = 5000 + diff --git a/config/rftoolsutility-client.toml b/config/rftoolsutility-client.toml new file mode 100644 index 000000000..31b725b2e --- /dev/null +++ b/config/rftoolsutility-client.toml @@ -0,0 +1,15 @@ + +#Settings for the screen system +[screen] + #Set to true for TrueType font, set to false for vanilla font + useTruetype = false + #Set to true for force TrueType to be disabled in all cases. Use this in case the truetype font is causing issues + forceNoTruetype = false + #The default truetype font to use + fontName = "rftoolsutility:ubuntu" + #The size of the font + #Range: 0.0 ~ 1000000.0 + fontSize = 40.0 + #Additional characters that should be supported by the truetype system + additionalCharacters = "" + diff --git a/config/sound_physics_remastered/allowed_sounds.properties b/config/sound_physics_remastered/allowed_sounds.properties new file mode 100644 index 000000000..707c1afe6 --- /dev/null +++ b/config/sound_physics_remastered/allowed_sounds.properties @@ -0,0 +1,1864 @@ +# 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 +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 +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 +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 +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 +deepresonance\:engine_shutdown=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 +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 +deepresonance\:engine_start=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 +deepresonance\:engine_loop=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 +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 +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 +rftoolsutility\:teleport_whoosh=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 +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 +rftoolsbuilder\:mover_loop=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 +rftoolsutility\:teleport_error=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 +gcyr\:rocket=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 +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 +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 +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..d1622069f --- /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 + +# Netherrack (Sound Type) +NETHERRACK=1.0 +# Stone (Sound Type) +STONE=1.0 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=1.0 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=1.0 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.0 +# Slime Block (Sound Type) +SLIME_BLOCK=1.0 +# Mangrove Roots (Sound Type) +MANGROVE_ROOTS=1.0 +# Suspicious Sand (Sound Type) +SUSPICIOUS_SAND=1.0 +# Coral Block (Sound Type) +CORAL_BLOCK=1.0 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.1 +# Frogspawn (Sound Type) +FROGSPAWN=1.0 +# Suspicious Gravel (Sound Type) +SUSPICIOUS_GRAVEL=1.0 +# Deepslate (Sound Type) +DEEPSLATE=1.0 +# Azalea Leaves (Sound Type) +AZALEA_LEAVES=1.0 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.1 +# Shroomlight (Sound Type) +SHROOMLIGHT=1.0 +# Wool (Sound Type) +WOOL=1.5 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.0 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=1.0 +# Spore Blossom (Sound Type) +SPORE_BLOSSOM=0.0 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.0 +# Crop (Sound Type) +CROP=0.0 +# Small Amethyst Bud (Sound Type) +SMALL_AMETHYST_BUD=0.0 +# Grass (Sound Type) +GRASS=1.0 +# Wet Grass (Sound Type) +WET_GRASS=0.1 +# Powder Snow (Sound Type) +POWDER_SNOW=0.1 +# Sculk (Sound Type) +SCULK=1.0 +# Fungus (Sound Type) +FUNGUS=0.0 +# Sculk Vein (Sound Type) +SCULK_VEIN=1.0 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=1.0 +# Basalt (Sound Type) +BASALT=1.0 +# Decorated Pot (Sound Type) +DECORATED_POT=1.0 +# Dripstone Block (Sound Type) +DRIPSTONE_BLOCK=1.0 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.0 +# Hanging Sign (Sound Type) +HANGING_SIGN=1.0 +# Mud (Sound Type) +MUD=1.0 +# Azalea (Sound Type) +AZALEA=1.0 +# Scaffolding (Sound Type) +SCAFFOLDING=0.0 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=1.0 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=1.0 +# Nether Bricks (Sound Type) +NETHER_BRICKS=1.0 +# Candle (Sound Type) +CANDLE=1.0 +# Lily Pad (Sound Type) +LILY_PAD=0.0 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.0 +# Sand (Sound Type) +SAND=1.0 +# Nether Wart (Sound Type) +NETHER_WART=1.0 +# Wart Block (Sound Type) +WART_BLOCK=1.0 +# Soul Soil (Sound Type) +SOUL_SOIL=1.0 +# Gravel (Sound Type) +GRAVEL=1.0 +# Lodestone (Sound Type) +LODESTONE=1.0 +# Cherry Wood (Sound Type) +CHERRY_WOOD=1.0 +# Soul Sand (Sound Type) +SOUL_SAND=1.0 +# Lantern (Sound Type) +LANTERN=1.0 +# Copper (Sound Type) +COPPER=1.0 +# Deepslate Tiles (Sound Type) +DEEPSLATE_TILES=1.0 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=1.0 +# Vine (Sound Type) +VINE=0.0 +# Froglight (Sound Type) +FROGLIGHT=1.0 +# Small Dripleaf (Sound Type) +SMALL_DRIPLEAF=0.0 +# Metal (Sound Type) +METAL=1.0 +# Stem (Sound Type) +STEM=1.0 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.0 +# Snow (Sound Type) +SNOW=0.1 +# Honey Block (Sound Type) +HONEY_BLOCK=0.5 +# Moss (Sound Type) +MOSS=0.75 +# Bamboo (Sound Type) +BAMBOO=0.1 +# Bamboo Wood (Sound Type) +BAMBOO_WOOD=1.0 +# Amethyst (Sound Type) +AMETHYST=1.0 +# Calcite (Sound Type) +CALCITE=1.0 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=1.0 +# Deepslate Bricks (Sound Type) +DEEPSLATE_BRICKS=1.0 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=1.0 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.0 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=1.0 +# Glass (Sound Type) +GLASS=0.1 +# Packed Mud (Sound Type) +PACKED_MUD=1.0 +# Roots (Sound Type) +ROOTS=0.0 +# Large Amethyst Bud (Sound Type) +LARGE_AMETHYST_BUD=0.0 +# Cave Vines (Sound Type) +CAVE_VINES=1.0 +# Hanging Roots (Sound Type) +HANGING_ROOTS=1.0 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=1.0 +# Twisting Vines (Sound Type) +TWISTING_VINES=0.0 +# Chain (Sound Type) +CHAIN=0.0 +# Wood (Sound Type) +WOOD=1.0 +# Sculk Catalyst (Sound Type) +SCULK_CATALYST=1.0 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=1.0 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=1.0 +# Nether Ore (Sound Type) +NETHER_ORE=1.0 +# Bone Block (Sound Type) +BONE_BLOCK=1.0 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=1.0 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.0 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=1.0 +# Anvil (Sound Type) +ANVIL=1.0 +# Nylium (Sound Type) +NYLIUM=1.0 +# Tuff (Sound Type) +TUFF=1.0 +# Nether Wood (Sound Type) +NETHER_WOOD=1.0 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=1.0 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=1.0 +# Mud Bricks (Sound Type) +MUD_BRICKS=1.0 +# Ladder (Sound Type) +LADDER=0.0 +# Hard Crop (Sound Type) +HARD_CROP=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..f7f37bc6c --- /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 + +# Netherrack (Sound Type) +NETHERRACK=1.1 +# Stone (Sound Type) +STONE=1.5 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=0.5 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=0.5 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.5 +# Slime Block (Sound Type) +SLIME_BLOCK=0.5 +# Mangrove Roots (Sound Type) +MANGROVE_ROOTS=0.5 +# Suspicious Sand (Sound Type) +SUSPICIOUS_SAND=0.5 +# Coral Block (Sound Type) +CORAL_BLOCK=0.2 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.5 +# Frogspawn (Sound Type) +FROGSPAWN=0.5 +# Suspicious Gravel (Sound Type) +SUSPICIOUS_GRAVEL=0.5 +# Deepslate (Sound Type) +DEEPSLATE=1.5 +# Azalea Leaves (Sound Type) +AZALEA_LEAVES=0.5 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.5 +# Shroomlight (Sound Type) +SHROOMLIGHT=0.5 +# Wool (Sound Type) +WOOL=0.1 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.5 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=0.5 +# Spore Blossom (Sound Type) +SPORE_BLOSSOM=0.5 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.5 +# Crop (Sound Type) +CROP=0.5 +# Small Amethyst Bud (Sound Type) +SMALL_AMETHYST_BUD=0.5 +# Grass (Sound Type) +GRASS=0.3 +# Wet Grass (Sound Type) +WET_GRASS=0.5 +# Powder Snow (Sound Type) +POWDER_SNOW=0.5 +# Sculk (Sound Type) +SCULK=0.5 +# Fungus (Sound Type) +FUNGUS=0.5 +# Sculk Vein (Sound Type) +SCULK_VEIN=0.5 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=0.5 +# Basalt (Sound Type) +BASALT=1.5 +# Decorated Pot (Sound Type) +DECORATED_POT=0.5 +# Dripstone Block (Sound Type) +DRIPSTONE_BLOCK=0.5 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.5 +# Hanging Sign (Sound Type) +HANGING_SIGN=0.5 +# Mud (Sound Type) +MUD=0.5 +# Azalea (Sound Type) +AZALEA=0.5 +# Scaffolding (Sound Type) +SCAFFOLDING=0.5 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=0.5 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=0.5 +# Nether Bricks (Sound Type) +NETHER_BRICKS=1.5 +# Candle (Sound Type) +CANDLE=0.5 +# Lily Pad (Sound Type) +LILY_PAD=0.5 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.1 +# Sand (Sound Type) +SAND=0.2 +# Nether Wart (Sound Type) +NETHER_WART=0.5 +# Wart Block (Sound Type) +WART_BLOCK=0.5 +# Soul Soil (Sound Type) +SOUL_SOIL=0.2 +# Gravel (Sound Type) +GRAVEL=0.3 +# Lodestone (Sound Type) +LODESTONE=0.5 +# Cherry Wood (Sound Type) +CHERRY_WOOD=0.5 +# Soul Sand (Sound Type) +SOUL_SAND=0.2 +# Lantern (Sound Type) +LANTERN=0.5 +# Copper (Sound Type) +COPPER=1.25 +# Deepslate Tiles (Sound Type) +DEEPSLATE_TILES=1.5 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=0.5 +# Vine (Sound Type) +VINE=0.5 +# Froglight (Sound Type) +FROGLIGHT=0.5 +# Small Dripleaf (Sound Type) +SMALL_DRIPLEAF=0.5 +# Metal (Sound Type) +METAL=1.25 +# Stem (Sound Type) +STEM=0.4 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.5 +# Snow (Sound Type) +SNOW=0.15 +# Honey Block (Sound Type) +HONEY_BLOCK=0.1 +# Moss (Sound Type) +MOSS=0.1 +# Bamboo (Sound Type) +BAMBOO=0.5 +# Bamboo Wood (Sound Type) +BAMBOO_WOOD=0.5 +# Amethyst (Sound Type) +AMETHYST=1.5 +# Calcite (Sound Type) +CALCITE=1.5 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=0.5 +# Deepslate Bricks (Sound Type) +DEEPSLATE_BRICKS=1.5 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=0.5 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.5 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=0.5 +# Glass (Sound Type) +GLASS=0.75 +# Packed Mud (Sound Type) +PACKED_MUD=0.5 +# Roots (Sound Type) +ROOTS=0.5 +# Large Amethyst Bud (Sound Type) +LARGE_AMETHYST_BUD=0.5 +# Cave Vines (Sound Type) +CAVE_VINES=0.5 +# Hanging Roots (Sound Type) +HANGING_ROOTS=0.5 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=0.5 +# Twisting Vines (Sound Type) +TWISTING_VINES=0.5 +# Chain (Sound Type) +CHAIN=0.5 +# Wood (Sound Type) +WOOD=0.4 +# Sculk Catalyst (Sound Type) +SCULK_CATALYST=0.5 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=0.5 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=0.5 +# Nether Ore (Sound Type) +NETHER_ORE=1.1 +# Bone Block (Sound Type) +BONE_BLOCK=1.5 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=0.5 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.5 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=0.5 +# Anvil (Sound Type) +ANVIL=0.5 +# Nylium (Sound Type) +NYLIUM=0.5 +# Tuff (Sound Type) +TUFF=1.5 +# Nether Wood (Sound Type) +NETHER_WOOD=0.5 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=0.5 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=0.5 +# Mud Bricks (Sound Type) +MUD_BRICKS=0.5 +# Ladder (Sound Type) +LADDER=0.5 +# Hard Crop (Sound Type) +HARD_CROP=0.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/storagedrawers-common.toml b/config/storagedrawers-common.toml index 3dacccf2e..d4869357d 100644 --- a/config/storagedrawers-common.toml +++ b/config/storagedrawers-common.toml @@ -12,25 +12,59 @@ enableUI = true enableSidedInput = true enableSidedOutput = true - enableItemConversion = true enableExtraCompactingRules = true debugTrace = false #List of rules in format "domain:item1, domain:item2, n". #Creates a compacting drawer rule to convert 1 of item1 into n of item2. compactingRules = ["minecraft:clay, minecraft:clay_ball, 4"] + #Whether redstone upgrades should emit an analog redstone signal, requiring + #the use of a comparator to read it. This will default to true starting with MC 1.21. + enableAnalogRedstone = false + #Allows drawers to be pulled from their block and inserted into another block. + enableDetachedDrawers = true + #Drawers track the capacity upgrades from the block they were taken from. + #Drawers can only be placed back into a block with the same or lower max capacity. + #Drawers can still only be inserted into a block with enough capacity for the items held. + forceDetachedDrawersMaxCapacityCheck = false + #If enabled, carrying filled drawers in your inventory gives slowness debuff, unless a Portability Upgrade is used. + heavyDrawers = false + #If enabled, players can lock drawer interactions to just themselves. + enablePersonalKey = true [StorageUpgrades] #Storage upgrades multiply storage capacity by the given amount. #When multiple storage upgrades are used together, their multipliers are added before being applied. + #Storage upgrades start at the level 2 multiplier. The resistance upgrade uses level 1. level1Mult = 2 level2Mult = 4 level3Mult = 8 level4Mult = 16 level5Mult = 32 + #Storage upgrades increase capacity of drawers. + enableStorageUpgrade = true + #Fill level upgrades add fill bars to the faces of drawers. + enableFillLevelUpgrade = true + #Adds redstone output to drawers based on fill levels. + enableRedstoneUpgrade = true + #Renders drawer labels brighter than the surrounding environment would allow. + enableIlluminationUpgrade = true + #Causes drawers to accept but void compatible items when they are filled to capacity. + enableVoidUpgrade = true + #Balance upgrades allow same-item slots to balance out their amounts when items are + #added or removed from a lot. Works across networks when acting through a controller. + enableBalanceUpgrade = true + #Allows drawers with contents to be freely carried when heavy drawers is enabled. + enablePortabilityUpgrade = true + #Allows a single drawer to connect to a controller remotely. + enableRemoteUpgrade = true + #Allows a drawer and all drawers connected to it to connect to a controller remotely. + enableRemoteGroupUpgrade = true [Integration] #When true, shows quantity as NxS + R (by stack size) rather than count wailaStackRemainder = true #When true, does not show current quantities unless quantify key was used wailaRespectQuantifyKey = false + #Add CoFH Core specific features if the mod is loaded + enableCoFHIntegration = true diff --git a/config/visual_workbench.json b/config/visual_workbench.json new file mode 100644 index 000000000..3cecd246d --- /dev/null +++ b/config/visual_workbench.json @@ -0,0 +1,25 @@ +{ + "__comment": "Crafting table blocks to enable Visual Workbench support for.", + "values": [ + "minecraft:crafting_table", + "tfc:wood/planks/ash_workbench", + "tfc:wood/planks/aspen_workbench", + "tfc:wood/planks/birch_workbench", + "tfc:wood/planks/blackwood_workbench", + "tfc:wood/planks/chestnut_workbench", + "tfc:wood/planks/douglas_fir_workbench", + "tfc:wood/planks/hickory_workbench", + "tfc:wood/planks/kapok_workbench", + "tfc:wood/planks/mangrove_workbench", + "tfc:wood/planks/maple_workbench", + "tfc:wood/planks/oak_workbench", + "tfc:wood/planks/palm_workbench", + "tfc:wood/planks/pine_workbench", + "tfc:wood/planks/rosewood_workbench", + "tfc:wood/planks/sequoia_workbench", + "tfc:wood/planks/spruce_workbench", + "tfc:wood/planks/sycamore_workbench", + "tfc:wood/planks/white_cedar_workbench", + "tfc:wood/planks/willow_workbench" + ] +} \ 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/defaultconfigs/ftbessentials-server.snbt b/defaultconfigs/ftbessentials-server.snbt index 9d8158544..c3f5803c5 100644 --- a/defaultconfigs/ftbessentials-server.snbt +++ b/defaultconfigs/ftbessentials-server.snbt @@ -10,4 +10,232 @@ # } # } -{ } +{ + # Admin commands for cheating and moderation + admin: { + # Allows admins to toggle flying status using a command, without having to use Creative Mode + fly: { + # Default: true + enabled: true + } + + # Allows admins to toggle invincibility using a command, without having to use Creative Mode + god: { + # Default: true + enabled: true + } + + # Allows admins to heal themselves using a command + heal: { + # Default: true + enabled: true + } + + # Allows admins to view other users' inventories using a command + invsee: { + # Default: true + enabled: true + } + + # Allows admins to restrict players from chatting by using a command to mute (or unmute) them + mute: { + # Default: true + enabled: true + } + } + + # Miscellaneous features and utilities + misc: { + # Allows users to access their ender chest, as well as admins to manage other players' ender chests. + enderchest: { + # Default: true + enabled: true + } + + # Allows users to set a custom hat as their head item by using a command + hat: { + # Default: true + enabled: true + } + + # Allows users to kick themselves from the server, for example if they are stuck or desynced + kickme: { + # Default: true + enabled: false + } + + # Allows users to view player leaderboard stats. + leaderboard: { + # Default: true + enabled: true + } + + # Allows users to change their display name, as well as admins to change nicknames for other users + nick: { + # Default: true + enabled: false + } + + # Allows users to announce their recording or streaming status to the server by using commands + rec: { + # Default: true + enabled: false + } + + # Enables usage of a trash can inventory, which can be used to void unneeded items + trashcan: { + # Default: true + enabled: true + } + } + + # Teleportation-related settings + teleportation: { + # Allows users to return to their previous location after teleporting (or dying) + back: { + # Cooldown between /back commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.back.cooldown + # Default: 30 + # Range: 0 ~ 604800 + cooldown: 30 + + # Default: true + enabled: false + + # Max size of the teleport history. This limits how many times you can use /back + # You can override this with FTB Ranks using ftbessentials.back.max + # Default: 10 + # Range: 0 ~ 2147483647 + max: 10 + + # Warm-up time before /back command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.back.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows users to set 'homes', which they can then freely teleport to by using /home afterwards + home: { + # Cooldown between /home commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.home.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Max amount of homes a user can have. + # You can override this with FTB Ranks using ftbessentials.home.max + # Default: 1 + # Range: 0 ~ 2147483647 + max: 1 + + # Warm-up time before /home command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.home.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows players to teleport to a random point in the Wilderness + # Note: This currently does not respect Claimed Chunks yet! + rtp: { + # Cooldown between /rtp commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.rtp.cooldown + # Default: 600 + # Range: 0 ~ 604800 + cooldown: 600 + + # Default: true + enabled: false + + # /rtp max distance from spawn point + # Default: 100000 + # Range: 0 ~ 30000000 + max_distance: 100000 + + # Number of tries before /rtp gives up + # Default: 100 + # Range: 1 ~ 1000 + max_tries: 100 + + # /rtp min distance from spawn point + # Default: 1000 + # Range: 0 ~ 30000000 + min_distance: 1000 + + # Warm-up time before /rtp command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.rtp.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + spawn: { + # Cooldown between /spawn commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.spawn.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /spawn command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.spawn.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows players to create requests to teleport to other users on the server, + # as well as requesting other players to teleport to them + tpa: { + # Cooldown between /tpa commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.tpa.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /tpa command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.tpa.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + + # Allows admins to teleport to the location a user was last seen at + tpl: { + # Default: true + enabled: false + } + + # Allows admins to teleport to dimension + tpx: { + # Default: true + enabled: true + } + + # Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp + warp: { + # Cooldown between /warp commands (in seconds) + # You can override this with FTB Ranks using ftbessentials.warp.cooldown + # Default: 10 + # Range: 0 ~ 604800 + cooldown: 10 + + # Default: true + enabled: false + + # Warm-up time before /warp command executes (in seconds) + # You can override this with FTB Ranks using ftbessentials.warp.warmup + # Default: 0 + # Range: 0 ~ 604800 + warmup: 0 + } + } +} From 55618fb9aacb2a6ad5d8ff9b681fb86693a4de2e Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 08:34:23 +0700 Subject: [PATCH 201/266] fix #405 --- .../occlusion.properties | 364 +++++++++--------- .../reflectivity.properties | 364 +++++++++--------- defaultconfigs/ftbessentials-server.snbt | 6 +- 3 files changed, 367 insertions(+), 367 deletions(-) diff --git a/config/sound_physics_remastered/occlusion.properties b/config/sound_physics_remastered/occlusion.properties index d1622069f..c2ec0fcd0 100644 --- a/config/sound_physics_remastered/occlusion.properties +++ b/config/sound_physics_remastered/occlusion.properties @@ -9,208 +9,208 @@ # By block ID: # minecraft\:oak_log=1.0 -# Netherrack (Sound Type) -NETHERRACK=1.0 -# Stone (Sound Type) -STONE=1.0 -# Bamboo Wood Hanging Sign (Sound Type) -BAMBOO_WOOD_HANGING_SIGN=1.0 -# Ancient Debris (Sound Type) -ANCIENT_DEBRIS=1.0 -# Netherite Block (Sound Type) -NETHERITE_BLOCK=1.0 -# Slime Block (Sound Type) -SLIME_BLOCK=1.0 -# Mangrove Roots (Sound Type) -MANGROVE_ROOTS=1.0 -# Suspicious Sand (Sound Type) -SUSPICIOUS_SAND=1.0 -# Coral Block (Sound Type) -CORAL_BLOCK=1.0 -# Bamboo Sapling (Sound Type) -BAMBOO_SAPLING=0.1 -# Frogspawn (Sound Type) -FROGSPAWN=1.0 -# Suspicious Gravel (Sound Type) -SUSPICIOUS_GRAVEL=1.0 -# Deepslate (Sound Type) -DEEPSLATE=1.0 -# Azalea Leaves (Sound Type) -AZALEA_LEAVES=1.0 -# Moss Carpet (Sound Type) -MOSS_CARPET=0.1 -# Shroomlight (Sound Type) -SHROOMLIGHT=1.0 -# Wool (Sound Type) -WOOL=1.5 -# Pointed Dripstone (Sound Type) -POINTED_DRIPSTONE=0.0 -# Nether Sprouts (Sound Type) -NETHER_SPROUTS=1.0 -# Spore Blossom (Sound Type) -SPORE_BLOSSOM=0.0 -# Polished Deepslate (Sound Type) -POLISHED_DEEPSLATE=1.0 -# Crop (Sound Type) -CROP=0.0 -# Small Amethyst Bud (Sound Type) -SMALL_AMETHYST_BUD=0.0 -# Grass (Sound Type) -GRASS=1.0 -# Wet Grass (Sound Type) -WET_GRASS=0.1 -# Powder Snow (Sound Type) -POWDER_SNOW=0.1 -# Sculk (Sound Type) -SCULK=1.0 -# Fungus (Sound Type) -FUNGUS=0.0 -# Sculk Vein (Sound Type) -SCULK_VEIN=1.0 -# Big Dripleaf (Sound Type) -BIG_DRIPLEAF=1.0 -# Basalt (Sound Type) -BASALT=1.0 -# Decorated Pot (Sound Type) -DECORATED_POT=1.0 -# Dripstone Block (Sound Type) -DRIPSTONE_BLOCK=1.0 -# Glow Lichen (Sound Type) -GLOW_LICHEN=0.0 -# Hanging Sign (Sound Type) -HANGING_SIGN=1.0 -# Mud (Sound Type) -MUD=1.0 -# Azalea (Sound Type) -AZALEA=1.0 -# Scaffolding (Sound Type) -SCAFFOLDING=0.0 -# Flowering Azalea (Sound Type) -FLOWERING_AZALEA=1.0 -# Decorated Pot Cracked (Sound Type) -DECORATED_POT_CRACKED=1.0 -# Nether Bricks (Sound Type) -NETHER_BRICKS=1.0 -# Candle (Sound Type) -CANDLE=1.0 -# Lily Pad (Sound Type) -LILY_PAD=0.0 -# Nether Gold Ore (Sound Type) -NETHER_GOLD_ORE=1.0 -# Sand (Sound Type) -SAND=1.0 -# Nether Wart (Sound Type) -NETHER_WART=1.0 -# Wart Block (Sound Type) -WART_BLOCK=1.0 -# Soul Soil (Sound Type) -SOUL_SOIL=1.0 -# Gravel (Sound Type) -GRAVEL=1.0 -# Lodestone (Sound Type) -LODESTONE=1.0 -# Cherry Wood (Sound Type) -CHERRY_WOOD=1.0 -# Soul Sand (Sound Type) -SOUL_SAND=1.0 -# Lantern (Sound Type) -LANTERN=1.0 -# Copper (Sound Type) -COPPER=1.0 -# Deepslate Tiles (Sound Type) -DEEPSLATE_TILES=1.0 -# Gilded Blackstone (Sound Type) -GILDED_BLACKSTONE=1.0 -# Vine (Sound Type) -VINE=0.0 -# Froglight (Sound Type) -FROGLIGHT=1.0 -# Small Dripleaf (Sound Type) -SMALL_DRIPLEAF=0.0 -# Metal (Sound Type) -METAL=1.0 -# Stem (Sound Type) -STEM=1.0 -# Weeping Vines (Sound Type) -WEEPING_VINES=0.0 -# Snow (Sound Type) -SNOW=0.1 -# Honey Block (Sound Type) -HONEY_BLOCK=0.5 -# Moss (Sound Type) -MOSS=0.75 -# Bamboo (Sound Type) -BAMBOO=0.1 # Bamboo Wood (Sound Type) BAMBOO_WOOD=1.0 -# Amethyst (Sound Type) -AMETHYST=1.0 -# Calcite (Sound Type) -CALCITE=1.0 -# Rooted Dirt (Sound Type) -ROOTED_DIRT=1.0 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=1.0 +# Crop (Sound Type) +CROP=0.0 +# Decorated Pot (Sound Type) +DECORATED_POT=1.0 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=1.0 +# Grass (Sound Type) +GRASS=1.0 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=1.0 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.1 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.0 +# Copper (Sound Type) +COPPER=1.0 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=1.0 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.0 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=1.0 +# Snow (Sound Type) +SNOW=0.1 +# Fungus (Sound Type) +FUNGUS=0.0 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.0 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=1.0 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=1.0 +# Slime Block (Sound Type) +SLIME_BLOCK=1.0 +# Deepslate (Sound Type) +DEEPSLATE=1.0 +# Dripstone Block (Sound Type) +DRIPSTONE_BLOCK=1.0 +# Azalea (Sound Type) +AZALEA=1.0 +# Bamboo (Sound Type) +BAMBOO=0.1 +# Deepslate Tiles (Sound Type) +DEEPSLATE_TILES=1.0 +# Candle (Sound Type) +CANDLE=1.0 +# Suspicious Gravel (Sound Type) +SUSPICIOUS_GRAVEL=1.0 +# Chain (Sound Type) +CHAIN=0.0 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=1.0 +# Small Amethyst Bud (Sound Type) +SMALL_AMETHYST_BUD=0.0 +# Honey Block (Sound Type) +HONEY_BLOCK=0.5 +# Basalt (Sound Type) +BASALT=1.0 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.0 # Deepslate Bricks (Sound Type) DEEPSLATE_BRICKS=1.0 -# Muddy Mangrove Roots (Sound Type) -MUDDY_MANGROVE_ROOTS=1.0 -# Medium Amethyst Bud (Sound Type) -MEDIUM_AMETHYST_BUD=0.0 -# Cherry Leaves (Sound Type) -CHERRY_LEAVES=1.0 +# Mangrove Roots (Sound Type) +MANGROVE_ROOTS=1.0 +# Bone Block (Sound Type) +BONE_BLOCK=1.0 +# Cherry Wood (Sound Type) +CHERRY_WOOD=1.0 +# Small Dripleaf (Sound Type) +SMALL_DRIPLEAF=0.0 +# Hanging Roots (Sound Type) +HANGING_ROOTS=1.0 +# Azalea Leaves (Sound Type) +AZALEA_LEAVES=1.0 +# Lantern (Sound Type) +LANTERN=1.0 +# Froglight (Sound Type) +FROGLIGHT=1.0 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.1 +# Soul Soil (Sound Type) +SOUL_SOIL=1.0 +# Sculk Vein (Sound Type) +SCULK_VEIN=1.0 +# Hanging Sign (Sound Type) +HANGING_SIGN=1.0 +# Shroomlight (Sound Type) +SHROOMLIGHT=1.0 +# Scaffolding (Sound Type) +SCAFFOLDING=0.0 +# Gravel (Sound Type) +GRAVEL=1.0 +# Stem (Sound Type) +STEM=1.0 # Glass (Sound Type) GLASS=0.1 +# Hard Crop (Sound Type) +HARD_CROP=1.0 +# Wart Block (Sound Type) +WART_BLOCK=1.0 +# Nether Bricks (Sound Type) +NETHER_BRICKS=1.0 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=1.0 +# Nether Wart (Sound Type) +NETHER_WART=1.0 +# Netherrack (Sound Type) +NETHERRACK=1.0 +# Vine (Sound Type) +VINE=0.0 +# Metal (Sound Type) +METAL=1.0 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=1.0 # Packed Mud (Sound Type) PACKED_MUD=1.0 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.0 +# Wool (Sound Type) +WOOL=1.5 +# Nylium (Sound Type) +NYLIUM=1.0 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.0 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=1.0 +# Coral Block (Sound Type) +CORAL_BLOCK=1.0 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=1.0 +# Tuff (Sound Type) +TUFF=1.0 +# Calcite (Sound Type) +CALCITE=1.0 +# Ladder (Sound Type) +LADDER=0.0 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=1.0 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.0 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=1.0 +# Lily Pad (Sound Type) +LILY_PAD=0.0 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=1.0 # Roots (Sound Type) ROOTS=0.0 +# Sculk (Sound Type) +SCULK=1.0 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.0 # Large Amethyst Bud (Sound Type) LARGE_AMETHYST_BUD=0.0 # Cave Vines (Sound Type) CAVE_VINES=1.0 -# Hanging Roots (Sound Type) -HANGING_ROOTS=1.0 -# Cherry Wood Hanging Sign (Sound Type) -CHERRY_WOOD_HANGING_SIGN=1.0 +# Frogspawn (Sound Type) +FROGSPAWN=1.0 +# Powder Snow (Sound Type) +POWDER_SNOW=0.1 +# Wet Grass (Sound Type) +WET_GRASS=0.1 +# Moss (Sound Type) +MOSS=0.75 +# Mud (Sound Type) +MUD=1.0 +# Nether Wood (Sound Type) +NETHER_WOOD=1.0 +# Anvil (Sound Type) +ANVIL=1.0 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=1.0 # Twisting Vines (Sound Type) TWISTING_VINES=0.0 -# Chain (Sound Type) -CHAIN=0.0 +# Suspicious Sand (Sound Type) +SUSPICIOUS_SAND=1.0 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=1.0 +# Stone (Sound Type) +STONE=1.0 +# Sand (Sound Type) +SAND=1.0 +# Soul Sand (Sound Type) +SOUL_SAND=1.0 +# Nether Ore (Sound Type) +NETHER_ORE=1.0 +# Mud Bricks (Sound Type) +MUD_BRICKS=1.0 +# Lodestone (Sound Type) +LODESTONE=1.0 +# Amethyst (Sound Type) +AMETHYST=1.0 # Wood (Sound Type) WOOD=1.0 # Sculk Catalyst (Sound Type) SCULK_CATALYST=1.0 -# Sculk Shrieker (Sound Type) -SCULK_SHRIEKER=1.0 -# Nether Wood Hanging Sign (Sound Type) -NETHER_WOOD_HANGING_SIGN=1.0 -# Nether Ore (Sound Type) -NETHER_ORE=1.0 -# Bone Block (Sound Type) -BONE_BLOCK=1.0 -# Sculk Sensor (Sound Type) -SCULK_SENSOR=1.0 -# Sweet Berry Bush (Sound Type) -SWEET_BERRY_BUSH=0.0 -# Cherry Sapling (Sound Type) -CHERRY_SAPLING=1.0 -# Anvil (Sound Type) -ANVIL=1.0 -# Nylium (Sound Type) -NYLIUM=1.0 -# Tuff (Sound Type) -TUFF=1.0 -# Nether Wood (Sound Type) -NETHER_WOOD=1.0 -# Amethyst Cluster (Sound Type) -AMETHYST_CLUSTER=1.0 -# Chiseled Bookshelf (Sound Type) -CHISELED_BOOKSHELF=1.0 -# Mud Bricks (Sound Type) -MUD_BRICKS=1.0 -# Ladder (Sound Type) -LADDER=0.0 -# Hard Crop (Sound Type) -HARD_CROP=1.0 +# Spore Blossom (Sound Type) +SPORE_BLOSSOM=0.0 # Water (Block) minecraft\:water=0.25 # Lava (Block) diff --git a/config/sound_physics_remastered/reflectivity.properties b/config/sound_physics_remastered/reflectivity.properties index f7f37bc6c..3f7110d57 100644 --- a/config/sound_physics_remastered/reflectivity.properties +++ b/config/sound_physics_remastered/reflectivity.properties @@ -9,205 +9,205 @@ # By block ID: # minecraft\:oak_log=1.0 -# Netherrack (Sound Type) -NETHERRACK=1.1 -# Stone (Sound Type) -STONE=1.5 -# Bamboo Wood Hanging Sign (Sound Type) -BAMBOO_WOOD_HANGING_SIGN=0.5 -# Ancient Debris (Sound Type) -ANCIENT_DEBRIS=0.5 -# Netherite Block (Sound Type) -NETHERITE_BLOCK=1.5 -# Slime Block (Sound Type) -SLIME_BLOCK=0.5 -# Mangrove Roots (Sound Type) -MANGROVE_ROOTS=0.5 -# Suspicious Sand (Sound Type) -SUSPICIOUS_SAND=0.5 -# Coral Block (Sound Type) -CORAL_BLOCK=0.2 -# Bamboo Sapling (Sound Type) -BAMBOO_SAPLING=0.5 -# Frogspawn (Sound Type) -FROGSPAWN=0.5 -# Suspicious Gravel (Sound Type) -SUSPICIOUS_GRAVEL=0.5 -# Deepslate (Sound Type) -DEEPSLATE=1.5 -# Azalea Leaves (Sound Type) -AZALEA_LEAVES=0.5 -# Moss Carpet (Sound Type) -MOSS_CARPET=0.5 -# Shroomlight (Sound Type) -SHROOMLIGHT=0.5 -# Wool (Sound Type) -WOOL=0.1 -# Pointed Dripstone (Sound Type) -POINTED_DRIPSTONE=0.5 -# Nether Sprouts (Sound Type) -NETHER_SPROUTS=0.5 -# Spore Blossom (Sound Type) -SPORE_BLOSSOM=0.5 -# Polished Deepslate (Sound Type) -POLISHED_DEEPSLATE=1.5 -# Crop (Sound Type) -CROP=0.5 -# Small Amethyst Bud (Sound Type) -SMALL_AMETHYST_BUD=0.5 -# Grass (Sound Type) -GRASS=0.3 -# Wet Grass (Sound Type) -WET_GRASS=0.5 -# Powder Snow (Sound Type) -POWDER_SNOW=0.5 -# Sculk (Sound Type) -SCULK=0.5 -# Fungus (Sound Type) -FUNGUS=0.5 -# Sculk Vein (Sound Type) -SCULK_VEIN=0.5 -# Big Dripleaf (Sound Type) -BIG_DRIPLEAF=0.5 -# Basalt (Sound Type) -BASALT=1.5 -# Decorated Pot (Sound Type) -DECORATED_POT=0.5 -# Dripstone Block (Sound Type) -DRIPSTONE_BLOCK=0.5 -# Glow Lichen (Sound Type) -GLOW_LICHEN=0.5 -# Hanging Sign (Sound Type) -HANGING_SIGN=0.5 -# Mud (Sound Type) -MUD=0.5 -# Azalea (Sound Type) -AZALEA=0.5 -# Scaffolding (Sound Type) -SCAFFOLDING=0.5 -# Flowering Azalea (Sound Type) -FLOWERING_AZALEA=0.5 -# Decorated Pot Cracked (Sound Type) -DECORATED_POT_CRACKED=0.5 -# Nether Bricks (Sound Type) -NETHER_BRICKS=1.5 -# Candle (Sound Type) -CANDLE=0.5 -# Lily Pad (Sound Type) -LILY_PAD=0.5 -# Nether Gold Ore (Sound Type) -NETHER_GOLD_ORE=1.1 -# Sand (Sound Type) -SAND=0.2 -# Nether Wart (Sound Type) -NETHER_WART=0.5 -# Wart Block (Sound Type) -WART_BLOCK=0.5 -# Soul Soil (Sound Type) -SOUL_SOIL=0.2 -# Gravel (Sound Type) -GRAVEL=0.3 -# Lodestone (Sound Type) -LODESTONE=0.5 -# Cherry Wood (Sound Type) -CHERRY_WOOD=0.5 -# Soul Sand (Sound Type) -SOUL_SAND=0.2 -# Lantern (Sound Type) -LANTERN=0.5 -# Copper (Sound Type) -COPPER=1.25 -# Deepslate Tiles (Sound Type) -DEEPSLATE_TILES=1.5 -# Gilded Blackstone (Sound Type) -GILDED_BLACKSTONE=0.5 -# Vine (Sound Type) -VINE=0.5 -# Froglight (Sound Type) -FROGLIGHT=0.5 -# Small Dripleaf (Sound Type) -SMALL_DRIPLEAF=0.5 -# Metal (Sound Type) -METAL=1.25 -# Stem (Sound Type) -STEM=0.4 -# Weeping Vines (Sound Type) -WEEPING_VINES=0.5 -# Snow (Sound Type) -SNOW=0.15 -# Honey Block (Sound Type) -HONEY_BLOCK=0.1 -# Moss (Sound Type) -MOSS=0.1 -# Bamboo (Sound Type) -BAMBOO=0.5 # Bamboo Wood (Sound Type) BAMBOO_WOOD=0.5 -# Amethyst (Sound Type) -AMETHYST=1.5 -# Calcite (Sound Type) -CALCITE=1.5 -# Rooted Dirt (Sound Type) -ROOTED_DIRT=0.5 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=0.5 +# Crop (Sound Type) +CROP=0.5 +# Decorated Pot (Sound Type) +DECORATED_POT=0.5 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=0.5 +# Grass (Sound Type) +GRASS=0.3 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=0.5 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.5 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.1 +# Copper (Sound Type) +COPPER=1.25 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=0.5 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.5 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=0.5 +# Snow (Sound Type) +SNOW=0.15 +# Fungus (Sound Type) +FUNGUS=0.5 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.5 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=0.5 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=0.5 +# Slime Block (Sound Type) +SLIME_BLOCK=0.5 +# Deepslate (Sound Type) +DEEPSLATE=1.5 +# Dripstone Block (Sound Type) +DRIPSTONE_BLOCK=0.5 +# Azalea (Sound Type) +AZALEA=0.5 +# Bamboo (Sound Type) +BAMBOO=0.5 +# Deepslate Tiles (Sound Type) +DEEPSLATE_TILES=1.5 +# Candle (Sound Type) +CANDLE=0.5 +# Suspicious Gravel (Sound Type) +SUSPICIOUS_GRAVEL=0.5 +# Chain (Sound Type) +CHAIN=0.5 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=0.5 +# Small Amethyst Bud (Sound Type) +SMALL_AMETHYST_BUD=0.5 +# Honey Block (Sound Type) +HONEY_BLOCK=0.1 +# Basalt (Sound Type) +BASALT=1.5 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.5 # Deepslate Bricks (Sound Type) DEEPSLATE_BRICKS=1.5 -# Muddy Mangrove Roots (Sound Type) -MUDDY_MANGROVE_ROOTS=0.5 -# Medium Amethyst Bud (Sound Type) -MEDIUM_AMETHYST_BUD=0.5 -# Cherry Leaves (Sound Type) -CHERRY_LEAVES=0.5 +# Mangrove Roots (Sound Type) +MANGROVE_ROOTS=0.5 +# Bone Block (Sound Type) +BONE_BLOCK=1.5 +# Cherry Wood (Sound Type) +CHERRY_WOOD=0.5 +# Small Dripleaf (Sound Type) +SMALL_DRIPLEAF=0.5 +# Hanging Roots (Sound Type) +HANGING_ROOTS=0.5 +# Azalea Leaves (Sound Type) +AZALEA_LEAVES=0.5 +# Lantern (Sound Type) +LANTERN=0.5 +# Froglight (Sound Type) +FROGLIGHT=0.5 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.5 +# Soul Soil (Sound Type) +SOUL_SOIL=0.2 +# Sculk Vein (Sound Type) +SCULK_VEIN=0.5 +# Hanging Sign (Sound Type) +HANGING_SIGN=0.5 +# Shroomlight (Sound Type) +SHROOMLIGHT=0.5 +# Scaffolding (Sound Type) +SCAFFOLDING=0.5 +# Gravel (Sound Type) +GRAVEL=0.3 +# Stem (Sound Type) +STEM=0.4 # Glass (Sound Type) GLASS=0.75 +# Hard Crop (Sound Type) +HARD_CROP=0.5 +# Wart Block (Sound Type) +WART_BLOCK=0.5 +# Nether Bricks (Sound Type) +NETHER_BRICKS=1.5 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=0.5 +# Nether Wart (Sound Type) +NETHER_WART=0.5 +# Netherrack (Sound Type) +NETHERRACK=1.1 +# Vine (Sound Type) +VINE=0.5 +# Metal (Sound Type) +METAL=1.25 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=0.5 # Packed Mud (Sound Type) PACKED_MUD=0.5 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.5 +# Wool (Sound Type) +WOOL=0.1 +# Nylium (Sound Type) +NYLIUM=0.5 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.5 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=0.5 +# Coral Block (Sound Type) +CORAL_BLOCK=0.2 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=0.5 +# Tuff (Sound Type) +TUFF=1.5 +# Calcite (Sound Type) +CALCITE=1.5 +# Ladder (Sound Type) +LADDER=0.5 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=0.5 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.5 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=0.5 +# Lily Pad (Sound Type) +LILY_PAD=0.5 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=0.5 # Roots (Sound Type) ROOTS=0.5 +# Sculk (Sound Type) +SCULK=0.5 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.5 # Large Amethyst Bud (Sound Type) LARGE_AMETHYST_BUD=0.5 # Cave Vines (Sound Type) CAVE_VINES=0.5 -# Hanging Roots (Sound Type) -HANGING_ROOTS=0.5 -# Cherry Wood Hanging Sign (Sound Type) -CHERRY_WOOD_HANGING_SIGN=0.5 +# Frogspawn (Sound Type) +FROGSPAWN=0.5 +# Powder Snow (Sound Type) +POWDER_SNOW=0.5 +# Wet Grass (Sound Type) +WET_GRASS=0.5 +# Moss (Sound Type) +MOSS=0.1 +# Mud (Sound Type) +MUD=0.5 +# Nether Wood (Sound Type) +NETHER_WOOD=0.5 +# Anvil (Sound Type) +ANVIL=0.5 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=0.5 # Twisting Vines (Sound Type) TWISTING_VINES=0.5 -# Chain (Sound Type) -CHAIN=0.5 +# Suspicious Sand (Sound Type) +SUSPICIOUS_SAND=0.5 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=0.5 +# Stone (Sound Type) +STONE=1.5 +# Sand (Sound Type) +SAND=0.2 +# Soul Sand (Sound Type) +SOUL_SAND=0.2 +# Nether Ore (Sound Type) +NETHER_ORE=1.1 +# Mud Bricks (Sound Type) +MUD_BRICKS=0.5 +# Lodestone (Sound Type) +LODESTONE=0.5 +# Amethyst (Sound Type) +AMETHYST=1.5 # Wood (Sound Type) WOOD=0.4 # Sculk Catalyst (Sound Type) SCULK_CATALYST=0.5 -# Sculk Shrieker (Sound Type) -SCULK_SHRIEKER=0.5 -# Nether Wood Hanging Sign (Sound Type) -NETHER_WOOD_HANGING_SIGN=0.5 -# Nether Ore (Sound Type) -NETHER_ORE=1.1 -# Bone Block (Sound Type) -BONE_BLOCK=1.5 -# Sculk Sensor (Sound Type) -SCULK_SENSOR=0.5 -# Sweet Berry Bush (Sound Type) -SWEET_BERRY_BUSH=0.5 -# Cherry Sapling (Sound Type) -CHERRY_SAPLING=0.5 -# Anvil (Sound Type) -ANVIL=0.5 -# Nylium (Sound Type) -NYLIUM=0.5 -# Tuff (Sound Type) -TUFF=1.5 -# Nether Wood (Sound Type) -NETHER_WOOD=0.5 -# Amethyst Cluster (Sound Type) -AMETHYST_CLUSTER=0.5 -# Chiseled Bookshelf (Sound Type) -CHISELED_BOOKSHELF=0.5 -# Mud Bricks (Sound Type) -MUD_BRICKS=0.5 -# Ladder (Sound Type) -LADDER=0.5 -# Hard Crop (Sound Type) -HARD_CROP=0.5 +# Spore Blossom (Sound Type) +SPORE_BLOSSOM=0.5 diff --git a/defaultconfigs/ftbessentials-server.snbt b/defaultconfigs/ftbessentials-server.snbt index c3f5803c5..acdd4d0ac 100644 --- a/defaultconfigs/ftbessentials-server.snbt +++ b/defaultconfigs/ftbessentials-server.snbt @@ -49,13 +49,13 @@ # Allows users to access their ender chest, as well as admins to manage other players' ender chests. enderchest: { # Default: true - enabled: true + enabled: false } # Allows users to set a custom hat as their head item by using a command hat: { # Default: true - enabled: true + enabled: } # Allows users to kick themselves from the server, for example if they are stuck or desynced @@ -67,7 +67,7 @@ # Allows users to view player leaderboard stats. leaderboard: { # Default: true - enabled: true + enabled: } # Allows users to change their display name, as well as admins to change nicknames for other users From 22a54f377296e96b273e1f08383d431d456fad1e Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 2 Oct 2024 08:40:54 +0700 Subject: [PATCH 202/266] Update ftbessentials-server.snbt --- defaultconfigs/ftbessentials-server.snbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaultconfigs/ftbessentials-server.snbt b/defaultconfigs/ftbessentials-server.snbt index acdd4d0ac..5cd822f81 100644 --- a/defaultconfigs/ftbessentials-server.snbt +++ b/defaultconfigs/ftbessentials-server.snbt @@ -55,7 +55,7 @@ # Allows users to set a custom hat as their head item by using a command hat: { # Default: true - enabled: + enabled: false } # Allows users to kick themselves from the server, for example if they are stuck or desynced @@ -67,7 +67,7 @@ # Allows users to view player leaderboard stats. leaderboard: { # Default: true - enabled: + enabled: false } # Allows users to change their display name, as well as admins to change nicknames for other users From f2f1f5ee3bc2b74841ed8b8d86a0bab0829e48f3 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 5 Oct 2024 13:44:03 +0700 Subject: [PATCH 203/266] big commit moment --- .../assets/emi/recipe/filters/categories.json | 3 + .../tfg/textures/item/crimson_lumber.png | Bin 980 -> 0 bytes .../tfg/textures/item/warped_lumber.png | Bin 983 -> 0 bytes kubejs/client_scripts/minecraft/assets.js | 32 +- kubejs/old.js | 649 +++++++ .../advancedperipherals/recipes.js | 5 + .../advancedperipherals/tags.js | 9 + kubejs/server_scripts/alekiroofs/recipes.js | 85 + kubejs/server_scripts/beneath/recipes.js | 6 + kubejs/server_scripts/beneath/tags.js | 10 + kubejs/server_scripts/create/recipes.js | 267 +-- kubejs/server_scripts/gregtech/recipes.js | 1567 ++++++++--------- kubejs/server_scripts/main_server_script.js | 7 +- kubejs/server_scripts/minecraft/recipes.js | 905 +--------- kubejs/server_scripts/railways/recipes.js | 279 ++- kubejs/server_scripts/rftools/recipes.js | 10 + kubejs/server_scripts/rftools/tags.js | 11 + .../server_scripts/storage_drawers/recipes.js | 6 + kubejs/server_scripts/storage_drawers/tags.js | 18 + kubejs/server_scripts/tfc/recipes.js | 1253 ++++++------- kubejs/startup_scripts/minecraft/constants.js | 70 +- kubejs/startup_scripts/minecraft/items.js | 5 +- 22 files changed, 2633 insertions(+), 2564 deletions(-) delete mode 100644 kubejs/assets/tfg/textures/item/crimson_lumber.png delete mode 100644 kubejs/assets/tfg/textures/item/warped_lumber.png create mode 100644 kubejs/old.js create mode 100644 kubejs/server_scripts/advancedperipherals/recipes.js create mode 100644 kubejs/server_scripts/advancedperipherals/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/rftools/recipes.js create mode 100644 kubejs/server_scripts/rftools/tags.js create mode 100644 kubejs/server_scripts/storage_drawers/recipes.js create mode 100644 kubejs/server_scripts/storage_drawers/tags.js diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 01383d269..e63620b05 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -18,6 +18,9 @@ { "category": "emi:composting" }, + { + "category": "gtceu:primitive_blast_furnace" + }, { "category": "emi:world_interaction", diff --git a/kubejs/assets/tfg/textures/item/crimson_lumber.png b/kubejs/assets/tfg/textures/item/crimson_lumber.png deleted file mode 100644 index 078d4dae2893b7110856500d60451fde83234cdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 980 zcmV;_11tQAP)4Tx0C=2zkv&MmKpe$iQ>7x64t9{@kfAzR5EXHhRxE;r(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;qmz@Oin&jJlk{d+ ziyi@?ZQ$a%tI2!7A(Ki)<;agyE&F!tTkJASrM_n!700)P_ zc$u=-J>EUg+uOfqI{p0sAeeH7VmoT%0006DNklA8IUp)2mvL}A>)*II&+KVvCF3- z3cxq}fTCALQ&i5F-6V`SZrC8>lzBP7%%h2`Cn5?!zFrY)`&-z)iyQi=ib5DQDR>ov zR+E+KC7#XR>4+SSkgMB#D(#{x8j*~!bd#8>vs2CE1Rf8@udp(`^apYTY#r{4bR|zc zY~Y3sT2Vw?GcYxSqE|%-cs_TR7nknIjsQT=3i({xBd!@VqZUF4EIkImmr{oH!VZro zuN@ob81S+9T{wY9pvYOrK`1S{y*4>C1nbqY000004Tx0C=2zkv&MmKpe$iQ>7x64t9{@kfAzR5EXHhRxE;r(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;qmz@Oin&jJlk{d+ ziyi@?ZQ$a%tI2!7A(Ki)<;agyE&F!tTkJASrM_n!700)P_ zc$u=-J>EUg+uOfqI{p0sAeeH7VmoT%0006GNklOu*9k--IBARhVv+vGlMGHhm;VF+R9%-~v;%~|&F874QVhR($@vHO zPel}fQhWn9mq*bwf*tMX;V`~!Q%P+x{$`H;CzB^43V@Tz2A z*(^2BV`%yXBQvjCB8?Ut%c8KlilXbtdL7*~Q4NDqGKpU!q@5!`e&wt1$`$sqIds#+t5lFuB2*P48pXG5ir;_W77E0!T$XV7k(y&~Z{rUQ zq8$QN$3YDQC~YLjep$q~ZK&5d)71qm9|v-aOX6(b1=-fygAs|~mCK~(7jUc$dN@pU z_!5eyky~1(+we2smpTi+EpopKxi82`GuBu4*(r@-vM_p^Pm6#002ovPDHLk FV1mn7(Ix-@ diff --git a/kubejs/client_scripts/minecraft/assets.js b/kubejs/client_scripts/minecraft/assets.js index e836e3b60..519237216 100644 --- a/kubejs/client_scripts/minecraft/assets.js +++ b/kubejs/client_scripts/minecraft/assets.js @@ -3,24 +3,24 @@ const registerMinecraftAssets = (e) => { //#region Обработка дерева топором - global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { - const logJson = { - type: 'emi:world_interaction', - left: `item:minecraft:${woodName}_stem`, - right: '#item:minecraft:axes', - output: `item:minecraft:stripped_${woodName}_stem` - } + // global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + // const logJson = { + // type: 'emi:world_interaction', + // left: `item:minecraft:${woodName}_stem`, + // right: '#item:minecraft:axes', + // output: `item:minecraft:stripped_${woodName}_stem` + // } - const woodJson = { - type: 'emi:world_interaction', - left: `item:minecraft:${woodName}_hyphae`, - right: '#item:minecraft:axes', - output: `item:minecraft:stripped_${woodName}_hyphae` - } + // const woodJson = { + // type: 'emi:world_interaction', + // left: `item:minecraft:${woodName}_hyphae`, + // right: '#item:minecraft:axes', + // output: `item:minecraft:stripped_${woodName}_hyphae` + // } - e.add(`emi:recipe/additions/vanilla_nether_${woodName}_log_conversion`, logJson) - e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, woodJson) - }) + // e.add(`emi:recipe/additions/vanilla_nether_${woodName}_log_conversion`, logJson) + // e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, woodJson) + // }) //#region Бамбук const woodName = 'bamboo' diff --git a/kubejs/old.js b/kubejs/old.js new file mode 100644 index 000000000..d10592146 --- /dev/null +++ b/kubejs/old.js @@ -0,0 +1,649 @@ +const processNetherWood = (woodName) => { + + const anyLogs = `#minecraft:${woodName}_stems` + + const log = Item.of(`minecraft:${woodName}_stem`) + const wood = Item.of(`minecraft:${woodName}_hyphae`) + + const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) + const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) + + const lumber = Item.of(`tfg:${woodName}_lumber`) + + const plank = Item.of(`minecraft:${woodName}_planks`) + const stair = Item.of(`minecraft:${woodName}_stairs`) + const slab = Item.of(`minecraft:${woodName}_slab`) + + const fence = Item.of(`minecraft:${woodName}_fence`) + const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) + + const door = Item.of(`minecraft:${woodName}_door`) + const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + + const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + const button = Item.of(`minecraft:${woodName}_button`) + + const sign = Item.of(`minecraft:${woodName}_sign`) + const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + + const roofing = Item.of(`alekiroofs:${woodName}_roofing`) + + const window = Item.of(`create:${woodName}_window_pane`) + const windowPane = Item.of(`create:${woodName}_window_pane`) + + const incompleteTrackNarrow = Item.of(`railways:track_incomplete_${woodName}_narrow`) + const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) + const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) + + const trackNarrow = Item.of(`railways:track_${woodName}_narrow`) + const track = Item.of(`railways:track_${woodName}`) + const trackWide = Item.of(`railways:track_${woodName}_wide`) + + //#region Бревно + e.shaped(log, [ + 'A', + 's' + ], { + A: wood, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_log`) + + e.recipes.create.cutting([log, Item.of('4x gtceu:wood_dust').withChance(0.75)], wood) + .id(`tfg:create_cutting/${woodName}_log`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_log`) + .itemInputs(wood) + .circuit(0) + .itemOutputs(log) + .itemOutputs('4x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Цельное бревно + e.remove({ id: `minecraft:${woodName}_hyphae` }) + + e.shaped(wood, [ + 'AA', + ' s' + ], { + A: log, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_wood`) + + e.recipes.create.cutting(wood.withChance(0.75), log) + .id(`tfg:create_cutting/${woodName}_wood`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_wood`) + .itemInputs(log.copyWithCount(2)) + .circuit(0) + .itemOutputs(wood) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Обтесанное бревно + e.remove({ id: `create:cutting/crimson_stem` }) + + e.shaped(strippedLog, [ + 'A', + 's' + ], { + A: strippedWood, + s: '#forge:tools/saws' + }).id(`tfg:workbench/stripped_${woodName}_log`) + + e.recipes.create.cutting(strippedLog, log) + .id(`tfg:create_cutting/stripped_${woodName}_log`) + + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) + .itemInputs(log) + .circuit(1) + .itemOutputs(strippedLog) + .itemOutputs('4x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Обтесанное цельное бревно + e.remove({ id: `minecraft:stripped_${woodName}_hyphae` }) + e.remove({ id: `create:cutting/${woodName}_hyphae` }) + + e.shaped(strippedWood, [ + 'AA', + ' s' + ], { + A: strippedLog, + s: '#forge:tools/saws' + }).id(`tfg:workbench/stripped_${woodName}_wood`) + + e.recipes.create.cutting(strippedWood, wood) + .id(`tfg:create_cutting/stripped_${woodName}_wood`) + + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) + .itemInputs(wood) + .circuit(1) + .itemOutputs(strippedWood) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Пиломатериалы (TFC) + + //#region Из бревен + e.shaped(lumber.copyWithCount(8), [ + 's', + 'A' + ], { + A: anyLogs, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_logs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(12), anyLogs) + .id(`tfg:create_cutting/${woodName}_lumber_from_logs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_logs`) + .itemInputs(anyLogs) + .circuit(2) + .itemOutputs(lumber.copyWithCount(16)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из досок + e.shaped(lumber.copyWithCount(4), [ + 's', + 'A' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_planks_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(3), plank) + .id(`tfg:create_cutting/${woodName}_lumber_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_planks`) + .itemInputs(plank) + .circuit(0) + .itemOutputs(lumber.copyWithCount(4)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из ступенек + e.shaped(lumber.copyWithCount(1), [ + 'A', + 's' + ], { + A: stair, + s: '#forge:tools/saws' + }).id(`tfg:workbench//${woodName}_lumber_from_stairs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(2), stair) + .id(`tfg:create_cutting/${woodName}_lumber_from_stairs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_stairs`) + .itemInputs(stair) + .circuit(2) + .itemOutputs(lumber.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из полублоков + e.shaped(lumber.copyWithCount(1), [ + 'A', + 's' + ], { + A: slab, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_slab_saw`) + + e.recipes.create.cutting([lumber, lumber.withChance(0.5)], slab) + .id(`tfg:create_cutting/${woodName}_lumber_from_slab`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_slab`) + .itemInputs(slab) + .circuit(2) + .itemOutputs(lumber.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Доски + e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) + e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) + + e.shaped(plank, [ + 'AA', + 'AA' + ], { + A: lumber + }).id(`tfg:workbench/${woodName}_planks`) + + e.recipes.create.cutting(plank.copyWithCount(3), anyLogs) + .id(`tfg:create_cutting/${woodName}_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) + .itemInputs(anyLogs) + .circuit(3) + .itemOutputs(plank.copyWithCount(6)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Ступень + e.remove({ id: `minecraft:${woodName}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) + + e.shaped(stair, [ + 'As' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_stairs_saw`) + + e.recipes.create.cutting(stair.copyWithCount(4), anyLogs) + .id(`tfg:create_cutting/${woodName}_stairs_from_logs`) + + e.recipes.create.cutting([stair, Item.of('1x gtceu:small_wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_stairs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) + .itemInputs(anyLogs) + .circuit(4) + .itemOutputs(stair.copyWithCount(8)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) + .itemInputs(plank) + .circuit(1) + .itemOutputs(stair) + .itemOutputs('1x gtceu:small_wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Полублок + e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + + e.shaped(slab.copyWithCount(2), [ + 'sA' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_slabs_saw`) + + e.recipes.create.cutting(slab.copyWithCount(6), anyLogs) + .id(`tfg:create_cutting/${woodName}_slabs_from_logs`) + + e.recipes.create.cutting(slab.copyWithCount(2), plank) + .id(`tfg:create_cutting/${woodName}_slabs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) + .itemInputs(anyLogs) + .circuit(5) + .itemOutputs(slab.copyWithCount(12)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) + .itemInputs(plank) + .circuit(2) + .itemOutputs(slab.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Забор + e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence` }) + + e.shaped(fence.copyWithCount(8), [ + 'h s', + 'ABA', + 'ACA' + ], { + A: plank, + B: '#forge:rods/wooden', + C: lumber, + h: '#forge:tools/hammers', + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_fence`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_fence`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + .itemInputs(plank) + .circuit(3) + .itemOutputs(fence.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Калитка + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) + + e.shaped(fenceGate, [ + 'A A', + 'BCB', + 'DCD' + ], { + A: 'minecraft:flint', + B: '#forge:rods/wooden', + C: plank, + D: lumber + }).id(`tfg:workbench/${woodName}_fence_gate_flint`) + + e.shaped(fenceGate.copyWithCount(2), [ + 'AEA', + 'BCB', + 'DCD' + ], { + A: '#forge:screws', + B: '#forge:rods/wooden', + C: plank, + D: lumber, + E: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_fence_gate_screws`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) + .itemInputs(plank.copyWithCount(2)) + .itemInputs('2x #forge:rods/wooden') + .itemInputs('2x #forge:screws') + .circuit(0) + .itemOutputs(fenceGate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Дверь + e.remove({ id: `gtceu:shaped/${woodName}_door` }) + e.remove({ id: `gtceu:assembler/${woodName}_door` }) + + e.shaped(door, [ + 'ABd', + 'ACD', + 'AAs' + ], { + A: lumber, + B: trapdoor, + C: '#forge:rings', + D: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_door`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_door`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs(trapdoor) + .itemInputs('4x #forge:screws') + .circuit(0) + .itemOutputs(door) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Люк + e.remove({ id: `minecraft:${woodName}_trapdoor` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_iron` }) + + e.shaped(trapdoor, [ + 'ABd', + 'ACs' + ], { + A: lumber, + B: '#forge:rings', + C: '#forge:bolts', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_trapdoor`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) + .itemInputs(lumber.copyWithCount(2)) + .itemInputs('2x #forge:bolts') + .circuit(0) + .itemOutputs(trapdoor) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Нажимная пластина + e.remove({ id: `minecraft:${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) + + e.shaped(pressurePlate.copyWithCount(2), [ + 'AmA', + 'BCB', + 'AdA' + ], { + A: 'gtceu:wood_bolt', + B: slab, + C: '#forge:springs', + m: '#forge:tools/mallets', + d: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_pressure_plate`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) + .itemInputs(slab.copyWithCount(2)) + .itemInputs('#forge:springs') + .circuit(0) + .itemOutputs(pressurePlate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Кнопка + + // e.remove({ id: `gtceu:shaped/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) + + //#endregion + + //#region Табличка + e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) + + e.shaped(sign.copyWithCount(3), [ + 'AAA', + 'AAA', + 'mB ' + ], { + A: lumber, + B: '#forge:rods/wooden', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) + .itemInputs(lumber.copyWithCount(6)) + .circuit(3) + .itemOutputs(sign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Висящая табличка + e.remove({ id: `minecraft:${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) + + e.shaped(hangingSign.copyWithCount(3), [ + 'AmA', + 'CBC', + 'BBB' + ], { + A: '#tfg:metal_chains', + B: lumber, + C: '#forge:screws', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_hanging_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs('2x #tfg:metal_chains') + .itemInputs('4x #forge:screws') + .circuit(4) + .itemOutputs(hangingSign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Крыша (AlekiRoofs) + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + + e.shaped(roofing.copyWithCount(2), [ + 'A ', + ' s' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_roofing_saw`) + + e.recipes.create.cutting([roofing, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_roofing`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_roofing`) + .itemInputs(plank) + .circuit(4) + .itemOutputs(roofing.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Окно (Create) + e.remove({ id: `create:${woodName}_window` }) + + e.shaped(window, [ + ' A ', + 'ABA', + ' m ' + ], { + A: plank, + B: '#forge:glass/colorless', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_window`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_window`) + .itemInputs(plank) + .itemInputs('#forge:glass/colorless') + .circuit(16) + .itemOutputs(window) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Окнонная панель (Create) + e.remove({ id: `create:${woodName}_window_pane` }) + + e.shaped(windowPane.copyWithCount(2), [ + 'AB', + 'Am' + ], { + A: plank, + B: '#forge:glass/colorless', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_window_pane`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_window_pane`) + .itemInputs(plank) + .itemInputs('#forge:glass/colorless') + .circuit(17) + .itemOutputs(windowPane.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + //#endregion + + //#region Железнодорожное полотно (Узкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + + e.recipes.createSequencedAssembly([ + trackNarrow, + ], slab, [ + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), + e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), + ]).transitionalItem(incompleteTrackNarrow).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) + + e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) + .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') + .itemOutputs(trackNarrow) + .circuit(24) + .duration(800) + .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Нормальное) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + + e.recipes.createSequencedAssembly([ + track, + ], trackNarrow, [ + e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrack, [incompleteTrack]), + ]).transitionalItem(incompleteTrack).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}`) + .itemInputs(slab, trackNarrow, '4x #forge:screws') + .itemOutputs(track) + .circuit(24) + .duration(1200) + .EUt(32) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) + .itemInputs(slab.copyWithCount(2), '8x #forge:screws') + .itemOutputs(track) + .circuit(25) + .duration(1200) + .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Широкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + + e.recipes.createSequencedAssembly([ + trackWide, + ], track, [ + e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), + ]).transitionalItem(incompleteTrackWide).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_wide`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide`) + .itemInputs(slab, track, '4x #forge:screws') + .itemOutputs(trackWide) + .circuit(24) + .duration(1600) + .EUt(16) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide_skip`) + .itemInputs(slab.copyWithCount(3), '12x #forge:screws') + .itemOutputs(trackWide) + .circuit(26) + .duration(1600) + .EUt(16) + //#endregion +} \ 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..a14e9f51c --- /dev/null +++ b/kubejs/server_scripts/advancedperipherals/recipes.js @@ -0,0 +1,5 @@ +// priority: 0 + +const registerAdvancedPeripheralsRecipes = (e) => { + e.remove({ mod: `advancedperipherals` }) +} \ 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..90a1087eb --- /dev/null +++ b/kubejs/server_scripts/advancedperipherals/tags.js @@ -0,0 +1,9 @@ +// priority: 0 + +const registerAdvancedPeripheralsItemTags = (event) => { + +} + +const registerAdvancedPeripheralsBlockTags = (event) => { + +} \ No newline at end of file diff --git a/kubejs/server_scripts/alekiroofs/recipes.js b/kubejs/server_scripts/alekiroofs/recipes.js index 84d57293d..2c373e322 100644 --- a/kubejs/server_scripts/alekiroofs/recipes.js +++ b/kubejs/server_scripts/alekiroofs/recipes.js @@ -128,6 +128,91 @@ const registerAlekiRoofsRecipes = (e) => { e.remove({ id: 'alekiroofs:crafting/waxed_oxidized_cut_copper_roofing' }) e.remove({ id: 'alekiroofs:crafting/waxed_oxidized_cut_copper_roofing_from_honeycomb' }) e.remove({ id: 'alekiroofs:stonecutting/crafting/waxed_oxidized_cut_copper_roofing_from_stonecutting' }) + + //#region Дерево + global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodName => { + + // Roofs + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + }) + + //#region Бамбук + const woodName = 'bamboo' + + const plank = Item.of(`minecraft:${woodName}_planks`) + const plankMosaic = Item.of(`minecraft:${woodName}_mosaic`) + + const fence = Item.of(`minecraft:${woodName}_fence`) + + const roofing = Item.of(`alekiroofs:${woodName}_roofing`) + const roofingMosaic = Item.of(`alekiroofs:${woodName}_mosaic_roofing`) + + //#region Крыша + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + + e.shaped(roofing.copyWithCount(2), [ + 'A ', + ' s' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_roofing_saw`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_roofing`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_roofing`) + .itemInputs(plank) + .circuit(4) + .itemOutputs(roofing.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Мозаичная крыша + e.remove({ id: `alekiroofs:crafting/${woodName}_mosaic_roofing` }) + + //#region Через обычные + e.shaped(roofingMosaic, [ + 'A ', + ' s' + ], { + A: roofing, + s: 'forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_roofing`) + + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_roofing`) + .itemInputs(roofing) + .notConsumable('#forge:lenses/white') + .itemOutputs(roofingMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Через мозаичные + e.shaped(roofingMosaic.copyWithCount(2), [ + 'sA' + ], { + A: roofingMosaic, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_roofing_saw`) + + e.recipes.create.cutting(roofingMosaic.copyWithCount(2), plankMosaic) + .id(`tfg:create_cutting/${woodName}_mosaic_roofing_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_mosaic_roofing_from_planks`) + .itemInputs(plankMosaic) + .circuit(2) + .itemOutputs(roofingMosaic.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#endregion + + //#endregion + + // e.remove({ id: '' }) // e.remove({ id: '' }) // e.remove({ id: '' }) diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js new file mode 100644 index 000000000..356ff996d --- /dev/null +++ b/kubejs/server_scripts/beneath/recipes.js @@ -0,0 +1,6 @@ +// priority: 0 + +const registerBeneathRecipes = (e) => { + + +} \ 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..9b15c5a8d --- /dev/null +++ b/kubejs/server_scripts/beneath/tags.js @@ -0,0 +1,10 @@ +// priority: 0 + +const registerBeneathItemTags = (event) => { + event.add('minecraft:saplings', 'beneath:wood/sapling/crimson') + event.add('minecraft:saplings', 'beneath:wood/sapling/warped') +} + +const registerBeneathBlockTags = (event) => { + +} \ No newline at end of file diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 3951d9592..faaf2ba0a 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -1,9 +1,9 @@ // priority: 0 -const registerCreateRecipes = (event) => { +const registerCreateRecipes = (e) => { // Удаление рецептов мода create - event.remove({ not: [ + e.remove({ not: [ { id: 'create:crafting/kinetics/gearboxfrom_conversion' }, { id: 'create:crafting/kinetics/gearbox' }, { id: 'create:crafting/kinetics/clutch' }, @@ -93,20 +93,35 @@ const registerCreateRecipes = (event) => { { id: 'create:milling/bone' }, ], mod: 'create' }) + //#region Дерево + global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodName => { + + // Window + e.remove({ id: `create:${woodName}_window` }) + + // Window Pane + e.remove({ id: `create:${woodName}_window_pane` }) + }) + //#endregion + + +} + +const dead = () => { // Train Station - event.shapeless('2x create:track_station', [ + e.shapeless('2x create:track_station', [ 'create:railway_casing', 'firmaciv:firmaciv_compass' ]).id('create:crafting/kinetics/track_station') // Speedometer - event.shapeless('create:speedometer', [ + e.shapeless('create:speedometer', [ 'create:andesite_casing', 'firmaciv:firmaciv_compass' ]).id('create:crafting/kinetics/speedometer') // Пушка для постройки схематик - event.shaped('create:schematicannon', [ + e.shaped('create:schematicannon', [ ' A ', 'BAB', 'CDC' @@ -118,7 +133,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/schematicannon') // Стол для схематик - event.shaped('create:schematic_table', [ + e.shaped('create:schematic_table', [ 'AAA', ' B ', ' B ' @@ -128,7 +143,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/schematic_table') // Вал - event.shaped('8x create:shaft', [ + e.shaped('8x create:shaft', [ 'A ', 'AB' ], { @@ -136,14 +151,14 @@ const registerCreateRecipes = (event) => { B: '#forge:tools/files' }).id('tfg:create/shaped/shaft') - event.recipes.gtceu.assembler('create/shaft') + e.recipes.gtceu.assembler('create/shaft') .itemInputs('#forge:ingots/wrought_iron') .itemOutputs('6x create:shaft') .duration(75) .EUt(2) // Малая шестерня - event.shaped('create:cogwheel', [ + e.shaped('create:cogwheel', [ ' A ', 'ABA', ' A ' @@ -153,7 +168,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shapeless/cogwheel') // Большая шестерня - event.shaped('create:large_cogwheel', [ + e.shaped('create:large_cogwheel', [ ' A ', 'ABA', ' A ' @@ -163,7 +178,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/large_cogwheel') // Внутриблочный двигатель цепи - event.shapeless('create:encased_chain_drive', [ + e.shapeless('create:encased_chain_drive', [ 'create:andesite_casing', '#forge:plates/wrought_iron', '#forge:plates/wrought_iron', @@ -171,7 +186,7 @@ const registerCreateRecipes = (event) => { ]).id('tfg:create/shapeless/encased_chain_drive') // Механический пресс - event.shaped('create:mechanical_press', [ + e.shaped('create:mechanical_press', [ 'A', 'B', 'C' @@ -182,7 +197,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/mechanical_press') // Сопло - event.shaped('create:nozzle', [ + e.shaped('create:nozzle', [ 'ABA', 'ACA', 'BBB' @@ -193,7 +208,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/nozzle') // Ручка, чтобы люто крутить - event.shaped('create:hand_crank', [ + e.shaped('create:hand_crank', [ 'AAA', ' B' ], { @@ -202,7 +217,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/hand_crank') // Колесо для дробления - event.recipes.createMechanicalCrafting('2x create:crushing_wheel', [ + e.recipes.createMechanicalCrafting('2x create:crushing_wheel', [ ' AAA ', 'AABAA', 'ABCBA', @@ -215,7 +230,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/mechanical_crafting/crushing_wheel') // Железный веник - event.shaped('create:whisk', [ + e.shaped('create:whisk', [ 'ABA', 'ACA', 'AAA' @@ -226,7 +241,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/whisk') // Емкость для миксера - event.shaped('create:basin', [ + e.shaped('create:basin', [ 'ABA', 'AAA' ], { @@ -234,7 +249,7 @@ const registerCreateRecipes = (event) => { B: '#forge:tools/hammers' }).id('tfg:create/shaped/basin') - event.recipes.gtceu.assembler('tfg:create/basin') + e.recipes.gtceu.assembler('tfg:create/basin') .itemInputs('5x #forge:plates/wrought_iron') .circuit(3) .itemOutputs('create:basin') @@ -242,13 +257,13 @@ const registerCreateRecipes = (event) => { .EUt(20) // Место куда можно что то положить - event.shapeless('create:depot', [ + e.shapeless('create:depot', [ 'create:andesite_casing', '#forge:double_plates/wrought_iron' ]).id('tfg:create/shapeless/depot') // Лоток - event.shaped('create:chute', [ + e.shaped('create:chute', [ 'A ', 'AB', 'A ' @@ -257,7 +272,7 @@ const registerCreateRecipes = (event) => { B: '#forge:tools/hammers' }).id('tfg:create/shaped/chute') - event.recipes.gtceu.assembler('tfg:create/chute') + e.recipes.gtceu.assembler('tfg:create/chute') .itemInputs('3x #forge:plates/wrought_iron') .circuit(4) .itemOutputs('create:chute') @@ -265,7 +280,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Металлический держатель - event.shaped('create:metal_bracket', [ + e.shaped('create:metal_bracket', [ 'AAA', 'BBB' ], { @@ -274,7 +289,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/metal_bracket') // Жидкостная труба - event.shaped('create:fluid_pipe', [ + e.shaped('create:fluid_pipe', [ ' B ', 'BAB', ' B ' @@ -283,7 +298,7 @@ const registerCreateRecipes = (event) => { B: '#forge:plates/copper' }).id('tfg:create/shaped/fluid_pipe') - event.recipes.gtceu.assembler('tfg:create/fluid_pipe') + e.recipes.gtceu.assembler('tfg:create/fluid_pipe') .itemInputs('4x #forge:plates/copper') .circuit(3) .itemOutputs('create:fluid_pipe') @@ -291,13 +306,13 @@ const registerCreateRecipes = (event) => { .EUt(20) // Жидкостный люк - event.shapeless('create:fluid_valve', [ + e.shapeless('create:fluid_valve', [ 'create:fluid_pipe', '#forge:plates/wrought_iron' ]).id('tfg:create/shapeless/fluid_valve') // Ручка жидкостного люка - event.shaped('create:copper_valve_handle', [ + e.shaped('create:copper_valve_handle', [ 'AAA', 'BCD' ], { @@ -307,7 +322,7 @@ const registerCreateRecipes = (event) => { D: '#forge:tools/files' }).id('tfg:create/shaped/copper_valve_handle') - event.recipes.gtceu.assembler('tfg:create/copper_valve_handle') + e.recipes.gtceu.assembler('tfg:create/copper_valve_handle') .itemInputs('4x #forge:plates/copper', '#forge:gears/wrought_iron') .circuit(6) .itemOutputs('create:copper_valve_handle') @@ -315,7 +330,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Жидкостный резервуар - event.shaped('create:fluid_tank', [ + e.shaped('create:fluid_tank', [ 'ABA', 'BCB', 'ABA' @@ -326,7 +341,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/fluid_tank') // Шкив для шланга - event.shaped('create:hose_pulley', [ + e.shaped('create:hose_pulley', [ 'A', 'B', 'C' @@ -337,7 +352,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/hose_pulley') // Слив из предметов - event.shaped('create:item_drain', [ + e.shaped('create:item_drain', [ 'A', 'B' ], { @@ -346,7 +361,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/item_drain') // Жидкостный наполнитель - event.shaped('create:spout', [ + e.shaped('create:spout', [ 'B', 'A' ], { @@ -355,7 +370,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/spout') // Паровой двигатель - event.shaped('create:steam_engine', [ + e.shaped('create:steam_engine', [ 'ABA', 'CDC', 'EFG' @@ -369,7 +384,7 @@ const registerCreateRecipes = (event) => { G: '#forge:tools/screwdrivers', }).id('tfg:create/shaped/steam_engine') - event.recipes.gtceu.assembler('tfg:create/steam_engine') + e.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') @@ -377,7 +392,7 @@ const registerCreateRecipes = (event) => { .EUt(32) // Паровой свисток - event.shaped('create:steam_whistle', [ + e.shaped('create:steam_whistle', [ 'AC', 'BD' ], { @@ -387,15 +402,15 @@ const registerCreateRecipes = (event) => { D: '#forge:tools/files' }).id('tfg:create/shaped/steam_whistle') - event.recipes.gtceu.assembler('tfg:create/steam_whistle') + e.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', [ + e.shaped('8x create:piston_extension_pole', [ 'A ', 'BC', 'A ' @@ -405,7 +420,7 @@ const registerCreateRecipes = (event) => { C: '#forge:tools/hammers' }).id('tfg:create/shaped/piston_extension_pole') - event.recipes.gtceu.assembler('tfg:create/piston_extension_pole') + e.recipes.gtceu.assembler('tfg:create/piston_extension_pole') .itemInputs('2x #minecraft:planks', '#forge:plates/wrought_iron') .circuit(3) .itemOutputs('8x create:piston_extension_pole') @@ -413,7 +428,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Редстоуновый вал - event.shaped('create:gantry_shaft', [ + e.shaped('create:gantry_shaft', [ 'A ', 'BC', 'A ' @@ -423,7 +438,7 @@ const registerCreateRecipes = (event) => { C: '#forge:tools/hammers' }).id('tfg:create/shaped/gantry_shaft') - event.recipes.gtceu.assembler('tfg:create/gantry_shaft') + e.recipes.gtceu.assembler('tfg:create/gantry_shaft') .itemInputs('gtceu:red_alloy_single_wire', '2x #forge:plates/wrought_iron') .circuit(3) .itemOutputs('create:gantry_shaft') @@ -431,7 +446,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Канатный шкиф - event.shaped('create:rope_pulley', [ + e.shaped('create:rope_pulley', [ 'A', 'B', 'C' @@ -442,7 +457,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/rope_pulley') // Шкиф подъемника - event.shaped('create:elevator_pulley', [ + e.shaped('create:elevator_pulley', [ 'A', 'B', 'C' @@ -453,7 +468,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/elevator_pulley') // Сборщик вагонеток - event.shaped('create:cart_assembler', [ + e.shaped('create:cart_assembler', [ 'ABA', 'C C' ], { @@ -463,7 +478,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/cart_assembler') // Контроллер рельсы - event.shaped('create:controller_rail', [ + e.shaped('create:controller_rail', [ 'ABA', 'ACA', 'ABA' @@ -474,7 +489,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/controller_rail') // Линейный переход - event.shaped('3x create:linear_chassis', [ + e.shaped('3x create:linear_chassis', [ 'ABA', 'CCC', 'ABA' @@ -485,7 +500,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/linear_chassis') // Радиальный переход - event.shaped('3x create:radial_chassis', [ + e.shaped('3x create:radial_chassis', [ 'ACA', 'BCB', 'ACA' @@ -496,7 +511,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/radial_chassis') // Умный липкий поршень - event.shaped('create:sticker', [ + e.shaped('create:sticker', [ 'ABA', 'CDC' ], { @@ -507,7 +522,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/sticker') // Механическая бурилка - event.shaped('create:mechanical_drill', [ + e.shaped('create:mechanical_drill', [ 'ABA', 'BCB', 'ADA' @@ -519,7 +534,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/mechanical_drill') // Механическая пила - event.shaped('create:mechanical_saw', [ + e.shaped('create:mechanical_saw', [ 'ABA', 'BCB', 'ADA' @@ -531,7 +546,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/mechanical_saw') // Редстоуновый контакт - event.shaped('2x create:redstone_contact', [ + e.shaped('2x create:redstone_contact', [ 'DCE', 'ABA', 'AAA' @@ -543,7 +558,7 @@ const registerCreateRecipes = (event) => { E: '#forge:tools/screwdrivers' }).id('tfg:create/shaped/redstone_contact') - event.recipes.gtceu.assembler('tfg:create/redstone_contact') + e.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') @@ -551,7 +566,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Механический собиратель - event.shaped('create:mechanical_harvester', [ + e.shaped('create:mechanical_harvester', [ 'ABA', 'ABA', 'CDE' @@ -563,7 +578,7 @@ const registerCreateRecipes = (event) => { E: '#forge:tools/wrenches' }).id('tfg:create/shaped/mechanical_harvester') - event.recipes.gtceu.assembler('tfg:create/mechanical_harvester') + e.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') @@ -571,7 +586,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Механический плуг - event.shaped('create:mechanical_plough', [ + e.shaped('create:mechanical_plough', [ 'ABA', 'ABA', 'CDE' @@ -583,7 +598,7 @@ const registerCreateRecipes = (event) => { E: '#forge:tools/wrenches' }).id('tfg:create/shaped/mechanical_plough') - event.recipes.gtceu.assembler('tfg:create/mechanical_plough') + e.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') @@ -591,7 +606,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Парус ветряной мельницы - event.shaped('2x create:white_sail', [ + e.shaped('2x create:white_sail', [ 'AB', 'BC' ], { @@ -601,10 +616,10 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/white_sail') // Андезитовый корпус - event.recipes.createItemApplication(['create:andesite_casing'], ['#minecraft:logs', '#forge:plates/wrought_iron']) + e.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') + e.recipes.gtceu.assembler('tfg:create/andesite_casing') .itemInputs('#minecraft:logs', '#forge:plates/wrought_iron') .circuit(10) .itemOutputs('create:andesite_casing') @@ -612,10 +627,10 @@ const registerCreateRecipes = (event) => { .EUt(4) // Латунный корпус - event.recipes.createItemApplication(['create:brass_casing'], ['#minecraft:logs', '#forge:plates/brass']) + e.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') + e.recipes.gtceu.assembler('tfg:create/brass_casing') .itemInputs('#minecraft:logs', '#forge:plates/brass') .circuit(10) .itemOutputs('create:brass_casing') @@ -623,10 +638,10 @@ const registerCreateRecipes = (event) => { .EUt(4) // Медный корпус - event.recipes.createItemApplication(['create:copper_casing'], ['#minecraft:logs', '#forge:plates/copper']) + e.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') + e.recipes.gtceu.assembler('tfg:create/copper_casing') .itemInputs('#minecraft:logs', '#forge:plates/copper') .circuit(10) .itemOutputs('create:copper_casing') @@ -634,10 +649,10 @@ const registerCreateRecipes = (event) => { .EUt(4) // Корпус поезда - event.recipes.createItemApplication(['create:railway_casing'], ['create:brass_casing', '#forge:plates/steel']) + e.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') + e.recipes.gtceu.assembler('tfg:create/railway_casing') .itemInputs('create:brass_casing', '#forge:plates/steel') .circuit(10) .itemOutputs('create:railway_casing') @@ -645,7 +660,7 @@ const registerCreateRecipes = (event) => { .EUt(4) // Механический крафтер - event.shaped('create:mechanical_crafter', [ + e.shaped('create:mechanical_crafter', [ 'A', 'B', 'C' @@ -656,7 +671,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/mechanical_crafter') // Маховик - event.shaped('create:flywheel', [ + e.shaped('create:flywheel', [ 'ABA', 'BCB', 'ABA' @@ -667,7 +682,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/flywheel') // Механическая рука - event.shaped('create:mechanical_arm', [ + e.shaped('create:mechanical_arm', [ 'AAB', 'AGE', 'CDF' @@ -681,7 +696,7 @@ const registerCreateRecipes = (event) => { G: '#forge:screws/wrought_iron' }).id('tfg:create/shaped/mechanical_arm') - event.recipes.gtceu.assembler('tfg:create/mechanical_arm') + e.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') @@ -689,13 +704,13 @@ const registerCreateRecipes = (event) => { .EUt(20) // Наблюдатель за поездом - event.shapeless('create:track_observer', [ + e.shapeless('create:track_observer', [ 'create:railway_casing', '#minecraft:stone_pressure_plates' ]).id('tfg:create/shapeless/track_observer') // Сейф - event.shaped('create:item_vault', [ + e.shaped('create:item_vault', [ 'CBC', 'AAA', 'CDC' @@ -706,7 +721,7 @@ const registerCreateRecipes = (event) => { D: '#forge:tools/screwdrivers' }).id('tfg:create/shaped/item_vault') - event.recipes.gtceu.assembler('tfg:create/item_vault') + e.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') @@ -714,7 +729,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Умный раздатчик/приемник из железа - event.shaped('2x create:andesite_funnel', [ + e.shaped('2x create:andesite_funnel', [ 'AAA', 'ABA', 'ABA' @@ -724,7 +739,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/andesite_funnel') // Умный раздатчик/приемник из латуни - event.shaped('2x create:brass_funnel', [ + e.shaped('2x create:brass_funnel', [ 'AAA', 'ABA', 'ABA' @@ -734,7 +749,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/brass_funnel') // Тунель из железа - event.shaped('create:andesite_tunnel', [ + e.shaped('create:andesite_tunnel', [ 'C ', 'AA', 'BB' @@ -745,7 +760,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/andesite_tunnel') // Тунель из латуни - event.shaped('create:brass_tunnel', [ + e.shaped('create:brass_tunnel', [ 'C ', 'AA', 'BB' @@ -756,7 +771,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/brass_tunnel') // Дисплей столешница (чзх) - event.shaped('create:display_board', [ + e.shaped('create:display_board', [ ' A ', 'BCB', ' A ' @@ -767,7 +782,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/display_board') // Пропеллер - event.shaped('create:propeller', [ + e.shaped('create:propeller', [ 'AB ', 'BCB', ' BA' @@ -777,7 +792,7 @@ const registerCreateRecipes = (event) => { C: '#forge:rotors' }).id('tfg:create/shaped/propeller') - event.recipes.gtceu.assembler('tfg:create/propeller') + e.recipes.gtceu.assembler('tfg:create/propeller') .itemInputs('4x #forge:plates/wrought_iron', '#forge:rotors') .circuit(3) .itemOutputs('create:propeller') @@ -785,7 +800,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Латунная рука - event.shaped('create:brass_hand', [ + e.shaped('create:brass_hand', [ ' AB', 'CCA', ' C ' @@ -795,7 +810,7 @@ const registerCreateRecipes = (event) => { C: '#forge:plates/brass' }).id('tfg:create/shaped/brass_hand') - event.recipes.gtceu.assembler('tfg:create/brass_hand') + e.recipes.gtceu.assembler('tfg:create/brass_hand') .itemInputs('3x #forge:nuggets/brass', '#forge:plates/brass') .circuit(3) .itemOutputs('create:brass_hand') @@ -803,7 +818,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Электронная трубка - event.shaped('create:electron_tube', [ + e.shaped('create:electron_tube', [ ' A ', 'BCB', 'DED' @@ -816,7 +831,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/electron_tube') // Тюбик с клеем - event.shaped('create:super_glue', [ + e.shaped('create:super_glue', [ 'BA', 'CB' ], { @@ -826,7 +841,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/super_glue') // Соединятор вагонеток - event.shapeless('create:minecart_coupling', [ + e.shapeless('create:minecart_coupling', [ '#tfg:metal_chains', '#forge:bolts', '#tfg:metal_chains', @@ -835,7 +850,7 @@ const registerCreateRecipes = (event) => { '#forge:tools/hammers' ]).id('tfg:create/shapeless/minecart_coupling') - event.recipes.gtceu.assembler('tfg:create/minecart_coupling') + e.recipes.gtceu.assembler('tfg:create/minecart_coupling') .itemInputs('3x #tfg:metal_chains', '2x #forge:bolts') .circuit(1) .itemOutputs('create:minecart_coupling') @@ -843,13 +858,13 @@ const registerCreateRecipes = (event) => { .EUt(20) // Блупринт создания - event.shapeless('create:crafting_blueprint', [ + e.shapeless('create:crafting_blueprint', [ 'minecraft:painting', '#tfc:workbenches' ]).id('tfg:create/shapeless/crafting_blueprint') // Медная бочка на спину - event.shaped('create:copper_backtank', [ + e.shaped('create:copper_backtank', [ 'ABA', 'CDC', ' C ' @@ -861,7 +876,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/copper_backtank') // Шлем для дайвинга - event.shaped('create:copper_diving_helmet', [ + e.shaped('create:copper_diving_helmet', [ 'ABA', 'CDC' ], { @@ -872,7 +887,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/copper_diving_helmet') // Ботинки для дайвинга - event.shaped('create:copper_diving_boots', [ + e.shaped('create:copper_diving_boots', [ 'ABA', 'CDC' ], { @@ -883,7 +898,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/copper_diving_boots') // Херь, увеличивающая дистанцию копки - event.recipes.createMechanicalCrafting('create:extendo_grip', [ + e.recipes.createMechanicalCrafting('create:extendo_grip', [ ' A ', ' B ', 'CCC', @@ -897,7 +912,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/mechanical_crafting/extendo_grip') // Херь, устанавливающая блоки зеркально - event.recipes.createMechanicalCrafting('create:wand_of_symmetry', [ + e.recipes.createMechanicalCrafting('create:wand_of_symmetry', [ ' A ', ' ABA ', ' C ', @@ -912,7 +927,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/mechanical_crafting/wand_of_symmetry') // Фильтр список - event.shaped('create:filter', [ + e.shaped('create:filter', [ 'ABA' ], { A: '#forge:nuggets/wrought_iron', @@ -920,7 +935,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/filter') // Фильтр аттрибутов - event.shaped('create:attribute_filter', [ + e.shaped('create:attribute_filter', [ 'ABA' ], { A: '#forge:nuggets/brass', @@ -928,13 +943,13 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/attribute_filter') // Расписание поездов - event.shapeless('4x create:schedule', [ + e.shapeless('4x create:schedule', [ 'minecraft:paper', '#forge:dyes/black' ]).id('tfg:create/shapeless/schedule') // Дневник - event.shaped('create:clipboard', [ + e.shaped('create:clipboard', [ 'A', 'B', 'C' @@ -945,7 +960,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/clipboard') // Лестница из железа - event.shaped('6x create:andesite_ladder', [ + e.shaped('6x create:andesite_ladder', [ 'A A', 'AAA', 'A A' @@ -954,7 +969,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/andesite_ladder') // Лестница из латуни - event.shaped('6x create:brass_ladder', [ + e.shaped('6x create:brass_ladder', [ 'A A', 'AAA', 'A A' @@ -963,7 +978,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/brass_ladder') // Лестница из железа - event.shaped('6x create:copper_ladder', [ + e.shaped('6x create:copper_ladder', [ 'A A', 'AAA', 'A A' @@ -972,7 +987,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/copper_ladder') // Леса из железа - event.shaped('4x create:andesite_scaffolding', [ + e.shaped('4x create:andesite_scaffolding', [ 'AAA', 'A A' ], { @@ -980,7 +995,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/andesite_scaffolding') // Леса из латуни - event.shaped('4x create:brass_scaffolding', [ + e.shaped('4x create:brass_scaffolding', [ 'AAA', 'A A' ], { @@ -988,7 +1003,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/brass_scaffolding') // Леса из железа - event.shaped('4x create:copper_scaffolding', [ + e.shaped('4x create:copper_scaffolding', [ 'AAA', 'A A' ], { @@ -996,18 +1011,18 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/copper_scaffolding') // Цинковая ступень - event.shapeless('create:copycat_step', [ + e.shapeless('create:copycat_step', [ '#forge:plates/zinc', '#forge:tools/files' ]).id('tfg:create/shapeless/copycat_step') // Цинковая панель - event.shapeless('create:copycat_panel', [ + e.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') + e.recipes.gtceu.assembler('tfg:create/copycat_panel') .itemInputs('#forge:double_plates/zinc') .circuit(5) .itemOutputs('create:copycat_panel') @@ -1015,7 +1030,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Деталь рельса - event.shaped('create:metal_girder', [ + e.shaped('create:metal_girder', [ 'AAA', 'BBB' ], { @@ -1024,19 +1039,19 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/metal_girder') // Стеклянная дверь - event.shapeless('create:framed_glass_door', [ + e.shapeless('create:framed_glass_door', [ '#minecraft:wooden_doors', 'minecraft:glass_pane' ]).id('tfg:create/shapeless/framed_glass_door') // Стеклянный люк - event.shapeless('create:framed_glass_trapdoor', [ + e.shapeless('create:framed_glass_trapdoor', [ '#minecraft:wooden_trapdoors', 'minecraft:glass_pane' ]).id('tfg:create/shapeless/framed_glass_trapdoor') // - event.recipes.createMechanicalCrafting('create:potato_cannon', [ + e.recipes.createMechanicalCrafting('create:potato_cannon', [ 'ABCCC', 'DD ' ], { @@ -1047,7 +1062,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/mechanical_crafting/potato_cannon') // Липкий механический поршень - event.shaped('create:sticky_mechanical_piston', [ + e.shaped('create:sticky_mechanical_piston', [ 'A', 'B' ], { @@ -1055,7 +1070,7 @@ const registerCreateRecipes = (event) => { B: 'create:mechanical_piston' }).id('tfg:create/shaped/sticky_mechanical_piston_from_glue') - event.shaped('create:sticky_mechanical_piston', [ + e.shaped('create:sticky_mechanical_piston', [ 'A', 'B', 'C' @@ -1065,27 +1080,27 @@ const registerCreateRecipes = (event) => { 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') + e.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') + e.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') + e.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', [ + e.recipes.tfc.knapping('create:belt_connector', 'tfc:leather', [ " XXX ", " XXX ", " XXX ", @@ -1093,7 +1108,7 @@ const registerCreateRecipes = (event) => { " XXX ", ]).ingredient('#tfc:leather_knapping').id('tfg:create/shaped/belt_connector') - event.recipes.gtceu.assembler('tfg:create/belt_connector') + e.recipes.gtceu.assembler('tfg:create/belt_connector') .itemInputs('minecraft:leather') .circuit(2) .itemOutputs('create:belt_connector') @@ -1102,12 +1117,12 @@ const registerCreateRecipes = (event) => { //#region Покраска ручек от люка - event.recipes.tfc.barrel_sealed(1000) + e.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`) + e.recipes.gtceu.chemical_bath(`create/valve_handle_decolor`) .itemInputs('#tfg:colored_valve_handles') .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) .itemOutputs('create:copper_valve_handle') @@ -1115,12 +1130,12 @@ const registerCreateRecipes = (event) => { .EUt(4) global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.recipes.tfc.barrel_sealed(1000) + e.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`) + e.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`) @@ -1134,14 +1149,14 @@ const registerCreateRecipes = (event) => { global.MINECRAFT_DYE_NAMES.forEach(dye => { if (dye != 'brown') { - event.remove({ id: `create:create.toolbox.color.block.create.${dye}_toolbox` }) + e.remove({ id: `create:create.toolbox.color.block.create.${dye}_toolbox` }) - event.recipes.tfc.barrel_sealed(1000) + e.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`) + + e.recipes.gtceu.chemical_bath(`create/${dye}_toolbox`) .itemInputs('create:brown_toolbox') .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 96)) .itemOutputs(`create:${dye}_toolbox`) @@ -1155,12 +1170,12 @@ const registerCreateRecipes = (event) => { //#region Покраска сидушек - event.recipes.tfc.barrel_sealed(1000) + e.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`) + e.recipes.gtceu.chemical_bath(`create/seat_decolor`) .itemInputs('#tfg:colored_seats') .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) .itemOutputs('create:white_seat') @@ -1170,12 +1185,12 @@ const registerCreateRecipes = (event) => { global.MINECRAFT_DYE_NAMES.forEach(dye => { if (dye != "white") { - event.recipes.tfc.barrel_sealed(1000) + e.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`) + e.recipes.gtceu.chemical_bath(`create/${dye}_seat`) .itemInputs(`create:white_seat`) .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 144)) .itemOutputs(`create:${dye}_seat`) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 377ba12b6..a403d046a 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -815,10 +815,22 @@ const registerGregTechRecipes = (e) => { //#endregion + //#region Отключение смешивания пылей на верстаке + e.remove({id: 'gtceu:shapeless/dust_brass'}) + e.remove({id: 'gtceu:shapeless/glass_dust_flint'}) + e.remove({id: 'gtceu:shapeless/dust_bronze'}) + e.remove({id: 'gtceu:shapeless/potin_dust'}) + //#endregion + + //#region Дерево + e.remove({ id : 'gtceu:assembler/treated_hanging_sign' }) + e.remove({ id : 'gtceu:assembler/rubber_hanging_sign' }) + //#endregion + //#region Рецепты MaterialInfo //#region Дерево - global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { + global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodName => { e.remove({ id: `gtceu:macerator/macerate_${woodName}_planks` }) e.remove({ id: `gtceu:macerator/macerate_${woodName}_stairs` }) @@ -843,17 +855,17 @@ const registerGregTechRecipes = (e) => { //#region Камень //#region Блок - e.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_stone_ingot_to_block' }) - e.remove({ id: 'gtceu:extruder/extrude_stone_ingot_to_block' }) + // e.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_stone_ingot_to_block' }) + // e.remove({ id: 'gtceu:extruder/extrude_stone_ingot_to_block' }) //#endregion //#region Слитки - e.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot' }) - e.remove({ id: 'gtceu:arc_furnace/arc_stone_block' }) - e.remove({ id: 'gtceu:macerator/macerate_stone_block' }) - e.remove({ id: 'gtceu:cutter/cut_stone_block_to_plate_water' }) - e.remove({ id: 'gtceu:cutter/cut_stone_block_to_plate_distilled_water' }) - e.remove({ id: 'gtceu:cutter/cut_stone_block_to_plate' }) + // e.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot' }) + // e.remove({ id: 'gtceu:arc_furnace/arc_stone_block' }) + // e.remove({ id: 'gtceu:macerator/macerate_stone_block' }) + // e.remove({ id: 'gtceu:cutter/cut_stone_block_to_plate_water' }) + // e.remove({ id: 'gtceu:cutter/cut_stone_block_to_plate_distilled_water' }) + // e.remove({ id: 'gtceu:cutter/cut_stone_block_to_plate' }) //#endregion //#region Стержни @@ -873,7 +885,6 @@ const registerGregTechRecipes = (e) => { .itemOutputs('gtceu:stone_rod', '2x gtceu:small_stone_dust') .EUt(7).duration(20) - //#endregion //#region Пыль @@ -903,7 +914,7 @@ const registerGregTechRecipes = (e) => { e.remove({ id: 'gtceu:macerator/macerate_stone_brick_stairs' }) e.remove({ id: 'gtceu:macerator/macerate_stone_brick_slab' }) e.remove({ id: 'gtceu:macerator/macerate_sandstone_slab' }) - //#endregion + // //#endregion //#region Маленькая пыль e.remove({ id: 'gtceu:macerator/macerate_stone_button' }) @@ -949,12 +960,18 @@ const registerGregTechRecipes = (e) => { e.remove({ id: 'gtceu:macerator/macerate_end_stone' }) //#endregion + //#endregion + + + + + //#endregion //#region Железо //#region Самородок - + //#region Из каменной нажимной плиты e.remove({ id: 'gtceu:arc_furnace/arc_stone_pressure_plate' }) //#endregion @@ -968,650 +985,111 @@ const registerGregTechRecipes = (e) => { e.recipes.gtceu.arc_furnace('tfg:arc_iron_door') .itemInputs('minecraft:iron_door') - .itemOutputs('8x gtceu:iron_nugget') + .itemOutputs('8x minecraft:iron_nugget') .EUt(30).duration(140) //#endregion + + //#region Из контроллера примитивной доменной печи + e.remove({ id: 'gtceu:arc_furnace/arc_primitive_blast_furnace' }) + //#endregion //#endregion - //#region Маленькая пыль + //#region Пыль + //#region Из люка + e.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' }) + //#endregion + + //#endregion + + //#region Маленькая пыль + //#region Из решеток e.remove({ id: 'gtceu:macerator/macerate_iron_bars' }) //#endregion - //#region + //#endregion + + //#region Крошечная пыль + + //#region Из железной двери + e.remove({ id: 'gtceu:macerator/macerate_iron_door' }) + + e.recipes.gtceu.macerator('tfg:iron_door') + .itemInputs('minecraft:iron_door') + .itemOutputs('8x gtceu:tiny_iron_dust') + .EUt(8).duration(120) + //#endregion + + //#region Из контроллера примитивной доменной печи + e.remove({ id: 'gtceu:macerator/macerate_primitive_blast_furnace' }) //#endregion //#endregion //#endregion + //#region Кованное железо - - //#endregion - -} - -const registerGregTechRecipes1 = (e) => { - - - e.recipes.gtceu.macerator('dirt_from_bio_chaff') - .itemInputs('gtceu:bio_chaff') - .itemOutputs('tfc:dirt/loam') - .duration(300) - .EUt(4) - - // TODO: Из пыли лунного грунта - e.remove({ id: 'gtceu:centrifuge/endstone_separation' }) - /* - e.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)*/ - - //#region Выход: Удобрение - - // В обычном миксере - e.recipes.gtceu.mixer('fertilizer') - .itemInputs( - '#tfc:dirt', - '2x #forge:dusts/wood', - '4x #forge:sand' - ) - .circuit(1) - .inputFluids(Fluid.of('minecraft:water', 1000)) - .itemOutputs('4x gtceu:fertilizer') - .duration(300) - .EUt(30) - - // В create миксере - e.recipes.gtceu.create_mixer('fertilizer') - .itemInputs( - '#tfc:dirt', - '2x #forge:dusts/wood', - '4x #forge:sand' - ) - .circuit(1) - .inputFluids(Fluid.of('minecraft:water', 1000)) - .itemOutputs('4x gtceu:fertilizer') - .duration(300) - .EUt(30) - .rpm(96) - - //#endregion - - //#region Выход: Кварцевый песок - - e.shaped('gtceu:quartz_sand_dust', [ - 'A', - 'B' - ], { - A: '#forge:sand', - B: '#forge:tools/mortars' - }).id('gtceu:shaped/quartz_sand') - - e.recipes.gtceu.macerator('quartz_sand_from_sand') - .itemInputs('#forge:sand') - .itemOutputs('gtceu:quartz_sand_dust') - .duration(30) - .EUt(2) - - //#endregion - - //#region Выход: Диоксид силикона - - e.recipes.gtceu.electrolyzer('sand_electrolysis') - .itemInputs('8x #forge:sand') - .itemOutputs('gtceu:silicon_dioxide_dust') - .duration(500) - .EUt(25) - - //#endregion - - //#region Выход: Соленая пыль + Вода - - // Декрафт в центрифуге - e.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) - - // Декрафт в электролайзере - e.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 Выход: Крошечная кучка камня - - e.remove({ id: 'gtceu:macerator/macerate_stone_button' }) - - //#endregion + //#region Слиток - //#region Выход: Маленькая кучка камня - - e.remove({ id: 'gtceu:macerator/macerate_stone_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_stone_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_stone_brick_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_stone_brick_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_sandstone_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_sandstone_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_red_sandstone_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_red_sandstone_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_granite' }) - e.remove({ id: 'gtceu:macerator/macerate_diorite' }) - e.remove({ id: 'gtceu:macerator/macerate_cobblestone_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_andesite' }) - + //#region Из люка + e.remove({ id: 'gtceu:arc_furnace/arc_iron_trapdoor' }) //#endregion - - //#region Выход: Кучка камня - - e.remove({ id: 'gtceu:macerator/macerate_stone_sword' }) - e.remove({ id: 'gtceu:macerator/macerate_stone_shovel' }) - e.remove({ id: 'gtceu:macerator/macerate_stone_pressure_plate' }) - e.remove({ id: 'gtceu:macerator/macerate_stone_pickaxe' }) - e.remove({ id: 'gtceu:macerator/macerate_stone_hoe' }) - e.remove({ id: 'gtceu:macerator/macerate_stone_bricks' }) - e.remove({ id: 'gtceu:macerator/macerate_stone_axe' }) - e.remove({ id: 'gtceu:macerator/macerate_mossy_cobblestone' }) - e.remove({ id: 'gtceu:macerator/macerate_cobblestone_wall' }) - e.remove({ id: 'gtceu:macerator/macerate_cobblestone' }) - e.remove({ id: 'gtceu:macerator/gravel_to_flint' }) - e.remove({ id: 'gtceu:macerator/macerate_furnace' }) //#endregion - //#region Выход: Каменный стержень - - - //#endregion - //#region Выход: Сырая резиновая пыль - - // Из бревна капока - e.recipes.gtceu.extractor('raw_rubber_from_log') - .itemInputs('#tfc:kapok_logs') - .itemOutputs('gtceu:raw_rubber_dust') - .duration(300) - .EUt(2) + //#region Мясо - // Из саженца капока - e.recipes.gtceu.extractor('raw_rubber_from_sapling') - .itemInputs('tfc:wood/sapling/kapok') - .itemOutputs('gtceu:raw_rubber_dust') - .duration(300) - .EUt(2) - - // Из листвы капока - e.recipes.gtceu.extractor('raw_rubber_from_leaves') - .itemInputs('16x tfc:wood/leaves/kapok') - .itemOutputs('gtceu:raw_rubber_dust') - .duration(300) - .EUt(2) - - //#endregion - //#region Выход: Пропитанные доски - - e.remove({ id: 'gtceu:shaped/treated_wood_planks' }) - - e.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 Выход: Капля резины - - // Из латекса - e.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 5000, 300) - .itemOutput('gtceu:sticky_resin') - .id('tfg:pot/sticky_resin') - - // Из бревна капока - e.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) - e.remove({id: 'gtceu:compressor/plant_ball_from_wheat'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_warped_stem'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_crimson_stem'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_tube_coral'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_sugar_cane'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_red_mushroom'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_potato'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_nether_wart'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_horn_coral'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_fire_coral'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_carrot'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_cactus'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_bubble_coral'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_brown_mushroom'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_brain_coral'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_beetroot'}) - e.remove({id: 'gtceu:compressor/plant_ball_from_moss'}) - - e.recipes.gtceu.compressor('plant_ball_from_tfc_seeds') - .itemInputs('8x #tfc:seeds') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - e.recipes.gtceu.compressor('plant_ball_from_tfc_food') - .itemInputs('8x #tfc:foods') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - e.recipes.gtceu.compressor('plant_ball_from_tfc_plants') - .itemInputs('8x #tfc:plants') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - e.recipes.gtceu.compressor('plant_ball_from_tfc_corals') - .itemInputs('8x #tfc:corals') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - //#endregion - - //#region Выход: Биомасса - - // Ванильная растительность -> Биомасса (Brewery) - e.remove({id: 'gtceu:brewery/biomass_from_sugar_cane'}) - e.remove({id: 'gtceu:brewery/biomass_from_red_mushroom'}) - e.remove({id: 'gtceu:brewery/biomass_from_potato'}) - e.remove({id: 'gtceu:brewery/biomass_from_carrot'}) - e.remove({id: 'gtceu:brewery/biomass_from_cactus'}) - e.remove({id: 'gtceu:brewery/biomass_from_brown_mushroom'}) - e.remove({id: 'gtceu:brewery/biomass_from_beetroot'}) - - e.recipes.gtceu.brewery('biomass_from_tfc_seeds') - .itemInputs('#tfc:seeds') - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(128) - .EUt(3) - - e.recipes.gtceu.brewery('biomass_from_tfc_food') - .itemInputs('#tfc:foods') - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(128) - .EUt(3) - - e.recipes.gtceu.brewery('biomass_from_tfc_plants') - .itemInputs('#tfc:plants') - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(128) - .EUt(3) - - e.recipes.gtceu.brewery('biomass_from_tfc_corals') - .itemInputs('#tfc:corals') - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(128) - .EUt(3) - - //#endregion - - //#region Выход: Рыбье масло - - e.remove({ id: 'gtceu:extractor/fish_oil_from_tropical_fish' }) - e.remove({ id: 'gtceu:extractor/fish_oil_from_salmon' }) - e.remove({ id: 'gtceu:extractor/fish_oil_from_pufferfish' }) - e.remove({ id: 'gtceu:extractor/fish_oil_from_cod' }) - - e.recipes.gtceu.extractor(`tfg/fish_oil`) - .itemInputs('#minecraft:fishes') - .outputFluids(Fluid.of('gtceu:fish_oil', 40)) - .duration(16) - .EUt(4) - - //#endregion - - //#region Выход: Семянное масло - - e.remove({ id: 'gtceu:extractor/seed_oil_from_tag_seeds' }) - e.remove({ id: 'gtceu:extractor/seed_oil_from_pumpkin' }) - e.remove({ id: 'gtceu:extractor/seed_oil_from_melon' }) - e.remove({ id: 'gtceu:extractor/seed_oil_from_beetroot' }) - - e.recipes.gtceu.extractor(`tfg/seed_oil`) - .itemInputs('#tfc:seeds') - .outputFluids(Fluid.of('gtceu:seed_oil', 16)) - .duration(32) - .EUt(2) - - //#endregion - - //#region Выход: Цемент - - generateMixerRecipe( - e, - ['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( - e, - ['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( - e, - ['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( - e, - ['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 Выход: Крошечная кучка дерева - - e.remove({ id: 'gtceu:macerator/macerate_warped_button' }) - e.remove({ id: 'gtceu:macerator/macerate_spruce_button' }) - e.remove({ id: 'gtceu:macerator/macerate_oak_button' }) - e.remove({ id: 'gtceu:macerator/macerate_mangrove_button' }) - e.remove({ id: 'gtceu:macerator/macerate_jungle_button' }) - e.remove({ id: 'gtceu:macerator/macerate_dark_oak_button' }) - e.remove({ id: 'gtceu:macerator/macerate_crimson_button' }) - e.remove({ id: 'gtceu:macerator/macerate_cherry_button' }) - e.remove({ id: 'gtceu:macerator/macerate_birch_button' }) - e.remove({ id: 'gtceu:macerator/macerate_acacia_button' }) - - //#endregion - - //#region Выход: Маленькая кучка дерева - - e.remove({ id: 'gtceu:macerator/macerate_wooden_sword' }) - e.remove({ id: 'gtceu:macerator/macerate_wooden_shovel' }) - e.remove({ id: 'gtceu:macerator/macerate_wooden_pickaxe' }) - e.remove({ id: 'gtceu:macerator/macerate_wooden_hoe' }) - e.remove({ id: 'gtceu:macerator/macerate_wooden_axe' }) - e.remove({ id: 'gtceu:macerator/macerate_warped_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_warped_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_spruce_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_spruce_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_oak_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_oak_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_mangrove_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_mangrove_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_jungle_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_jungle_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_iron_sword' }) - e.remove({ id: 'gtceu:macerator/macerate_iron_shovel' }) - e.remove({ id: 'gtceu:macerator/macerate_iron_pickaxe' }) - e.remove({ id: 'gtceu:macerator/macerate_iron_hoe' }) - e.remove({ id: 'gtceu:macerator/macerate_iron_axe' }) - e.remove({ id: 'gtceu:macerator/macerate_golden_sword' }) - e.remove({ id: 'gtceu:macerator/macerate_golden_shovel' }) - e.remove({ id: 'gtceu:macerator/macerate_golden_pickaxe' }) - e.remove({ id: 'gtceu:macerator/macerate_golden_hoe' }) - e.remove({ id: 'gtceu:macerator/macerate_golden_axe' }) - e.remove({ id: 'gtceu:macerator/macerate_diamond_sword' }) - e.remove({ id: 'gtceu:macerator/macerate_diamond_shovel' }) - e.remove({ id: 'gtceu:macerator/macerate_diamond_pickaxe' }) - e.remove({ id: 'gtceu:macerator/macerate_diamond_hoe' }) - e.remove({ id: 'gtceu:macerator/macerate_diamond_axe' }) - e.remove({ id: 'gtceu:macerator/macerate_dark_oak_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_dark_oak_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_crimson_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_crimson_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_cherry_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_cherry_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_birch_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_birch_slab' }) - e.remove({ id: 'gtceu:macerator/macerate_acacia_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_acacia_slab' }) - - //#endregion - - //#region Выход: Деревянная пыль - - e.remove({id: 'gtceu:macerator/macerate_trapped_chest'}) - e.remove({id: 'gtceu:macerator/macerate_spruce_planks'}) - e.remove({id: 'gtceu:macerator/macerate_spruce_fence_gate'}) - e.remove({id: 'gtceu:macerator/macerate_spruce_fence'}) - e.remove({id: 'gtceu:macerator/macerate_spruce_door'}) - e.remove({id: 'gtceu:macerator/macerate_spruce_boat'}) - e.remove({id: 'gtceu:macerator/macerate_oak_planks'}) - e.remove({id: 'gtceu:macerator/macerate_oak_fence_gate'}) - e.remove({id: 'gtceu:macerator/macerate_oak_fence'}) - e.remove({id: 'gtceu:macerator/macerate_oak_door'}) - e.remove({id: 'gtceu:macerator/macerate_oak_boat'}) - e.remove({id: 'gtceu:macerator/macerate_mangrove_planks'}) - e.remove({id: 'gtceu:macerator/macerate_mangrove_fence_gate'}) - e.remove({id: 'gtceu:macerator/macerate_mangrove_fence'}) - e.remove({id: 'gtceu:macerator/macerate_mangrove_door'}) - e.remove({id: 'gtceu:macerator/macerate_mangrove_boat'}) - e.remove({id: 'gtceu:macerator/macerate_jungle_planks'}) - e.remove({id: 'gtceu:macerator/macerate_jungle_fence_gate'}) - e.remove({id: 'gtceu:macerator/macerate_jungle_fence'}) - e.remove({id: 'gtceu:macerator/macerate_jungle_door'}) - e.remove({id: 'gtceu:macerator/macerate_jungle_boat'}) - e.remove({id: 'gtceu:macerator/macerate_dark_oak_planks'}) - e.remove({id: 'gtceu:macerator/macerate_dark_oak_fence_gate'}) - e.remove({id: 'gtceu:macerator/macerate_dark_oak_fence'}) - e.remove({id: 'gtceu:macerator/macerate_dark_oak_door'}) - e.remove({id: 'gtceu:macerator/macerate_dark_oak_boat'}) - e.remove({id: 'gtceu:macerator/macerate_crafting_table'}) - e.remove({id: 'gtceu:macerator/macerate_chest'}) - e.remove({id: 'gtceu:macerator/macerate_chest_minecart'}) - e.remove({id: 'gtceu:macerator/macerate_cherry_planks'}) - e.remove({id: 'gtceu:macerator/macerate_cherry_fence_gate'}) - e.remove({id: 'gtceu:macerator/macerate_cherry_fence'}) - e.remove({id: 'gtceu:macerator/macerate_cherry_door'}) - e.remove({id: 'gtceu:macerator/macerate_cherry_boat'}) - e.remove({id: 'gtceu:macerator/macerate_bookshelf'}) - e.remove({id: 'gtceu:macerator/macerate_birch_planks'}) - e.remove({id: 'gtceu:macerator/macerate_birch_fence_gate'}) - e.remove({id: 'gtceu:macerator/macerate_birch_fence'}) - e.remove({id: 'gtceu:macerator/macerate_birch_door'}) - e.remove({id: 'gtceu:macerator/macerate_birch_boat'}) - e.remove({id: 'gtceu:macerator/macerate_acacia_planks'}) - e.remove({id: 'gtceu:macerator/macerate_acacia_fence_gate'}) - e.remove({id: 'gtceu:macerator/macerate_acacia_fence'}) - e.remove({id: 'gtceu:macerator/macerate_acacia_door'}) - e.remove({id: 'gtceu:macerator/macerate_acacia_boat'}) - e.remove({id: 'gtceu:macerator/macerate_bamboo_raft'}) - e.remove({id: 'gtceu:macerator/macerate_crimson_door'}) - e.remove({id: 'gtceu:macerator/macerate_crimson_fence'}) - e.remove({id: 'gtceu:macerator/macerate_crimson_fence_gate'}) - e.remove({id: 'gtceu:macerator/macerate_crimson_planks'}) - e.remove({id: 'gtceu:macerator/macerate_warped_door'}) - e.remove({id: 'gtceu:macerator/macerate_warped_fence'}) - e.remove({id: 'gtceu:macerator/macerate_warped_fence_gate'}) - e.remove({id: 'gtceu:macerator/macerate_warped_planks'}) - - //#endregion - - //#region Выход: Бумажная пыль - - e.remove({ id: 'gtceu:shaped/paper_dust' }) - - //#endregion - - //#region Выход: Метан - - e.remove({ id: 'gtceu:centrifuge/red_mushroom_separation' }) - e.remove({ id: 'gtceu:centrifuge/brown_mushroom_separation' }) - - //#endregion - - //#region Выход: Маленькая кучка мяса + //#region Пыль мяса + e.remove({ id: 'gtceu:macerator/macerate_chicken' }) e.remove({ id: 'gtceu:macerator/macerate_steak' }) e.remove({ id: 'gtceu:macerator/macerate_rabbit' }) + e.remove({ id: 'gtceu:macerator/macerate_mutton' }) e.remove({ id: 'gtceu:macerator/macerate_pork_chop' }) - //#endregion - - //#region Выход: Пыль мяса - - e.remove({ id: 'gtceu:macerator/macerate_mutton' }) - e.remove({ id: 'gtceu:macerator/macerate_chicken' }) - - e.recipes.gtceu.macerator('macerate_meat_to_dust') + e.recipes.gtceu.macerator('tfg:macerate_tfg_meat_to_dust') .itemInputs('#tfc:foods/meats') .itemOutputs('gtceu:meat_dust', 'gtceu:tiny_bone_dust') - .duration(100) - .EUt(2) + .EUt(2).duration(120) + //#endregion //#endregion - - //#region Выход: Пшеничная пыль + //#region Пшеница e.remove({ id: 'gtceu:shapeless/wheat_to_dust' }) + e.shapeless('gtceu:wheat_dust', [ + '#forge:tools/mortars', + 'tfc:food/wheat', + ]).id('tfg:shaped/wheat_to_dust') + e.remove({ id: 'gtceu:macerator/macerate_wheat' }) - e.remove({ id: 'gtceu:macerator/macerate_hay_block' }) + e.recipes.gtceu.macerator('tfg:macerate_wheat') + .itemInputs('tfc:food/wheat') + .itemOutputs('gtceu:wheat_dust') + .EUt(2).duration(150) + + //#region Пыль //#endregion - //#region Выход: Пыль какао-бобов - - e.recipes.gtceu.assembler('macerate_cocoa') - .itemInputs('firmalife:food/cocoa_beans') - .itemOutputs('gtceu:cocoa_dust') - .duration(400) - .EUt(2) + //#endregion //#endregion - //#region Выход: Слиток кованного железа - - e.remove({ id: 'gtceu:arc_furnace/arc_chest_minecart' }) - e.remove({ id: 'gtceu:arc_furnace/arc_iron_trapdoor' }) - e.remove({ id: 'gtceu:arc_furnace/arc_damaged_anvil' }) - e.remove({ id: 'gtceu:arc_furnace/arc_chipped_anvil' }) - e.remove({ id: 'gtceu:arc_furnace/arc_anvil' }) - e.remove({ id: 'gtceu:arc_furnace/arc_furnace_minecart' }) - e.remove({ id: 'gtceu:arc_furnace/arc_compass' }) - + //#region Рецепты примитивной помпы + e.remove('gtceu:shaped/pump_deck') + e.remove('gtceu:shaped/pump_hatch') + e.remove('gtceu:shaped/primitive_pump') //#endregion - //#region Выход: Кованные самородки - - e.remove({ id: 'gtceu:arc_furnace/arc_iron_bars' }) - - //#endregion - - //#region Выход: Железная пыль - - e.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' }) - e.remove({ id: 'gtceu:macerator/macerate_damaged_anvil' }) - e.remove({ id: 'gtceu:macerator/macerate_chipped_anvil' }) - e.remove({ id: 'gtceu:macerator/macerate_anvil' }) - e.remove({ id: 'gtceu:macerator/macerate_furnace_minecart' }) - e.remove({ id: 'gtceu:macerator/macerate_bucket' }) - e.remove({ id: 'gtceu:macerator/macerate_compass' }) - - //#endregion - - //#region Выход: Крошечная железная пыль - - e.remove({ id: 'gtceu:macerator/macerate_iron_bars' }) - - //#endregion - - //#region Выход: Крошечная пыль золы - - e.remove({ id: 'gtceu:arc_furnace/arc_bookshelf' }) - - //#endregion - - //#region Выход: Пыль незерака - - e.remove({ id: 'gtceu:macerator/macerate_nether_brick_stairs' }) - e.remove({ id: 'gtceu:macerator/macerate_nether_brick_slab' }) - - //#endregion - - //#region Выход: Пыль базальта - - e.remove({ id: 'gtceu:macerator/macerate_basalt' }) - - //#endregion - - //#region Выход: Filter Casing - - e.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 + //#region Assembly Line Grating + e.remove({ id: 'gtceu:shaped/casing_grate_casing' }) e.shaped('2x gtceu:assembly_line_grating', [ 'ABA', @@ -1622,12 +1100,26 @@ const registerGregTechRecipes1 = (e) => { B: '#forge:rotors/steel', C: 'gtceu:steel_frame', D: 'gtceu:mv_electric_motor' - }).id('gtceu:shaped/casing_grate_casing') - + }).id('tfg:workbench/casing_grate_casing') + //#endregion + + //#region Filter Casing + e.remove({ id: 'gtceu:shaped/filter_casing' }) + e.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('tfg:workbench/filter_casing') //#endregion //#region Gas Collectors - + e.remove({ id: 'gtceu:shaped/lv_gas_collector' }) e.shaped('gtceu:lv_gas_collector', [ 'ABA', 'CEC', @@ -1638,8 +1130,9 @@ const registerGregTechRecipes1 = (e) => { C: 'gtceu:lv_electric_pump', D: '#gtceu:circuits/lv', E: 'gtceu:lv_machine_hull' - }).id('gtceu:shaped/lv_gas_collector') + }).id('tfg:workbench/lv_gas_collector') + e.remove({ id: 'gtceu:shaped/mv_gas_collector' }) e.shaped('gtceu:mv_gas_collector', [ 'ABA', 'CEC', @@ -1650,8 +1143,9 @@ const registerGregTechRecipes1 = (e) => { C: 'gtceu:mv_electric_pump', D: '#gtceu:circuits/mv', E: 'gtceu:mv_machine_hull' - }).id('gtceu:shaped/mv_gas_collector') + }).id('tfg:workbench/mv_gas_collector') + e.remove({ id: 'gtceu:shaped/hv_gas_collector' }) e.shaped('gtceu:hv_gas_collector', [ 'ABA', 'CEC', @@ -1662,8 +1156,9 @@ const registerGregTechRecipes1 = (e) => { C: 'gtceu:hv_electric_pump', D: '#gtceu:circuits/hv', E: 'gtceu:hv_machine_hull' - }).id('gtceu:shaped/hv_gas_collector') + }).id('tfg:workbench/hv_gas_collector') + e.remove({ id: 'gtceu:shaped/ev_gas_collector' }) e.shaped('gtceu:ev_gas_collector', [ 'ABA', 'CEC', @@ -1674,8 +1169,9 @@ const registerGregTechRecipes1 = (e) => { C: 'gtceu:ev_electric_pump', D: '#gtceu:circuits/ev', E: 'gtceu:ev_machine_hull' - }).id('gtceu:shaped/ev_gas_collector') + }).id('tfg:workbench/ev_gas_collector') + e.remove({ id: 'gtceu:shaped/iv_gas_collector' }) e.shaped('gtceu:iv_gas_collector', [ 'ABA', 'CEC', @@ -1686,8 +1182,9 @@ const registerGregTechRecipes1 = (e) => { C: 'gtceu:iv_electric_pump', D: '#gtceu:circuits/iv', E: 'gtceu:iv_machine_hull' - }).id('gtceu:shaped/iv_gas_collector') + }).id('tfg:workbench/iv_gas_collector') + e.remove({ id: 'gtceu:shaped/luv_gas_collector' }) e.shaped('gtceu:luv_gas_collector', [ 'ABA', 'CEC', @@ -1698,8 +1195,9 @@ const registerGregTechRecipes1 = (e) => { C: 'gtceu:luv_electric_pump', D: '#gtceu:circuits/luv', E: 'gtceu:luv_machine_hull' - }).id('gtceu:shaped/luv_gas_collector') + }).id('tfg:workbench/luv_gas_collector') + e.remove({ id: 'gtceu:shaped/zpm_gas_collector' }) e.shaped('gtceu:zpm_gas_collector', [ 'ABA', 'CEC', @@ -1710,8 +1208,9 @@ const registerGregTechRecipes1 = (e) => { C: 'gtceu:zpm_electric_pump', D: '#gtceu:circuits/zpm', E: 'gtceu:zpm_machine_hull' - }).id('gtceu:shaped/zpm_gas_collector') + }).id('tfg:workbench/zpm_gas_collector') + e.remove({ id: 'gtceu:shaped/uv_gas_collector' }) e.shaped('gtceu:uv_gas_collector', [ 'ABA', 'CEC', @@ -1722,12 +1221,17 @@ const registerGregTechRecipes1 = (e) => { C: 'gtceu:uv_electric_pump', D: '#gtceu:circuits/uv', E: 'gtceu:uv_machine_hull' - }).id('gtceu:shaped/uv_gas_collector') - + }).id('tfg:workbench/uv_gas_collector') + + e.remove({ id: 'gtceu:shaped/uhv_gas_collector' }) + e.remove({ id: 'gtceu:shaped/uev_gas_collector' }) + e.remove({ id: 'gtceu:shaped/uiv_gas_collector' }) + e.remove({ id: 'gtceu:shaped/uxv_gas_collector' }) + e.remove({ id: 'gtceu:shaped/opv_gas_collector' }) //#endregion //#region Forge Hammers - + e.remove({ id: 'gtceu:shaped/lv_forge_hammer' }) e.shaped('gtceu:lv_forge_hammer', [ 'ABA', 'CDC', @@ -1738,8 +1242,9 @@ const registerGregTechRecipes1 = (e) => { C: '#gtceu:circuits/lv', D: 'gtceu:lv_machine_hull', E: 'tfc:metal/anvil/steel', - }).id('gtceu:shaped/lv_forge_hammer') + }).id('tfg:shaped/lv_forge_hammer') + e.remove({ id: 'gtceu:shaped/mv_forge_hammer' }) e.shaped('gtceu:mv_forge_hammer', [ 'ABA', 'CDC', @@ -1750,8 +1255,9 @@ const registerGregTechRecipes1 = (e) => { C: '#gtceu:circuits/mv', D: 'gtceu:mv_machine_hull', E: 'tfc:metal/anvil/steel', - }).id('gtceu:shaped/mv_forge_hammer') + }).id('tfg:shaped/mv_forge_hammer') + e.remove({ id: 'gtceu:shaped/hv_forge_hammer' }) e.shaped('gtceu:hv_forge_hammer', [ 'ABA', 'CDC', @@ -1762,8 +1268,9 @@ const registerGregTechRecipes1 = (e) => { C: '#gtceu:circuits/hv', D: 'gtceu:hv_machine_hull', E: 'tfc:metal/anvil/steel', - }).id('gtceu:shaped/hv_forge_hammer') + }).id('tfg:shaped/hv_forge_hammer') + e.remove({ id: 'gtceu:shaped/ev_forge_hammer' }) e.shaped('gtceu:ev_forge_hammer', [ 'ABA', 'CDC', @@ -1774,8 +1281,9 @@ const registerGregTechRecipes1 = (e) => { C: '#gtceu:circuits/ev', D: 'gtceu:ev_machine_hull', E: 'tfc:metal/anvil/black_steel', - }).id('gtceu:shaped/ev_forge_hammer') + }).id('tfg:shaped/ev_forge_hammer') + e.remove({ id: 'gtceu:shaped/iv_forge_hammer' }) e.shaped('gtceu:iv_forge_hammer', [ 'ABA', 'CDC', @@ -1786,8 +1294,9 @@ const registerGregTechRecipes1 = (e) => { C: '#gtceu:circuits/iv', D: 'gtceu:iv_machine_hull', E: 'tfc:metal/anvil/black_steel', - }).id('gtceu:shaped/iv_forge_hammer') + }).id('tfg:shaped/iv_forge_hammer') + e.remove({ id: 'gtceu:shaped/luv_forge_hammer' }) e.shaped('gtceu:luv_forge_hammer', [ 'ABA', 'CDC', @@ -1798,8 +1307,9 @@ const registerGregTechRecipes1 = (e) => { C: '#gtceu:circuits/luv', D: 'gtceu:luv_machine_hull', E: 'tfc:metal/anvil/black_steel', - }).id('gtceu:shaped/luv_forge_hammer') + }).id('tfg:shaped/luv_forge_hammer') + e.remove({ id: 'gtceu:shaped/zpm_forge_hammer' }) e.shaped('gtceu:zpm_forge_hammer', [ 'ABA', 'CDC', @@ -1810,8 +1320,9 @@ const registerGregTechRecipes1 = (e) => { C: '#gtceu:circuits/zpm', D: 'gtceu:zpm_machine_hull', E: '#tfg:tier_6_anvil', - }).id('gtceu:shaped/zpm_forge_hammer') + }).id('tfg:shaped/zpm_forge_hammer') + e.remove({ id: 'gtceu:shaped/uv_forge_hammer' }) e.shaped('gtceu:uv_forge_hammer', [ 'ABA', 'CDC', @@ -1822,188 +1333,425 @@ const registerGregTechRecipes1 = (e) => { C: '#gtceu:circuits/uv', D: 'gtceu:uv_machine_hull', E: '#tfg:tier_6_anvil', - }).id('gtceu:shaped/uv_forge_hammer') + }).id('tfg:shaped/uv_forge_hammer') + + e.remove({ id: 'gtceu:shaped/uhv_forge_hammer' }) + e.remove({ id: 'gtceu:shaped/uev_forge_hammer' }) + e.remove({ id: 'gtceu:shaped/uiv_forge_hammer' }) + e.remove({ id: 'gtceu:shaped/uiv_forge_hammer' }) + e.remove({ id: 'gtceu:shaped/uiv_forge_hammer' }) + e.remove({ id: 'gtceu:shaped/uiv_forge_hammer' }) + //#endregion + + //#region Удобрение + e.remove({ id: 'gtceu:mixer/fertilizer' }) + e.remove({ id: 'gtceu:create_mixer/fertilizer' }) + + e.recipes.gtceu.mixer('tfg:fertilizer') + .itemInputs( + '#tfc:dirt', + '2x #forge:dusts/wood', + '4x #forge:sand' + ) + .circuit(1) + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('4x gtceu:fertilizer') + .EUt(30).duration(300) + + //#endregion + + //#region TODO: ДЕКРАФТ ЭНД КАМНЯ В ГОВНО + // TODO: Из пыли лунного грунта + e.remove({ id: 'gtceu:centrifuge/endstone_separation' }) + + /* + e.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)*/ //#endregion - //#region CokeOven + //#region Кварцевый песок + e.remove({ id: 'gtceu:shaped/quartz_sand' }) + e.shaped('gtceu:quartz_sand_dust', [ + 'A', + 'B' + ], { + A: '#forge:sand', + B: '#forge:tools/mortars' + }).id('tfg:shaped/quartz_sand') - // Coke Oven + e.remove({ id: 'gtceu:macerator/quartz_sand_from_sand' }) + e.recipes.gtceu.macerator('tfg:quartz_sand_from_sand') + .itemInputs('#forge:sand') + .itemOutputs('gtceu:quartz_sand_dust') + .EUt(2).duration(30) + //#endregion + + //#region Диоксид силикона + e.remove({ id: 'gtceu:electrolyzer/sand_electrolysis' }) + e.recipes.gtceu.electrolyzer('tfg:sand_electrolysis') + .itemInputs('8x #forge:sand') + .itemOutputs('gtceu:silicon_dioxide_dust') + .EUt(25).duration(500) + //#endregion + + //#region Соленая пыль + Вода + + // Декрафт в центрифуге + e.recipes.gtceu.centrifuge('tfg: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) + + // Декрафт в электролайзере + e.recipes.gtceu.electrolyzer('tfg: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 Сырая резиновая пыль + + // Из бревна капока + e.remove({ id: 'gtceu:extractor/raw_rubber_from_log' }) + e.recipes.gtceu.extractor('tfg:raw_rubber_from_log') + .itemInputs('#tfc:kapok_logs') + .itemOutputs('gtceu:raw_rubber_dust') + .EUt(2).duration(300) + + // Из саженца капока + e.remove({ id: 'gtceu:extractor/raw_rubber_from_sapling' }) + e.recipes.gtceu.extractor('tfg:raw_rubber_from_sapling') + .itemInputs('tfc:wood/sapling/kapok') + .itemOutputs('gtceu:raw_rubber_dust') + .EUt(2).duration(300) + + // Из листвы капока + e.remove({ id: 'gtceu:extractor/raw_rubber_from_leaves' }) + e.recipes.gtceu.extractor('tfg:raw_rubber_from_leaves') + .itemInputs('16x tfc:wood/leaves/kapok') + .itemOutputs('gtceu:raw_rubber_dust') + .EUt(2).duration(300) + //#endregion + + //#region Пропитанные доски + e.remove({ id: 'gtceu:shaped/treated_wood_planks' }) + + e.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 Капля резины + + // Из латекса + e.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 5000, 300) + .itemOutput('gtceu:sticky_resin') + .id('tfg:pot/sticky_resin') + + // Из бревна капока + e.remove({ id: 'gtceu:centrifuge/rubber_log_separation' }) + e.recipes.gtceu.centrifuge('tfg: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)) + .EUt(20).duration(200) + //#endregion + + //#region Растительный шарик + + //#region В компрессоре + e.remove({ id: 'gtceu:compressor/plant_ball_from_wheat' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_beetroot' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_red_mushroom' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_nether_wart' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_bubble_coral' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_potato' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_brain_coral' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_warped_stem' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_brown_mushroom' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_horn_coral' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_cactus' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_crimson_stem' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_sugar_cane' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_moss' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_carrot' }) + + e.recipes.gtceu.compressor('tfg:plant_ball_from_tfc_seeds') + .itemInputs('8x #tfc:seeds') + .itemOutputs('gtceu:plant_ball') + .EUt(2).duration(300) + + e.recipes.gtceu.compressor('tfg:plant_ball_from_tfc_food') + .itemInputs('8x #tfc:foods') + .itemOutputs('gtceu:plant_ball') + .EUt(2).duration(300) + + e.recipes.gtceu.compressor('tfg:plant_ball_from_tfc_plants') + .itemInputs('8x #tfc:plants') + .itemOutputs('gtceu:plant_ball') + .EUt(2).duration(300) + + e.recipes.gtceu.compressor('tfg:plant_ball_from_tfc_corals') + .itemInputs('8x #tfc:corals') + .itemOutputs('gtceu:plant_ball') + .EUt(2).duration(300) + + e.recipes.gtceu.compressor('tfg:plant_ball_from_beneath_') + .itemInputs('8x #tfc:corals') + .itemOutputs('gtceu:plant_ball') + .EUt(2).duration(300) + + //#endregion + + //#region В центрифуге + + // Из земли + e.recipes.gtceu.centrifuge('tfg:dirt_separation') + .itemInputs('#tfc:dirt') + .chancedOutput('gtceu:plant_ball', 1250, 700) + .chancedOutput('tfc:sand/yellow', 5000, 500) + .chancedOutput('gtceu:clay_dust', 450, 100) + .EUt(302).duration(150) + + + // Из земли с травой + e.recipes.gtceu.centrifuge('tfg:grass_block_separation') + .itemInputs('#tfc:grass') + .chancedOutput('gtceu:plant_ball', 3000, 700) + .chancedOutput('tfc:sand/yellow', 5000, 500) + .chancedOutput('gtceu:clay_dust', 450, 100) + .EUt(302).duration(150) + + //#endregion + + //#endregion + + //#region Биомасса + e.remove({ id: 'gtceu:brewery/biomass_from_sugar_cane' }) + e.remove({ id: 'gtceu:brewery/biomass_from_red_mushroom' }) + e.remove({ id: 'gtceu:brewery/biomass_from_potato' }) + e.remove({ id: 'gtceu:brewery/biomass_from_carrot' }) + e.remove({ id: 'gtceu:brewery/biomass_from_cactus' }) + e.remove({ id: 'gtceu:brewery/biomass_from_brown_mushroom' }) + e.remove({ id: 'gtceu:brewery/biomass_from_beetroot' }) + + e.recipes.gtceu.brewery('tfg:biomass_from_tfc_seeds') + .itemInputs('#tfc:seeds') + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .EUt(3).duration(128) + + + e.recipes.gtceu.brewery('tfg:biomass_from_tfc_food') + .itemInputs('#tfc:foods') + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .EUt(3).duration(128) + + + e.recipes.gtceu.brewery('tfg:biomass_from_tfc_plants') + .itemInputs('#tfc:plants') + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .EUt(3).duration(128) + + + e.recipes.gtceu.brewery('tfg:biomass_from_tfc_corals') + .itemInputs('#tfc:corals') + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .EUt(3).duration(128) + + //#endregion + + //#region Рыбье масло + e.remove({ id: 'gtceu:extractor/fish_oil_from_tropical_fish' }) + e.remove({ id: 'gtceu:extractor/fish_oil_from_salmon' }) + e.remove({ id: 'gtceu:extractor/fish_oil_from_pufferfish' }) + e.remove({ id: 'gtceu:extractor/fish_oil_from_cod' }) + + e.recipes.gtceu.extractor(`tfg:fish_oil`) + .itemInputs('#minecraft:fishes') + .outputFluids(Fluid.of('gtceu:fish_oil', 40)) + .EUt(4).duration(16) + //#endregion + + //#region Семянное масло + e.remove({ id: 'gtceu:extractor/seed_oil_from_wheat_seeds' }) + e.remove({ id: 'gtceu:extractor/seed_oil_from_pumpkin' }) + e.remove({ id: 'gtceu:extractor/seed_oil_from_melon' }) + e.remove({ id: 'gtceu:extractor/seed_oil_from_beetroot' }) + e.remove({ id: 'gtceu:extractor/seed_oil_from_torchflower' }) + + e.recipes.gtceu.extractor(`tfg:seed_oil`) + .itemInputs('#tfc:seeds') + .outputFluids(Fluid.of('gtceu:seed_oil', 16)) + .EUt(2).duration(32) + //#endregion + + //#region Пыль бетона + e.remove({ id: 'gtceu:mixer/concrete_from_marble' }) + e.recipes.gtceu.mixer('tfg:concrete_from_marble') + .itemInputs('2x #tfg:stone_dusts', 'gtceu:marble_dust', 'gtceu:gypsum_dust') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('gtceu:concrete', 1152)) + .EUt(16).duration(40) + + e.remove({ id: 'gtceu:mixer/concrete_from_clay' }) + e.recipes.gtceu.mixer('tfg:concrete_from_clay') + .itemInputs('3x #tfg:stone_dusts', 'gtceu:clay_dust') + .inputFluids(Fluid.of('minecraft:water', 500)) + .outputFluids(Fluid.of('gtceu:concrete', 576)) + .EUt(16).duration(20) + + e.remove({ id: 'gtceu:mixer/concrete_from_calcite' }) + e.recipes.gtceu.mixer('tfg:concrete_from_calcite') + .itemInputs('3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('gtceu:concrete', 1152)) + .EUt(16).duration(40) + //#endregion + + //#region Бурильная жидкость + e.remove({ id: 'gtceu:mixer/drilling_fluid' }) + e.recipes.gtceu.mixer('tfg:drilling_fluid') + .itemInputs('2x #tfg:stone_dusts') + .inputFluids(Fluid.of('gtceu:lubricant', 20), Fluid.of('minecraft:water', 4000)) + .outputFluids(Fluid.of('gtceu:drilling_fluid', 5000)) + .EUt(16).duration(65) + + e.remove({ id: 'gtceu:mixer/drilling_fluid_distilled' }) + e.recipes.gtceu.mixer('tfg:drilling_fluid_distilled') + .itemInputs('2x #tfg:stone_dusts') + .inputFluids(Fluid.of('gtceu:lubricant', 20), Fluid.of('gtceu:distilled_water', 4000)) + .outputFluids(Fluid.of('gtceu:drilling_fluid', 5000)) + .EUt(16).duration(65) + //#endregion + + //#region Бумажная пыль + e.remove({ id: 'gtceu:shaped/paper_dust' }) + + e.shaped('2x gtceu:paper_dust', [ + 'AAA', + ' B ' + ], { + A: 'tfc:unrefined_paper', + B: '#forge:tools/mortars' + }).id('tfg:shaped/paper_dust_from_papyrus') + //#endregion + + //#region Метан + e.remove({ id: 'gtceu:centrifuge/red_mushroom_separation' }) + e.remove({ id: 'gtceu:centrifuge/brown_mushroom_separation' }) + //#endregion + + //#region Пыль какао-бобов + e.remove({ id: 'gtceu:macerator/macerate_cocoa' }) + e.recipes.gtceu.assembler('tfg:macerate_cocoa') + .itemInputs('firmalife:food/cocoa_beans') + .itemOutputs('gtceu:cocoa_dust') + .EUt(2).duration(400) + //#endregion + + //#region Коксовая печь + + //#region Контроллер + e.remove({ id: 'gtceu:shaped/coke_oven' }) e.shaped('gtceu:coke_oven', [ 'ABA', 'BCB', 'ABA' ], { A: 'gtceu:coke_oven_bricks', - B: '#forge:plates/wrought_iron', + B: '#tfg:all_iron_plates', C: '#forge:tools/wrenches' - }).id('gtceu:shaped/coke_oven') + }).id('tfg:shaped/coke_oven') + //#endregion - // Coke Oven Hatch + //#region Люк + e.remove({ id: 'gtceu:shaped/coke_oven_hatch' }) e.shaped('gtceu:coke_oven_hatch', [ - 'AB' + 'ABC' ], { A: 'gtceu:coke_oven_bricks', - B: '#tfc:barrels' - }).id('gtceu:shaped/coke_oven_hatch') + B: '#tfc:barrels', + C: '#forge:chests/wooden' + }).id('tfg:shaped/coke_oven_hatch') + //#endregion //#endregion - //#region Выход: Слиток камня + //#region Одноблочный бронзовый бойлер + e.remove({ id: 'gtceu:shaped/steam_boiler_coal_bronze' }) - e.remove({id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot'}) - - //#endregion - - //#region Выход: Бронзовые машины (Плюс их декрафты) - - e.remove({ id: 'gtceu:shaped/bronze_hull' }) - e.remove({ id: 'gtceu:arc_furnace/arc_bronze_machine_casing' }) - e.remove({ id: 'gtceu:macerator/macerate_bronze_machine_casing' }) - - e.remove({ id: 'gtceu:shaped/steam_extractor_bronze' }) - e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_extractor' }) - e.remove({ id: 'gtceu:macerator/macerate_lp_steam_extractor' }) - - e.remove({ id: 'gtceu:shaped/steam_macerator_bronze' }) - e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_macerator' }) - e.remove({ id: 'gtceu:macerator/macerate_lp_steam_macerator' }) - - e.remove({ id: 'gtceu:shaped/steam_compressor_bronze' }) - e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_compressor' }) - e.remove({ id: 'gtceu:macerator/macerate_lp_steam_compressor' }) - - e.remove({ id: 'gtceu:shaped/steam_hammer_bronze' }) - e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_forge_hammer' }) - e.remove({ id: 'gtceu:macerator/macerate_lp_steam_forge_hammer' }) - - e.remove({ id: 'gtceu:shaped/steam_furnace_bronze' }) - e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_furnace' }) - e.remove({ id: 'gtceu:macerator/macerate_lp_steam_furnace' }) - - e.remove({ id: 'gtceu:shaped/steam_alloy_smelter_bronze' }) - e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_alloy_smelter' }) - e.remove({ id: 'gtceu:macerator/macerate_lp_steam_alloy_smelter' }) - - e.remove({ id: 'gtceu:shaped/steam_rock_breaker_bronze' }) - e.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_rock_crusher' }) - e.remove({ id: 'gtceu:macerator/macerate_lp_steam_rock_crusher' }) - - e.remove({ id: 'gtceu:shaped/steam_miner' }) - e.remove({ id: 'gtceu:arc_furnace/arc_steam_miner' }) - e.remove({ id: 'gtceu:macerator/macerate_steam_miner' }) - - // Low Pressure Steam Solid Boiler e.shaped('gtceu:lp_steam_solid_boiler', [ - 'AAA', - 'ABA', - 'ACA' + 'AAA', + 'ACA', + 'BDB' ], { A: '#forge:plates/bronze', - B: '#forge:tools/wrenches', - C: 'gtceu:bronze_brick_casing' - }).id('gtceu:shaped/steam_boiler_coal_bronze') - + B: 'minecraft:bricks', + C: '#forge:tools/wrenches', + D: 'tfc:blast_furnace' + }).id('tfg:shaped/steam_boiler_coal_bronze') //#endregion - //#region Выход: Стальные машины + //#region Одноблочный стальной бойлер + e.remove({ id: 'gtceu:shaped/steam_boiler_coal_steel' }) - // Экстрактор - e.shaped('gtceu:hp_steam_extractor', [ - 'BEB', - 'CAC', - 'DBD' + e.shaped('gtceu:hp_steam_solid_boiler', [ + 'AAA', + 'ACA', + 'BDB' ], { - 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') - - // Дробитель - e.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') - - // Компрессор - e.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') - - // Молот - e.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') - - // Печь - e.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') - - // Сплавщик - e.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') - - // Блоко-ломатель - e.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') - + A: '#forge:plates/steel', + B: 'minecraft:bricks', + C: '#forge:tools/wrenches', + D: 'tfc:blast_furnace' + }).id('tfg:shaped/steam_boiler_coal_steel') //#endregion - //#region Выход: некоторые рецепты пылей - - e.remove({id: 'gtceu:shapeless/dust_brass'}) - e.remove({id: 'gtceu:shapeless/glass_dust_flint'}) - e.remove({id: 'gtceu:shapeless/dust_bronze'}) - e.remove({id: 'gtceu:shapeless/potin_dust'}) - + //#region Glass Tube + e.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) + .id('tfg:glassworking/glass_tube') //#endregion + //#region Контроллер притивной доменной печи + e.remove({ id: 'gtceu:shaped/bronze_primitive_blast_furnace' }) + //#endregion + + //#region Крышка на бесконечную воду + e.remove('gtceu:assembler/cover_infinite_water') + //#endregion + + //#region Бесконечный резервуар с водой + e.remove('gtceu:assembler/reservoir_hatch') + //#endregion + + //#region Бочка + + //#endregion +} + +const registerGregTechRecipes1 = (e) => { + + + + + + //#region Вырезка из резины // TODO: Не работает из-за магического бага @@ -2012,31 +1760,10 @@ const registerGregTechRecipes1 = (e) => { //#endregion - //#region Стеклодувка - // Glass Tube - e.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) - .id('tfg:gtceu/glassworking/glass_tube') - //#endregion - // Удаление рецептов связанных с Primitive Blast Furnace - e.remove({ id: 'gtceu:arc_furnace/arc_primitive_blast_furnace' }) - e.remove({ id: 'gtceu:macerator/macerate_primitive_blast_furnace' }) - // Удаление рецепта беск. воды кавера - e.remove('gtceu:assembler/cover_infinite_water') - - // Удаление рецептов помпы - e.remove('gtceu:shaped/pump_deck') - e.remove('gtceu:shaped/pump_hatch') - e.remove('gtceu:shaped/primitive_pump') - - // Удаление рецептов связанных с Barrel - e.remove({ id: 'gtceu:shaped/wooden_barrel' }) - e.remove({ id: 'gtceu:assembler/wood_barrel' }) - e.remove({ id: 'gtceu:arc_furnace/arc_wood_drum' }) - e.remove({ id: 'gtceu:macerator/macerate_wood_drum' }) // Удаление рецептов связанных с FireBricks e.remove({id: 'gtceu:shaped/casing_primitive_bricks' }) @@ -2114,17 +1841,7 @@ const registerGregTechRecipes1 = (e) => { .duration(15) .EUt(2) - // Steel Steam Boiler - e.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 e.shaped('gtceu:multi_smelter', [ @@ -2209,4 +1926,224 @@ const registerGregTechRecipes1 = (e) => { .itemOutputs('gtceu:sticky_resin') .duration(480) .EUt(7) -} \ No newline at end of file +} + +//#region Выход: Крошечная кучка камня + + // e.remove({ id: 'gtceu:macerator/macerate_stone_button' }) + + //#endregion + + //#region Выход: Маленькая кучка камня + + // e.remove({ id: 'gtceu:macerator/macerate_stone_stairs' }) + // e.remove({ id: 'gtceu:macerator/macerate_stone_slab' }) + // e.remove({ id: 'gtceu:macerator/macerate_stone_brick_stairs' }) + // e.remove({ id: 'gtceu:macerator/macerate_stone_brick_slab' }) + // e.remove({ id: 'gtceu:macerator/macerate_sandstone_stairs' }) + // e.remove({ id: 'gtceu:macerator/macerate_sandstone_slab' }) + // e.remove({ id: 'gtceu:macerator/macerate_red_sandstone_stairs' }) + // e.remove({ id: 'gtceu:macerator/macerate_red_sandstone_slab' }) + // e.remove({ id: 'gtceu:macerator/macerate_granite' }) + // e.remove({ id: 'gtceu:macerator/macerate_diorite' }) + // e.remove({ id: 'gtceu:macerator/macerate_cobblestone_slab' }) + // e.remove({ id: 'gtceu:macerator/macerate_andesite' }) + + //#endregion + + //#region Выход: Кучка камня + + // e.remove({ id: 'gtceu:macerator/macerate_stone_sword' }) + // e.remove({ id: 'gtceu:macerator/macerate_stone_shovel' }) + // e.remove({ id: 'gtceu:macerator/macerate_stone_pressure_plate' }) + // e.remove({ id: 'gtceu:macerator/macerate_stone_pickaxe' }) + // e.remove({ id: 'gtceu:macerator/macerate_stone_hoe' }) + // e.remove({ id: 'gtceu:macerator/macerate_stone_bricks' }) + // e.remove({ id: 'gtceu:macerator/macerate_stone_axe' }) + // e.remove({ id: 'gtceu:macerator/macerate_mossy_cobblestone' }) + // e.remove({ id: 'gtceu:macerator/macerate_cobblestone_wall' }) + // e.remove({ id: 'gtceu:macerator/macerate_cobblestone' }) + // e.remove({ id: 'gtceu:macerator/gravel_to_flint' }) + // e.remove({ id: 'gtceu:macerator/macerate_furnace' }) + + //#endregion + + //#region Выход: Крошечная кучка дерева + + // e.remove({ id: 'gtceu:macerator/macerate_warped_button' }) + // e.remove({ id: 'gtceu:macerator/macerate_spruce_button' }) + // e.remove({ id: 'gtceu:macerator/macerate_oak_button' }) + // e.remove({ id: 'gtceu:macerator/macerate_mangrove_button' }) + // e.remove({ id: 'gtceu:macerator/macerate_jungle_button' }) + // e.remove({ id: 'gtceu:macerator/macerate_dark_oak_button' }) + // e.remove({ id: 'gtceu:macerator/macerate_crimson_button' }) + // e.remove({ id: 'gtceu:macerator/macerate_cherry_button' }) + // e.remove({ id: 'gtceu:macerator/macerate_birch_button' }) + // e.remove({ id: 'gtceu:macerator/macerate_acacia_button' }) + + //#endregion + + //#region Выход: Маленькая кучка дерева + +// e.remove({ id: 'gtceu:macerator/macerate_wooden_sword' }) +// e.remove({ id: 'gtceu:macerator/macerate_wooden_shovel' }) +// e.remove({ id: 'gtceu:macerator/macerate_wooden_pickaxe' }) +// e.remove({ id: 'gtceu:macerator/macerate_wooden_hoe' }) +// e.remove({ id: 'gtceu:macerator/macerate_wooden_axe' }) +// e.remove({ id: 'gtceu:macerator/macerate_warped_stairs' }) +// e.remove({ id: 'gtceu:macerator/macerate_warped_slab' }) +// e.remove({ id: 'gtceu:macerator/macerate_spruce_stairs' }) +// e.remove({ id: 'gtceu:macerator/macerate_spruce_slab' }) +// e.remove({ id: 'gtceu:macerator/macerate_oak_stairs' }) +// e.remove({ id: 'gtceu:macerator/macerate_oak_slab' }) +// e.remove({ id: 'gtceu:macerator/macerate_mangrove_stairs' }) +// e.remove({ id: 'gtceu:macerator/macerate_mangrove_slab' }) +// e.remove({ id: 'gtceu:macerator/macerate_jungle_stairs' }) +// e.remove({ id: 'gtceu:macerator/macerate_jungle_slab' }) +// e.remove({ id: 'gtceu:macerator/macerate_iron_sword' }) +// e.remove({ id: 'gtceu:macerator/macerate_iron_shovel' }) +// e.remove({ id: 'gtceu:macerator/macerate_iron_pickaxe' }) +// e.remove({ id: 'gtceu:macerator/macerate_iron_hoe' }) +// e.remove({ id: 'gtceu:macerator/macerate_iron_axe' }) +// e.remove({ id: 'gtceu:macerator/macerate_golden_sword' }) +// e.remove({ id: 'gtceu:macerator/macerate_golden_shovel' }) +// e.remove({ id: 'gtceu:macerator/macerate_golden_pickaxe' }) +// e.remove({ id: 'gtceu:macerator/macerate_golden_hoe' }) +// e.remove({ id: 'gtceu:macerator/macerate_golden_axe' }) +// e.remove({ id: 'gtceu:macerator/macerate_diamond_sword' }) +// e.remove({ id: 'gtceu:macerator/macerate_diamond_shovel' }) +// e.remove({ id: 'gtceu:macerator/macerate_diamond_pickaxe' }) +// e.remove({ id: 'gtceu:macerator/macerate_diamond_hoe' }) +// e.remove({ id: 'gtceu:macerator/macerate_diamond_axe' }) +// e.remove({ id: 'gtceu:macerator/macerate_dark_oak_stairs' }) +// e.remove({ id: 'gtceu:macerator/macerate_dark_oak_slab' }) +// e.remove({ id: 'gtceu:macerator/macerate_crimson_stairs' }) +// e.remove({ id: 'gtceu:macerator/macerate_crimson_slab' }) +// e.remove({ id: 'gtceu:macerator/macerate_cherry_stairs' }) +// e.remove({ id: 'gtceu:macerator/macerate_cherry_slab' }) +// e.remove({ id: 'gtceu:macerator/macerate_birch_stairs' }) +// e.remove({ id: 'gtceu:macerator/macerate_birch_slab' }) +// e.remove({ id: 'gtceu:macerator/macerate_acacia_stairs' }) +// e.remove({ id: 'gtceu:macerator/macerate_acacia_slab' }) + + //#endregion + + //#region Выход: Деревянная пыль + + // e.remove({id: 'gtceu:macerator/macerate_trapped_chest'}) + // e.remove({id: 'gtceu:macerator/macerate_spruce_planks'}) + // e.remove({id: 'gtceu:macerator/macerate_spruce_fence_gate'}) + // e.remove({id: 'gtceu:macerator/macerate_spruce_fence'}) + // e.remove({id: 'gtceu:macerator/macerate_spruce_door'}) + // e.remove({id: 'gtceu:macerator/macerate_spruce_boat'}) + // e.remove({id: 'gtceu:macerator/macerate_oak_planks'}) + // e.remove({id: 'gtceu:macerator/macerate_oak_fence_gate'}) + // e.remove({id: 'gtceu:macerator/macerate_oak_fence'}) + // e.remove({id: 'gtceu:macerator/macerate_oak_door'}) + // e.remove({id: 'gtceu:macerator/macerate_oak_boat'}) + // e.remove({id: 'gtceu:macerator/macerate_mangrove_planks'}) + // e.remove({id: 'gtceu:macerator/macerate_mangrove_fence_gate'}) + // e.remove({id: 'gtceu:macerator/macerate_mangrove_fence'}) + // e.remove({id: 'gtceu:macerator/macerate_mangrove_door'}) + // e.remove({id: 'gtceu:macerator/macerate_mangrove_boat'}) + // e.remove({id: 'gtceu:macerator/macerate_jungle_planks'}) + // e.remove({id: 'gtceu:macerator/macerate_jungle_fence_gate'}) + // e.remove({id: 'gtceu:macerator/macerate_jungle_fence'}) + // e.remove({id: 'gtceu:macerator/macerate_jungle_door'}) + // e.remove({id: 'gtceu:macerator/macerate_jungle_boat'}) + // e.remove({id: 'gtceu:macerator/macerate_dark_oak_planks'}) + // e.remove({id: 'gtceu:macerator/macerate_dark_oak_fence_gate'}) + // e.remove({id: 'gtceu:macerator/macerate_dark_oak_fence'}) + // e.remove({id: 'gtceu:macerator/macerate_dark_oak_door'}) + // e.remove({id: 'gtceu:macerator/macerate_dark_oak_boat'}) + // e.remove({id: 'gtceu:macerator/macerate_crafting_table'}) + // e.remove({id: 'gtceu:macerator/macerate_chest'}) + // e.remove({id: 'gtceu:macerator/macerate_chest_minecart'}) + // e.remove({id: 'gtceu:macerator/macerate_cherry_planks'}) + // e.remove({id: 'gtceu:macerator/macerate_cherry_fence_gate'}) + // e.remove({id: 'gtceu:macerator/macerate_cherry_fence'}) + // e.remove({id: 'gtceu:macerator/macerate_cherry_door'}) + // e.remove({id: 'gtceu:macerator/macerate_cherry_boat'}) + // e.remove({id: 'gtceu:macerator/macerate_bookshelf'}) + // e.remove({id: 'gtceu:macerator/macerate_birch_planks'}) + // e.remove({id: 'gtceu:macerator/macerate_birch_fence_gate'}) + // e.remove({id: 'gtceu:macerator/macerate_birch_fence'}) + // e.remove({id: 'gtceu:macerator/macerate_birch_door'}) + // e.remove({id: 'gtceu:macerator/macerate_birch_boat'}) + // e.remove({id: 'gtceu:macerator/macerate_acacia_planks'}) + // e.remove({id: 'gtceu:macerator/macerate_acacia_fence_gate'}) + // e.remove({id: 'gtceu:macerator/macerate_acacia_fence'}) + // e.remove({id: 'gtceu:macerator/macerate_acacia_door'}) + // e.remove({id: 'gtceu:macerator/macerate_acacia_boat'}) + // e.remove({id: 'gtceu:macerator/macerate_bamboo_raft'}) + // e.remove({id: 'gtceu:macerator/macerate_crimson_door'}) + // e.remove({id: 'gtceu:macerator/macerate_crimson_fence'}) + // e.remove({id: 'gtceu:macerator/macerate_crimson_fence_gate'}) + // e.remove({id: 'gtceu:macerator/macerate_crimson_planks'}) + // e.remove({id: 'gtceu:macerator/macerate_warped_door'}) + // e.remove({id: 'gtceu:macerator/macerate_warped_fence'}) + // e.remove({id: 'gtceu:macerator/macerate_warped_fence_gate'}) + // e.remove({id: 'gtceu:macerator/macerate_warped_planks'}) + + //#endregion + + //#endregion + + //#region Выход: Железная пыль + + // e.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' }) + // e.remove({ id: 'gtceu:macerator/macerate_damaged_anvil' }) + // e.remove({ id: 'gtceu:macerator/macerate_chipped_anvil' }) + // e.remove({ id: 'gtceu:macerator/macerate_anvil' }) + // e.remove({ id: 'gtceu:macerator/macerate_furnace_minecart' }) + // e.remove({ id: 'gtceu:macerator/macerate_bucket' }) + // e.remove({ id: 'gtceu:macerator/macerate_compass' }) + + //#endregion + + //#region Выход: Крошечная железная пыль + + // e.remove({ id: 'gtceu:macerator/macerate_iron_bars' }) + + //#endregion + + //#region Выход: Крошечная пыль золы + + // e.remove({ id: 'gtceu:arc_furnace/arc_bookshelf' }) + + //#endregion + + //#region Выход: Пыль незерака + + // e.remove({ id: 'gtceu:macerator/macerate_nether_brick_stairs' }) + // e.remove({ id: 'gtceu:macerator/macerate_nether_brick_slab' }) + + //#endregion + + //#region Выход: Пыль базальта + + // e.remove({ id: 'gtceu:macerator/macerate_basalt' }) + + //#region Выход: Кованные самородки + + // e.remove({ id: 'gtceu:arc_furnace/arc_iron_bars' }) + + //#endregion + + //#region Выход: Слиток кованного железа + + // e.remove({ id: 'gtceu:arc_furnace/arc_chest_minecart' }) + // e.remove({ id: 'gtceu:arc_furnace/arc_iron_trapdoor' }) + // e.remove({ id: 'gtceu:arc_furnace/arc_damaged_anvil' }) + // e.remove({ id: 'gtceu:arc_furnace/arc_chipped_anvil' }) + // e.remove({ id: 'gtceu:arc_furnace/arc_anvil' }) + // e.remove({ id: 'gtceu:arc_furnace/arc_furnace_minecart' }) + // e.remove({ id: 'gtceu:arc_furnace/arc_compass' }) + + //#endregion + + //#region Выход: Слиток камня + + // e.remove({id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot'}) +// + //#endregion \ 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 8722af08b..fe04f76ae 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -101,6 +101,7 @@ TFCEvents.data(event => { */ ServerEvents.recipes(event => { // registerAE2Recipes(event) + registerAdvancedPeripheralsRecipes(event) registerAlekiRoofsRecipes(event) // registerAsticorCartsRecipes(event) // registerAE2InsertExportCardRecipes(event) @@ -108,7 +109,7 @@ ServerEvents.recipes(event => { // registerAE2WTLibRecipes(event) // registerChiselAndBitsRecipes(event) // registerComputerCraftRecipes(event) - // registerCreateRecipes(event) + registerCreateRecipes(event) // registerCreateAdditionsRecipes(event) // registerCreateConnectedRecipes(event) // registerExtendedAE2Recipes(event) @@ -125,7 +126,9 @@ ServerEvents.recipes(event => { // registerMERequesterRecipes(event) registerMinecraftRecipes(event) // registerMoreRedRecipes(event) - // registerRailWaysRecipes(event) + registerRailWaysRecipes(event) + registerRFToolsRecipes(event) + registerStorageDrawersRecipes(event) // registerSophisticatedBackpacksRecipes(event) // registerTfceaRecipes(event) registerTFCRecipes(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 23f4ea229..9f022b0fe 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3,17 +3,46 @@ const registerMinecraftRecipes = (e) => { //#region Дерево - const processOverworldWood = (woodName) => { - // Wood + global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodName => { + console.log(woodName) + const isNetherType = woodName === "crimson" || woodName === "warped" ? true : false + + //#region Wood + + // Overworld e.remove({ id: `minecraft:${woodName}_wood` }) - - // Stripped Log + + // Nether + if (isNetherType) + e.remove({ id: `minecraft:${woodName}_hyphae` }) + + //#endregion + + //#region Stripped Log + + // Overworld e.remove({ id: `create:cutting/${woodName}_log` }) - // Stripped Wood + // Nether + if (isNetherType) + e.remove({ id: `create:cutting/${woodName}_stem` }) + + //#endregion + + //#region Stripped Wood + + // Overworld e.remove({ id: `minecraft:stripped_${woodName}_wood` }) e.remove({ id: `create:cutting/${woodName}_wood` }) + // Nether + if (isNetherType) { + e.remove({ id: `minecraft:stripped_${woodName}_hyphae` }) + e.remove({ id: `create:cutting${woodName}_hyphae` }) + } + + //#endregion + // Planks e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) @@ -86,27 +115,9 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:shaped/${woodName}_chest_boat` }) e.remove({ id: `gtceu:assembler/${woodName}_chest_boat` }) - // Roofs (AlekiRoofs) - e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) - - // Window (Create) - e.remove({ id: `create:${woodName}_window` }) - - // Window Pane (Create) - e.remove({ id: `create:${woodName}_window_pane` }) - - // Train Track Narrow - e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) - - // Train Track Normal - e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) - - // Train Track Wide - e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) - // Sticks e.remove({ id: `everycomp:c/minecraft/null_from_${woodName}_planks_stonecutting` }) - } + }) const processBambooRecipes = () => { const woodName = 'bamboo' @@ -144,35 +155,7 @@ const registerMinecraftRecipes = (e) => { const sign = Item.of(`minecraft:${woodName}_sign`) const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) - - const roofingAny = `#tfg:${woodName}_roofings` - - const roofing = Item.of(`alekiroofs:${woodName}_roofing`) - const roofingMosaic = Item.of(`alekiroofs:${woodName}_mosaic_roofing`) - - // const incompleteTrackNarrow = Item.of(`railways:track_incomplete_${woodName}_narrow`) - // const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) - // const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) - const incompleteTrackNarrow = Item.of(`railways:track_incomplete_stripped_${woodName}_narrow`) - const incompleteTrack = Item.of(`railways:track_incomplete_stripped_${woodName}`) - const incompleteTrackWide = Item.of(`railways:track_incomplete_stripped_${woodName}_wide`) - - // const incompleteStrippedTrackNarrow = Item.of(`railways:track_incomplete_stripped_${woodName}_narrow`) - // const incompleteStrippedTrack = Item.of(`railways:track_incomplete_stripped_${woodName}`) - // const incompleteStrippedTrackWide = Item.of(`railways:track_incomplete_stripped_${woodName}_wide`) - - // const trackNarrow = Item.of(`railways:track_${woodName}_narrow`) - // const track = Item.of(`railways:track_${woodName}`) - // const trackWide = Item.of(`railways:track_${woodName}_wide`) - - const trackNarrow = Item.of(`railways:track_stripped_${woodName}_narrow`) - const track = Item.of(`railways:track_stripped_${woodName}`) - const trackWide = Item.of(`railways:track_stripped_${woodName}_wide`) - - // const trackStrippedNarrow = Item.of(`railways:track_stripped_${woodName}_narrow`) - // const trackStripped = Item.of(`railways:track_stripped_${woodName}`) - // const trackStrippedWide = Item.of(`railways:track_stripped_${woodName}_wide`) //#region Бревно e.remove({ id: `minecraft:${woodName}_block` }) @@ -395,7 +378,6 @@ const registerMinecraftRecipes = (e) => { .EUt(GTValues.VA[GTValues.ULV]).duration(200) //#endregion - //#endregion //#region Обычные Полублоки @@ -681,826 +663,9 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:shaped/${woodName}_raft` }) e.remove({ id: `gtceu:assembler/${woodName}_boat` }) //#endregion - - //#region Крыша (AlekiRoofs) - e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) - - e.shaped(roofing.copyWithCount(2), [ - 'A ', - ' s' - ], { - A: plank, - s: '#forge:tools/saws' - }).id(`tfg:workbench/${woodName}_roofing_saw`) - - e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) - .id(`tfg:create_cutting/${woodName}_roofing`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_roofing`) - .itemInputs(plank) - .circuit(4) - .itemOutputs(roofing.copyWithCount(2)) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Мозаичная крыша (AlekiRoofs) - e.remove({ id: `alekiroofs:crafting/${woodName}_mosaic_roofing` }) - - //#region Через обычные - e.shaped(roofingMosaic, [ - 'A ', - ' s' - ], { - A: roofing, - s: 'forge:tools/saws' - }).id(`tfg:workbench/${woodName}_mosaic_roofing`) - - e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_roofing`) - .itemInputs(roofing) - .notConsumable('#forge:lenses/white') - .itemOutputs(roofingMosaic) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Через мозаичные - e.shaped(roofingMosaic.copyWithCount(2), [ - 'sA' - ], { - A: roofingMosaic, - s: '#forge:tools/saws' - }).id(`tfg:workbench/${woodName}_mosaic_roofing_saw`) - - e.recipes.create.cutting(roofingMosaic.copyWithCount(2), plankMosaic) - .id(`tfg:create_cutting/${woodName}_mosaic_roofing_from_planks`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_mosaic_roofing_from_planks`) - .itemInputs(plankMosaic) - .circuit(2) - .itemOutputs(roofingMosaic.copyWithCount(2)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#endregion - - //#region Железнодорожное полотно (Узкое) (Create) - e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}_narrow` }) - - e.recipes.createSequencedAssembly([ - trackNarrow, - ], slab, [ - e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), - e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), - ]).transitionalItem(incompleteTrackNarrow).loops(1) - .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) - - e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) - .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') - .itemOutputs(trackNarrow) - .circuit(24) - .duration(800) - .EUt(32) - //#endregion - - //#region Железнодорожное полотно (Необтесанное) (Узкое) (Create) - e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) - //#endregion - - //#region Железнодорожное полотно (Нормальное) (Create) - e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}` }) - - e.recipes.createSequencedAssembly([ - track, - ], trackNarrow, [ - e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), - e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), - e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - e.recipes.createPressing(incompleteTrack, [incompleteTrack]), - ]).transitionalItem(incompleteTrack).loops(1) - .id(`tfg:sequenced_assembly/track_${woodName}`) - - e.recipes.gtceu.assembler(`tfg:track_${woodName}`) - .itemInputs(slab, trackNarrow, '4x #forge:screws') - .itemOutputs(track) - .circuit(24) - .duration(1200) - .EUt(32) - - e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) - .itemInputs(slab.copyWithCount(2), '8x #forge:screws') - .itemOutputs(track) - .circuit(25) - .duration(1200) - .EUt(32) - //#endregion - - //#region Железнодорожное полотно (Необтесанное) (Нормальное) (Create) - e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) - //#endregion - - //#region Железнодорожное полотно (Широкое) (Create) - e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}_wide` }) - - e.recipes.createSequencedAssembly([ - trackWide, - ], track, [ - e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), - e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), - e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), - ]).transitionalItem(incompleteTrackWide).loops(1) - .id(`tfg:sequenced_assembly/track_${woodName}_wide`) - - e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide`) - .itemInputs(slab, track, '4x #forge:screws') - .itemOutputs(trackWide) - .circuit(24) - .duration(1600) - .EUt(16) - - e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide_skip`) - .itemInputs(slab.copyWithCount(3), '12x #forge:screws') - .itemOutputs(trackWide) - .circuit(26) - .duration(1600) - .EUt(16) - //#endregion - - //#region Железнодорожное полотно (Необтесанное) (Широкое) (Create) - e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) - //#endregion } processBambooRecipes() - - const processNetherWood = (woodName) => { - - const anyLogs = `#minecraft:${woodName}_stems` - - const log = Item.of(`minecraft:${woodName}_stem`) - const wood = Item.of(`minecraft:${woodName}_hyphae`) - - const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) - const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) - - const lumber = Item.of(`tfg:${woodName}_lumber`) - - const plank = Item.of(`minecraft:${woodName}_planks`) - const stair = Item.of(`minecraft:${woodName}_stairs`) - const slab = Item.of(`minecraft:${woodName}_slab`) - - const fence = Item.of(`minecraft:${woodName}_fence`) - const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) - - const door = Item.of(`minecraft:${woodName}_door`) - const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) - - const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) - const button = Item.of(`minecraft:${woodName}_button`) - - const sign = Item.of(`minecraft:${woodName}_sign`) - const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) - - const roofing = Item.of(`alekiroofs:${woodName}_roofing`) - - const window = Item.of(`create:${woodName}_window_pane`) - const windowPane = Item.of(`create:${woodName}_window_pane`) - - const incompleteTrackNarrow = Item.of(`railways:track_incomplete_${woodName}_narrow`) - const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) - const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) - - const trackNarrow = Item.of(`railways:track_${woodName}_narrow`) - const track = Item.of(`railways:track_${woodName}`) - const trackWide = Item.of(`railways:track_${woodName}_wide`) - - //#region Бревно - e.shaped(log, [ - 'A', - 's' - ], { - A: wood, - s: '#forge:tools/saws' - }).id(`tfg:workbench/${woodName}_log`) - - e.recipes.create.cutting([log, Item.of('4x gtceu:wood_dust').withChance(0.75)], wood) - .id(`tfg:create_cutting/${woodName}_log`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_log`) - .itemInputs(wood) - .circuit(0) - .itemOutputs(log) - .itemOutputs('4x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Цельное бревно - e.remove({ id: `minecraft:${woodName}_hyphae` }) - - e.shaped(wood, [ - 'AA', - ' s' - ], { - A: log, - s: '#forge:tools/saws' - }).id(`tfg:workbench/${woodName}_wood`) - - e.recipes.create.cutting(wood.withChance(0.75), log) - .id(`tfg:create_cutting/${woodName}_wood`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_wood`) - .itemInputs(log.copyWithCount(2)) - .circuit(0) - .itemOutputs(wood) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Обтесанное бревно - e.remove({ id: `create:cutting/crimson_stem` }) - - e.shaped(strippedLog, [ - 'A', - 's' - ], { - A: strippedWood, - s: '#forge:tools/saws' - }).id(`tfg:workbench/stripped_${woodName}_log`) - - e.recipes.create.cutting(strippedLog, log) - .id(`tfg:create_cutting/stripped_${woodName}_log`) - - e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) - .itemInputs(log) - .circuit(1) - .itemOutputs(strippedLog) - .itemOutputs('4x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Обтесанное цельное бревно - e.remove({ id: `minecraft:stripped_${woodName}_hyphae` }) - e.remove({ id: `create:cutting/${woodName}_hyphae` }) - - e.shaped(strippedWood, [ - 'AA', - ' s' - ], { - A: strippedLog, - s: '#forge:tools/saws' - }).id(`tfg:workbench/stripped_${woodName}_wood`) - - e.recipes.create.cutting(strippedWood, wood) - .id(`tfg:create_cutting/stripped_${woodName}_wood`) - - e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) - .itemInputs(wood) - .circuit(1) - .itemOutputs(strippedWood) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Пиломатериалы (TFC) - - //#region Из бревен - e.shaped(lumber.copyWithCount(8), [ - 's', - 'A' - ], { - A: anyLogs, - s: '#forge:tools/saws' - }).id(`tfg:workbench/${woodName}_lumber_from_logs_saw`) - - e.recipes.create.cutting(lumber.copyWithCount(12), anyLogs) - .id(`tfg:create_cutting/${woodName}_lumber_from_logs`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_logs`) - .itemInputs(anyLogs) - .circuit(2) - .itemOutputs(lumber.copyWithCount(16)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Из досок - e.shaped(lumber.copyWithCount(4), [ - 's', - 'A' - ], { - A: plank, - s: '#forge:tools/saws' - }).id(`tfg:workbench/${woodName}_lumber_from_planks_saw`) - - e.recipes.create.cutting(lumber.copyWithCount(3), plank) - .id(`tfg:create_cutting/${woodName}_lumber_from_planks`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_planks`) - .itemInputs(plank) - .circuit(0) - .itemOutputs(lumber.copyWithCount(4)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Из ступенек - e.shaped(lumber.copyWithCount(1), [ - 'A', - 's' - ], { - A: stair, - s: '#forge:tools/saws' - }).id(`tfg:workbench//${woodName}_lumber_from_stairs_saw`) - - e.recipes.create.cutting(lumber.copyWithCount(2), stair) - .id(`tfg:create_cutting/${woodName}_lumber_from_stairs`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_stairs`) - .itemInputs(stair) - .circuit(2) - .itemOutputs(lumber.copyWithCount(3)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Из полублоков - e.shaped(lumber.copyWithCount(1), [ - 'A', - 's' - ], { - A: slab, - s: '#forge:tools/saws' - }).id(`tfg:workbench/${woodName}_lumber_from_slab_saw`) - - e.recipes.create.cutting([lumber, lumber.withChance(0.5)], slab) - .id(`tfg:create_cutting/${woodName}_lumber_from_slab`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_slab`) - .itemInputs(slab) - .circuit(2) - .itemOutputs(lumber.copyWithCount(2)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#endregion - - //#region Доски - e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) - e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) - e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) - e.remove({ id: `gtceu:cutter/${woodName}_planks` }) - e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) - e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) - e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) - - e.shaped(plank, [ - 'AA', - 'AA' - ], { - A: lumber - }).id(`tfg:workbench/${woodName}_planks`) - - e.recipes.create.cutting(plank.copyWithCount(3), anyLogs) - .id(`tfg:create_cutting/${woodName}_planks`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) - .itemInputs(anyLogs) - .circuit(3) - .itemOutputs(plank.copyWithCount(6)) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Ступень - e.remove({ id: `minecraft:${woodName}_stairs` }) - e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) - e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) - - e.shaped(stair, [ - 'As' - ], { - A: plank, - s: '#forge:tools/saws' - }).id(`tfg:workbench/${woodName}_stairs_saw`) - - e.recipes.create.cutting(stair.copyWithCount(4), anyLogs) - .id(`tfg:create_cutting/${woodName}_stairs_from_logs`) - - e.recipes.create.cutting([stair, Item.of('1x gtceu:small_wood_dust')], plank) - .id(`tfg:create_cutting/${woodName}_stairs_from_planks`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) - .itemInputs(anyLogs) - .circuit(4) - .itemOutputs(stair.copyWithCount(8)) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) - .itemInputs(plank) - .circuit(1) - .itemOutputs(stair) - .itemOutputs('1x gtceu:small_wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Полублок - e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) - e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) - e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) - e.remove({ id: `gtceu:cutter/${woodName}_slab` }) - e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) - - e.shaped(slab.copyWithCount(2), [ - 'sA' - ], { - A: plank, - s: '#forge:tools/saws' - }).id(`tfg:workbench/${woodName}_slabs_saw`) - - e.recipes.create.cutting(slab.copyWithCount(6), anyLogs) - .id(`tfg:create_cutting/${woodName}_slabs_from_logs`) - - e.recipes.create.cutting(slab.copyWithCount(2), plank) - .id(`tfg:create_cutting/${woodName}_slabs_from_planks`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) - .itemInputs(anyLogs) - .circuit(5) - .itemOutputs(slab.copyWithCount(12)) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) - .itemInputs(plank) - .circuit(2) - .itemOutputs(slab.copyWithCount(2)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Забор - e.remove({ id: `gtceu:shaped/${woodName}_fence` }) - e.remove({ id: `gtceu:assembler/${woodName}_fence` }) - - e.shaped(fence.copyWithCount(8), [ - 'h s', - 'ABA', - 'ACA' - ], { - A: plank, - B: '#forge:rods/wooden', - C: lumber, - h: '#forge:tools/hammers', - s: '#forge:tools/saws' - }).id(`tfg:workbench/${woodName}_fence`) - - e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) - .id(`tfg:create_cutting/${woodName}_fence`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) - .itemInputs(plank) - .circuit(3) - .itemOutputs(fence.copyWithCount(2)) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Калитка - e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) - e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) - e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) - - e.shaped(fenceGate, [ - 'A A', - 'BCB', - 'DCD' - ], { - A: 'minecraft:flint', - B: '#forge:rods/wooden', - C: plank, - D: lumber - }).id(`tfg:workbench/${woodName}_fence_gate_flint`) - - e.shaped(fenceGate.copyWithCount(2), [ - 'AEA', - 'BCB', - 'DCD' - ], { - A: '#forge:screws', - B: '#forge:rods/wooden', - C: plank, - D: lumber, - E: '#forge:tools/screwdrivers' - }).id(`tfg:workbench/${woodName}_fence_gate_screws`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) - .itemInputs(plank.copyWithCount(2)) - .itemInputs('2x #forge:rods/wooden') - .itemInputs('2x #forge:screws') - .circuit(0) - .itemOutputs(fenceGate) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Дверь - e.remove({ id: `gtceu:shaped/${woodName}_door` }) - e.remove({ id: `gtceu:assembler/${woodName}_door` }) - - e.shaped(door, [ - 'ABd', - 'ACD', - 'AAs' - ], { - A: lumber, - B: trapdoor, - C: '#forge:rings', - D: '#forge:screws', - d: '#forge:tools/screwdrivers', - s: '#forge:tools/saws', - }).id(`tfg:workbench/${woodName}_door`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_door`) - .itemInputs(lumber.copyWithCount(4)) - .itemInputs(trapdoor) - .itemInputs('4x #forge:screws') - .circuit(0) - .itemOutputs(door) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Люк - e.remove({ id: `minecraft:${woodName}_trapdoor` }) - e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) - e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) - e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_steel` }) - e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_iron` }) - - e.shaped(trapdoor, [ - 'ABd', - 'ACs' - ], { - A: lumber, - B: '#forge:rings', - C: '#forge:bolts', - d: '#forge:tools/screwdrivers', - s: '#forge:tools/saws', - }).id(`tfg:workbench/${woodName}_trapdoor`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) - .itemInputs(lumber.copyWithCount(2)) - .itemInputs('2x #forge:bolts') - .circuit(0) - .itemOutputs(trapdoor) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Нажимная пластина - e.remove({ id: `minecraft:${woodName}_pressure_plate` }) - e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) - e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) - - e.shaped(pressurePlate.copyWithCount(2), [ - 'AmA', - 'BCB', - 'AdA' - ], { - A: 'gtceu:wood_bolt', - B: slab, - C: '#forge:springs', - m: '#forge:tools/mallets', - d: '#forge:tools/screwdrivers' - }).id(`tfg:workbench/${woodName}_pressure_plate`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) - .itemInputs(slab.copyWithCount(2)) - .itemInputs('#forge:springs') - .circuit(0) - .itemOutputs(pressurePlate) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Кнопка - - // e.remove({ id: `gtceu:shaped/${woodName}_button` }) - // e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) - // e.remove({ id: `gtceu:cutter/${woodName}_button` }) - // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) - - //#endregion - - //#region Табличка - e.remove({ id: `minecraft:${woodName}_sign` }) - e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) - e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) - e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) - e.remove({ id: `gtceu:assembler/${woodName}_sign` }) - e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) - - e.shaped(sign.copyWithCount(3), [ - 'AAA', - 'AAA', - 'mB ' - ], { - A: lumber, - B: '#forge:rods/wooden', - m: '#forge:tools/mallets' - }).id(`tfg:workbench/${woodName}_sign`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) - .itemInputs(lumber.copyWithCount(6)) - .circuit(3) - .itemOutputs(sign.copyWithCount(3)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Висящая табличка - e.remove({ id: `minecraft:${woodName}_hanging_sign` }) - e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) - - e.shaped(hangingSign.copyWithCount(3), [ - 'AmA', - 'CBC', - 'BBB' - ], { - A: '#tfg:metal_chains', - B: lumber, - C: '#forge:screws', - m: '#forge:tools/mallets' - }).id(`tfg:workbench/${woodName}_hanging_sign`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) - .itemInputs(lumber.copyWithCount(4)) - .itemInputs('2x #tfg:metal_chains') - .itemInputs('4x #forge:screws') - .circuit(4) - .itemOutputs(hangingSign.copyWithCount(3)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Крыша (AlekiRoofs) - e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) - - e.shaped(roofing.copyWithCount(2), [ - 'A ', - ' s' - ], { - A: plank, - s: '#forge:tools/saws' - }).id(`tfg:workbench/${woodName}_roofing_saw`) - - e.recipes.create.cutting([roofing, Item.of('1x gtceu:wood_dust')], plank) - .id(`tfg:create_cutting/${woodName}_roofing`) - - e.recipes.gtceu.cutter(`tfg:${woodName}_roofing`) - .itemInputs(plank) - .circuit(4) - .itemOutputs(roofing.copyWithCount(2)) - .itemOutputs('1x gtceu:wood_dust') - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Окно (Create) - e.remove({ id: `create:${woodName}_window` }) - - e.shaped(window, [ - ' A ', - 'ABA', - ' m ' - ], { - A: plank, - B: '#forge:glass/colorless', - m: '#forge:tools/mallets' - }).id(`tfg:workbench/${woodName}_window`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_window`) - .itemInputs(plank) - .itemInputs('#forge:glass/colorless') - .circuit(16) - .itemOutputs(window) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - //#endregion - - //#region Окнонная панель (Create) - e.remove({ id: `create:${woodName}_window_pane` }) - - e.shaped(windowPane.copyWithCount(2), [ - 'AB', - 'Am' - ], { - A: plank, - B: '#forge:glass/colorless', - m: '#forge:tools/mallets' - }).id(`tfg:workbench/${woodName}_window_pane`) - - e.recipes.gtceu.assembler(`tfg:${woodName}_window_pane`) - .itemInputs(plank) - .itemInputs('#forge:glass/colorless') - .circuit(17) - .itemOutputs(windowPane.copyWithCount(2)) - .EUt(GTValues.VA[GTValues.ULV]).duration(200) - - //#endregion - - //#region Железнодорожное полотно (Узкое) (Create) - e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) - - e.recipes.createSequencedAssembly([ - trackNarrow, - ], slab, [ - e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), - e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), - ]).transitionalItem(incompleteTrackNarrow).loops(1) - .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) - - e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) - .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') - .itemOutputs(trackNarrow) - .circuit(24) - .duration(800) - .EUt(32) - //#endregion - - //#region Железнодорожное полотно (Нормальное) (Create) - e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) - - e.recipes.createSequencedAssembly([ - track, - ], trackNarrow, [ - e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), - e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), - e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), - e.recipes.createPressing(incompleteTrack, [incompleteTrack]), - ]).transitionalItem(incompleteTrack).loops(1) - .id(`tfg:sequenced_assembly/track_${woodName}`) - - e.recipes.gtceu.assembler(`tfg:track_${woodName}`) - .itemInputs(slab, trackNarrow, '4x #forge:screws') - .itemOutputs(track) - .circuit(24) - .duration(1200) - .EUt(32) - - e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) - .itemInputs(slab.copyWithCount(2), '8x #forge:screws') - .itemOutputs(track) - .circuit(25) - .duration(1200) - .EUt(32) - //#endregion - - //#region Железнодорожное полотно (Широкое) (Create) - e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) - - e.recipes.createSequencedAssembly([ - trackWide, - ], track, [ - e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), - e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), - e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), - e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), - ]).transitionalItem(incompleteTrackWide).loops(1) - .id(`tfg:sequenced_assembly/track_${woodName}_wide`) - - e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide`) - .itemInputs(slab, track, '4x #forge:screws') - .itemOutputs(trackWide) - .circuit(24) - .duration(1600) - .EUt(16) - - e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide_skip`) - .itemInputs(slab.copyWithCount(3), '12x #forge:screws') - .itemOutputs(trackWide) - .circuit(26) - .duration(1600) - .EUt(16) - //#endregion - } - - global.MINECRAFT_OVERWORLD_WOOD_TYPES.forEach(woodName => { - processOverworldWood(woodName) - }) - - global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { - processNetherWood(woodName) - }) - //#endregion //#region Камень diff --git a/kubejs/server_scripts/railways/recipes.js b/kubejs/server_scripts/railways/recipes.js index 62709ddc9..43cbfc2ca 100644 --- a/kubejs/server_scripts/railways/recipes.js +++ b/kubejs/server_scripts/railways/recipes.js @@ -1,12 +1,141 @@ // priority: 0 -const registerRailWaysRecipes = (event) => { +const registerRailWaysRecipes = (e) => { // Удаление рецептов мода railways - event.remove({ mod: 'railways' }); + e.remove({ mod: 'railways' }); + //#region Дерево + global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodName => { + + // Train Track Narrow + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + + // Train Track Normal + e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + + // Train Track Wide + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + }) + + //#region Бамбук + const woodName = 'bamboo' + + const slab = Item.of(`minecraft:${woodName}_slab`) + + const incompleteTrackNarrow = Item.of(`railways:track_incomplete_stripped_${woodName}_narrow`) + const incompleteTrack = Item.of(`railways:track_incomplete_stripped_${woodName}`) + const incompleteTrackWide = Item.of(`railways:track_incomplete_stripped_${woodName}_wide`) + + const trackNarrow = Item.of(`railways:track_stripped_${woodName}_narrow`) + const track = Item.of(`railways:track_stripped_${woodName}`) + const trackWide = Item.of(`railways:track_stripped_${woodName}_wide`) + + //#region Железнодорожное полотно (Узкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}_narrow` }) + + e.recipes.createSequencedAssembly([ + trackNarrow, + ], slab, [ + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), + e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), + ]).transitionalItem(incompleteTrackNarrow).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) + + e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) + .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') + .itemOutputs(trackNarrow) + .circuit(24) + .duration(800) + .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Необтесанное) (Узкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + //#endregion + + //#region Железнодорожное полотно (Нормальное) (Create) + e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}` }) + + e.recipes.createSequencedAssembly([ + track, + ], trackNarrow, [ + e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrack, [incompleteTrack]), + ]).transitionalItem(incompleteTrack).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}`) + .itemInputs(slab, trackNarrow, '4x #forge:screws') + .itemOutputs(track) + .circuit(24) + .duration(1200) + .EUt(32) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) + .itemInputs(slab.copyWithCount(2), '8x #forge:screws') + .itemOutputs(track) + .circuit(25) + .duration(1200) + .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Необтесанное) (Нормальное) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + //#endregion + + //#region Железнодорожное полотно (Широкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}_wide` }) + + e.recipes.createSequencedAssembly([ + trackWide, + ], track, [ + e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), + ]).transitionalItem(incompleteTrackWide).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_wide`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide`) + .itemInputs(slab, track, '4x #forge:screws') + .itemOutputs(trackWide) + .circuit(24) + .duration(1600) + .EUt(16) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide_skip`) + .itemInputs(slab.copyWithCount(3), '12x #forge:screws') + .itemOutputs(trackWide) + .circuit(26) + .duration(1600) + .EUt(16) + //#endregion + + //#region Железнодорожное полотно (Необтесанное) (Широкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + //#endregion + + //#endregion + + //#endregion +} + +const dead1 = () => { // Семафор - event.shaped('railways:semaphore', [ + e.shaped('railways:semaphore', [ ' A ', 'BCD', 'EAE' @@ -18,7 +147,7 @@ const registerRailWaysRecipes = (event) => { E: '#forge:tools/hammers', }).id('tfg:railways/shaped/semaphore') - event.recipes.gtceu.assembler('tfg:railways/semaphore') + e.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') @@ -26,7 +155,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Соединитель поездов - event.shaped('railways:track_coupler', [ + e.shaped('railways:track_coupler', [ 'AAA', 'DBE', ' C ' @@ -38,7 +167,7 @@ const registerRailWaysRecipes = (event) => { E: '#forge:tools/screwdrivers', }).id('tfg:railways/shaped/track_coupler') - event.recipes.gtceu.assembler('tfg:railways/track_coupler') + e.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') @@ -46,7 +175,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Переключатель пути поезда из андезита - event.shaped('railways:track_switch_andesite', [ + e.shaped('railways:track_switch_andesite', [ 'BAB', 'CDC', 'ECF' @@ -59,7 +188,7 @@ const registerRailWaysRecipes = (event) => { F: '#forge:tools/hammers', }).id('tfg:railways/shaped/track_switch_andesite') - event.recipes.gtceu.assembler('tfg:railways/track_switch_andesite') + e.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') @@ -67,7 +196,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Переключатель пути поезда из латуни - event.shaped('railways:track_switch_brass', [ + e.shaped('railways:track_switch_brass', [ 'BAB', 'CDC', 'ECF' @@ -80,7 +209,7 @@ const registerRailWaysRecipes = (event) => { F: '#forge:tools/hammers', }).id('tfg:railways/shaped/track_switch_brass') - event.recipes.gtceu.assembler('tfg:railways/track_switch_brass') + e.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') @@ -88,7 +217,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Свисток кондуктора - event.shaped('railways:conductor_whistle', [ + e.shaped('railways:conductor_whistle', [ 'ABC' ], { A: '#forge:plates/brass', @@ -96,7 +225,7 @@ const registerRailWaysRecipes = (event) => { C: '#forge:tools/files', }).id('tfg:railways/shaped/conductor_whistle') - event.recipes.gtceu.assembler('tfg:railways/conductor_whistle') + e.recipes.gtceu.assembler('tfg:railways/conductor_whistle') .itemInputs('#forge:plates/brass') .circuit(4) .itemOutputs('railways:conductor_whistle') @@ -104,7 +233,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Удаленная линза - event.shaped('railways:remote_lens', [ + e.shaped('railways:remote_lens', [ 'ABC', 'DE ' ], { @@ -115,7 +244,7 @@ const registerRailWaysRecipes = (event) => { E: 'ae2:wireless_access_point' }).id('tfg:railways/shaped/remote_lens') - event.recipes.gtceu.assembler('tfg:railways/remote_lens') + e.recipes.gtceu.assembler('tfg:railways/remote_lens') .itemInputs('#forge:plates/brass', 'create:precision_mechanism', 'ae2:wireless_access_point') .circuit(3) .itemOutputs('railways:remote_lens') @@ -123,7 +252,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Дымогенератор 1 - event.shaped('railways:smokestack_caboosestyle', [ + e.shaped('railways:smokestack_caboosestyle', [ 'BCB', 'DA ' ], { @@ -133,7 +262,7 @@ const registerRailWaysRecipes = (event) => { D: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_caboosestyle') - event.recipes.gtceu.assembler('tfg:railways/smokestack_caboosestyle') + e.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') @@ -141,7 +270,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Дымогенератор 2 - event.shaped('railways:smokestack_long', [ + e.shaped('railways:smokestack_long', [ 'C ', 'BAB' ], { @@ -150,7 +279,7 @@ const registerRailWaysRecipes = (event) => { C: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_long') - event.recipes.gtceu.assembler('tfg:railways/smokestack_long') + e.recipes.gtceu.assembler('tfg:railways/smokestack_long') .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:nuggets/black_steel') .circuit(5) .itemOutputs('railways:smokestack_long') @@ -158,7 +287,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Дымогенератор 3 - event.shaped('railways:smokestack_coalburner', [ + e.shaped('railways:smokestack_coalburner', [ 'B B', 'BCB', 'BAB' @@ -168,7 +297,7 @@ const registerRailWaysRecipes = (event) => { C: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_coalburner') - event.recipes.gtceu.assembler('tfg:railways/smokestack_coalburner') + e.recipes.gtceu.assembler('tfg:railways/smokestack_coalburner') .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel') .circuit(6) .itemOutputs('railways:smokestack_coalburner') @@ -176,7 +305,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Дымогенератор 4 - event.shaped('railways:smokestack_oilburner', [ + e.shaped('railways:smokestack_oilburner', [ 'BCB', 'BAB' ], { @@ -185,7 +314,7 @@ const registerRailWaysRecipes = (event) => { C: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_oilburner') - event.recipes.gtceu.assembler('tfg:railways/smokestack_oilburner') + e.recipes.gtceu.assembler('tfg:railways/smokestack_oilburner') .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel') .circuit(7) .itemOutputs('railways:smokestack_oilburner') @@ -193,7 +322,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Дымогенератор 5 - event.shaped('railways:smokestack_streamlined', [ + e.shaped('railways:smokestack_streamlined', [ 'C ', 'BAB' ], { @@ -202,7 +331,7 @@ const registerRailWaysRecipes = (event) => { C: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_streamlined') - event.recipes.gtceu.assembler('tfg:railways/smokestack_streamlined') + e.recipes.gtceu.assembler('tfg:railways/smokestack_streamlined') .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:plates/black_steel') .circuit(8) .itemOutputs('railways:smokestack_streamlined') @@ -210,7 +339,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Дымогенератор 6 - event.shaped('railways:smokestack_woodburner', [ + e.shaped('railways:smokestack_woodburner', [ ' D ', 'CBC', 'BAB' @@ -221,7 +350,7 @@ const registerRailWaysRecipes = (event) => { D: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_woodburner') - event.recipes.gtceu.assembler('tfg:railways/smokestack_woodburner') + e.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') @@ -229,7 +358,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Вентилятор радиатора - event.shaped('2x railways:smokestack_diesel', [ + e.shaped('2x railways:smokestack_diesel', [ 'ABA', 'BCB', 'ABA' @@ -240,50 +369,50 @@ const registerRailWaysRecipes = (event) => { }).id('tfg:railways/shaped/smokestack_diesel') // Монорельс - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ '6x railways:track_monorail', ], 'create:metal_girder', [ - event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', 'create:metal_bracket']), - 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']), + e.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', 'create:metal_bracket']), + e.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']), + e.recipes.createPressing('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail']), + e.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']), + e.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('railways/monorail') + e.recipes.gtceu.assembler('railways/monorail') .itemInputs('create:metal_girder', '2x #forge:plates/wrought_iron') .itemOutputs('6x railways:track_monorail') .duration(250) .EUt(32) // Железнодорожное полотно (Узкое) - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ '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_nugget']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), - event.recipes.createPressing('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow']), + e.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), + e.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), + e.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), + e.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), + e.recipes.createPressing('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow']), ]).transitionalItem('railways:track_incomplete_create_andesite_narrow').loops(1).id('tfg:railways/sequenced_assembly/track_create_andesite_narrow_from_steel') - event.recipes.gtceu.assembler('railways/track_create_andesite_narrow_from_steel') + e.recipes.gtceu.assembler('railways/track_create_andesite_narrow_from_steel') .itemInputs('#tfg:rock_slabs', '4x gtceu:steel_nugget') .itemOutputs('railways:track_create_andesite_narrow') .duration(800) .EUt(32) // Железнодорожное полотно (Нормальное) - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ 'create:track', ], 'railways:track_create_andesite_narrow', [ - event.recipes.createCutting('create:incomplete_track', 'create:incomplete_track').processingTime(100), - event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfg:rock_slabs']), - event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfc:mortar']), - event.recipes.createPressing('create:incomplete_track', ['create:incomplete_track']), + e.recipes.createCutting('create:incomplete_track', 'create:incomplete_track').processingTime(100), + e.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfg:rock_slabs']), + e.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfc:mortar']), + e.recipes.createPressing('create:incomplete_track', ['create:incomplete_track']), ]).transitionalItem('create:incomplete_track').loops(1).id('tfg:railways/sequenced_assembly/track_create_andesite') - event.recipes.gtceu.assembler('railways/track') + e.recipes.gtceu.assembler('railways/track') .itemInputs('railways:track_create_andesite_narrow') .inputFluids(Fluid.of('gtceu:concrete', 144)) .itemOutputs('create:track') @@ -291,16 +420,16 @@ const registerRailWaysRecipes = (event) => { .EUt(16) // Железнодорожное полотно (Широкое) - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ 'railways:track_create_andesite_wide', ], 'create:track', [ - event.recipes.createCutting('railways:track_incomplete_create_andesite_wide', 'railways:track_incomplete_create_andesite_wide').processingTime(100), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfg:rock_slabs']), - 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']), + e.recipes.createCutting('railways:track_incomplete_create_andesite_wide', 'railways:track_incomplete_create_andesite_wide').processingTime(100), + e.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfg:rock_slabs']), + e.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfc:mortar']), + e.recipes.createPressing('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide']), ]).transitionalItem('railways:track_incomplete_create_andesite_wide').loops(1).id('tfg:railways/sequenced_assembly/track_create_andesite_wide') - event.recipes.gtceu.assembler('railways/track_create_andesite_wide') + e.recipes.gtceu.assembler('railways/track_create_andesite_wide') .itemInputs('create:track') .inputFluids(Fluid.of('gtceu:concrete', 144)) .itemOutputs('railways:track_create_andesite_wide') @@ -310,61 +439,59 @@ const registerRailWaysRecipes = (event) => { // Железнодородные полотна из дерева global.TFC_WOOD_TYPES.forEach(woodType => { // Узкое - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ `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_nugget']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '4x #forge:screws']), - event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`]), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '4x #forge:screws']), + e.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`]), ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_narrow`).loops(1).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_narrow`) - event.recipes.gtceu.assembler(`railways/track_create_${woodType}_narrow`) + e.recipes.gtceu.assembler(`railways/track_create_${woodType}_narrow`) .itemInputs(`tfc:wood/planks/${woodType}_slab`, '4x gtceu:steel_nugget', '4x #forge:screws') .itemOutputs(`railways:track_tfc_${woodType}_narrow`) .duration(800) .EUt(32) // Нормальное - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ `railways:track_tfc_${woodType}`, ], `railways:track_tfc_${woodType}_narrow`, [ - event.recipes.createCutting(`railways:track_incomplete_tfc_${woodType}`, `railways:track_incomplete_tfc_${woodType}`).processingTime(100), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, `tfc:wood/planks/${woodType}_slab`]), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '4x #forge:screws']), - event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`]), + e.recipes.createCutting(`railways:track_incomplete_tfc_${woodType}`, `railways:track_incomplete_tfc_${woodType}`).processingTime(100), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, `tfc:wood/planks/${woodType}_slab`]), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '4x #forge:screws']), + e.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`]), ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}`).loops(1).id(`tfg:railways/sequenced_assembly/track_create_${woodType}`) - event.recipes.gtceu.assembler(`railways/track_${woodType}`) + e.recipes.gtceu.assembler(`railways/track_${woodType}`) .itemInputs(`railways:track_tfc_${woodType}_narrow`, '4x #forge:screws') .itemOutputs(`railways:track_tfc_${woodType}`) .duration(800) .EUt(16) // Широкое - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ `railways:track_tfc_${woodType}_wide`, ], `railways:track_tfc_${woodType}`, [ - event.recipes.createCutting(`railways:track_incomplete_tfc_${woodType}_wide`, `railways:track_incomplete_tfc_${woodType}_wide`).processingTime(100), - 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`, '4x #forge:screws']), - event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`]), + e.recipes.createCutting(`railways:track_incomplete_tfc_${woodType}_wide`, `railways:track_incomplete_tfc_${woodType}_wide`).processingTime(100), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `tfc:wood/planks/${woodType}_slab`]), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, '4x #forge:screws']), + e.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`]), ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_wide`).loops(1).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_wide`) - event.recipes.gtceu.assembler(`railways/track_${woodType}_wide`) + e.recipes.gtceu.assembler(`railways/track_${woodType}_wide`) .itemInputs(`railways:track_tfc_${woodType}`, '4x #forge:screws') .itemOutputs(`railways:track_tfc_${woodType}_wide`) .duration(800) .EUt(16) }); } - - /* -event.recipes.gtceu.assembler('') +e.recipes.gtceu.assembler('') .itemInputs('') .itemOutputs('') .duration() diff --git a/kubejs/server_scripts/rftools/recipes.js b/kubejs/server_scripts/rftools/recipes.js new file mode 100644 index 000000000..afce141af --- /dev/null +++ b/kubejs/server_scripts/rftools/recipes.js @@ -0,0 +1,10 @@ +// priority: 0 + +const registerRFToolsRecipes = (event) => { + + event.remove({ mod: 'rftoolscontrol' }) + event.remove({ mod: 'rftoolsdim' }) + event.remove({ mod: 'rftoolsutility' }) + event.remove({ mod: 'rftoolsbase' }) + event.remove({ mod: 'rftoolsbuilder' }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/rftools/tags.js b/kubejs/server_scripts/rftools/tags.js new file mode 100644 index 000000000..8aa09bf39 --- /dev/null +++ b/kubejs/server_scripts/rftools/tags.js @@ -0,0 +1,11 @@ +// priority: 0 + +const registerRFToolsItemTags = (event) => { + + +} + +const registerRFToolsBlockTags = (event) => { + + +} \ No newline at end of file diff --git a/kubejs/server_scripts/storage_drawers/recipes.js b/kubejs/server_scripts/storage_drawers/recipes.js new file mode 100644 index 000000000..a58b1ba78 --- /dev/null +++ b/kubejs/server_scripts/storage_drawers/recipes.js @@ -0,0 +1,6 @@ +// priority: 0 + +const registerStorageDrawersRecipes = (e) => { + + e.remove({ mod: `storagedrawers` }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/storage_drawers/tags.js b/kubejs/server_scripts/storage_drawers/tags.js new file mode 100644 index 000000000..0e0ebb578 --- /dev/null +++ b/kubejs/server_scripts/storage_drawers/tags.js @@ -0,0 +1,18 @@ +// priority: 0 + +const registerStorageDrawersItemTags = (event) => { + + // Удаление тегов у отключенных предметов + // global.SOPHISTICATED_BACKPACKS_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // event.add('c:hidden_from_recipe_viewers', item) + // }) +} + +const registerStorageDrawersBlockTags = (event) => { + + // Удаление тегов у отключенных предметов + // global.SOPHISTICATED_BACKPACKS_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 364de5d69..5089e64cc 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -1,11 +1,11 @@ // priority: 0 -const registerTFCRecipes = (event) => { +const registerTFCRecipes = (e) => { //#region Удаляем рецепты для бедных, нормальной и богатых кусков руды - event.remove({ id: /tfc:heating\/ore\/poor_*/ }) - event.remove({ id: /tfc:heating\/ore\/normal_*/ }) - event.remove({ id: /tfc:heating\/ore\/rich_*/ }) + e.remove({ id: /tfc:heating\/ore\/poor_*/ }) + e.remove({ id: /tfc:heating\/ore\/normal_*/ }) + e.remove({ id: /tfc:heating\/ore\/rich_*/ }) //#endregion //#region Крафты и раскрафты металлических предметов @@ -27,7 +27,7 @@ const registerTFCRecipes = (event) => { const nuggetItem = ChemicalHelper.get(tagPrefix, material, 1) if (nuggetItem.isEmpty()) return - event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/nugget/${material.getName()}`) } @@ -37,21 +37,21 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Декрафт слитка в жидкость - event.recipes.tfc.heating(ingotItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(ingotItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .id(`tfc:heating/metal/${material.getName()}_ingot`) if (material == GTMaterials.WroughtIron) return // Отливка слитка в обычной форме - event.recipes.tfc.casting(ingotItem, 'tfc:ceramic/ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.1) + e.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) + e.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( + e.recipes.create.filling( Item.of('tfc:ceramic/ingot_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -59,7 +59,7 @@ const registerTFCRecipes = (event) => { ] ).id(`tfg:tfc/filling/${material.getName()}_ingot`) - event.recipes.create.filling( + e.recipes.create.filling( Item.of('tfc:ceramic/fire_ingot_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -73,7 +73,7 @@ const registerTFCRecipes = (event) => { if (doubleIngotItem.isEmpty()) return // Декрафт двойного слитка в жидкость - event.recipes.tfc.heating(doubleIngotItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(doubleIngotItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .id(`tfc:heating/metal/${material.getName()}_double_ingot`) @@ -81,11 +81,11 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // 2 слитка -> Двойной слиток - event.recipes.tfc.welding(doubleIngotItem, ingotItem, ingotItem, tfcProperty.getTier() - 1) + e.recipes.tfc.welding(doubleIngotItem, ingotItem, ingotItem, tfcProperty.getTier() - 1) .id(`tfc:welding/${material.getName()}_double_ingot`) // Рецепт через бендер - event.recipes.gtceu.bender(`tfg:${material.getName()}_double_ingot`) + e.recipes.gtceu.bender(`tfg:${material.getName()}_double_ingot`) .itemInputs(ingotItem.copyWithCount(2)) .circuit(6) .itemOutputs(doubleIngotItem) @@ -97,7 +97,7 @@ const registerTFCRecipes = (event) => { if (plateItem.isEmpty()) return // Декрафт пластины в жидкость - event.recipes.tfc.heating(plateItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(plateItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .id(`tfc:heating/metal/${material.getName()}_sheet`) @@ -105,12 +105,12 @@ const registerTFCRecipes = (event) => { if (doubleIngotItem.isEmpty()) return // Двойной слиток -> Пластина - event.recipes.tfc.anvil(plateItem, doubleIngotItem, ['hit_last', 'hit_second_last', 'hit_third_last']) + e.recipes.tfc.anvil(plateItem, doubleIngotItem, ['hit_last', 'hit_second_last', 'hit_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_sheet`) // Крафт в молоте - event.recipes.gtceu.forge_hammer(`tfg:${material.getName()}_plate_from_double_ingot`) + e.recipes.gtceu.forge_hammer(`tfg:${material.getName()}_plate_from_double_ingot`) .itemInputs(doubleIngotItem) .itemOutputs(plateItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) @@ -121,7 +121,7 @@ const registerTFCRecipes = (event) => { if (doublePlateItem.isEmpty()) return // Декрафт двойных пластин - event.recipes.tfc.heating(doublePlateItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(doublePlateItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .id(`tfc:heating/metal/${material.getName()}_double_sheet`) @@ -129,7 +129,7 @@ const registerTFCRecipes = (event) => { if (plateItem.isEmpty()) return // Две пластины -> Двойная пластина - event.recipes.tfc.welding(doublePlateItem, plateItem, plateItem) + e.recipes.tfc.welding(doublePlateItem, plateItem, plateItem) .tier(tfcProperty.getTier()) .id(`tfc:welding/${material.getName()}_double_sheet`) } @@ -139,7 +139,7 @@ const registerTFCRecipes = (event) => { if (rodItem.isEmpty()) return // Декрафт стержня в жидкость - event.recipes.tfc.heating(rodItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(rodItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) .id(`tfc:heating/metal/${material.getName()}_rod`) @@ -147,7 +147,7 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Слиток -> 2 Стержня - event.recipes.tfc.anvil(rodItem.withCount(2), ingotItem, ['bend_last', 'draw_second_last', 'draw_third_last']) + e.recipes.tfc.anvil(rodItem.withCount(2), ingotItem, ['bend_last', 'draw_second_last', 'draw_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_rod`) } @@ -157,7 +157,7 @@ const registerTFCRecipes = (event) => { if (longRodItem.isEmpty()) return // Декрафт длинного стержня в жидкость - event.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .id(`tfc:heating/metal/${material.getName()}_long_rod`) @@ -165,7 +165,7 @@ const registerTFCRecipes = (event) => { if (rodItem.isEmpty()) return // Стержни -> Длинный стержень - event.recipes.tfc.welding(longRodItem, rodItem, rodItem) + e.recipes.tfc.welding(longRodItem, rodItem, rodItem) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_long_rod`) } @@ -175,7 +175,7 @@ const registerTFCRecipes = (event) => { if (boltItem.isEmpty()) return // Болт -> Металл - event.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) .id(`tfc:heating/metal/${material.getName()}_bolt`) @@ -183,7 +183,7 @@ const registerTFCRecipes = (event) => { if (rodItem.isEmpty()) return // Стержень -> Болт - event.recipes.tfc.anvil(boltItem.withCount(2), rodItem, ['punch_last', 'draw_second_last', 'draw_third_last']) + e.recipes.tfc.anvil(boltItem.withCount(2), rodItem, ['punch_last', 'draw_second_last', 'draw_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_bolt`) } @@ -193,7 +193,7 @@ const registerTFCRecipes = (event) => { if (screwItem.isEmpty()) return // Винт -> Металл - event.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) .id(`tfc:heating/metal/${material.getName()}_screw`) @@ -201,7 +201,7 @@ const registerTFCRecipes = (event) => { if (rodItem.isEmpty()) return // Стержень -> Винт - event.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) + e.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_screw`) } @@ -211,7 +211,7 @@ const registerTFCRecipes = (event) => { if (ringItem.isEmpty()) return // Кольцо -> Металл - event.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) .id(`tfc:heating/metal/${material.getName()}_ring`) @@ -219,7 +219,7 @@ const registerTFCRecipes = (event) => { if (rodItem.isEmpty()) return // Стержень -> Кольцо - event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) + e.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_ring`) } @@ -229,7 +229,7 @@ const registerTFCRecipes = (event) => { if (blockItem.isEmpty()) return // Декрафт блока в жидкость - event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) .id(`tfc:heating/metal/${material.getName()}_storage_block`) } @@ -238,7 +238,7 @@ const registerTFCRecipes = (event) => { const dustItem = ChemicalHelper.get(tagPrefix, material, 1) if (dustItem.isEmpty()) return - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/tiny_dust/${material.getName()}`) } @@ -247,7 +247,7 @@ const registerTFCRecipes = (event) => { const dustItem = ChemicalHelper.get(tagPrefix, material, 1) if (dustItem.isEmpty()) return - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/small_dust/${material.getName()}`) } @@ -256,7 +256,7 @@ const registerTFCRecipes = (event) => { const dustItem = ChemicalHelper.get(tagPrefix, material, 1) if (dustItem.isEmpty()) return - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(144, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/dust/${material.getName()}`) } @@ -265,7 +265,7 @@ const registerTFCRecipes = (event) => { const dustItem = ChemicalHelper.get(tagPrefix, material, 1) if (dustItem.isEmpty()) return - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(80, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/impure_dust/${material.getName()}`) } @@ -274,7 +274,7 @@ const registerTFCRecipes = (event) => { const dustItem = ChemicalHelper.get(tagPrefix, material, 1) if (dustItem.isEmpty()) return - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(120, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/purified_dust/${material.getName()}`) } @@ -283,7 +283,7 @@ const registerTFCRecipes = (event) => { const dustItem = ChemicalHelper.get(tagPrefix, material, 1) if (dustItem.isEmpty()) return - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(60, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/crushed_ore/${material.getName()}`) } @@ -292,7 +292,7 @@ const registerTFCRecipes = (event) => { const dustItem = ChemicalHelper.get(tagPrefix, material, 1) if (dustItem.isEmpty()) return - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(90, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) } @@ -301,7 +301,7 @@ const registerTFCRecipes = (event) => { const dustItem = ChemicalHelper.get(tagPrefix, material, 1) if (dustItem.isEmpty()) return - event.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(110, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) } @@ -310,14 +310,14 @@ const registerTFCRecipes = (event) => { const oreItem = ChemicalHelper.get(tagPrefix, material, 1) if (oreItem.isEmpty()) return - event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/rich_raw/${material.getName()}`) const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) if (crushedItem.isEmpty()) return - event.shapeless(crushedItem.copyWithCount(2), [ + e.shapeless(crushedItem.copyWithCount(2), [ '#forge:tools/hammers', oreItem ]).id(`tfg:shapeless/rich_raw_${material.getName()}_to_crushed`) @@ -327,14 +327,14 @@ const registerTFCRecipes = (event) => { const oreItem = ChemicalHelper.get(tagPrefix, material, 1) if (oreItem.isEmpty()) return - event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/raw/${material.getName()}`) const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) if (crushedItem.isEmpty()) return - event.shapeless(crushedItem, [ + e.shapeless(crushedItem, [ '#forge:tools/hammers', oreItem ]).id(`tfg:shapeless/normal_raw_${material.getName()}_to_crushed`) @@ -344,14 +344,14 @@ const registerTFCRecipes = (event) => { const oreItem = ChemicalHelper.get(tagPrefix, material, 1) if (oreItem.isEmpty()) return - event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) .id(`tfg:heating/poor_raw/${material.getName()}`) const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) if (crushedItem.isEmpty()) return - event.shapeless(crushedItem, [ + e.shapeless(crushedItem, [ '#forge:tools/hammers', oreItem, oreItem @@ -363,13 +363,13 @@ const registerTFCRecipes = (event) => { if (ingotDoubleItem.isEmpty()) return // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) + e.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) // Декрафт инструмента в жидкость const swordItem = ToolHelper.get(toolType, material) if (!swordItem.isEmpty()) { - event.recipes.tfc.heating(swordItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(swordItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_sword`) @@ -379,22 +379,22 @@ const registerTFCRecipes = (event) => { if (!swordHeadItem.isEmpty()) { // Декрафт оголовья в жидкость - event.recipes.tfc.heating(swordHeadItem, tfcProperty.getMeltTemp()) + e.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, ingotDoubleItem, ['punch_last', 'bend_not_last', 'draw_not_last']) + e.recipes.tfc.anvil(swordHeadItem, ingotDoubleItem, ['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) + e.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( + e.recipes.create.filling( Item.of('tfc:ceramic/sword_blade_mold', getFluidTankAsNBT(outputMaterial, 288)), [ Fluid.of(outputMaterial.getFluid(), 288), @@ -410,13 +410,13 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) + e.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) // Декрафт инструмента в жидкость const pickaxeItem = ToolHelper.get(toolType, material) if (!pickaxeItem.isEmpty()) { - event.recipes.tfc.heating(`gtceu:${material.getName()}_pickaxe`, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(`gtceu:${material.getName()}_pickaxe`, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_pickaxe`) @@ -427,22 +427,22 @@ const registerTFCRecipes = (event) => { if (!pickaxeHeadItem.isEmpty()) { // Декрафт оголовья в жидкость - event.recipes.tfc.heating(pickaxeHeadItem, tfcProperty.getMeltTemp()) + e.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']) + e.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) + e.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( + e.recipes.create.filling( Item.of('tfc:ceramic/pickaxe_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -459,13 +459,13 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` }) + e.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` }) // Декрафт инструмента в жидкость const axeItem = ToolHelper.get(toolType, material) if (!axeItem.isEmpty()) { - event.recipes.tfc.heating(axeItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(axeItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_axe`) @@ -475,22 +475,22 @@ const registerTFCRecipes = (event) => { const axeHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) if (!axeHeadItem.isEmpty()) { // Декрафт оголовья в жидкость - event.recipes.tfc.heating(axeHeadItem, tfcProperty.getMeltTemp()) + e.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']) + e.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) + e.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( + e.recipes.create.filling( Item.of('tfc:ceramic/axe_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -506,13 +506,13 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/shovel/${material.getName()}` }) + e.remove({ id: `tfc:crafting/metal/shovel/${material.getName()}` }) // Декрафт инструмента в жидкость const shovelItem = ToolHelper.get(toolType, material) if (!shovelItem.isEmpty()) { - event.recipes.tfc.heating(shovelItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(shovelItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_shovel`) @@ -523,22 +523,22 @@ const registerTFCRecipes = (event) => { if (!shovelHeadItem.isEmpty()) { // Декрафт оголовья в жидкость - event.recipes.tfc.heating(shovelHeadItem, tfcProperty.getMeltTemp()) + e.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']) + e.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) + e.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( + e.recipes.create.filling( Item.of('tfc:ceramic/shovel_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -555,12 +555,12 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) + e.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) // Декрафт инструмента в жидкость const hoeItem = ToolHelper.get(toolType, material) if (!hoeItem.isEmpty()) { - event.recipes.tfc.heating(hoeItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(hoeItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_hoe`) @@ -570,22 +570,22 @@ const registerTFCRecipes = (event) => { if (!hoeHeadItem.isEmpty()) { // Декрафт оголовья в жидкость - event.recipes.tfc.heating(hoeHeadItem, tfcProperty.getMeltTemp()) + e.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']) + e.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) + e.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( + e.recipes.create.filling( Item.of('tfc:ceramic/hoe_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -602,12 +602,12 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/knife/${material.getName()}` }) + e.remove({ id: `tfc:crafting/metal/knife/${material.getName()}` }) // Декрафт инструмента в жидкость const knifeItem = ToolHelper.get(toolType, material) if (!knifeItem.isEmpty()) { - event.recipes.tfc.heating(knifeItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(knifeItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_knife`) @@ -617,22 +617,22 @@ const registerTFCRecipes = (event) => { if (!knifeHeadItem.isEmpty()) { // Декрафт оголовья в жидкость - event.recipes.tfc.heating(knifeHeadItem, tfcProperty.getMeltTemp()) + e.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']) + e.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) + e.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( + e.recipes.create.filling( Item.of('tfc:ceramic/knife_blade_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -643,11 +643,11 @@ const registerTFCRecipes = (event) => { //#region Ножницы // Сварка оголовий - event.recipes.tfc.welding(`tfc:metal/shears/${material.getName()}`, knifeHeadItem, knifeHeadItem, tfcProperty.getTier()) + e.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()) + e.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`) @@ -665,7 +665,7 @@ const registerTFCRecipes = (event) => { const miningHammerItem = ToolHelper.get(toolType, material) if (!miningHammerItem.isEmpty()) { - event.recipes.tfc.heating(miningHammerItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(miningHammerItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_mining_hammer`) @@ -677,12 +677,12 @@ const registerTFCRecipes = (event) => { if (!miningHammerHeadItem.isEmpty()) { // Декрафт оголовья в жидкость - event.recipes.tfc.heating(miningHammerHeadItem, tfcProperty.getMeltTemp()) + e.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, ingotDoubleItem, ['punch_last', 'shrink_not_last']) + e.recipes.tfc.anvil(miningHammerHeadItem, ingotDoubleItem, ['punch_last', 'shrink_not_last']) .tier(tfcProperty.getTier()) .bonus(true) .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) @@ -695,12 +695,12 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/scythe/${material.getName()}` }) + e.remove({ id: `tfc:crafting/metal/scythe/${material.getName()}` }) // Декрафт инструмента в жидкость const scytheItem = ToolHelper.get(toolType, material) if (!scytheItem.isEmpty()) { - event.recipes.tfc.heating(scytheItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(scytheItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_scythe`) @@ -710,22 +710,22 @@ const registerTFCRecipes = (event) => { if (!scytheHeadItem.isEmpty()) { // Декрафт оголовья в жидкость - event.recipes.tfc.heating(scytheHeadItem, tfcProperty.getMeltTemp()) + e.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']) + e.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) + e.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( + e.recipes.create.filling( Item.of('tfc:ceramic/scythe_blade_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -743,7 +743,7 @@ const registerTFCRecipes = (event) => { const fileItem = ToolHelper.get(toolType, material) if (!fileItem.isEmpty()) { - event.recipes.tfc.heating(fileItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(fileItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_file`) @@ -753,12 +753,12 @@ const registerTFCRecipes = (event) => { if (!fileHeadItem.isEmpty()) { // Декрафт оголовья в жидкость - event.recipes.tfc.heating(fileHeadItem, tfcProperty.getMeltTemp()) + e.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']) + e.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`) @@ -771,13 +771,13 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/hammer/${material.getName()}` }) + e.remove({ id: `tfc:crafting/metal/hammer/${material.getName()}` }) // Декрафт инструмента в жидкость const hammerItem = ToolHelper.get(toolType, material) if (!hammerItem.isEmpty()) { - event.recipes.tfc.heating(hammerItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(hammerItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_hammer`) @@ -788,22 +788,22 @@ const registerTFCRecipes = (event) => { if (!hammerHeadItem.isEmpty()) { // Декрафт оголовья в жидкость - event.recipes.tfc.heating(hammerHeadItem, tfcProperty.getMeltTemp()) + e.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']) + e.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) + e.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( + e.recipes.create.filling( Item.of('tfc:ceramic/hammer_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -820,13 +820,13 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/saw/${material.getName()}` }) + e.remove({ id: `tfc:crafting/metal/saw/${material.getName()}` }) // Декрафт инструмента в жидкость const sawItem = ToolHelper.get(toolType, material) if (!sawItem.isEmpty()) { - event.recipes.tfc.heating(sawItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(sawItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_saw`) @@ -837,22 +837,22 @@ const registerTFCRecipes = (event) => { if (!sawHeadItem.isEmpty()) { // Декрафт оголовья в жидкость - event.recipes.tfc.heating(sawHeadItem, tfcProperty.getMeltTemp()) + e.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']) + e.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) + e.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( + e.recipes.create.filling( Item.of('tfc:ceramic/saw_blade_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -872,7 +872,7 @@ const registerTFCRecipes = (event) => { const butcheryKnifeItem = ToolHelper.get(toolType, material) if (!butcheryKnifeItem.isEmpty()) { - event.recipes.tfc.heating(butcheryKnifeItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(butcheryKnifeItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_butchery_knife`) @@ -883,12 +883,12 @@ const registerTFCRecipes = (event) => { if (!butcheryKnifeHeadItem.isEmpty()) { // Декрафт оголовья в жидкость - event.recipes.tfc.heating(butcheryKnifeHeadItem, tfcProperty.getMeltTemp()) + e.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, ingotItem, ['punch_last', 'bend_not_last', 'bend_not_last']) + e.recipes.tfc.anvil(butcheryKnifeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'bend_not_last']) .tier(tfcProperty.getTier()) .bonus(true) .id(`tfc:anvil/${material.getName()}_knife_butchery_head`) @@ -904,7 +904,7 @@ const registerTFCRecipes = (event) => { const spadeItem = ToolHelper.get(toolType, material) if (!spadeItem.isEmpty()) { - event.recipes.tfc.heating(spadeItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(spadeItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_spade`) @@ -915,13 +915,13 @@ const registerTFCRecipes = (event) => { if (!spadeHeadItem.isEmpty()) { // Крафт оголовья - event.recipes.tfc.anvil(spadeHeadItem, ingotDoubleItem, ['punch_last', 'hit_not_last']) + e.recipes.tfc.anvil(spadeHeadItem, ingotDoubleItem, ['punch_last', 'hit_not_last']) .tier(tfcProperty.getTier()) .bonus(true) .id(`tfc:anvil/${material.getName()}_spade_head`) // Декрафт оголовья в жидкость - event.recipes.tfc.heating(spadeHeadItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(spadeHeadItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .id(`tfc:heating/metal/${material.getName()}_spade_head`) @@ -933,7 +933,7 @@ const registerTFCRecipes = (event) => { if (propickItem.isEmpty()) return // Декрафт инструмента в жидкость - event.recipes.tfc.heating(propickItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(propickItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_propick`) @@ -942,16 +942,16 @@ const registerTFCRecipes = (event) => { if (propickHeadItem.isEmpty()) return; // Декрафт оголовья в жидкость - event.recipes.tfc.heating(propickHeadItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(propickHeadItem, 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(propickHeadItem, 'tfc:ceramic/propick_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + e.recipes.tfc.casting(propickHeadItem, 'tfc:ceramic/propick_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) .id(`tfc:casting/${material.getName()}_propick_head`) - event.recipes.create.filling( + e.recipes.create.filling( Item.of('tfc:ceramic/propick_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -966,7 +966,7 @@ const registerTFCRecipes = (event) => { if (javelinItem.isEmpty()) return // Декрафт инструмента в жидкость - event.recipes.tfc.heating(javelinItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(javelinItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_javelin`) @@ -975,16 +975,16 @@ const registerTFCRecipes = (event) => { if (javelinHeadItem.isEmpty()) return // Декрафт оголовья в жидкость - event.recipes.tfc.heating(javelinHeadItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(javelinHeadItem, 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(javelinHeadItem, 'tfc:ceramic/javelin_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + e.recipes.tfc.casting(javelinHeadItem, 'tfc:ceramic/javelin_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) .id(`tfc:casting/${material.getName()}_javelin_head`) - event.recipes.create.filling( + e.recipes.create.filling( Item.of('tfc:ceramic/javelin_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -999,7 +999,7 @@ const registerTFCRecipes = (event) => { if (chiselItem.isEmpty()) return // Декрафт инструмента в жидкость - event.recipes.tfc.heating(chiselItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(chiselItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_chisel`) @@ -1008,16 +1008,16 @@ const registerTFCRecipes = (event) => { if (chiselHeadItem.isEmpty()) return // Декрафт оголовья в жидкость - event.recipes.tfc.heating(chiselHeadItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(chiselHeadItem, 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(chiselHeadItem, 'tfc:ceramic/chisel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + e.recipes.tfc.casting(chiselHeadItem, 'tfc:ceramic/chisel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) .id(`tfc:casting/${material.getName()}_chisel_head`) - event.recipes.create.filling( + e.recipes.create.filling( Item.of('tfc:ceramic/chisel_head_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -1032,7 +1032,7 @@ const registerTFCRecipes = (event) => { if (maceItem.isEmpty()) return // Декрафт инструмента в жидкость - event.recipes.tfc.heating(maceItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(maceItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_mace`) @@ -1042,10 +1042,10 @@ const registerTFCRecipes = (event) => { // Металл + Форма -> Оголовье if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(maceHeadItem, 'tfc:ceramic/mace_head_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) + e.recipes.tfc.casting(maceHeadItem, 'tfc:ceramic/mace_head_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) .id(`tfc:casting/${material.getName()}_mace_head`) - event.recipes.create.filling( + e.recipes.create.filling( Item.of('tfc:ceramic/mace_head_mold', getFluidTankAsNBT(outputMaterial, 288)), [ Fluid.of(outputMaterial.getFluid(), 288), @@ -1056,7 +1056,7 @@ const registerTFCRecipes = (event) => { } // Декрафт оголовья в жидкость - event.recipes.tfc.heating(maceHeadItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(maceHeadItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .id(`tfc:heating/metal/${material.getName()}_mace_head`) } @@ -1066,7 +1066,7 @@ const registerTFCRecipes = (event) => { if (shieldItem.isEmpty()) return // Декрафт щита в жидкость - event.recipes.tfc.heating(shieldItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(shieldItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_shield`) @@ -1075,7 +1075,7 @@ const registerTFCRecipes = (event) => { if (plateDoubleItem.isEmpty()) return // Щит - event.recipes.tfc.anvil(shieldItem, plateDoubleItem, ['upset_last', 'bend_second_last', 'bend_third_last']) + e.recipes.tfc.anvil(shieldItem, plateDoubleItem, ['upset_last', 'bend_second_last', 'bend_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_shield`) } @@ -1088,7 +1088,7 @@ const registerTFCRecipes = (event) => { if (fishingRodHeadItem.isEmpty()) return // Декрафт оголовья в жидкость - event.recipes.tfc.heating(fishingRodHeadItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(fishingRodHeadItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .id(`tfc:heating/metal/${material.getName()}_fish_hook`) @@ -1096,13 +1096,13 @@ const registerTFCRecipes = (event) => { if (plateItem.isEmpty()) return // Крюк удочки - event.recipes.tfc.anvil(fishingRodHeadItem, plateItem, ['draw_not_last', 'bend_any', 'hit_any']) + e.recipes.tfc.anvil(fishingRodHeadItem, plateItem, ['draw_not_last', 'bend_any', 'hit_any']) .tier(tfcProperty.getTier()) .bonus(true) .id(`tfc:anvil/${material.getName()}_fish_hook`) // Декрафт инструмента в жидкость - event.recipes.tfc.heating(fishingRodItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(fishingRodItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_fishing_rod`) @@ -1113,7 +1113,7 @@ const registerTFCRecipes = (event) => { if (tuyereItem.isEmpty()) return // Декрафт инструмента в жидкость - event.recipes.tfc.heating(tuyereItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(tuyereItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_tuyere`) @@ -1122,7 +1122,7 @@ const registerTFCRecipes = (event) => { if (plateDoubleItem.isEmpty()) return // Фурма - event.recipes.tfc.anvil(tuyereItem, plateDoubleItem, ['bend_last', 'bend_second_last']) + e.recipes.tfc.anvil(tuyereItem, plateDoubleItem, ['bend_last', 'bend_second_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_tuyere`) } @@ -1135,12 +1135,12 @@ const registerTFCRecipes = (event) => { // if (tongsStack.isEmpty() && tongPartStack.isEmpty()) return // // Ручка щипцов - // event.recipes.tfc.heating(tongPartStack, tfcProperty.getMeltTemp()) + // e.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()) + // e.recipes.tfc.heating(tongsStack, tfcProperty.getMeltTemp()) // .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) // .useDurability(true) // .id(`tfchotornot:heating/tongs/${material.getName()}`) @@ -1156,23 +1156,23 @@ const registerTFCRecipes = (event) => { //#region Шлем // Декрафт незавершенного шлема в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_helmet/${material.getName()}`, tfcProperty.getMeltTemp()) + e.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()}`, plateDoubleItem, ['hit_last', 'bend_second_last', 'bend_third_last']) + e.recipes.tfc.anvil(`tfc:metal/unfinished_helmet/${material.getName()}`, plateDoubleItem, ['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()) + e.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) + e.recipes.tfc.welding(`tfc:metal/helmet/${material.getName()}`, `tfc:metal/unfinished_helmet/${material.getName()}`, plateItem) .tier(tfcProperty.getTier()) .id(`tfc:welding/${material.getName()}_helmet`) @@ -1181,23 +1181,23 @@ const registerTFCRecipes = (event) => { //#region Нагрудник // Декрафт незавершенного нагрудника в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_chestplate/${material.getName()}`, tfcProperty.getMeltTemp()) + e.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()}`, plateDoubleItem, ['hit_last', 'hit_second_last', 'upset_third_last']) + e.recipes.tfc.anvil(`tfc:metal/unfinished_chestplate/${material.getName()}`, plateDoubleItem, ['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()) + e.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()}`, plateDoubleItem) + e.recipes.tfc.welding(`tfc:metal/chestplate/${material.getName()}`, `tfc:metal/unfinished_chestplate/${material.getName()}`, plateDoubleItem) .tier(tfcProperty.getTier()) .id(`tfc:welding/${material.getName()}_chestplate`) @@ -1206,23 +1206,23 @@ const registerTFCRecipes = (event) => { //#region Поножи // Декрафт незавершенных поножей в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_greaves/${material.getName()}`, tfcProperty.getMeltTemp()) + e.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()}`, plateDoubleItem, ['bend_any', 'draw_any', 'hit_any']) + e.recipes.tfc.anvil(`tfc:metal/unfinished_greaves/${material.getName()}`, plateDoubleItem, ['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()) + e.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) + e.recipes.tfc.welding(`tfc:metal/greaves/${material.getName()}`, `tfc:metal/unfinished_greaves/${material.getName()}`, plateItem) .tier(tfcProperty.getTier()) .id(`tfc:welding/${material.getName()}_greaves`) @@ -1231,23 +1231,23 @@ const registerTFCRecipes = (event) => { //#region Ботинки // Декрафт незавершенных ботинок в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_boots/${material.getName()}`, tfcProperty.getMeltTemp()) + e.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']) + e.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()) + e.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) + e.recipes.tfc.welding(`tfc:metal/boots/${material.getName()}`, `tfc:metal/unfinished_boots/${material.getName()}`, plateItem) .tier(tfcProperty.getTier()) .id(`tfc:welding/${material.getName()}_boots`) @@ -1256,7 +1256,7 @@ const registerTFCRecipes = (event) => { //#region Конская броня // Декрафт конской брони в жидкость - event.recipes.tfc.heating(`tfc:metal/horse_armor/${material.getName()}`, tfcProperty.getMeltTemp()) + e.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`) @@ -1269,7 +1269,7 @@ const registerTFCRecipes = (event) => { if (platedBlock.isEmpty()) return // Декрафт - event.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) .id(`tfc:heating/metal/${material.getName()}_block`) @@ -1277,7 +1277,7 @@ const registerTFCRecipes = (event) => { if (plateItem.isEmpty()) return // Крафт в ассемблере - event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_block`) + e.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_block`) .itemInputs(plateItem.copyWithCount(4), '#minecraft:planks') .itemOutputs(platedBlock) .duration(300) @@ -1289,10 +1289,10 @@ const registerTFCRecipes = (event) => { if (platedStairBlock.isEmpty()) return // Удаление рецепта через верстак - event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_stairs`}) + e.remove({ id: `tfc:crafting/metal/block/${material.getName()}_stairs`}) // Декрафт - event.recipes.tfc.heating(platedStairBlock, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(platedStairBlock, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 54)) .id(`tfc:heating/metal/${material.getName()}_block_stairs`) @@ -1300,7 +1300,7 @@ const registerTFCRecipes = (event) => { if (platedBlock.isEmpty()) return // Крафт в каттере - event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_stairs`) + e.recipes.gtceu.cutter(`tfg:${material.getName()}_block_stairs`) .itemInputs(platedBlock.copyWithCount(3)) .itemOutputs(platedStairBlock) .duration(300) @@ -1312,10 +1312,10 @@ const registerTFCRecipes = (event) => { if (platedSlabBlock.isEmpty()) return // Удаление рецепта через верстак - event.remove({ id: `tfc:crafting/metal/block/${material.getName()}_slab`}) + e.remove({ id: `tfc:crafting/metal/block/${material.getName()}_slab`}) // Декрафт - event.recipes.tfc.heating(platedSlabBlock, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(platedSlabBlock, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) .id(`tfc:heating/metal/${material.getName()}_block_slab`) @@ -1323,7 +1323,7 @@ const registerTFCRecipes = (event) => { if (platedBlock.isEmpty()) return // Крафт в каттере - event.recipes.gtceu.cutter(`tfg:${material.getName()}_block_slab`) + e.recipes.gtceu.cutter(`tfg:${material.getName()}_block_slab`) .itemInputs(platedBlock) .itemOutputs(platedSlabBlock.copyWithCount(2)) .duration(300) @@ -1335,7 +1335,7 @@ const registerTFCRecipes = (event) => { if (anvilItem.isEmpty()) return // Декрафт наковальни в жидкость - event.recipes.tfc.heating(anvilItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(anvilItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 2016)) .id(`tfc:heating/metal/${material.getName()}_anvil`) @@ -1343,14 +1343,14 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Крафт в смелтере - event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_anvil_from_ingots`) + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_anvil_from_ingots`) .itemInputs(ingotItem.copyWithCount(14)) .notConsumable('tfg:anvil_casting_mold') .itemOutputs(anvilItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) // Крафт в солидифаере - event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_anvil_from_fluid`) + e.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_anvil_from_fluid`) .inputFluids(Fluid.of(outputMaterial.getFluid(), 2016)) .notConsumable('tfg:anvil_casting_mold') .itemOutputs(anvilItem) @@ -1365,19 +1365,19 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Декрафт незавершенной лампы в жидкость - event.recipes.tfc.heating(lampUnfinishedItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(lampUnfinishedItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .id(`tfc:heating/metal/${material.getName()}_unfinished_lamp`) // Крафт в смелтере - event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_unfinished_lamp_from_ingots`) + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_unfinished_lamp_from_ingots`) .itemInputs(ingotItem) .notConsumable('tfg:lamp_casting_mold') .itemOutputs(lampUnfinishedItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) // Крафт в солидифаере - event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_unfinished_lamp_from_fluid`) + e.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_unfinished_lamp_from_fluid`) .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) .notConsumable('tfg:lamp_casting_mold') .itemOutputs(lampUnfinishedItem) @@ -1389,7 +1389,7 @@ const registerTFCRecipes = (event) => { if (lampItem.isEmpty()) return // Декрафт лампы в жидкость - event.recipes.tfc.heating(lampItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(lampItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .id(`tfc:heating/metal/${material.getName()}_lamp`) @@ -1397,13 +1397,13 @@ const registerTFCRecipes = (event) => { if (lampUnfinishedItem.isEmpty()) return // Рецепт ассемблер - event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp`) + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp`) .itemInputs(lampUnfinishedItem, 'tfc:lamp_glass') .circuit(12) .itemOutputs(lampItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 7) - event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp_from_liquid`) + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp_from_liquid`) .itemInputs(lampUnfinishedItem) .inputFluids(GTMaterials.Glass.getFluid(576)) .circuit(13) @@ -1416,7 +1416,7 @@ const registerTFCRecipes = (event) => { if (trapdoorItem.isEmpty()) return // Декрафт люка в жидкость - event.recipes.tfc.heating(trapdoorItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(trapdoorItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .id(`tfc:heating/metal/${material.getName()}_trapdoor`) @@ -1424,7 +1424,7 @@ const registerTFCRecipes = (event) => { if (plateItem.isEmpty()) return // Люк - event.recipes.tfc.anvil(trapdoorItem, plateItem, ['bend_last', 'draw_second_last', 'draw_third_last']) + e.recipes.tfc.anvil(trapdoorItem, plateItem, ['bend_last', 'draw_second_last', 'draw_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_trapdoor`) @@ -1432,14 +1432,14 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Крафт в смелтере - event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_trapdoor_from_ingots`) + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_trapdoor_from_ingots`) .itemInputs(ingotItem) .notConsumable('tfg:trapdoor_casting_mold') .itemOutputs(trapdoorItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) // Крафт в солидифаере - event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_trapdoor_from_fluid`) + e.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_trapdoor_from_fluid`) .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) .notConsumable('tfg:trapdoor_casting_mold') .itemOutputs(trapdoorItem) @@ -1451,7 +1451,7 @@ const registerTFCRecipes = (event) => { if (chainItem.isEmpty()) return // Декрафт цепи в жидкость - event.recipes.tfc.heating(`tfc:metal/chain/${material.getName()}`, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(`tfc:metal/chain/${material.getName()}`, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 9)) .id(`tfc:heating/metal/${material.getName()}_chain`) @@ -1459,14 +1459,14 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Крафт в смелтере - event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_chain_from_ingots`) + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_chain_from_ingots`) .itemInputs(ingotItem) .notConsumable('tfg:chain_casting_mold') .itemOutputs(chainItem.copyWithCount(9)) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) // Крафт в солидифаере - event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_chain_from_fluid`) + e.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_chain_from_fluid`) .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) .notConsumable('tfg:chain_casting_mold') .itemOutputs(chainItem.copyWithCount(9)) @@ -1478,7 +1478,7 @@ const registerTFCRecipes = (event) => { if (barsItem.isEmpty()) return // Декрафт решетки в жидкость - event.recipes.tfc.heating(barsItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(barsItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) .id(`tfc:heating/metal/${material.getName()}_bars`) @@ -1486,7 +1486,7 @@ const registerTFCRecipes = (event) => { if (plateItem.isEmpty()) return // 8x Решетка - event.recipes.tfc.anvil(barsItem.copyWithCount(8), plateItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + e.recipes.tfc.anvil(barsItem.copyWithCount(8), plateItem, ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_bars`) @@ -1494,7 +1494,7 @@ const registerTFCRecipes = (event) => { if (plateDoubleItem.isEmpty()) return // 16x Решетка - event.recipes.tfc.anvil(barsItem.copyWithCount(16), plateDoubleItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + e.recipes.tfc.anvil(barsItem.copyWithCount(16), plateDoubleItem, ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_bars_double`) @@ -1502,7 +1502,7 @@ const registerTFCRecipes = (event) => { if (rodtItem.isEmpty()) return // Крафт в ассемблере - event.recipes.gtceu.assembler(`tfg:${material.getName()}_bars_from_rods`) + e.recipes.gtceu.assembler(`tfg:${material.getName()}_bars_from_rods`) .itemInputs(rodtItem.withCount(3)) .circuit(3) .itemOutputs(barsItem.copyWithCount(4)) @@ -1514,14 +1514,14 @@ const registerTFCRecipes = (event) => { const bellItem = ChemicalHelper.get(tagPrefix, material, 1) - event.recipes.tfc.casting(bellItem, 'tfc:ceramic/bell_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + e.recipes.tfc.casting(bellItem, 'tfc:ceramic/bell_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) .id(`tfc:casting/${material.getName()}_bell`) - event.recipes.tfc.heating(bellItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(bellItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .id(`tfc:heating/${material.getName()}_bell`) - event.recipes.create.filling( + e.recipes.create.filling( Item.of('tfc:ceramic/bell_mold', getFluidTankAsNBT(outputMaterial, 144)), [ Fluid.of(outputMaterial.getFluid(), 144), @@ -1533,14 +1533,14 @@ const registerTFCRecipes = (event) => { if (ingotItem.isEmpty()) return // Крафт в смелтере - event.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_bell_from_ingots`) + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_bell_from_ingots`) .itemInputs(ingotItem) .notConsumable('tfg:bell_casting_mold') .itemOutputs(bellItem) .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 8) // Крафт в солидифаере - event.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_bell_from_fluid`) + e.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_bell_from_fluid`) .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) .notConsumable('tfg:bell_casting_mold') .itemOutputs(bellItem) @@ -1554,7 +1554,7 @@ const registerTFCRecipes = (event) => { if (oreItem.isEmpty()) return // Декрафт мелкого кусочка в жидкость - event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) .id(`tfc:heating/ore/small_${material.getName()}`) } @@ -1566,7 +1566,7 @@ const registerTFCRecipes = (event) => { if (oreItem.isEmpty()) return // Декрафт мелкого кусочка в жидкость - event.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) .id(`tfc:heating/ore/small_native_${material.getName()}`) } @@ -1662,14 +1662,14 @@ const registerTFCRecipes = (event) => { //#region Новые сплавы //#region Сплав красного камня - event.recipes.tfc.alloy('tfg:red_alloy', [ + e.recipes.tfc.alloy('tfg:red_alloy', [ TFC.alloyPart('tfg:redstone', 0.15, 0.25), TFC.alloyPart('tfc:copper', 0.75, 0.85) ]).id('tfg:alloy/red_alloy') //#endregion //#region Сплав олова - event.recipes.tfc.alloy('tfg:tin_alloy', [ + e.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') @@ -1680,49 +1680,49 @@ const registerTFCRecipes = (event) => { //#region Удаление рецептов для предметов из CastIron // Блок - event.remove({ id: `tfc:crafting/metal/block/cast_iron` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block` }) + e.remove({ id: `tfc:crafting/metal/block/cast_iron` }) + e.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` }) + e.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` }) + e.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` }) + e.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` }) + e.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` }) + e.remove({ id: `tfc:casting/cast_iron_ingot` }) + e.remove({ id: `tfc:casting/cast_iron_fire_ingot` }) + e.remove({ id: `tfc:heating/metal/cast_iron_ingot` }) + e.remove({ id: `tfc:welding/cast_iron_double_ingot` }) + e.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` }) + e.remove({ id: `tfc:heating/metal/cast_iron_double_ingot` }) + e.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` }) + e.remove({ id: `tfc:heating/metal/cast_iron_sheet` }) + e.remove({ id: `tfc:welding/cast_iron_double_sheet` }) // Двойная пластина - event.remove({ id: `tfc:heating/metal/cast_iron_double_sheet` }) + e.remove({ id: `tfc:heating/metal/cast_iron_double_sheet` }) // Стержень - event.remove({ id: `tfc:heating/metal/cast_iron_rod` }) + e.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` }) + e.remove({ id: `tfc:crafting/metal/block/cast_iron` }) + e.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` }) + e.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` }) + e.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` }) + e.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` }) + e.remove({ id: `tfc:heating/metal/cast_iron_block_slab` }) //#endregion @@ -1730,7 +1730,7 @@ const registerTFCRecipes = (event) => { //#region Рецепты ковки TFC слитков в GT машинах //#region Сырая крица -> Укрепленная крица - event.recipes.gtceu.forge_hammer('tfg/refined_bloom') + e.recipes.gtceu.forge_hammer('tfg/refined_bloom') .itemInputs('tfc:raw_iron_bloom') .itemOutputs('tfc:refined_iron_bloom') .duration(1000) @@ -1741,7 +1741,7 @@ const registerTFCRecipes = (event) => { //#endregion //#region Укрепленная крица -> Слиток кованного железа - event.recipes.gtceu.forge_hammer('tfg/wrought_iron_ingot') + e.recipes.gtceu.forge_hammer('tfg/wrought_iron_ingot') .itemInputs('tfc:refined_iron_bloom') .itemOutputs('gtceu:wrought_iron_ingot') .duration(1000) @@ -1752,7 +1752,7 @@ const registerTFCRecipes = (event) => { //#endregion //#region Чугун -> Высокоуглеродная сталь - event.recipes.gtceu.forge_hammer('tfg/high_carbon_steel') + e.recipes.gtceu.forge_hammer('tfg/high_carbon_steel') .itemInputs('tfc:metal/ingot/pig_iron') .itemOutputs('tfc:metal/ingot/high_carbon_steel') .duration(1000) @@ -1763,7 +1763,7 @@ const registerTFCRecipes = (event) => { //#endregion //#region Высокоуглеродная сталь -> Cталь - event.recipes.gtceu.forge_hammer('tfg/steel') + e.recipes.gtceu.forge_hammer('tfg/steel') .itemInputs('tfc:metal/ingot/high_carbon_steel') .itemOutputs('gtceu:steel_ingot') .duration(1000) @@ -1774,7 +1774,7 @@ const registerTFCRecipes = (event) => { //#endregion //#region Высокоуглеродная черная сталь -> черная сталь - event.recipes.gtceu.forge_hammer('tfg/black_steel') + e.recipes.gtceu.forge_hammer('tfg/black_steel') .itemInputs('tfc:metal/ingot/high_carbon_black_steel') .itemOutputs('gtceu:black_steel_ingot') .duration(1000) @@ -1785,7 +1785,7 @@ const registerTFCRecipes = (event) => { //#endregion //#region Высокоуглеродная синяя сталь -> синяя сталь - event.recipes.gtceu.forge_hammer('tfg/blue_steel') + e.recipes.gtceu.forge_hammer('tfg/blue_steel') .itemInputs('tfc:metal/ingot/high_carbon_blue_steel') .itemOutputs('gtceu:blue_steel_ingot') .duration(1000) @@ -1796,7 +1796,7 @@ const registerTFCRecipes = (event) => { //#endregion //#region Высокоуглеродная красная сталь -> красная сталь - event.recipes.gtceu.forge_hammer('tfg/red_steel') + e.recipes.gtceu.forge_hammer('tfg/red_steel') .itemInputs('tfc:metal/ingot/high_carbon_red_steel') .itemOutputs('gtceu:red_steel_ingot') .duration(1000) @@ -1807,7 +1807,7 @@ const registerTFCRecipes = (event) => { //#endregion //#region Слабая сталь + Чугун -> Высокоуглеродная черная сталь - event.recipes.gtceu.alloy_smelter('tfg/high_carbon_black_steel') + e.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) @@ -1819,7 +1819,7 @@ const registerTFCRecipes = (event) => { //#region Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь - event.recipes.gtceu.alloy_smelter('tfg/high_carbon_blue_steel') + e.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) @@ -1831,7 +1831,7 @@ const registerTFCRecipes = (event) => { //#region Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь - event.recipes.gtceu.alloy_smelter('tfg/high_carbon_red_steel') + e.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) @@ -1846,75 +1846,82 @@ const registerTFCRecipes = (event) => { //#region Фикс рецептов металлических предметов // Рецепт Jacks - event.recipes.tfc.welding('tfc:jacks', '#forge:rods/brass', '#forge:plates/brass', 2) + e.recipes.tfc.welding('tfc:jacks', '#forge:rods/brass', '#forge:plates/brass', 2) .id(`tfc:welding/jacks`) // Декрафт Jacks - event.recipes.tfc.heating('tfc:jacks', 930) + e.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) + e.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) + e.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) + e.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) + e.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) + e.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']) + e.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) + e.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) + e.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) + e.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) + e.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) + e.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) + e.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)) + e.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 Земля + e.remove({ id: 'gtceu:macerator/dirt_from_bio_chaff' }) + e.recipes.gtceu.macerator('tfg:dirt_from_bio_chaff') + .itemInputs('gtceu:bio_chaff') + .itemOutputs('tfc:dirt/loam') + .duration(300) + .EUt(4) + //#endregion @@ -1930,7 +1937,7 @@ const registerTFCRecipes = (event) => { } -const registerTFCRecipes1 = (event) => { +const registerTFCRecipes1 = (e) => { @@ -1947,28 +1954,28 @@ const registerTFCRecipes1 = (event) => { //#region Земля // Loam + Silt -> Silty Loam (Миксер) - event.recipes.gtceu.mixer('silty_loam_dirt') + e.recipes.gtceu.mixer('silty_loam_dirt') .itemInputs('tfc:dirt/loam', 'tfc:dirt/silt') .itemOutputs('tfc:dirt/silty_loam') .duration(1600) .EUt(12) // Silty Loam + Sticks -> Rooted Silty Loam (Миксер) - event.recipes.gtceu.mixer('rooted_silty_loam_dirt') + e.recipes.gtceu.mixer('rooted_silty_loam_dirt') .itemInputs('tfc:dirt/silty_loam', '#tfc:can_be_lit_on_torch') .itemOutputs('tfc:rooted_dirt/silty_loam') .duration(1600) .EUt(12) // Loam + Sand -> Sandy Loam (Миксер) - event.recipes.gtceu.mixer('sandy_loam_dirt') + e.recipes.gtceu.mixer('sandy_loam_dirt') .itemInputs('tfc:dirt/loam', '#forge:sand') .itemOutputs('tfc:dirt/sandy_loam') .duration(1600) .EUt(12) // Loam + Silt -> Silty Loam (Create Миксер) - event.recipes.gtceu.create_mixer('silty_loam_dirt') + e.recipes.gtceu.create_mixer('silty_loam_dirt') .itemInputs('tfc:dirt/loam', 'tfc:dirt/silt') .itemOutputs('tfc:dirt/silty_loam') .duration(1600) @@ -1976,7 +1983,7 @@ const registerTFCRecipes1 = (event) => { .rpm(60) // Silty Loam + Sticks -> Rooted Silty Loam (Create Миксер) - event.recipes.gtceu.create_mixer('rooted_silty_loam_dirt') + e.recipes.gtceu.create_mixer('rooted_silty_loam_dirt') .itemInputs('tfc:dirt/silty_loam', '#tfc:can_be_lit_on_torch') .itemOutputs('tfc:rooted_dirt/silty_loam') .duration(1600) @@ -1984,7 +1991,7 @@ const registerTFCRecipes1 = (event) => { .rpm(60) // Loam + Sand -> Sandy Loam (Create Миксер) - event.recipes.gtceu.create_mixer('sandy_loam_dirt') + e.recipes.gtceu.create_mixer('sandy_loam_dirt') .itemInputs('tfc:dirt/loam', '#forge:sand') .itemOutputs('tfc:dirt/sandy_loam') .duration(1600) @@ -1992,7 +1999,7 @@ const registerTFCRecipes1 = (event) => { .rpm(60) global.TFC_MUD_TYPES.forEach(mud => { - event.smelting(`tfc:dirt/${mud}`, `tfc:mud/${mud}`) + e.smelting(`tfc:dirt/${mud}`, `tfc:mud/${mud}`) .id(`tfg:smelting/${mud}_mud_to_grass`) }) @@ -2002,7 +2009,7 @@ const registerTFCRecipes1 = (event) => { global.TFC_MUD_TYPES.forEach(mud => { // Dirt -> Mud - event.recipes.gtceu.mixer(`${mud}_grass_to_mud`) + e.recipes.gtceu.mixer(`${mud}_grass_to_mud`) .itemInputs(`tfc:dirt/${mud}`) .inputFluids(Fluid.of('minecraft:water', 100)) .itemOutputs(`tfc:mud/${mud}`) @@ -2017,10 +2024,10 @@ const registerTFCRecipes1 = (event) => { global.TFC_MUD_TYPES.forEach(mud => { // Влажный кирпич -> Кирпич - event.smelting(`tfc:mud_brick/${mud}`, `tfc:drying_bricks/${mud}`) + e.smelting(`tfc:mud_brick/${mud}`, `tfc:drying_bricks/${mud}`) .id(`tfg:smelting/${mud}_drying_brick_to_brick`) - event.custom({ + e.custom({ type: "firmalife:drying", ingredient: { item: `tfc:drying_bricks/${mud}` @@ -2031,7 +2038,7 @@ const registerTFCRecipes1 = (event) => { }).id(`tfg:drying/${mud}_drying_brick_to_brick`) // Кирпич -> Блок кирпичей - event.shaped(`tfc:mud_bricks/${mud}`, [ + e.shaped(`tfc:mud_bricks/${mud}`, [ 'ABA', 'BAB', 'ABA' @@ -2040,7 +2047,7 @@ const registerTFCRecipes1 = (event) => { B: '#tfc:mortar' }).id(`tfc:crafting/soil/${mud}_mud_bricks`) - event.recipes.gtceu.assembler(`mud_bricks_${mud}`) + e.recipes.gtceu.assembler(`mud_bricks_${mud}`) .itemInputs(`5x tfc:mud_brick/${mud}`) .inputFluids(Fluid.of('gtceu:concrete', 72)) .itemOutputs(`4x tfc:mud_bricks/${mud}`) @@ -2048,28 +2055,28 @@ const registerTFCRecipes1 = (event) => { .EUt(2) // Блок кирпичей -> Ступени - event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_stairs` }) + e.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_stairs` }) - event.stonecutting(`tfc:mud_bricks/${mud}_stairs`, `tfc:mud_bricks/${mud}`) + e.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`) + generateCutterRecipe(e, `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` }) + e.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_slab` }) - event.stonecutting(`2x tfc:mud_bricks/${mud}_slab`, `tfc:mud_bricks/${mud}`) + e.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`) + generateCutterRecipe(e, `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` }) + e.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_wall` }) - event.stonecutting(`tfc:mud_bricks/${mud}_wall`, `tfc:mud_bricks/${mud}`) + e.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`) + generateCutterRecipe(e, `tfc:mud_bricks/${mud}`, 2, `tfc:mud_bricks/${mud}_wall`, 100, 8, `${mud}_mud_bricks_to_wall`) }) @@ -2084,7 +2091,7 @@ const registerTFCRecipes1 = (event) => { let smallStoneDust = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1) // Кирпич (предмет) - event.recipes.gtceu.assembler(`tfg:tfc/${stone}_loose_to_brick`) + e.recipes.gtceu.assembler(`tfg:tfc/${stone}_loose_to_brick`) .itemInputs(`tfc:rock/loose/${stone}`) .itemOutputs(`tfc:brick/${stone}`) .duration(40) @@ -2093,36 +2100,36 @@ const registerTFCRecipes1 = (event) => { //#region Сырой камень // Сырой камень -> Сырой камень - event.recipes.gtceu.rock_breaker(`${stone}_raw`) + e.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`) + e.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` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `tfc:rock/raw/${stone}`, 2, [`tfc:rock/raw/${stone}_wall`, stoneDust], 100, 8, `${stone}_raw_to_wall`) // ? -> Сырая нажимная пластина - event.shaped(`tfc:rock/pressure_plate/${stone}`, [ + e.shaped(`tfc:rock/pressure_plate/${stone}`, [ 'ABA', 'CDC', 'AEA' @@ -2134,7 +2141,7 @@ const registerTFCRecipes1 = (event) => { E: '#forge:tools/screwdrivers' }).id(`tfc:crafting/rock/${stone}_pressure_plate`) - event.recipes.gtceu.assembler(`${stone}_raw_pressure_plate`) + e.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}`) @@ -2142,30 +2149,30 @@ const registerTFCRecipes1 = (event) => { .EUt(2) // ? -> Сырая кнопка - event.remove({ id: `tfc:crafting/rock/${stone}_button` }) + e.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`) + generateCutterRecipe(e, `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`) + e.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`) + e.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}`, [ + e.shaped(`tfc:rock/cobble/${stone}`, [ 'ABA', 'BAB', 'ABA' @@ -2174,7 +2181,7 @@ const registerTFCRecipes1 = (event) => { B: '#tfc:mortar' }).id(`tfc:crafting/rock/${stone}_loose_rocks_to_cobble`) - event.recipes.gtceu.assembler(`${stone}_loose_rocks_to_cobble`) + e.recipes.gtceu.assembler(`${stone}_loose_rocks_to_cobble`) .itemInputs(`4x tfc:rock/loose/${stone}`) .circuit(0) .inputFluids(Fluid.of('gtceu:concrete', 72)) @@ -2183,26 +2190,26 @@ const registerTFCRecipes1 = (event) => { .EUt(2) // Булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_cobble_stairs` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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`) + e.recipes.gtceu.laser_engraver(`raw_${stone}_to_smooth`) .itemInputs(`tfc:rock/raw/${stone}`) .notConsumable('gtceu:glass_lens') .itemOutputs(`tfc:rock/smooth/${stone}`) @@ -2210,7 +2217,7 @@ const registerTFCRecipes1 = (event) => { .EUt(100) // Укрепленный сырой камень -> Гладкий - event.recipes.gtceu.laser_engraver(`hardened_${stone}_to_smooth`) + e.recipes.gtceu.laser_engraver(`hardened_${stone}_to_smooth`) .itemInputs(`tfc:rock/hardened/${stone}`) .notConsumable('gtceu:glass_lens') .itemOutputs(`tfc:rock/smooth/${stone}`) @@ -2218,26 +2225,26 @@ const registerTFCRecipes1 = (event) => { .EUt(100) // Булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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}`) + e.recipes.gtceu.assembler(`bricks_${stone}`) .itemInputs(`5x tfc:brick/${stone}`) .circuit(0) .inputFluids(Fluid.of('gtceu:concrete', 72)) @@ -2246,52 +2253,52 @@ const registerTFCRecipes1 = (event) => { .EUt(2) // Блок кирпичей -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_bricks_stairs` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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}`) + e.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` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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}`, [ + e.shaped(`tfc:rock/mossy_cobble/${stone}`, [ 'ABA', 'BAB', 'ABA' @@ -2300,7 +2307,7 @@ const registerTFCRecipes1 = (event) => { B: '#tfc:mortar' }).id(`tfc:crafting/rock/${stone}_mossy_loose_rocks_to_cobble`) - event.recipes.gtceu.assembler(`${stone}_mossy_loose_rocks_to_mossy_cobble`) + e.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)) @@ -2308,7 +2315,7 @@ const registerTFCRecipes1 = (event) => { .duration(50) .EUt(2) - event.recipes.gtceu.assembler(`${stone}_cobble_rocks_to_mossy_cobble`) + e.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)) @@ -2317,26 +2324,26 @@ const registerTFCRecipes1 = (event) => { .EUt(2) // Замшелый булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_stairs` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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}`) + e.recipes.gtceu.assembler(`mossy_bricks_${stone}`) .itemInputs(`tfc:rock/bricks/${stone}`, '#tfc:compost_greens_low') .circuit(0) .inputFluids(Fluid.of('minecraft:water', 144)) @@ -2345,25 +2352,25 @@ const registerTFCRecipes1 = (event) => { .EUt(2) // Замшелый булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_stairs` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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` }) + e.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`) + generateCutterRecipe(e, `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}`) + e.recipes.gtceu.assembler(`hardened_${stone}`) .itemInputs(`5x tfc:rock/raw/${stone}`) .circuit(0) .inputFluids(Fluid.of('gtceu:concrete', 72)) @@ -2375,7 +2382,7 @@ const registerTFCRecipes1 = (event) => { //#region Акведук - event.recipes.gtceu.assembler(`aqueduct_${stone}`) + e.recipes.gtceu.assembler(`aqueduct_${stone}`) .itemInputs(`3x tfc:brick/${stone}`) .circuit(1) .inputFluids(Fluid.of('gtceu:concrete', 16)) @@ -2388,7 +2395,7 @@ const registerTFCRecipes1 = (event) => { //#region Резной кирпич // Блок кирпичей -> Резной кирпич - event.recipes.gtceu.laser_engraver(`chiseled_${stone}`) + e.recipes.gtceu.laser_engraver(`chiseled_${stone}`) .itemInputs(`tfc:rock/bricks/${stone}`) .notConsumable('gtceu:glass_lens') .itemOutputs(`tfc:rock/chiseled/${stone}`) @@ -2402,49 +2409,49 @@ const registerTFCRecipes1 = (event) => { //#region Целый блок // Сырой - event.recipes.gtceu.macerator(`raw_${stone}_to_dust`) + e.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`) + e.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`) + e.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`) + e.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`) + e.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`) + e.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`) + e.recipes.gtceu.macerator(`mossy_bricks_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_bricks/${stone}`) .itemOutputs(stoneDust) .duration(4) @@ -2455,49 +2462,49 @@ const registerTFCRecipes1 = (event) => { //#region Ступень // Сырой - event.recipes.gtceu.macerator(`raw_stairs_${stone}_to_dust`) + e.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`) + e.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`) + e.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`) + e.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`) + e.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`) + e.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`) + e.recipes.gtceu.macerator(`mossy_bricks_stairs_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_bricks/${stone}_stairs`) .itemOutputs(smallStoneDust.withCount(6)) .duration(4) @@ -2508,49 +2515,49 @@ const registerTFCRecipes1 = (event) => { //#region Плита // Сырой - event.recipes.gtceu.macerator(`raw_slab_${stone}_to_dust`) + e.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`) + e.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`) + e.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`) + e.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`) + e.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`) + e.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`) + e.recipes.gtceu.macerator(`mossy_bricks_slab_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_bricks/${stone}_slab`) .itemOutputs(smallStoneDust.withCount(2)) .duration(4) @@ -2561,49 +2568,49 @@ const registerTFCRecipes1 = (event) => { //#region Стена // Сырой - event.recipes.gtceu.macerator(`raw_wall_${stone}_to_dust`) + e.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`) + e.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`) + e.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`) + e.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`) + e.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`) + e.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`) + e.recipes.gtceu.macerator(`mossy_bricks_wall_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_bricks/${stone}_wall`) .itemOutputs(stoneDust) .duration(4) @@ -2612,14 +2619,14 @@ const registerTFCRecipes1 = (event) => { //#endregion // Резной кирпич - event.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`) + e.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`) + e.recipes.gtceu.macerator(`hardened_${stone}_to_dust`) .itemInputs(`tfc:rock/hardened/${stone}`) .itemOutputs(stoneDust.withCount(2)) .duration(8) @@ -2635,7 +2642,7 @@ const registerTFCRecipes1 = (event) => { // Песок душ -> Желтый песок // TODO: Включить после добавления ада /* - event.recipes.gtceu.centrifuge('soul_sand_separation') + e.recipes.gtceu.centrifuge('soul_sand_separation') .itemInputs('minecraft:soul_sand') .chancedOutput('tfc:sand/yellow', 9000, 130) .chancedOutput('gtceu:small_saltpeter_dust', 8000, 480) @@ -2645,7 +2652,7 @@ const registerTFCRecipes1 = (event) => { .EUt(80)*/ // Нефтеносный -> Желтый песок - event.recipes.gtceu.centrifuge('oilsands_ore_separation') + e.recipes.gtceu.centrifuge('oilsands_ore_separation') .itemInputs('#forge:ores/oilsands') .chancedOutput('tfc:sand/yellow', 5000, 5000) .outputFluids(Fluid.of('gtceu:oil', 2000)) @@ -2653,7 +2660,7 @@ const registerTFCRecipes1 = (event) => { .EUt(30) // Пыль нефтеносного песка -> Желтый песок - event.recipes.gtceu.centrifuge('oilsands_dust_separation') + e.recipes.gtceu.centrifuge('oilsands_dust_separation') .itemInputs('gtceu:oilsands_dust') .chancedOutput('tfc:sand/yellow', 5000, 5000) .outputFluids(Fluid.of('gtceu:oil', 2000)) @@ -2661,7 +2668,7 @@ const registerTFCRecipes1 = (event) => { .EUt(30) // Земля -> Желтый песок - event.recipes.gtceu.centrifuge('dirt_separation') + e.recipes.gtceu.centrifuge('dirt_separation') .itemInputs('#tfc:dirt') .chancedOutput('gtceu:plant_ball', 1250, 700) .chancedOutput('tfc:sand/yellow', 5000, 1200) @@ -2672,162 +2679,162 @@ const registerTFCRecipes1 = (event) => { // Рецепты где нужно итерироваться по всем цветам global.SAND_COLORS.forEach(sandColor => { // Песчанник -> Песок - event.recipes.gtceu.forge_hammer(`raw_${sandColor}_sandstone_to_sand`) + e.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`) + e.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`) + e.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`) + e.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}`) + e.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`) + generateCutterRecipe(e, `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}`) + e.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`) + generateCutterRecipe(e, `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` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_stairs` }) - event.stonecutting(`tfc:raw_sandstone/${sandColor}_stairs`, `tfc:raw_sandstone/${sandColor}`) + e.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`) + generateCutterRecipe(e, `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` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_slab` }) - event.stonecutting(`2x tfc:raw_sandstone/${sandColor}_slab`, `tfc:raw_sandstone/${sandColor}`) + e.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`) + generateCutterRecipe(e, `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` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_wall` }) - event.stonecutting(`tfc:raw_sandstone/${sandColor}_wall`, `tfc:raw_sandstone/${sandColor}`) + e.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`) + generateCutterRecipe(e, `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` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_stairs` }) - event.stonecutting(`tfc:smooth_sandstone/${sandColor}_stairs`, `tfc:smooth_sandstone/${sandColor}`) + e.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`) + generateCutterRecipe(e, `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` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_slab` }) - event.stonecutting(`2x tfc:smooth_sandstone/${sandColor}_slab`, `tfc:smooth_sandstone/${sandColor}`) + e.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`) + generateCutterRecipe(e, `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` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_wall` }) - event.stonecutting(`tfc:smooth_sandstone/${sandColor}_wall`, `tfc:smooth_sandstone/${sandColor}`) + e.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`) + generateCutterRecipe(e, `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` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_stairs` }) - event.stonecutting(`tfc:cut_sandstone/${sandColor}_stairs`, `tfc:cut_sandstone/${sandColor}`) + e.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`) + generateCutterRecipe(e, `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` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_slab` }) - event.stonecutting(`2x tfc:cut_sandstone/${sandColor}_slab`, `tfc:cut_sandstone/${sandColor}`) + e.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`) + generateCutterRecipe(e, `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` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_wall` }) - event.stonecutting(`tfc:cut_sandstone/${sandColor}_wall`, `tfc:cut_sandstone/${sandColor}`) + e.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`) + generateCutterRecipe(e, `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') + e.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') + e.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') + e.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') + e.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') + e.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') + e.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') + e.recipes.gtceu.forge_hammer('pink_gravel_to_sand') .itemInputs('#tfc:pink_gravel') .itemOutputs('tfc:sand/pink') .duration(400) @@ -2839,28 +2846,28 @@ const registerTFCRecipes1 = (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` }) + e.remove({ id: `tfc:crafting/wood/${wood}_axle` }) + e.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` }) + e.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` }) + e.remove({ id: `tfc:crafting/wood/${wood}_clutch` }) + e.remove({ id: `tfc:crafting/wood/${wood}_gear_box` }) + e.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` }) // Бревна -> Пиломатериалы - generateCutterRecipe(event, `#tfc:${wood}_logs`, null, `16x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_log`) + generateCutterRecipe(e, `#tfc:${wood}_logs`, null, `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(e, `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(e, `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`) + generateCutterRecipe(e, `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`, [ + e.shaped(`tfc:wood/planks/${wood}_pressure_plate`, [ 'ABA', 'CDC', 'AEA' @@ -2872,7 +2879,7 @@ const registerTFCRecipes1 = (event) => { E: '#forge:tools/screwdrivers' }).id(`tfc:crafting/wood/${wood}_pressure_plate`) - event.recipes.gtceu.assembler(`${wood}_pressure_plate`) + e.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`) @@ -2880,9 +2887,9 @@ const registerTFCRecipes1 = (event) => { .EUt(2) // ? -> Деревянная кнопка - event.remove({ id: `tfc:crafting/wood/${wood}_button` }) + e.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`) + generateCutterRecipe(e, `tfc:wood/planks/${wood}_pressure_plate`, null, `6x tfc:wood/planks/${wood}_button`, 50, 2, `${wood}_button`) }) @@ -2891,84 +2898,84 @@ const registerTFCRecipes1 = (event) => { //#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' }) + e.remove({ id: 'tfc:quern/amethyst' }) + e.remove({ id: 'tfc:quern/amethyst_cut' }) + e.remove({ id: 'tfc:quern/blaze_rod' }) + e.remove({ id: 'tfc:quern/borax' }) + e.remove({ id: 'tfc:quern/charcoal' }) + e.remove({ id: 'tfc:quern/cinnabar' }) + e.remove({ id: 'tfc:quern/cryolite' }) + e.remove({ id: 'tfc:quern/diamond' }) + e.remove({ id: 'tfc:quern/diamond_cut' }) + e.remove({ id: 'tfc:quern/emerald' }) + e.remove({ id: 'tfc:quern/emerald_cut' }) + e.remove({ id: 'tfc:quern/graphite' }) + e.remove({ id: 'tfc:quern/lapis_lazuli' }) + e.remove({ id: 'tfc:quern/lapis_lazuli_cut' }) + e.remove({ id: 'tfc:quern/normal_bismuthinite' }) + e.remove({ id: 'tfc:quern/normal_cassiterite' }) + e.remove({ id: 'tfc:quern/normal_garnierite' }) + e.remove({ id: 'tfc:quern/normal_hematite' }) + e.remove({ id: 'tfc:quern/normal_limonite' }) + e.remove({ id: 'tfc:quern/normal_magnetite' }) + e.remove({ id: 'tfc:quern/normal_malachite' }) + e.remove({ id: 'tfc:quern/normal_native_copper' }) + e.remove({ id: 'tfc:quern/normal_native_gold' }) + e.remove({ id: 'tfc:quern/normal_native_silver' }) + e.remove({ id: 'tfc:quern/normal_sphalerite' }) + e.remove({ id: 'tfc:quern/normal_tetrahedrite' }) + e.remove({ id: 'tfc:quern/opal' }) + e.remove({ id: 'tfc:quern/opal_cut' }) + e.remove({ id: 'tfc:quern/poor_bismuthinite' }) + e.remove({ id: 'tfc:quern/poor_cassiterite' }) + e.remove({ id: 'tfc:quern/poor_garnierite' }) + e.remove({ id: 'tfc:quern/poor_hematite' }) + e.remove({ id: 'tfc:quern/poor_limonite' }) + e.remove({ id: 'tfc:quern/poor_magnetite' }) + e.remove({ id: 'tfc:quern/poor_malachite' }) + e.remove({ id: 'tfc:quern/poor_native_copper' }) + e.remove({ id: 'tfc:quern/poor_native_gold' }) + e.remove({ id: 'tfc:quern/poor_native_silver' }) + e.remove({ id: 'tfc:quern/poor_sphalerite' }) + e.remove({ id: 'tfc:quern/poor_tetrahedrite' }) + e.remove({ id: 'tfc:quern/pyrite' }) + e.remove({ id: 'tfc:quern/pyrite_cut' }) + e.remove({ id: 'tfc:quern/raw_limestone' }) + e.remove({ id: 'tfc:quern/rich_bismuthinite' }) + e.remove({ id: 'tfc:quern/rich_cassiterite' }) + e.remove({ id: 'tfc:quern/rich_garnierite' }) + e.remove({ id: 'tfc:quern/rich_hematite' }) + e.remove({ id: 'tfc:quern/rich_limonite' }) + e.remove({ id: 'tfc:quern/rich_magnetite' }) + e.remove({ id: 'tfc:quern/rich_malachite' }) + e.remove({ id: 'tfc:quern/rich_native_copper' }) + e.remove({ id: 'tfc:quern/rich_native_gold' }) + e.remove({ id: 'tfc:quern/rich_native_silver' }) + e.remove({ id: 'tfc:quern/rich_sphalerite' }) + e.remove({ id: 'tfc:quern/rich_tetrahedrite' }) + e.remove({ id: 'tfc:quern/ruby' }) + e.remove({ id: 'tfc:quern/ruby_cut' }) + e.remove({ id: 'tfc:quern/salt' }) + e.remove({ id: 'tfc:quern/saltpeter' }) + e.remove({ id: 'tfc:quern/sapphire' }) + e.remove({ id: 'tfc:quern/sapphire_cut' }) + e.remove({ id: 'tfc:quern/sulfur' }) + e.remove({ id: 'tfc:quern/sylvite' }) + e.remove({ id: 'tfc:quern/topaz' }) + e.remove({ id: 'tfc:quern/topaz_cut' }) // Добавление рецептов global.TFC_QUERN_POWDER_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.macerator(`tfg:${element.name}`) + e.recipes.gtceu.macerator(`tfg:${element.name}`) .itemInputs(element.input) .itemOutputs(element.output) .duration(60) .EUt(2) - event.recipes.tfc.quern(element.output, element.input) + e.recipes.tfc.quern(element.output, element.input) .id(`tfg:quern/${element.name}`) - event.recipes.createMilling(element.output, element.input) + e.recipes.createMilling(element.output, element.input) .id(`tfg:milling/${element.name}`) }) @@ -2978,17 +2985,17 @@ const registerTFCRecipes1 = (event) => { global.TFC_QUERN_GRAIN_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.macerator(`tfg:${element.name}`) + e.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) + e.recipes.tfc.quern(element.output, element.input) .id(`tfg:quern/${element.name}`) - event.recipes.createMilling(element.output, element.input) + e.recipes.createMilling(element.output, element.input) .id(`tfg:milling/${element.name}`) }) @@ -2997,13 +3004,13 @@ const registerTFCRecipes1 = (event) => { //#region Рецепты муки global.TFC_QUERN_FLOUR_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.macerator(`tfg:${element.name}`) + e.recipes.gtceu.macerator(`tfg:${element.name}`) .itemInputs(element.input) .itemOutputs(element.output) .duration(200) .EUt(16) - event.recipes.createMilling(element.output, element.input) + e.recipes.createMilling(element.output, element.input) .id(`tfg:milling/${element.name}`) }) @@ -3012,7 +3019,7 @@ const registerTFCRecipes1 = (event) => { //#region Рецепты обжарки мяса global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS.forEach(element => { - event.smelting(element.output, element.input) + e.smelting(element.output, element.input) .id(`tfg:smelting/${element.name}`) }) @@ -3021,15 +3028,15 @@ const registerTFCRecipes1 = (event) => { //#region Рецепты обжарки форм global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => { - event.smelting(element.output, element.input) + e.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`) + e.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}`) + e.smelting(`tfc:ceramic/large_vessel/${dye}`, `tfc:ceramic/unfired_large_vessel/${dye}`) .id(`tfg:smelting/${dye}_large_vessel`) }) @@ -3039,14 +3046,14 @@ const registerTFCRecipes1 = (event) => { //#region Обычный сосуд - event.recipes.gtceu.chemical_bath(`unfired_vessel_decolor`) + e.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`) + e.recipes.gtceu.chemical_bath(`fired_vessel_decolor`) .itemInputs('#tfg:colorized_fired_vessels') .inputFluids(Fluid.of(`gtceu:chlorine`, 36)) .itemOutputs('tfc:ceramic/vessel') @@ -3054,14 +3061,14 @@ const registerTFCRecipes1 = (event) => { .EUt(4) global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.recipes.gtceu.chemical_bath(`${dye}_unfired_vessel`) + e.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`) + e.recipes.gtceu.chemical_bath(`${dye}_vessel`) .itemInputs('tfc:ceramic/vessel') .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 36)) .itemOutputs(`tfc:ceramic/${dye}_glazed_vessel`) @@ -3073,14 +3080,14 @@ const registerTFCRecipes1 = (event) => { //#region Большой сосуд - event.recipes.gtceu.chemical_bath(`unfired_large_vessel_decolor`) + e.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`) + e.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') @@ -3088,14 +3095,14 @@ const registerTFCRecipes1 = (event) => { .EUt(4) global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.recipes.gtceu.chemical_bath(`${dye}_large_unfired_vessel`) + e.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`) + e.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}`) @@ -3109,11 +3116,11 @@ const registerTFCRecipes1 = (event) => { //#region Удаление рецептов лопастей ветряной мельницы - event.remove({ id: `tfc:crafting/windmill_blade` }) - event.remove({ id: `tfc:barrel/dye/bleach_windmill_blades` }) + e.remove({ id: `tfc:crafting/windmill_blade` }) + e.remove({ id: `tfc:barrel/dye/bleach_windmill_blades` }) global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove({ id: `tfc:barrel/dye/${dye}_windmill_blade` }) + e.remove({ id: `tfc:barrel/dye/${dye}_windmill_blade` }) }) //#endregion @@ -3123,18 +3130,18 @@ const registerTFCRecipes1 = (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` }) + e.remove({ id: `tfc:crafting/stone/axe_igneous_extrusive` }) + e.remove({ id: `tfc:crafting/stone/axe_igneous_intrusive` }) + e.remove({ id: `tfc:crafting/stone/axe_metamorphic` }) + e.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` }) + e.remove({ id: `tfc:rock_knapping/axe_head_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/axe_head_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/axe_head_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/axe_head_sedimentary` }) - event.recipes.tfc.knapping('gtceu:stone_axe_head', 'tfc:rock', [ + e.recipes.tfc.knapping('gtceu:stone_axe_head', 'tfc:rock', [ " X ", "XXXX ", "XXXXX", @@ -3150,18 +3157,18 @@ const registerTFCRecipes1 = (event) => { //#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` }) + e.remove({ id: `tfc:crafting/stone/hammer_igneous_extrusive` }) + e.remove({ id: `tfc:crafting/stone/hammer_igneous_intrusive` }) + e.remove({ id: `tfc:crafting/stone/hammer_metamorphic` }) + e.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` }) + e.remove({ id: `tfc:rock_knapping/hammer_head_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/hammer_head_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/hammer_head_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/hammer_head_sedimentary` }) - event.recipes.tfc.knapping('gtceu:stone_hammer_head', 'tfc:rock', [ + e.recipes.tfc.knapping('gtceu:stone_hammer_head', 'tfc:rock', [ "XXXXX", "XXXXX", " X " @@ -3175,26 +3182,26 @@ const registerTFCRecipes1 = (event) => { //#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` }) + e.remove({ id: `tfc:crafting/stone/hoe_igneous_extrusive` }) + e.remove({ id: `tfc:crafting/stone/hoe_igneous_intrusive` }) + e.remove({ id: `tfc:crafting/stone/hoe_metamorphic` }) + e.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` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_1_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_2_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_1_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_2_sedimentary` }) - event.recipes.tfc.knapping('gtceu:stone_hoe_head', 'tfc:rock', [ + e.recipes.tfc.knapping('gtceu:stone_hoe_head', 'tfc:rock', [ "XXXXX", " XX" ]) @@ -3202,7 +3209,7 @@ const registerTFCRecipes1 = (event) => { .outsideSlotRequired(false) .id('tfg:rock_knapping/stone_hoe_head') - event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [ + e.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [ "XXXXX", "XX ", " ", @@ -3213,7 +3220,7 @@ const registerTFCRecipes1 = (event) => { .outsideSlotRequired(false) .id('tfg:rock_knapping/stone_hoe_head_1') - event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [ + e.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [ "XXXXX", "XX ", " ", @@ -3229,30 +3236,30 @@ const registerTFCRecipes1 = (event) => { //#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` }) + e.remove({ id: `tfc:crafting/stone/knife_igneous_extrusive` }) + e.remove({ id: `tfc:crafting/stone/knife_igneous_intrusive` }) + e.remove({ id: `tfc:crafting/stone/knife_metamorphic` }) + e.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` }) + e.remove({ id: `tfc:rock_knapping/knife_head_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/knife_head_1_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/knife_head_2_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/knife_head_3_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/knife_head_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/knife_head_1_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/knife_head_2_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/knife_head_3_sedimentary` }) - event.recipes.tfc.knapping('gtceu:stone_knife_head', 'tfc:rock', [ + e.recipes.tfc.knapping('gtceu:stone_knife_head', 'tfc:rock', [ "X ", "XX", "XX", @@ -3263,7 +3270,7 @@ const registerTFCRecipes1 = (event) => { .outsideSlotRequired(false) .id('tfg:rock_knapping/stone_knife_head') - event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ + e.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ "X X ", "XX XX", "XX XX", @@ -3274,7 +3281,7 @@ const registerTFCRecipes1 = (event) => { .outsideSlotRequired(false) .id('tfg:rock_knapping/stone_knife_head_1') - event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ + e.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ "X X", "XX XX", "XX XX", @@ -3285,7 +3292,7 @@ const registerTFCRecipes1 = (event) => { .outsideSlotRequired(false) .id('tfg:rock_knapping/stone_knife_head_2') - event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ + e.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ " X X ", "XX XX", "XX XX", @@ -3301,18 +3308,18 @@ const registerTFCRecipes1 = (event) => { //#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` }) + e.remove({ id: `tfc:crafting/stone/shovel_igneous_extrusive` }) + e.remove({ id: `tfc:crafting/stone/shovel_igneous_intrusive` }) + e.remove({ id: `tfc:crafting/stone/shovel_metamorphic` }) + e.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` }) + e.remove({ id: `tfc:rock_knapping/shovel_head_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/shovel_head_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/shovel_head_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/shovel_head_sedimentary` }) - event.recipes.tfc.knapping('gtceu:stone_shovel_head', 'tfc:rock', [ + e.recipes.tfc.knapping('gtceu:stone_shovel_head', 'tfc:rock', [ "XXX", "XXX", "XXX", @@ -3336,7 +3343,7 @@ const registerTFCRecipes1 = (event) => { //#region Рецепты плоского теста global.TFC_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.mixer(element.name) + e.recipes.gtceu.mixer(element.name) .itemInputs(element.input) .inputFluids(Fluid.of('minecraft:water', 100)) .itemOutputs(element.output) @@ -3349,7 +3356,7 @@ const registerTFCRecipes1 = (event) => { //#region Рецепты хлеба global.TFC_FURNACE_BREAD_RECIPE_COMPONENTS.forEach(element => { - event.smelting(element.output, element.input) + e.smelting(element.output, element.input) .id(`tfg:smelting/${element.name}`) }) @@ -3361,7 +3368,7 @@ const registerTFCRecipes1 = (event) => { let element = global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; - event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) + e.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) .itemInputs(element.input) .circuit(i) .itemOutputs(element.output) @@ -3375,7 +3382,7 @@ const registerTFCRecipes1 = (event) => { //#region Стеклянные смеси в бутылки в ассемблере global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`) + e.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`) .itemInputs(element.input) .notConsumable('gtceu:bottle_casting_mold') .itemOutputs(element.output) @@ -3387,13 +3394,13 @@ const registerTFCRecipes1 = (event) => { //#region Оливки - event.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) + e.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') + e.recipes.createMilling('2x tfc:olive_paste', 'tfc:food/olive') .id(`tfg:milling/tfc/olive_paste`) //#endregion @@ -3403,15 +3410,15 @@ const registerTFCRecipes1 = (event) => { //#endregion // Другое - 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` }) + e.remove({ id: `tfc:crafting/trip_hammer` }) + e.remove({ id: `tfc:anvil/steel_pump` }) + e.remove({ id: `tfc:crafting/steel_pump` }) + e.remove({ id: `tfc:crafting/crankshaft` }) // Доменная печь - event.shaped('tfc:blast_furnace', [ + e.shaped('tfc:blast_furnace', [ 'AAA', 'ABA', 'AAA' @@ -3421,7 +3428,7 @@ const registerTFCRecipes1 = (event) => { }).id('tfc:crafting/blast_furnace') // Тыква -> Кусочки тыквы - event.recipes.minecraft.crafting_shaped('5x tfc:food/pumpkin_chunks', [ + e.recipes.minecraft.crafting_shaped('5x tfc:food/pumpkin_chunks', [ 'AB' ], { A: '#tfc:knives', @@ -3429,25 +3436,25 @@ const registerTFCRecipes1 = (event) => { }) // Lime - event.smelting('tfc:powder/lime', 'tfc:powder/flux') + e.smelting('tfc:powder/lime', 'tfc:powder/flux') .id('tfg:smelting/lime') // Kaolinite Clay - event.smelting('tfc:kaolin_clay', 'tfc:powder/kaolinite') + e.smelting('tfc:kaolin_clay', 'tfc:powder/kaolinite') .id('tfg:smelting/kaolinite_clay') // Fire Brick - event.smelting('tfc:ceramic/fire_brick', 'gtceu:compressed_fireclay') + e.smelting('tfc:ceramic/fire_brick', 'gtceu:compressed_fireclay') .id('tfg:smelting/fireclay_brick') // Выпаривание соли - event.recipes.tfc.pot([], Fluid.of('tfc:salt_water', 625), 300, 1000) + e.recipes.tfc.pot([], Fluid.of('tfc:salt_water', 625), 300, 1000) .itemOutput('gtceu:small_salt_dust') .id('tfg:tfc/pot/salt') // Salt Water generateMixerRecipe( - event, + e, ['#forge:dusts/salt'], Fluid.of('minecraft:water', 1000), [], @@ -3460,7 +3467,7 @@ const registerTFCRecipes1 = (event) => { ) // Lamp Glass - event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass`) + e.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass`) .itemInputs('#tfc:glass_batches') .notConsumable('#tfg:unfinished_lamps') .itemOutputs('tfc:lamp_glass') @@ -3468,7 +3475,7 @@ const registerTFCRecipes1 = (event) => { .EUt(2) // Glass lens - event.recipes.gtceu.alloy_smelter(`tfg:tfc/glass_lens`) + e.recipes.gtceu.alloy_smelter(`tfg:tfc/glass_lens`) .itemInputs('tfc:silica_glass_batch') .notConsumable('#forge:lenses') .itemOutputs('tfc:lens') @@ -3476,7 +3483,7 @@ const registerTFCRecipes1 = (event) => { .EUt(2) // Empty Jar - event.recipes.gtceu.assembler(`tfg:tfc/glass_jar`) + e.recipes.gtceu.assembler(`tfg:tfc/glass_jar`) .itemInputs('#tfc:glass_batches_tier_2') .circuit(2) .itemOutputs('tfc:empty_jar') @@ -3484,7 +3491,7 @@ const registerTFCRecipes1 = (event) => { .EUt(2) // Wool Yarn - event.recipes.gtceu.macerator('macerate_wool') + e.recipes.gtceu.macerator('macerate_wool') .itemInputs('#minecraft:wool') .itemOutputs('tfc:wool_yarn') .chancedOutput('tfc:wool_yarn', 9000, 0) @@ -3494,7 +3501,7 @@ const registerTFCRecipes1 = (event) => { .EUt(2) // LimeWater + Sand -> Mortar - event.recipes.gtceu.centrifuge('mortar') + e.recipes.gtceu.centrifuge('mortar') .itemInputs('#forge:sand') .inputFluids(Fluid.of('tfc:limewater', 100)) .itemOutputs('16x tfc:mortar') @@ -3502,7 +3509,7 @@ const registerTFCRecipes1 = (event) => { .EUt(8) // Brass Mechanism - event.recipes.gtceu.assembler('tfg:tfc/brass_mechanism') + e.recipes.gtceu.assembler('tfg:tfc/brass_mechanism') .itemInputs('#forge:plates/brass') .circuit(10) .itemOutputs('2x tfc:brass_mechanisms') @@ -3510,69 +3517,69 @@ const registerTFCRecipes1 = (event) => { .EUt(4) // 1x Small SheepSkin -> 1x Wool - event.recipes.gtceu.assembler('tfg:tfc/wool_1') + e.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') + e.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') + e.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') + e.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') + e.recipes.gtceu.assembler('tfg:tfc/burlap_cloth') .itemInputs('12x tfc:jute_fiber') .itemOutputs('tfc:burlap_cloth') .duration(100) .EUt(4) // Silk Cloth - event.recipes.gtceu.assembler('tfg:tfc/silk_cloth') + e.recipes.gtceu.assembler('tfg:tfc/silk_cloth') .itemInputs('24x minecraft:string') .itemOutputs('tfc:silk_cloth') .duration(100) .EUt(4) // Silk Cloth - event.recipes.gtceu.assembler('tfg:tfc/wool_cloth') + e.recipes.gtceu.assembler('tfg:tfc/wool_cloth') .itemInputs('16x tfc:wool_yarn') .itemOutputs('tfc:wool_cloth') .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') + generateMixerRecipe(e, 'tfc:jute', Fluid.of('minecraft:water', 200), 'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber') // 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') + e.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_seaweed').id('tfg:smelting/dried_seaweed_to_soda') + e.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') + e.recipes.tfc.collapse('#tfg:rock_slabs').id('tfg:collapse/rock_slabs') + e.recipes.tfc.collapse('#tfg:rock_stairs').id('tfg:collapse/rock_stairs') + e.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls') global.TFC_STONE_TYPES.forEach(stoneType => { - event.custom({ + e.custom({ type: "tfc:collapse", ingredient: { tag: `forge:ores_in_ground/${stoneType}` @@ -3585,7 +3592,7 @@ const registerTFCRecipes1 = (event) => { //#region Выход: Свечи - event.recipes.gtceu.chemical_bath(`tfg:tfc/candle_decolor`) + e.recipes.gtceu.chemical_bath(`tfg:tfc/candle_decolor`) .itemInputs('#tfc:colored_candles') .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) .itemOutputs('tfc:candle') @@ -3594,7 +3601,7 @@ const registerTFCRecipes1 = (event) => { global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.recipes.gtceu.chemical_bath(`tfg:tfc/${dye}_candle`) + e.recipes.gtceu.chemical_bath(`tfg:tfc/${dye}_candle`) .itemInputs('tfc:candle') .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 36)) .itemOutputs(`tfc:candle/${dye}`) @@ -3607,24 +3614,24 @@ const registerTFCRecipes1 = (event) => { //#region Алебастр - event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('4x tfc:alabaster_brick', ['#forge:raw_materials/gypsum', '#tfc:chisels'])) + e.recipes.tfc.damage_inputs_shapeless_crafting(e.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'])) + e.recipes.tfc.damage_inputs_shapeless_crafting(e.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'])) + e.recipes.tfc.damage_inputs_shapeless_crafting(e.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') + e.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') + e.recipes.gtceu.chemical_bath('tfc:alabaster/bricks') .itemInputs('#tfc:colored_bricks_alabaster') .inputFluids(Fluid.of('gtceu:chlorine', 72)) .itemOutputs('tfc:alabaster/bricks') @@ -3632,7 +3639,7 @@ const registerTFCRecipes1 = (event) => { .EUt(2) for (let i = 0; i < 16; i++) { - event.recipes.gtceu.chemical_bath(`tfg:tfc/alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`) + e.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]}`) @@ -3641,28 +3648,28 @@ const registerTFCRecipes1 = (event) => { } // Raw Alabaster - event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/poor_raw_gypsum') + e.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') + e.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') + e.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') + e.recipes.gtceu.chemical_bath('tfc:alabaster/raw') .itemInputs('#tfc:colored_bricks_alabaster') .inputFluids(Fluid.of('gtceu:chlorine', 72)) .itemOutputs('tfc:alabaster/raw') @@ -3670,7 +3677,7 @@ const registerTFCRecipes1 = (event) => { .EUt(2) for (let i = 0; i < 16; i++) { - event.recipes.gtceu.chemical_bath(`tfg:tfc/alabaster/raw/${global.MINECRAFT_DYE_NAMES[i]}`) + e.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]}`) diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index f17ad6a0a..9ab3d8fb7 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -192,6 +192,42 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:bamboo_chest_raft', //#endregion + //#region Кримзон + 'minecraft:crimson_stem', + 'minecraft:crimson_hyphae', + 'minecraft:stripped_crimson_stem', + 'minecraft:stripped_crimson_hyphae', + 'minecraft:crimson_planks', + 'minecraft:crimson_stairs', + 'minecraft:crimson_slab', + 'minecraft:crimson_fence', + 'minecraft:crimson_fence_gate', + 'minecraft:crimson_door', + 'minecraft:crimson_trapdoor', + 'minecraft:crimson_pressure_plate', + 'minecraft:crimson_button', + 'minecraft:crimson_sign', + 'minecraft:crimson_hanging_sign', + //#endregion + + //#region Варпед + 'minecraft:warped_stem', + 'minecraft:warped_hyphae', + 'minecraft:stripped_warped_stem', + 'minecraft:stripped_warped_hyphae', + 'minecraft:warped_planks', + 'minecraft:warped_stairs', + 'minecraft:warped_slab', + 'minecraft:warped_fence', + 'minecraft:warped_fence_gate', + 'minecraft:warped_door', + 'minecraft:warped_trapdoor', + 'minecraft:warped_pressure_plate', + 'minecraft:warped_button', + 'minecraft:warped_sign', + 'minecraft:warped_hanging_sign', + //#endregion + //#endregion //#region Зараженные блоки @@ -1414,37 +1450,7 @@ global.MINECRAFT_DISABLED_ITEMS = [ // 'minecraft:iron_bars', // 'minecraft:honeycomb', - // Кримзон незер дерево - // TODO: Разблокировать после добавления ада - // 'minecraft:crimson_stem', - // 'minecraft:crimson_hyphae', - // 'minecraft:stripped_crimson_stem', - // 'minecraft:stripped_crimson_hyphae', - // 'minecraft:crimson_planks', - // 'minecraft:crimson_stairs', - // 'minecraft:crimson_slab', - // 'minecraft:crimson_fence', - // 'minecraft:crimson_fence_gate', - // 'minecraft:crimson_door', - // 'minecraft:crimson_trapdoor', - // 'minecraft:crimson_pressure_plate', - // 'minecraft:crimson_button', - - // Варпед незер дерево - // TODO: Разблокировать после добавления ада - // 'minecraft:warped_stem', - // 'minecraft:warped_hyphae', - // 'minecraft:stripped_warped_stem', - // 'minecraft:stripped_warped_hyphae', - // 'minecraft:warped_planks', - // 'minecraft:warped_stairs', - // 'minecraft:warped_slab', - // 'minecraft:warped_fence', - // 'minecraft:warped_fence_gate', - // 'minecraft:warped_door', - // 'minecraft:warped_trapdoor', - // 'minecraft:warped_pressure_plate', - // 'minecraft:warped_button', + // Куча незер блоков // TODO: Разблокировать после добавления ада @@ -1543,7 +1549,7 @@ global.MINECRAFT_NETHER_WOOD_TYPES = [ "warped" // TODO: Разблокировать когда появится АД ]; -global.MINECRAFT_ALL_WOOD_TYPES = global.MINECRAFT_OVERWORLD_WOOD_TYPES.concat(global.VANILLA_NETHER_WOOD_TYPES); +global.MINECRAFT_ALL_WOOD_TYPES = global.MINECRAFT_OVERWORLD_WOOD_TYPES.concat(global.MINECRAFT_NETHER_WOOD_TYPES); global.MINECRAFT_STONE_TYPES = [ "sand", diff --git a/kubejs/startup_scripts/minecraft/items.js b/kubejs/startup_scripts/minecraft/items.js index 7d4c62905..160b6b31d 100644 --- a/kubejs/startup_scripts/minecraft/items.js +++ b/kubejs/startup_scripts/minecraft/items.js @@ -1,6 +1,3 @@ // priority: 0 -const registerMinecraftItems = (event) => { - event.create('tfg:crimson_lumber') - event.create('tfg:warped_lumber') -} \ No newline at end of file +const registerMinecraftItems = (event) => {} \ No newline at end of file From 945251ffa75e5d98b7b160e00d32984dc082ff37 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 5 Oct 2024 14:44:46 +0700 Subject: [PATCH 204/266] restore all gt recipes + fixes --- kubejs/server_scripts/gregtech/recipes.js | 453 ++++++--------------- kubejs/server_scripts/gregtech/tags.js | 5 +- kubejs/server_scripts/minecraft/recipes.js | 267 +++--------- kubejs/server_scripts/tfc/recipes.js | 16 +- 4 files changed, 190 insertions(+), 551 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index a403d046a..120e32bae 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -822,6 +822,24 @@ const registerGregTechRecipes = (e) => { e.remove({id: 'gtceu:shapeless/potin_dust'}) //#endregion + //#region Понижение EUt для рецепта пыли серебра стерлинга + e.remove({ id: 'gtceu:mixer/sterling_silver' }) + e.recipes.gtceu.mixer('tfg:sterling_silver') + .itemInputs('#forge:dusts/copper', '4x #forge:dusts/silver') + .circuit(1) + .itemOutputs('5x gtceu:sterling_silver_dust') + .EUt(24).duration(500) + //#endregion + + //#region Понижение EUt для рецепта пыли розового золота + e.remove({ id: 'gtceu:mixer/rose_gold' }) + e.recipes.gtceu.mixer('tfg:rose_gold') + .itemInputs('#forge:dusts/copper', '4x #forge:dusts/gold') + .circuit(3) + .itemOutputs('5x gtceu:rose_gold_dust') + .EUt(16).duration(500) + //#endregion + //#region Дерево e.remove({ id : 'gtceu:assembler/treated_hanging_sign' }) e.remove({ id : 'gtceu:assembler/rubber_hanging_sign' }) @@ -1080,6 +1098,19 @@ const registerGregTechRecipes = (e) => { //#endregion + //#region Огнеупорная Глина + e.remove({ id: 'gtceu:shapeless/fireclay_dust' }) + e.remove({ id: 'gtceu:macerator/macerate_compressed_fireclay' }) + e.remove({ id: 'gtceu:macerator/macerate_firebricks' }) + e.remove({ id: 'gtceu:macerator/macerate_firebrick' }) + + e.recipes.gtceu.macerator('tfg:macerate_firebrick') + .itemInputs('tfc:ceramic/fire_brick') + .itemOutputs('gtceu:fireclay_dust') + .EUt(2).duration(15) + + //#endregion + //#endregion //#region Рецепты примитивной помпы @@ -1723,7 +1754,7 @@ const registerGregTechRecipes = (e) => { }).id('tfg:shaped/steam_boiler_coal_steel') //#endregion - //#region Glass Tube + //#region Стеклянная трубка e.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) .id('tfg:glassworking/glass_tube') //#endregion @@ -1741,109 +1772,81 @@ const registerGregTechRecipes = (e) => { //#endregion //#region Бочка - + e.remove({ id: 'gtceu:shaped/wooden_barrel' }) + e.shaped('gtceu:wood_drum', [ + 'mAs', + 'BCB', + 'BDB' + ], { + A: 'gtceu:sticky_resin', + B: '#minecraft:planks', + C: '#tfc:barrels', + D: '#tfg:all_long_iron_rods', + m: '#forge:tools/mallets', + s: '#forge:tools/saws', + }).id('tfg:workbench/wood_drum') + + e.remove({ id: 'gtceu:assembler/wood_barrel' }) + e.recipes.gtceu.extractor('tfg:wood_barrel') + .itemInputs('2x #tfg:all_long_iron_rods', '5x #minecraft:planks') + .itemOutputs('gtceu:wood_drum') + .EUt(16).duration(100) //#endregion -} - -const registerGregTechRecipes1 = (e) => { - - - - - - - //#region Вырезка из резины - - // TODO: Не работает из-за магического бага - // e.recipes.tfc.knapping('gtceu:rubber_ring', 'tfg:rubber', ['XXX', 'X X', 'XXX']) - // .ingredient('gtceu:rubber_plate') - - //#endregion - - - - - - - // Удаление рецептов связанных с FireBricks - e.remove({id: 'gtceu:shaped/casing_primitive_bricks' }) - e.remove({id: 'gtceu:macerator/macerate_firebricks' }) - e.remove({id: 'gtceu:extractor/extract_primitive_bricks' }) - - // Удаление рецептов связанных с FireBrick - e.remove({ id: 'gtceu:smelting/fireclay_brick' }) - e.remove({ id: 'gtceu:macerator/macerate_firebrick' }) - - // TODO: Удалить после фикса GTCEu - e.remove({ id: 'gtceu:extractor/extract_raw_rubber_dust' }) //#region Пыль звезды незера // TODO: Нужно ли удалять? - e.recipes.gtceu.chemical_reactor('tfg:nether_star_dust') + e.recipes.gtceu.chemical_reactor('tfg:small_nether_star_dust') .itemInputs('2x #forge:dusts/iridium', '#forge:dusts/diamond') .circuit(10) - .itemOutputs('gtceu:nether_star_dust') + .itemOutputs('gtceu:small_nether_star_dust') .inputFluids(Fluid.of('gtceu:sulfur_dioxide', 6000), Fluid.of('gtceu:carbon_monoxide', 8000)) - .duration(700) - .EUt(2720) + .EUt(2720).duration(700) //#endregion - // Creosote-Treated Wood Planks -> Treated Wood Pulp - e.recipes.gtceu.macerator('tfg:gtceu/macerate_treated_wood_planks') + //#region Creosote-Treated Wood Planks -> Treated Wood Pulp + e.recipes.gtceu.macerator('tfg:treated_wood_dust') .itemInputs('gtceu:treated_wood_planks') .itemOutputs('gtceu:treated_wood_dust') - .duration(120) - .EUt(4) + .EUt(4).duration(120) + //#endregion + + //#region Пустая деревянная форма + e.remove({ id: 'gtceu:shaped/plank_to_wooden_shape' }) - // Empty Wooden Form e.shaped('gtceu:empty_wooden_form', [ - ' AA', - 'BAA' + 'AAA', + ' sA' ], { - A: '#minecraft:planks', - B: '#forge:tools/saws' - }).id('gtceu:shaped/plank_to_wooden_shape') - - // Деревянная шестерня + A: '#tfc:lumber', + s: '#forge:tools/saws' + }).id('tfg:shaped/plank_to_wooden_shape') + //#endregion + + //#region Деревянная шестерня + e.remove({ id: 'gtceu:shaped/gear_wood' }) + e.shaped('gtceu:wood_gear', [ ' A ', 'ABA', ' A ' ], { - A: '#tfc:can_be_lit_on_torch', + A: '#forge:rods/wooden', B: '#forge:tools/wrenches' - }).id('gtceu:shaped/gear_wood') + }).id('tfg:shaped/gear_wood') + //#endregion - + //#region Sticky Resin + e.recipes.gtceu.fluid_solidifier('tfg:latex_heating') + .itemInputs('#forge:dusts/sulfur') + .inputFluids(Fluid.of('tfg:latex', 1000)) + .itemOutputs('gtceu:sticky_resin') + .duration(480) + .EUt(7) + //#endregion - + //#region Multi-Smelter Controller + e.remove({ id: 'gtceu:shaped/multi_furnace' }) - // Compressed Coke Clay - e.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 - e.recipes.tfc.heating('gtceu:compressed_coke_clay', 1399) - .resultItem('gtceu:coke_oven_brick') - .id('tfg:heating/coke_oven_bricks') - - // TFC FireBrick -> FireBrick dust - e.recipes.gtceu.macerator('macerate_firebrick') - .itemInputs('tfc:ceramic/fire_brick') - .itemOutputs('gtceu:fireclay_dust') - .duration(15) - .EUt(2) - - - - // Multi-Smelter e.shaped('gtceu:multi_smelter', [ 'AAA', 'BCB', @@ -1853,9 +1856,12 @@ const registerGregTechRecipes1 = (e) => { B: '#gtceu:circuits/hv', C: 'gtceu:heatproof_machine_casing', D: 'gtceu:copper_single_cable' - }).id('gtceu:shaped/multi_furnace') + }).id('tfg:shaped/multi_furnace') + //#endregion + + //#region Electric Blast Furnace + e.remove({ id: 'gtceu:shaped/electric_blast_furnace' }) - // Electric Blast Furnace e.shaped('gtceu:electric_blast_furnace', [ 'AAA', 'BCB', @@ -1865,23 +1871,17 @@ const registerGregTechRecipes1 = (e) => { B: '#gtceu:circuits/lv', C: 'gtceu:heatproof_machine_casing', D: 'gtceu:tin_single_cable' - }).id('gtceu:shaped/electric_blast_furnace') + }).id('tfg:shaped/electric_blast_furnace') + //#endregion - // Клей из ТФК клея - e.recipes.gtceu.centrifuge('glue_from_tfc_glue') + //#region GTM клей из TFC клея + e.recipes.gtceu.centrifuge('tfg:glue_from_tfc_glue') .itemInputs('tfc:glue') .outputFluids(Fluid.of('gtceu:glue', 50)) - .duration(400) - .EUt(5) - - // Исправление рецепта пыли серебра стерлинга - generateMixerRecipe(e, ['#forge:dusts/copper', '4x #forge:dusts/silver'], [], '5x gtceu:sterling_silver_dust', 1, [], 500, 24, 64, 'sterling_silver') - - // Исправление рецепта пыли розовой бронзы - generateMixerRecipe(e, ['#forge:dusts/copper', '4x #forge:dusts/gold'], [], '5x gtceu:rose_gold_dust', 3, [], 500, 24, 64, 'rose_gold') - + .EUt(5).duration(400) + //#endregion + //#region Рецепт ULV микросхемы - e.remove({ id: 'gtceu:shaped/vacuum_tube' }) e.recipes.createSequencedAssembly([ @@ -1890,12 +1890,10 @@ const registerGregTechRecipes1 = (e) => { e.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', '#forge:bolts/steel']), e.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:glass_tube']), e.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') - + ]).transitionalItem('tfg:unfinished_vacuum_tube').loops(2).id('tfg:sequenced_assembly/vacuum_tube') //#endregion //#region Рецепт LV микросхемы - e.remove({ id: 'gtceu:shaped/electronic_circuit_lv' }) e.recipes.createSequencedAssembly([ @@ -1905,245 +1903,48 @@ const registerGregTechRecipes1 = (e) => { e.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']), e.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']), e.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 Выход: Фикс выработки пара на ведре лавы - - //e.remove({ id: 'minecraft:large_boiler/lava_bucket' }) - //e.recipes.gtceu.large_boiler('lava_bucket') - // .itemInputs('minecraft:lava_bucket') - // .duration(25) - - //#endregion - - e.recipes.gtceu.fluid_solidifier('tfg:latex_heating') - .itemInputs('gtceu:sulfur_dust') - .inputFluids(Fluid.of('tfg:latex', 1000)) - .itemOutputs('gtceu:sticky_resin') - .duration(480) - .EUt(7) -} - -//#region Выход: Крошечная кучка камня - - // e.remove({ id: 'gtceu:macerator/macerate_stone_button' }) - + ]).transitionalItem('tfg:unfinished_basic_electronic_circuit').loops(2).id('tfg:sequenced_assembly/basic_electronic_circuit') //#endregion - //#region Выход: Маленькая кучка камня + //#region Compressed Coke Clay + e.remove({ id: 'gtceu:shaped/compressed_coke_clay' }) - // e.remove({ id: 'gtceu:macerator/macerate_stone_stairs' }) - // e.remove({ id: 'gtceu:macerator/macerate_stone_slab' }) - // e.remove({ id: 'gtceu:macerator/macerate_stone_brick_stairs' }) - // e.remove({ id: 'gtceu:macerator/macerate_stone_brick_slab' }) - // e.remove({ id: 'gtceu:macerator/macerate_sandstone_stairs' }) - // e.remove({ id: 'gtceu:macerator/macerate_sandstone_slab' }) - // e.remove({ id: 'gtceu:macerator/macerate_red_sandstone_stairs' }) - // e.remove({ id: 'gtceu:macerator/macerate_red_sandstone_slab' }) - // e.remove({ id: 'gtceu:macerator/macerate_granite' }) - // e.remove({ id: 'gtceu:macerator/macerate_diorite' }) - // e.remove({ id: 'gtceu:macerator/macerate_cobblestone_slab' }) - // e.remove({ id: 'gtceu:macerator/macerate_andesite' }) + e.shaped('3x 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('tfg:shaped/compressed_coke_clay') + //#endregion + //#region Compressed Coke Clay -> Coke Oven Brick + e.recipes.tfc.heating('gtceu:compressed_coke_clay', 1399) + .resultItem('gtceu:coke_oven_brick') + .id('tfg:heating/coke_oven_bricks') //#endregion - //#region Выход: Кучка камня - - // e.remove({ id: 'gtceu:macerator/macerate_stone_sword' }) - // e.remove({ id: 'gtceu:macerator/macerate_stone_shovel' }) - // e.remove({ id: 'gtceu:macerator/macerate_stone_pressure_plate' }) - // e.remove({ id: 'gtceu:macerator/macerate_stone_pickaxe' }) - // e.remove({ id: 'gtceu:macerator/macerate_stone_hoe' }) - // e.remove({ id: 'gtceu:macerator/macerate_stone_bricks' }) - // e.remove({ id: 'gtceu:macerator/macerate_stone_axe' }) - // e.remove({ id: 'gtceu:macerator/macerate_mossy_cobblestone' }) - // e.remove({ id: 'gtceu:macerator/macerate_cobblestone_wall' }) - // e.remove({ id: 'gtceu:macerator/macerate_cobblestone' }) - // e.remove({ id: 'gtceu:macerator/gravel_to_flint' }) - // e.remove({ id: 'gtceu:macerator/macerate_furnace' }) - + //#region Огнеупорные кирпичи (предмет) + e.remove({ id: 'gtceu:smelting/fireclay_brick' }) + e.remove({ id: 'gtceu:extractor/extract_primitive_bricks' }) //#endregion - //#region Выход: Крошечная кучка дерева - - // e.remove({ id: 'gtceu:macerator/macerate_warped_button' }) - // e.remove({ id: 'gtceu:macerator/macerate_spruce_button' }) - // e.remove({ id: 'gtceu:macerator/macerate_oak_button' }) - // e.remove({ id: 'gtceu:macerator/macerate_mangrove_button' }) - // e.remove({ id: 'gtceu:macerator/macerate_jungle_button' }) - // e.remove({ id: 'gtceu:macerator/macerate_dark_oak_button' }) - // e.remove({ id: 'gtceu:macerator/macerate_crimson_button' }) - // e.remove({ id: 'gtceu:macerator/macerate_cherry_button' }) - // e.remove({ id: 'gtceu:macerator/macerate_birch_button' }) - // e.remove({ id: 'gtceu:macerator/macerate_acacia_button' }) - + //#region Огнеупорные кирпичи (блок) + e.remove({ id: 'gtceu:shaped/casing_primitive_bricks' }) //#endregion - //#region Выход: Маленькая кучка дерева - -// e.remove({ id: 'gtceu:macerator/macerate_wooden_sword' }) -// e.remove({ id: 'gtceu:macerator/macerate_wooden_shovel' }) -// e.remove({ id: 'gtceu:macerator/macerate_wooden_pickaxe' }) -// e.remove({ id: 'gtceu:macerator/macerate_wooden_hoe' }) -// e.remove({ id: 'gtceu:macerator/macerate_wooden_axe' }) -// e.remove({ id: 'gtceu:macerator/macerate_warped_stairs' }) -// e.remove({ id: 'gtceu:macerator/macerate_warped_slab' }) -// e.remove({ id: 'gtceu:macerator/macerate_spruce_stairs' }) -// e.remove({ id: 'gtceu:macerator/macerate_spruce_slab' }) -// e.remove({ id: 'gtceu:macerator/macerate_oak_stairs' }) -// e.remove({ id: 'gtceu:macerator/macerate_oak_slab' }) -// e.remove({ id: 'gtceu:macerator/macerate_mangrove_stairs' }) -// e.remove({ id: 'gtceu:macerator/macerate_mangrove_slab' }) -// e.remove({ id: 'gtceu:macerator/macerate_jungle_stairs' }) -// e.remove({ id: 'gtceu:macerator/macerate_jungle_slab' }) -// e.remove({ id: 'gtceu:macerator/macerate_iron_sword' }) -// e.remove({ id: 'gtceu:macerator/macerate_iron_shovel' }) -// e.remove({ id: 'gtceu:macerator/macerate_iron_pickaxe' }) -// e.remove({ id: 'gtceu:macerator/macerate_iron_hoe' }) -// e.remove({ id: 'gtceu:macerator/macerate_iron_axe' }) -// e.remove({ id: 'gtceu:macerator/macerate_golden_sword' }) -// e.remove({ id: 'gtceu:macerator/macerate_golden_shovel' }) -// e.remove({ id: 'gtceu:macerator/macerate_golden_pickaxe' }) -// e.remove({ id: 'gtceu:macerator/macerate_golden_hoe' }) -// e.remove({ id: 'gtceu:macerator/macerate_golden_axe' }) -// e.remove({ id: 'gtceu:macerator/macerate_diamond_sword' }) -// e.remove({ id: 'gtceu:macerator/macerate_diamond_shovel' }) -// e.remove({ id: 'gtceu:macerator/macerate_diamond_pickaxe' }) -// e.remove({ id: 'gtceu:macerator/macerate_diamond_hoe' }) -// e.remove({ id: 'gtceu:macerator/macerate_diamond_axe' }) -// e.remove({ id: 'gtceu:macerator/macerate_dark_oak_stairs' }) -// e.remove({ id: 'gtceu:macerator/macerate_dark_oak_slab' }) -// e.remove({ id: 'gtceu:macerator/macerate_crimson_stairs' }) -// e.remove({ id: 'gtceu:macerator/macerate_crimson_slab' }) -// e.remove({ id: 'gtceu:macerator/macerate_cherry_stairs' }) -// e.remove({ id: 'gtceu:macerator/macerate_cherry_slab' }) -// e.remove({ id: 'gtceu:macerator/macerate_birch_stairs' }) -// e.remove({ id: 'gtceu:macerator/macerate_birch_slab' }) -// e.remove({ id: 'gtceu:macerator/macerate_acacia_stairs' }) -// e.remove({ id: 'gtceu:macerator/macerate_acacia_slab' }) - - //#endregion - - //#region Выход: Деревянная пыль - - // e.remove({id: 'gtceu:macerator/macerate_trapped_chest'}) - // e.remove({id: 'gtceu:macerator/macerate_spruce_planks'}) - // e.remove({id: 'gtceu:macerator/macerate_spruce_fence_gate'}) - // e.remove({id: 'gtceu:macerator/macerate_spruce_fence'}) - // e.remove({id: 'gtceu:macerator/macerate_spruce_door'}) - // e.remove({id: 'gtceu:macerator/macerate_spruce_boat'}) - // e.remove({id: 'gtceu:macerator/macerate_oak_planks'}) - // e.remove({id: 'gtceu:macerator/macerate_oak_fence_gate'}) - // e.remove({id: 'gtceu:macerator/macerate_oak_fence'}) - // e.remove({id: 'gtceu:macerator/macerate_oak_door'}) - // e.remove({id: 'gtceu:macerator/macerate_oak_boat'}) - // e.remove({id: 'gtceu:macerator/macerate_mangrove_planks'}) - // e.remove({id: 'gtceu:macerator/macerate_mangrove_fence_gate'}) - // e.remove({id: 'gtceu:macerator/macerate_mangrove_fence'}) - // e.remove({id: 'gtceu:macerator/macerate_mangrove_door'}) - // e.remove({id: 'gtceu:macerator/macerate_mangrove_boat'}) - // e.remove({id: 'gtceu:macerator/macerate_jungle_planks'}) - // e.remove({id: 'gtceu:macerator/macerate_jungle_fence_gate'}) - // e.remove({id: 'gtceu:macerator/macerate_jungle_fence'}) - // e.remove({id: 'gtceu:macerator/macerate_jungle_door'}) - // e.remove({id: 'gtceu:macerator/macerate_jungle_boat'}) - // e.remove({id: 'gtceu:macerator/macerate_dark_oak_planks'}) - // e.remove({id: 'gtceu:macerator/macerate_dark_oak_fence_gate'}) - // e.remove({id: 'gtceu:macerator/macerate_dark_oak_fence'}) - // e.remove({id: 'gtceu:macerator/macerate_dark_oak_door'}) - // e.remove({id: 'gtceu:macerator/macerate_dark_oak_boat'}) - // e.remove({id: 'gtceu:macerator/macerate_crafting_table'}) - // e.remove({id: 'gtceu:macerator/macerate_chest'}) - // e.remove({id: 'gtceu:macerator/macerate_chest_minecart'}) - // e.remove({id: 'gtceu:macerator/macerate_cherry_planks'}) - // e.remove({id: 'gtceu:macerator/macerate_cherry_fence_gate'}) - // e.remove({id: 'gtceu:macerator/macerate_cherry_fence'}) - // e.remove({id: 'gtceu:macerator/macerate_cherry_door'}) - // e.remove({id: 'gtceu:macerator/macerate_cherry_boat'}) - // e.remove({id: 'gtceu:macerator/macerate_bookshelf'}) - // e.remove({id: 'gtceu:macerator/macerate_birch_planks'}) - // e.remove({id: 'gtceu:macerator/macerate_birch_fence_gate'}) - // e.remove({id: 'gtceu:macerator/macerate_birch_fence'}) - // e.remove({id: 'gtceu:macerator/macerate_birch_door'}) - // e.remove({id: 'gtceu:macerator/macerate_birch_boat'}) - // e.remove({id: 'gtceu:macerator/macerate_acacia_planks'}) - // e.remove({id: 'gtceu:macerator/macerate_acacia_fence_gate'}) - // e.remove({id: 'gtceu:macerator/macerate_acacia_fence'}) - // e.remove({id: 'gtceu:macerator/macerate_acacia_door'}) - // e.remove({id: 'gtceu:macerator/macerate_acacia_boat'}) - // e.remove({id: 'gtceu:macerator/macerate_bamboo_raft'}) - // e.remove({id: 'gtceu:macerator/macerate_crimson_door'}) - // e.remove({id: 'gtceu:macerator/macerate_crimson_fence'}) - // e.remove({id: 'gtceu:macerator/macerate_crimson_fence_gate'}) - // e.remove({id: 'gtceu:macerator/macerate_crimson_planks'}) - // e.remove({id: 'gtceu:macerator/macerate_warped_door'}) - // e.remove({id: 'gtceu:macerator/macerate_warped_fence'}) - // e.remove({id: 'gtceu:macerator/macerate_warped_fence_gate'}) - // e.remove({id: 'gtceu:macerator/macerate_warped_planks'}) - + //#region Уплотненная огнеупорная глина + e.remove({ id: 'gtceu:compressor/compressed_fireclay' }) //#endregion - //#endregion + //#region TODO: Не работает из-за магического бага / Вырезка из резины - //#region Выход: Железная пыль - - // e.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' }) - // e.remove({ id: 'gtceu:macerator/macerate_damaged_anvil' }) - // e.remove({ id: 'gtceu:macerator/macerate_chipped_anvil' }) - // e.remove({ id: 'gtceu:macerator/macerate_anvil' }) - // e.remove({ id: 'gtceu:macerator/macerate_furnace_minecart' }) - // e.remove({ id: 'gtceu:macerator/macerate_bucket' }) - // e.remove({ id: 'gtceu:macerator/macerate_compass' }) + // e.recipes.tfc.knapping('gtceu:rubber_ring', 'tfg:rubber', ['XXX', 'X X', 'XXX']) + // .ingredient('gtceu:rubber_plate') //#endregion - - //#region Выход: Крошечная железная пыль - - // e.remove({ id: 'gtceu:macerator/macerate_iron_bars' }) - - //#endregion - - //#region Выход: Крошечная пыль золы - - // e.remove({ id: 'gtceu:arc_furnace/arc_bookshelf' }) - - //#endregion - - //#region Выход: Пыль незерака - - // e.remove({ id: 'gtceu:macerator/macerate_nether_brick_stairs' }) - // e.remove({ id: 'gtceu:macerator/macerate_nether_brick_slab' }) - - //#endregion - - //#region Выход: Пыль базальта - - // e.remove({ id: 'gtceu:macerator/macerate_basalt' }) - - //#region Выход: Кованные самородки - - // e.remove({ id: 'gtceu:arc_furnace/arc_iron_bars' }) - - //#endregion - - //#region Выход: Слиток кованного железа - - // e.remove({ id: 'gtceu:arc_furnace/arc_chest_minecart' }) - // e.remove({ id: 'gtceu:arc_furnace/arc_iron_trapdoor' }) - // e.remove({ id: 'gtceu:arc_furnace/arc_damaged_anvil' }) - // e.remove({ id: 'gtceu:arc_furnace/arc_chipped_anvil' }) - // e.remove({ id: 'gtceu:arc_furnace/arc_anvil' }) - // e.remove({ id: 'gtceu:arc_furnace/arc_furnace_minecart' }) - // e.remove({ id: 'gtceu:arc_furnace/arc_compass' }) - - //#endregion - - //#region Выход: Слиток камня - - // e.remove({id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot'}) -// - //#endregion \ No newline at end of file +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 555434e6c..1790e2f8a 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -88,6 +88,9 @@ const registerGregTechItemTags = (event) => { event.add('tfg:all_iron_rods', 'gtceu:iron_rod') event.add('tfg:all_iron_rods', 'gtceu:wrought_iron_rod') + event.add('tfg:all_long_iron_rods', 'gtceu:long_iron_rod') + event.add('tfg:all_long_iron_rods', 'gtceu:long_wrought_iron_rod') + event.add('tfg:all_iron_gears', 'gtceu:iron_gear') event.add('tfg:all_iron_gears', 'gtceu:wrought_iron_gear') @@ -103,7 +106,7 @@ const registerGregTechItemTags = (event) => { //#region Объединение стеклянных линз ТФК и ГТ event.add('tfg:all_glass_lenses', 'gtceu:glass_lens') - event.add('tfg:all_glass_lenses', 'rfc:lens') + event.add('tfg:all_glass_lenses', 'tfc:lens') //#endregion //#region Скрываем все руды (не используем #forge:ores, потому что будет пересечение) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 9f022b0fe..3915f7b1e 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -4211,64 +4211,9 @@ const registerMinecraftRecipes = (e) => { //#endregion - //#endregion - //#endregion - - - - - - - - - - - - - - - - - - - - - - - - - - - // e.shaped('minecraft:', [ - // 'ABA', - // 'BCB', - // 'DED' - // ], { - // A: '', - // B: '', - // C: '', - // D: '', - // E: '', - // }).id('tfg:workbench/') - - - //#region 1 - //e.remove({ id: '' }) - //#endregion - - //#region - //#endregion - - //#region 1 - //e.remove({ id: '' }) - - //#endregion - - //#region Выход: Бумага - - + //#region Бумага e.remove({ id: 'gtceu:shaped/paper' }) e.remove({ id: 'create:pressing/sugar_cane' }) @@ -4287,173 +4232,63 @@ const registerMinecraftRecipes = (e) => { .itemOutputs('minecraft:paper') .EUt(7).duration(100) - // e.remove({ id: 'gtceu:shaped/paper' }) + //#endregion - // e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) - // e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) + //#region Сахар + e.remove({ id: 'gtceu:shaped/sugar' }) + e.remove({ id: 'minecraft:sugar_from_honey_bottle' }) + e.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) - // e.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) + e.recipes.gtceu.centrifuge('tfg:sugar_from_sugarcane') + .itemInputs('tfc:food/sugarcane') + .inputFluids(Fluid.of('minecraft:water', 600)) + .itemOutputs('minecraft:sugar') + .EUt(6).duration(800) - // e.recipes.gtceu.chemical_bath('paper_from_papyrus') - // .itemInputs('tfc:papyrus') - // .inputFluids(Fluid.of('minecraft:water', 100)) - // .itemOutputs('minecraft:paper') - // .duration(100) - // .EUt(7) + e.recipes.gtceu.centrifuge('tfg:sugar_from_beet') + .itemInputs('tfc:food/beet') + .inputFluids(Fluid.of('minecraft:water', 600)) + .itemOutputs('2x minecraft:sugar') + .EUt(8).duration(800) + //#endregion + + //#region Ферментированный паучий глаз + + e.remove({ id: 'gtceu:mixer/fermented_spider_eye_red' }) + e.remove({ id: 'gtceu:mixer/fermented_spider_eye_brown' }) + e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_red' }) + e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_brown' }) + + e.recipes.gtceu.centrifuge('tfg:fermented_spider_eye') + .itemInputs('#beneath:mushrooms', 'minecraft:sugar', 'minecraft:spider_eye') + .inputFluids(Fluid.of('minecraft:water', 600)) + .itemOutputs('minecraft:fermented_spider_eye') + .EUt(7).duration(100) //#endregion + //#region Светящийся арбуз + e.remove({ id: 'gtceu:chemical_reactor/glistening_melon_slice' }) - - - - - - - - - - - - - - - - - - - - - - - // e.shaped('minecraft:', [ - // 'ABA', - // 'BCB', - // 'DED' - // ], { - // A: '', - // B: '', - // C: '', - // D: '', - // E: '', - // }).id('tfg:workbench/') - - - //#region 1 - //e.remove({ id: '' }) + e.recipes.gtceu.chemical_reactor('tfg:glistening_melon_slice') + .itemInputs('tfc:food/melon_slice', '6x #forge:nuggets/gold') + .itemOutputs('minecraft:glistering_melon_slice') + .EUt(30).duration(50) //#endregion - //#region + //#region Книга + e.remove({ id: 'gtceu:shaped/book' }) + e.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) + + e.shaped('minecraft:book', [ + 'ABC', + 'ABD', + 'ABC' + ], { + A: '#forge:string', + B: 'minecraft:paper', + C: '#forge:leather', + D: 'gtceu:sticky_resin' + }).id('tfg:shaped/book') //#endregion - - //#region 1 - //e.remove({ id: '' }) - //#endregion - - - - //#region Выход: Сахар - - // e.remove({ id: 'gtceu:shaped/sugar' }) - // e.remove({ id: 'minecraft:sugar_from_honey_bottle' }) - // e.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) - - // e.recipes.gtceu.centrifuge('sugar') - // .itemInputs('tfc:food/sugarcane') - // .inputFluids(Fluid.of('minecraft:water', 600)) - // .itemOutputs('minecraft:sugar') - // .duration(800) - // .EUt(6) - - //#endregion - - //#region Выход: Ферментированный паучий глаз - - // e.remove({ id: 'minecraft:fermented_spider_eye' }) - // e.remove({ id: 'gtceu:mixer/fermented_spider_eye_red' }) - // e.remove({ id: 'gtceu:mixer/fermented_spider_eye_brown' }) - // e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_red' }) - // e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_brown' }) - - //#endregion - - //#region Выход: Светящийся арбуз - - // e.shaped('minecraft:glistering_melon_slice', [ - // 'AAA', - // 'ABA', - // 'AAA' - // ], { - // A: '#forge:nuggets/gold', - // B: 'tfc:food/melon_slice' - // }).id('minecraft:glistering_melon_slice') - - // e.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) - - // e.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 Выход: Книга - - // e.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) - - // e.shapeless('minecraft:book', [ - // 'minecraft:paper', 'minecraft:paper', 'minecraft:paper', 'minecraft:leather' - // ]).id('minecraft:book') - - //#endregion - - //#region Шаблоны брони - // e.remove({id: 'minecraft:wild_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:wayfinder_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:ward_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:vex_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:tide_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:spire_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:snout_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:silence_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:shaper_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:sentry_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:rib_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:raiser_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:host_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:eye_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:dune_armor_trim_smithing_template_smithing_trim'}) - // e.remove({id: 'minecraft:coast_armor_trim_smithing_template_smithing_trim'}) - - // e.remove({ id: 'minecraft:coast_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:vex_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:host_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:rib_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:spire_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:tide_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:eye_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:raiser_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:wild_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:shaper_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:snout_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:dune_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) - // e.remove({ id: 'minecraft:wayfinder_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:ward_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:silence_armor_trim_smithing_template' }) - // e.remove({ id: 'minecraft:sentry_armor_trim_smithing_template' }) - //#endregion -} - +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 5089e64cc..6c51507d2 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -865,30 +865,30 @@ const registerTFCRecipes = (e) => { } const processToolButcheryKnife = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { - const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) - if (ingotItem.isEmpty()) return + const ingotDoubleItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return // Декрафт инструмента в жидкость const butcheryKnifeItem = ToolHelper.get(toolType, material) if (!butcheryKnifeItem.isEmpty()) { e.recipes.tfc.heating(butcheryKnifeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .useDurability(true) .id(`tfc:heating/metal/${material.getName()}_butchery_knife`) } - let butcheryKnifeHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + const butcheryKnifeHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) if (!butcheryKnifeHeadItem.isEmpty()) { // Декрафт оголовья в жидкость e.recipes.tfc.heating(butcheryKnifeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .id(`tfc:heating/metal/${material.getName()}_knife_butchery_head`) // Крафт оголовья - e.recipes.tfc.anvil(butcheryKnifeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'bend_not_last']) + e.recipes.tfc.anvil(butcheryKnifeHeadItem, ingotDoubleItem, ['punch_last', 'bend_not_last', 'bend_not_last']) .tier(tfcProperty.getTier()) .bonus(true) .id(`tfc:anvil/${material.getName()}_knife_butchery_head`) @@ -1663,8 +1663,8 @@ const registerTFCRecipes = (e) => { //#region Сплав красного камня e.recipes.tfc.alloy('tfg:red_alloy', [ - TFC.alloyPart('tfg:redstone', 0.15, 0.25), - TFC.alloyPart('tfc:copper', 0.75, 0.85) + TFC.alloyPart('tfg:redstone', 0.23, 0.27), + TFC.alloyPart('tfc:copper', 0.73, 0.77) ]).id('tfg:alloy/red_alloy') //#endregion From 5a4af1bafc27acde9f5b9d3fc8f8b9eab348edde Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 5 Oct 2024 14:58:07 +0700 Subject: [PATCH 205/266] remove shit gt wood recipes --- kubejs/server_scripts/gregtech/recipes.js | 145 ++++++++++++++++++++-- 1 file changed, 137 insertions(+), 8 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 120e32bae..5bea4aed9 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -841,8 +841,144 @@ const registerGregTechRecipes = (e) => { //#endregion //#region Дерево + + //#region Резиновое + + // Доски + e.remove({ id : 'gtceu:shapeless/rubber_wood_planks' }) + e.remove({ id : 'gtceu:shapeless/rubber_planks' }) + e.remove({ id : 'gtceu:shaped/rubber_planks_saw' }) + e.remove({ id : 'gtceu:cutter/rubber_planks' }) + e.remove({ id : 'gtceu:cutter/rubber_planks_water' }) + e.remove({ id : 'gtceu:cutter/rubber_planks_distilled_water' }) + + // Ступень + e.remove({ id : 'gtceu:shaped/rubber_stairs' }) + e.remove({ id : 'everycomp:c/gtceu/rubber_stairs_from_rubber_planks_stonecutting' }) + e.remove({ id : 'gtceu:assembler/rubber_stairs' }) + + // Полублок + e.remove({ id: 'gtceu:shaped/rubber_slab_saw' }) + e.remove({ id: 'everycomp:c/gtceu/rubber_slab_from_rubber_planks_stonecutting' }) + e.remove({ id: 'gtceu:cutter/rubber_slab_water' }) + e.remove({ id: 'gtceu:cutter/rubber_slab_distilled_water' }) + e.remove({ id: 'gtceu:cutter/rubber_slab' }) + + // Забор + e.remove({ id: 'gtceu:shaped/rubber_fence' }) + e.remove({ id: 'gtceu:assembler/rubber_fence' }) + + // Нажимная плита + e.remove({ id: 'gtceu:shaped/rubber_pressure_plate' }) + + // Люк + e.remove({ id: 'gtceu:shaped/rubber_trapdoor_iron' }) + e.remove({ id: 'gtceu:shaped/rubber_trapdoor_steel' }) + e.remove({ id: 'gtceu:assembler/rubber_trapdoor_steel' }) + e.remove({ id: 'gtceu:assembler/rubber_trapdoor_iron' }) + + // Кнопка + e.remove({ id: 'gtceu:shapeless/rubber_button' }) + + // Дверь + e.remove({ id: 'gtceu:shaped/rubber_door' }) + e.remove({ id: 'gtceu:assembler/rubber_door' }) + + // Калитка + e.remove({ id: 'gtceu:shaped/rubber_fence_gate' }) + e.remove({ id: 'gtceu:shaped/rubber_fence_gate_screws' }) + e.remove({ id: 'gtceu:assembler/rubber_fence_gate' }) + + // Табличка + e.remove({ id: 'gtceu:shaped/rubber_sign_steel' }) + e.remove({ id: 'gtceu:shaped/rubber_sign_iron' }) + e.remove({ id: 'gtceu:assembler/rubber_sign_steel' }) + e.remove({ id: 'gtceu:assembler/rubber_sign_iron' }) + + // Висящая табличка + e.remove({ id: 'gtceu:assembler/rubber_hanging_sign' }) + + // Лодка + e.remove({ id: 'gtceu:shaped/rubber_boat' }) + e.remove({ id: 'gtceu:assembler/rubber_boat' }) + + // Лодка с сундуком + e.remove({ id: 'gtceu:shaped/rubber_chest_boat' }) + e.remove({ id: 'gtceu:assembler/rubber_chest_boat' }) + + //#endregion + + //#region Креозотовое + + // Доски + e.remove({ id : 'gtceu:shapeless/rubber_wood_planks' }) + e.remove({ id : 'gtceu:shapeless/rubber_planks' }) + e.remove({ id : 'gtceu:shaped/rubber_planks_saw' }) + e.remove({ id : 'gtceu:cutter/rubber_planks' }) + e.remove({ id : 'gtceu:cutter/rubber_planks_water' }) + e.remove({ id : 'gtceu:cutter/rubber_planks_distilled_water' }) + + // Ступень + e.remove({ id : 'gtceu:shaped/treated_stairs' }) + e.remove({ id : 'gtceu:assembler/treated_stairs' }) + + // Полублок + e.remove({ id: 'gtceu:shaped/treated_slab_saw' }) + e.remove({ id: 'gtceu:cutter/treated_slab' }) + e.remove({ id: 'gtceu:cutter/treated_slab_distilled_water' }) + e.remove({ id: 'gtceu:cutter/treated_slab_water' }) + + // Забор + e.remove({ id: 'gtceu:shaped/treated_fence' }) + e.remove({ id: 'gtceu:assembler/treated_fence' }) + + // Нажимная плита + e.remove({ id: 'gtceu:shaped/treated_wood_plate' }) + + // Люк + e.remove({ id: 'gtceu:shaped/treated_trapdoor_iron' }) + e.remove({ id: 'gtceu:shaped/treated_trapdoor_steel' }) + e.remove({ id: 'gtceu:assembler/treated_trapdoor_steel' }) + e.remove({ id: 'gtceu:assembler/treated_trapdoor_iron' }) + + // Кнопка + e.remove({ id: 'gtceu:shapeless/treated_wood_button' }) + + // Дверь + e.remove({ id: 'gtceu:shaped/treated_door' }) + e.remove({ id: 'gtceu:assembler/treated_door' }) + + // Калитка + e.remove({ id: 'gtceu:shaped/treated_fence_gate' }) + e.remove({ id: 'gtceu:shaped/treated_fence_gate_screws' }) + e.remove({ id: 'gtceu:assembler/treated_fence_gate' }) + + // Табличка + e.remove({ id: 'gtceu:shaped/treated_sign_iron' }) + e.remove({ id: 'gtceu:shaped/treated_sign_steel' }) + e.remove({ id: 'gtceu:assembler/treated_sign_steel' }) + e.remove({ id: 'gtceu:assembler/treated_sign_iron' }) + + // Висящая табличка e.remove({ id : 'gtceu:assembler/treated_hanging_sign' }) - e.remove({ id : 'gtceu:assembler/rubber_hanging_sign' }) + + // Лодка + e.remove({ id: 'gtceu:shaped/treated_boat' }) + e.remove({ id: 'gtceu:assembler/treated_boat' }) + + // Лодка с сундуком + e.remove({ id: 'gtceu:shaped/treated_chest_boat' }) + e.remove({ id: 'gtceu:assembler/treated_chest_boat' }) + + //#region Creosote-Treated Wood Planks -> Treated Wood Pulp + e.recipes.gtceu.macerator('tfg:treated_wood_dust') + .itemInputs('gtceu:treated_wood_planks') + .itemOutputs('gtceu:treated_wood_dust') + .EUt(4).duration(120) + //#endregion + + //#endregion + //#endregion //#region Рецепты MaterialInfo @@ -1803,13 +1939,6 @@ const registerGregTechRecipes = (e) => { .EUt(2720).duration(700) //#endregion - //#region Creosote-Treated Wood Planks -> Treated Wood Pulp - e.recipes.gtceu.macerator('tfg:treated_wood_dust') - .itemInputs('gtceu:treated_wood_planks') - .itemOutputs('gtceu:treated_wood_dust') - .EUt(4).duration(120) - //#endregion - //#region Пустая деревянная форма e.remove({ id: 'gtceu:shaped/plank_to_wooden_shape' }) From 67149812896ac1868cd4f550a2d8fa15c7af5b65 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 5 Oct 2024 15:21:26 +0700 Subject: [PATCH 206/266] integrate beneath --- .gitignore | 1 + .../configured_feature/amethyst_geode.json | 18 +++ kubejs/server_scripts/beneath/tags.js | 17 ++ kubejs/server_scripts/gregtech/ore_veins.js | 148 +++++++++--------- kubejs/server_scripts/main_server_script.js | 3 + 5 files changed, 113 insertions(+), 74 deletions(-) create mode 100644 kubejs/data/beneath/worldgen/configured_feature/amethyst_geode.json diff --git a/.gitignore b/.gitignore index d5dbc7321..4897e6de1 100644 --- a/.gitignore +++ b/.gitignore @@ -60,6 +60,7 @@ CustomSkinLoader/ screenshots/ shaderpacks/ chiselsandbits/ +backups/ .curseclient .sl_password diff --git a/kubejs/data/beneath/worldgen/configured_feature/amethyst_geode.json b/kubejs/data/beneath/worldgen/configured_feature/amethyst_geode.json new file mode 100644 index 000000000..78f981669 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/amethyst_geode.json @@ -0,0 +1,18 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "tfc:geode", + "config": { + "outer": "minecraft:blackstone", + "middle": "tfc:rock/raw/quartzite", + "inner": [ + { + "data": "gtceu:quartzite_amethyst_ore", + "weight": 1 + }, + { + "data": "tfc:rock/raw/quartzite", + "weight": 2 + } + ] + } +} \ No newline at end of file diff --git a/kubejs/server_scripts/beneath/tags.js b/kubejs/server_scripts/beneath/tags.js index 9b15c5a8d..4057c0e24 100644 --- a/kubejs/server_scripts/beneath/tags.js +++ b/kubejs/server_scripts/beneath/tags.js @@ -7,4 +7,21 @@ const registerBeneathItemTags = (event) => { const registerBeneathBlockTags = (event) => { +} + +const registerBeneathPlacedFeatures = (event) => { + + //#region Удаляем все руды TFC из генерации мира + const ALL_DISABLED_BENEATH_VEINS = [ + 'beneath:vein/cursecoal', + 'beneath:vein/deep_gold', + 'beneath:vein/normal_gold', + 'beneath:vein/quartz', + 'beneath:vein/sylvite' + ] + + ALL_DISABLED_BENEATH_VEINS.forEach(vein => { + event.remove('beneath:veins', vein) + }) + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/ore_veins.js b/kubejs/server_scripts/gregtech/ore_veins.js index 4ac0415ec..406535ef8 100644 --- a/kubejs/server_scripts/gregtech/ore_veins.js +++ b/kubejs/server_scripts/gregtech/ore_veins.js @@ -5,7 +5,7 @@ const registerGregTechOreVeins = (event) => { - // Перемещение - End -> Overworld + // Перемещение - End -> Overworld TFC StoneTypes event.modify("gtceu:bauxite_vein_end", vein => { vein.layer('tfg_tfc_s') @@ -51,90 +51,90 @@ const registerGregTechOreVeins = (event) => { vein.biomes('#tfg:is_tfc_overworld') }) - // Nether -> Overworld + // Перемещение - Nether -> Overworld TFC StoneTypes - event.modify("gtceu:banded_iron_vein", vein => { - vein.layer('tfg_tfc_ie') - vein.dimensions('minecraft:overworld') - vein.biomes('#tfg:is_tfc_overworld') - }) + // event.modify("gtceu:banded_iron_vein", vein => { + // vein.layer('tfg_tfc_ie') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) - event.modify("gtceu:beryllium_vein", vein => { - vein.layer('tfg_tfc_ie') - vein.dimensions('minecraft:overworld') - vein.biomes('#tfg:is_tfc_overworld') - }) + // event.modify("gtceu:beryllium_vein", vein => { + // vein.layer('tfg_tfc_ie') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) - event.modify("gtceu:certus_quartz", vein => { - vein.layer('tfg_tfc_m') - vein.dimensions('minecraft:overworld') - vein.biomes('#tfg:is_tfc_overworld') - }) + // event.modify("gtceu:certus_quartz", vein => { + // vein.layer('tfg_tfc_m') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) - event.modify("gtceu:manganese_vein", vein => { - vein.layer('tfg_tfc_ie_s') - vein.dimensions('minecraft:overworld') - vein.biomes('#tfg:is_tfc_overworld') - }) + // event.modify("gtceu:manganese_vein", vein => { + // vein.layer('tfg_tfc_ie_s') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) - event.modify("gtceu:molybdenum_vein", vein => { - vein.layer('tfg_tfc_ie_ii') - vein.dimensions('minecraft:overworld') - vein.biomes('#tfg:is_tfc_overworld') - }) + // event.modify("gtceu:molybdenum_vein", vein => { + // vein.layer('tfg_tfc_ie_ii') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) - event.modify("gtceu:monazite_vein", vein => { - vein.layer('tfg_tfc_ii') - vein.dimensions('minecraft:overworld') - vein.biomes('#tfg:is_tfc_overworld') - }) + // event.modify("gtceu:monazite_vein", vein => { + // vein.layer('tfg_tfc_ii') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) - event.modify("gtceu:nether_quartz_vein", vein => { - vein.layer('tfg_tfc_s_q_s_g') - vein.dimensions('minecraft:overworld') - vein.biomes('#tfg:is_tfc_overworld') - }) + // event.modify("gtceu:nether_quartz_vein", vein => { + // vein.layer('tfg_tfc_s_q_s_g') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) - event.modify("gtceu:redstone_vein", vein => { - vein.layer('tfg_tfc_granite') - vein.dimensions('minecraft:overworld') - vein.biomes('#tfg:is_tfc_overworld') - }) + // event.modify("gtceu:redstone_vein", vein => { + // vein.layer('tfg_tfc_granite') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) - event.modify("gtceu:saltpeter_vein", vein => { - vein.layer('tfg_tfc_ie_m') - vein.dimensions('minecraft:overworld') - vein.biomes('#tfg:is_tfc_overworld') + // event.modify("gtceu:saltpeter_vein", vein => { + // vein.layer('tfg_tfc_ie_m') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') - vein.layeredVeinGenerator(generator => generator - .buildLayerPattern(pattern => pattern - .layer(l => l.weight(3).mat(GTMaterials.Saltpeter).size(2, 4)) - .layer(l => l.weight(2).mat(GTMaterials.Diatomite).size(1, 1)) - .layer(l => l.weight(2).mat(GTMaterials.Electrotine).size(1, 1)) - .layer(l => l.weight(1).mat(GTMaterials.Alunite).size(1, 1)) - ) - ) - }) + // vein.layeredVeinGenerator(generator => generator + // .buildLayerPattern(pattern => pattern + // .layer(l => l.weight(3).mat(GTMaterials.Saltpeter).size(2, 4)) + // .layer(l => l.weight(2).mat(GTMaterials.Diatomite).size(1, 1)) + // .layer(l => l.weight(2).mat(GTMaterials.Electrotine).size(1, 1)) + // .layer(l => l.weight(1).mat(GTMaterials.Alunite).size(1, 1)) + // ) + // ) + // }) - event.modify("gtceu:sulfur_vein", vein => { - vein.layer('tfg_tfc_ie') - vein.dimensions('minecraft:overworld') - vein.biomes('#tfg:is_tfc_overworld') - }) + // event.modify("gtceu:sulfur_vein", vein => { + // vein.layer('tfg_tfc_ie') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) - event.modify("gtceu:tetrahedrite_vein", vein => { - vein.layer('tfg_tfc_m') - vein.dimensions('minecraft:overworld') - vein.biomes('#tfg:is_tfc_overworld') - }) + // event.modify("gtceu:tetrahedrite_vein", vein => { + // vein.layer('tfg_tfc_m') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) - event.modify("gtceu:topaz_vein", vein => { - vein.layer('tfg_tfc_m') - vein.dimensions('minecraft:overworld') - vein.biomes('#tfg:is_tfc_overworld') - }) + // event.modify("gtceu:topaz_vein", vein => { + // vein.layer('tfg_tfc_m') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) - // Перемещение - Overworld -> Overworld + // Перемещение - Overworld -> Overworld TFC StoneTypes event.modify("gtceu:apatite_vein", vein => { vein.layer('tfg_tfc_ii_m') @@ -219,7 +219,7 @@ const registerGregTechOreVeins = (event) => { vein.biomes('#tfg:is_tfc_overworld') }) - // Перемещение - Deepslate Overworld -> Overworld + // Перемещение - Deepslate Overworld -> Overworld TFC StoneTypes event.modify("gtceu:copper_vein", vein => { vein.layer('tfg_tfc_ie') @@ -269,7 +269,7 @@ const registerGregTechOreVeins = (event) => { vein.biomes('#tfg:is_tfc_overworld') }) - // Перемещение - Custom + // Кастомные event.add("tfg:bismuth", vein => { vein.weight(80) @@ -296,7 +296,7 @@ const registerGregTechOreVeins = (event) => { .surfaceRock(GTMaterials.Bismuth) .placement("above") .density(0.4) - .radius(5) + .radius(8) ) }) } \ 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 fe04f76ae..29b0deebe 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -7,6 +7,7 @@ ServerEvents.tags('item', event => { registerAE2ItemTags(event) registerAlekiRoofsItemTags(event) // registerAsticorCartsItemTags(event) + registerBeneathItemTags(event) // registerChiselAndBitsItemTags(event) // registerComputerCraftItemTags(event) // registerCreateItemTags(event) @@ -32,6 +33,7 @@ ServerEvents.tags('item', event => { ServerEvents.tags('block', event => { // registerAE2BlockTags(event) // registerAsticorCartsBlockTags(event) + registerBeneathBlockTags(event) // registerChiselAndBitsBlockTags(event) // registerComputerCraftBlockTags(event) // registerCreateBlockTags(event) @@ -72,6 +74,7 @@ ServerEvents.tags('worldgen/biome', event => { * Событие регистрации тегов структур. */ ServerEvents.tags('worldgen/placed_feature', event => { + registerBeneathPlacedFeatures(event) registerFirmaLifePlacedFeatures(event) registerTFCPlacedFeatures(event) }) From 916c2e711f9b9ca3195d761d1d8e4ec67a1fccf6 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 5 Oct 2024 15:24:30 +0700 Subject: [PATCH 207/266] small fixes --- kubejs/server_scripts/minecraft/recipes.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 3915f7b1e..97640b55f 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -2543,7 +2543,7 @@ const registerMinecraftRecipes = (e) => { e.shaped('minecraft:redstone_torch', [ 'A', - 'B ' + 'B' ], { A: 'tfc:dead_torch', B: 'minecraft:redstone' @@ -2966,7 +2966,7 @@ const registerMinecraftRecipes = (e) => { e.shaped('minecraft:comparator', [ 'DAD', 'ABA', - 'CCC' + 'CsC' ], { A: 'minecraft:redstone_torch', B: '#forge:plates/quartzite', @@ -2978,7 +2978,7 @@ const registerMinecraftRecipes = (e) => { e.shaped('minecraft:comparator', [ 'DAD', 'ABA', - 'CCC' + 'CsC' ], { A: 'minecraft:redstone_torch', B: '#forge:plates/nether_quartz', From 88dbc241a4ca7c8ede7b7e8500378c2ad17abec6 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 5 Oct 2024 15:39:53 +0700 Subject: [PATCH 208/266] fixes --- kubejs/server_scripts/gregtech/recipes.js | 104 ++++++++++++++++++++-- 1 file changed, 99 insertions(+), 5 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 5bea4aed9..d915e6b03 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1185,6 +1185,64 @@ const registerGregTechRecipes = (e) => { //#endregion + //#region Сталь + + //#region Слиток + + //#region Из LV Machine Casing + e.remove({ id: 'gtceu:arc_furnace/arc_lv_machine_casing' }) + + e.recipes.gtceu.arc_furnace('tfg:arc_lv_machine_casing') + .itemInputs('gtceu:lv_machine_casing') + .itemOutputs('4x gtceu:red_steel_ingot') + .itemOutputs('4x gtceu:blue_steel_ingot') + .EUt(30).duration(140) + + //#endregion + + //#region Из LV Machine Hull + e.remove({ id: 'gtceu:arc_furnace/arc_lv_machine_hull' }) + + e.recipes.gtceu.arc_furnace('tfg:arc_lv_machine_casing') + .itemInputs('gtceu:lv_machine_hull') + .itemOutputs('4x gtceu:red_steel_ingot') + .itemOutputs('4x gtceu:blue_steel_ingot') + .itemOutputs('gtceu:tin_ingot') + .itemOutputs('gtceu:small_ash_dust') + .EUt(30).duration(140) + + //#endregion + + //#endregion + + //#region Пыль + + //#region Из LV Machine Casing + e.remove({ id: 'gtceu:macerator/macerate_lv_machine_casing' }) + + e.recipes.gtceu.macerator('tfg:macerate_lv_machine_casing') + .itemInputs('gtceu:lv_machine_casing') + .itemOutputs('4x gtceu:red_steel_dust') + .itemOutputs('4x gtceu:blue_steel_dust') + .EUt(30).duration(140) + //#endregion + + //#region Из LV Machine Hull + e.remove({ id: 'gtceu:macerator/macerate_lv_machine_hull' }) + + e.recipes.gtceu.macerator('tfg:macerate_lv_machine_casing') + .itemInputs('gtceu:lv_machine_hull') + .itemOutputs('4x gtceu:red_steel_dust') + .itemOutputs('4x gtceu:blue_steel_dust') + .itemOutputs('2x gtceu:rubber_dust') + .itemOutputs('gtceu:tin_dust') + .EUt(30).duration(140) + //#endregion + + //#endregion + + //#endregion + //#region Кованное железо //#region Слиток @@ -1255,6 +1313,41 @@ const registerGregTechRecipes = (e) => { e.remove('gtceu:shaped/primitive_pump') //#endregion + //#region LV Casing + e.remove({ id: 'gtceu:shaped/casing_lv' }) + e.shaped('gtceu:lv_machine_casing', [ + 'ABA', + 'BwB', + 'ABA' + ], { + A: '#forge:plates/red_steel', + B: '#forge:plates/blue_steel', + w: '#forge:tools/wrenches', + }).id('tfg:shaped/lv_machine_casing') + + e.remove({ id: 'gtceu:assembler/casing_lv' }) + e.recipes.gtceu.mixer('tfg:casing_lv') + .itemInputs('4x #forge:plates/red_steel') + .itemInputs('4x #forge:plates/blue_steel') + .circuit(8) + .itemOutputs('gtceu:lv_machine_casing') + .EUt(16).duration(30) + //#endregion + + //#region LV Hull + e.remove({ id: 'gtceu:shaped/lv_machine_hull' }) + e.shaped('gtceu:lv_machine_hull', [ + 'ABC', + 'DED', + ], { + A: '#forge:plates/red_steel', + B: '#forge:plates/blue_steel', + C: '#forge:plates/black_steel', + D: 'gtceu:tin_single_cable', + E: 'gtceu:lv_machine_casing', + }).id('tfg:shaped/lv_machine_casing') + //#endregion + //#region Assembly Line Grating e.remove({ id: 'gtceu:shaped/casing_grate_casing' }) @@ -1658,6 +1751,8 @@ const registerGregTechRecipes = (e) => { e.remove({ id: 'gtceu:compressor/plant_ball_from_sugar_cane' }) e.remove({ id: 'gtceu:compressor/plant_ball_from_moss' }) e.remove({ id: 'gtceu:compressor/plant_ball_from_carrot' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_fire_coral' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_tube_coral' }) e.recipes.gtceu.compressor('tfg:plant_ball_from_tfc_seeds') .itemInputs('8x #tfc:seeds') @@ -1679,11 +1774,6 @@ const registerGregTechRecipes = (e) => { .itemOutputs('gtceu:plant_ball') .EUt(2).duration(300) - e.recipes.gtceu.compressor('tfg:plant_ball_from_beneath_') - .itemInputs('8x #tfc:corals') - .itemOutputs('gtceu:plant_ball') - .EUt(2).duration(300) - //#endregion //#region В центрифуге @@ -1720,24 +1810,28 @@ const registerGregTechRecipes = (e) => { e.recipes.gtceu.brewery('tfg:biomass_from_tfc_seeds') .itemInputs('#tfc:seeds') + .inputFluids(Fluid.of('minecraft:water', 20)) .outputFluids(Fluid.of('gtceu:biomass', 20)) .EUt(3).duration(128) e.recipes.gtceu.brewery('tfg:biomass_from_tfc_food') .itemInputs('#tfc:foods') + .inputFluids(Fluid.of('minecraft:water', 20)) .outputFluids(Fluid.of('gtceu:biomass', 20)) .EUt(3).duration(128) e.recipes.gtceu.brewery('tfg:biomass_from_tfc_plants') .itemInputs('#tfc:plants') + .inputFluids(Fluid.of('minecraft:water', 20)) .outputFluids(Fluid.of('gtceu:biomass', 20)) .EUt(3).duration(128) e.recipes.gtceu.brewery('tfg:biomass_from_tfc_corals') .itemInputs('#tfc:corals') + .inputFluids(Fluid.of('minecraft:water', 20)) .outputFluids(Fluid.of('gtceu:biomass', 20)) .EUt(3).duration(128) From b046f36a012fedcb30444e4c87bd2a55001a3088 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 5 Oct 2024 15:45:03 +0700 Subject: [PATCH 209/266] force beneath loottables --- .../chests/{bastion_bridge.json => bastion_bridge.jsond} | 0 .../{bastion_hoglin_stable.json => bastion_hoglin_stable.jsond} | 0 .../chests/{bastion_other.json => bastion_other.jsond} | 0 .../chests/{bastion_treasure.json => bastion_treasure.jsond} | 0 .../chests/{nether_bridge.json => nether_bridge.jsond} | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename kubejs/data/minecraft/loot_tables/chests/{bastion_bridge.json => bastion_bridge.jsond} (100%) rename kubejs/data/minecraft/loot_tables/chests/{bastion_hoglin_stable.json => bastion_hoglin_stable.jsond} (100%) rename kubejs/data/minecraft/loot_tables/chests/{bastion_other.json => bastion_other.jsond} (100%) rename kubejs/data/minecraft/loot_tables/chests/{bastion_treasure.json => bastion_treasure.jsond} (100%) rename kubejs/data/minecraft/loot_tables/chests/{nether_bridge.json => nether_bridge.jsond} (100%) diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json b/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.jsond similarity index 100% rename from kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json rename to kubejs/data/minecraft/loot_tables/chests/bastion_bridge.jsond diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.jsond similarity index 100% rename from kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json rename to kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.jsond diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_other.json b/kubejs/data/minecraft/loot_tables/chests/bastion_other.jsond similarity index 100% rename from kubejs/data/minecraft/loot_tables/chests/bastion_other.json rename to kubejs/data/minecraft/loot_tables/chests/bastion_other.jsond diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json b/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.jsond similarity index 100% rename from kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json rename to kubejs/data/minecraft/loot_tables/chests/bastion_treasure.jsond diff --git a/kubejs/data/minecraft/loot_tables/chests/nether_bridge.json b/kubejs/data/minecraft/loot_tables/chests/nether_bridge.jsond similarity index 100% rename from kubejs/data/minecraft/loot_tables/chests/nether_bridge.json rename to kubejs/data/minecraft/loot_tables/chests/nether_bridge.jsond From 562f4514e873fdb5e8b0eb8fbd9c6e549282079b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 5 Oct 2024 15:45:07 +0700 Subject: [PATCH 210/266] ops --- kubejs/server_scripts/gregtech/recipes.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index d915e6b03..b04912340 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1203,7 +1203,7 @@ const registerGregTechRecipes = (e) => { //#region Из LV Machine Hull e.remove({ id: 'gtceu:arc_furnace/arc_lv_machine_hull' }) - e.recipes.gtceu.arc_furnace('tfg:arc_lv_machine_casing') + e.recipes.gtceu.arc_furnace('tfg:arc_lv_machine_hull') .itemInputs('gtceu:lv_machine_hull') .itemOutputs('4x gtceu:red_steel_ingot') .itemOutputs('4x gtceu:blue_steel_ingot') @@ -1230,7 +1230,7 @@ const registerGregTechRecipes = (e) => { //#region Из LV Machine Hull e.remove({ id: 'gtceu:macerator/macerate_lv_machine_hull' }) - e.recipes.gtceu.macerator('tfg:macerate_lv_machine_casing') + e.recipes.gtceu.macerator('tfg:macerate_lv_machine_hull') .itemInputs('gtceu:lv_machine_hull') .itemOutputs('4x gtceu:red_steel_dust') .itemOutputs('4x gtceu:blue_steel_dust') @@ -1326,7 +1326,7 @@ const registerGregTechRecipes = (e) => { }).id('tfg:shaped/lv_machine_casing') e.remove({ id: 'gtceu:assembler/casing_lv' }) - e.recipes.gtceu.mixer('tfg:casing_lv') + e.recipes.gtceu.assembler('tfg:casing_lv') .itemInputs('4x #forge:plates/red_steel') .itemInputs('4x #forge:plates/blue_steel') .circuit(8) @@ -1345,7 +1345,7 @@ const registerGregTechRecipes = (e) => { C: '#forge:plates/black_steel', D: 'gtceu:tin_single_cable', E: 'gtceu:lv_machine_casing', - }).id('tfg:shaped/lv_machine_casing') + }).id('tfg:shaped/lv_machine_hull') //#endregion //#region Assembly Line Grating @@ -2017,7 +2017,7 @@ const registerGregTechRecipes = (e) => { }).id('tfg:workbench/wood_drum') e.remove({ id: 'gtceu:assembler/wood_barrel' }) - e.recipes.gtceu.extractor('tfg:wood_barrel') + e.recipes.gtceu.assembler('tfg:wood_barrel') .itemInputs('2x #tfg:all_long_iron_rods', '5x #minecraft:planks') .itemOutputs('gtceu:wood_drum') .EUt(16).duration(100) From bd9b4cfcebb9a8c2a4c6523324938a0d6dc6271b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 08:35:57 +0700 Subject: [PATCH 211/266] latest gt + new mods + fixes --- config/gtceu.yaml | 4 ++++ kubejs/server_scripts/gregtech/recipes.js | 23 +++++++++++----------- kubejs/server_scripts/minecraft/recipes.js | 10 +++++----- mods | 2 +- 4 files changed, 22 insertions(+), 17 deletions(-) diff --git a/config/gtceu.yaml b/config/gtceu.yaml index 958f5053b..1b1eb6cca 100644 --- a/config/gtceu.yaml +++ b/config/gtceu.yaml @@ -81,6 +81,10 @@ recipes: # Default: false harderCircuitRecipes: true + # 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 diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index b04912340..9aaa9ae2a 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -844,6 +844,12 @@ const registerGregTechRecipes = (e) => { //#region Резиновое + // Wood + e.remove({ id: 'gtceu:shaped/rubber_wood' }) + + // Stripped Wood + e.remove({ id: 'gtceu:shaped/stripped_rubber_wood' }) + // Доски e.remove({ id : 'gtceu:shapeless/rubber_wood_planks' }) e.remove({ id : 'gtceu:shapeless/rubber_planks' }) @@ -890,13 +896,16 @@ const registerGregTechRecipes = (e) => { e.remove({ id: 'gtceu:assembler/rubber_fence_gate' }) // Табличка - e.remove({ id: 'gtceu:shaped/rubber_sign_steel' }) e.remove({ id: 'gtceu:shaped/rubber_sign_iron' }) + e.remove({ id: 'gtceu:shaped/rubber_sign_steel' }) e.remove({ id: 'gtceu:assembler/rubber_sign_steel' }) e.remove({ id: 'gtceu:assembler/rubber_sign_iron' }) - + // Висящая табличка - e.remove({ id: 'gtceu:assembler/rubber_hanging_sign' }) + e.remove({ id: 'gtceu:shaped/rubber_hanging_sign' }) + e.remove({ id: 'gtceu:shaped/rubber_hanging_sign_steel' }) + e.remove({ id: 'gtceu:assembler/rubber_hanging_sign_iron' }) + e.remove({ id: 'gtceu:assembler/rubber_hanging_sign_steel' }) // Лодка e.remove({ id: 'gtceu:shaped/rubber_boat' }) @@ -910,14 +919,6 @@ const registerGregTechRecipes = (e) => { //#region Креозотовое - // Доски - e.remove({ id : 'gtceu:shapeless/rubber_wood_planks' }) - e.remove({ id : 'gtceu:shapeless/rubber_planks' }) - e.remove({ id : 'gtceu:shaped/rubber_planks_saw' }) - e.remove({ id : 'gtceu:cutter/rubber_planks' }) - e.remove({ id : 'gtceu:cutter/rubber_planks_water' }) - e.remove({ id : 'gtceu:cutter/rubber_planks_distilled_water' }) - // Ступень e.remove({ id : 'gtceu:shaped/treated_stairs' }) e.remove({ id : 'gtceu:assembler/treated_stairs' }) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 97640b55f..fc6ca3dd2 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -96,16 +96,16 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) // Sign - e.remove({ id: `minecraft:${woodName}_sign` }) - e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) - e.remove({ id: `gtceu:assembler/${woodName}_sign` }) e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) // Hanging Sign - e.remove({ id: `minecraft:${woodName}_hanging_sign` }) - e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_hanging_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign_iron` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign_steel` }) // Boat e.remove({ id: `gtceu:shaped/${woodName}_boat` }) diff --git a/mods b/mods index 06042aa49..e5948d41c 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 06042aa49e8447cd96fd2e94c0c18a81cc3d2736 +Subproject commit e5948d41cc4a794311937cdb7906454ad624771f From 0e0a829e442c74197aad6e07ecddfcac5ea9b317 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 09:58:07 +0700 Subject: [PATCH 212/266] somework --- .../assets/emi/recipe/filters/categories.json | 13 +- .../create_low_heated/recipes.js | 7 + .../server_scripts/create_low_heated/tags.js | 16 + kubejs/server_scripts/gregtech/recipes.js | 75 +- kubejs/server_scripts/main_server_script.js | 3 +- kubejs/server_scripts/minecraft/recipes.js | 28 +- kubejs/server_scripts/minecraft/tags.js | 9 +- kubejs/server_scripts/tfc/data.js | 6 + kubejs/startup_scripts/minecraft/constants.js | 852 +++--------------- 9 files changed, 233 insertions(+), 776 deletions(-) create mode 100644 kubejs/server_scripts/create_low_heated/recipes.js create mode 100644 kubejs/server_scripts/create_low_heated/tags.js diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index e63620b05..c8b9bb550 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -28,7 +28,7 @@ }, { "category": "emi:world_interaction", - "id": "/emi:\/world\/stripping\/minecraft\//" + "id": "/emi:\/world\/stripping\/minecraft/" }, { @@ -38,11 +38,11 @@ { "category": "emi:world_interaction", - "id": "/emi:\/world\/tilling\/minecraft\//" + "id": "/emi:\/world\/tilling\/minecraft/" }, { "category": "emi:world_interaction", - "id": "/emi:\/world\/flattening\/minecraft\/grass_block\//" + "id": "/emi:\/world\/flattening\/minecraft/" }, { @@ -60,12 +60,17 @@ { "category": "emi:world_interaction", - "id": "/emi:\/emi\/bucket_filling\/minecraft\//" + "id": "/emi:\/emi\/bucket_filling\/minecraft/" }, { "category": "emi:world_interaction", "id": "emi:/world/unique/minecraft/water_bottle" + }, + + { + "category": "emi:world_interaction", + "id": "emi:/world/unique/minecraft/mud" } ] } \ No newline at end of file diff --git a/kubejs/server_scripts/create_low_heated/recipes.js b/kubejs/server_scripts/create_low_heated/recipes.js new file mode 100644 index 000000000..f01469883 --- /dev/null +++ b/kubejs/server_scripts/create_low_heated/recipes.js @@ -0,0 +1,7 @@ +// priority: 0 + +const registerCreateLowHeatedRecipes = (event) => { + + // Удаление рецептов + event.remove({ mod: 'createlowheated' }); +} \ No newline at end of file diff --git a/kubejs/server_scripts/create_low_heated/tags.js b/kubejs/server_scripts/create_low_heated/tags.js new file mode 100644 index 000000000..d41b82981 --- /dev/null +++ b/kubejs/server_scripts/create_low_heated/tags.js @@ -0,0 +1,16 @@ +// priority: 0 + +const registerCreateLowHeatedItemTags = (event) => { + + +} + +const registerCreateLowHeatedBlockTags = (event) => { + + +} + +const registerCreateLowHeatedFluidTags = (event) => { + + +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 9aaa9ae2a..762c2b46c 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1157,6 +1157,18 @@ const registerGregTechRecipes = (e) => { e.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' }) //#endregion + //#region Из наковальни + e.remove({ id: 'gtceu:macerator/macerate_anvil' }) + //#endregion + + //#region Из поломанной наковальни + e.remove({ id: 'gtceu:macerator/macerate_chipped_anvil' }) + //#endregion + + //#region Из разрушенной наковальни + e.remove({ id: 'gtceu:macerator/macerate_damaged_anvil' }) + //#endregion + //#endregion //#region Маленькая пыль @@ -1252,6 +1264,22 @@ const registerGregTechRecipes = (e) => { e.remove({ id: 'gtceu:arc_furnace/arc_iron_trapdoor' }) //#endregion + //#region Из люка + e.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' }) + //#endregion + + //#region Из наковальни + e.remove({ id: 'gtceu:arc_furnace/arc_anvil' }) + //#endregion + + //#region Из поломанной наковальни + e.remove({ id: 'gtceu:arc_furnace/arc_chipped_anvil' }) + //#endregion + + //#region Из разрушенной наковальни + e.remove({ id: 'gtceu:arc_furnace/arc_damaged_anvil' }) + //#endregion + //#endregion //#endregion @@ -1349,6 +1377,32 @@ const registerGregTechRecipes = (e) => { }).id('tfg:shaped/lv_machine_hull') //#endregion + //#region Бронзовая печь + e.remove({ id: 'gtceu:shaped/steam_furnace_bronze' }) + e.shaped('gtceu:lp_steam_furnace', [ + 'AAA', + 'ABA', + 'ACA' + ], { + A: 'gtceu:bronze_small_fluid_pipe', + B: 'gtceu:bronze_brick_casing', + C: '#forge:double_sheets/any_bronze', + }).id('tfg:shaped/steam_furnace_bronze') + //#endregion + + //#region Бронзовый сплавщик + e.remove({ id: 'gtceu:shaped/steam_alloy_smelter_bronze' }) + e.shaped('gtceu:lp_steam_alloy_smelter', [ + 'AAA', + 'ABA', + 'ACA' + ], { + A: 'gtceu:bronze_small_fluid_pipe', + B: 'gtceu:bronze_brick_casing', + C: '#forge:double_sheets/any_bronze', + }).id('tfg:shaped/steam_alloy_smelter_bronze') + //#endregion + //#region Assembly Line Grating e.remove({ id: 'gtceu:shaped/casing_grate_casing' }) @@ -1492,6 +1546,18 @@ const registerGregTechRecipes = (e) => { //#endregion //#region Forge Hammers + e.remove({ id: 'gtceu:shaped/steam_hammer_bronze' }) + e.shaped('gtceu:lp_steam_forge_hammer', [ + 'ABA', + 'ACA', + 'ADA' + ], { + A: 'gtceu:bronze_small_fluid_pipe', + B: '#forge:pistons', + C: 'gtceu:bronze_machine_casing', + D: '#tfg:tier_2_anvil', + }).id('tfg:shaped/steam_hammer_bronze') + e.remove({ id: 'gtceu:shaped/lv_forge_hammer' }) e.shaped('gtceu:lv_forge_hammer', [ 'ABA', @@ -1599,9 +1665,8 @@ const registerGregTechRecipes = (e) => { e.remove({ id: 'gtceu:shaped/uhv_forge_hammer' }) e.remove({ id: 'gtceu:shaped/uev_forge_hammer' }) e.remove({ id: 'gtceu:shaped/uiv_forge_hammer' }) - e.remove({ id: 'gtceu:shaped/uiv_forge_hammer' }) - e.remove({ id: 'gtceu:shaped/uiv_forge_hammer' }) - e.remove({ id: 'gtceu:shaped/uiv_forge_hammer' }) + e.remove({ id: 'gtceu:shaped/uxv_forge_hammerr' }) + e.remove({ id: 'gtceu:shaped/opv_forge_hammer' }) //#endregion //#region Удобрение @@ -2165,6 +2230,10 @@ const registerGregTechRecipes = (e) => { e.remove({ id: 'gtceu:compressor/compressed_fireclay' }) //#endregion + //#region Кальцитовая пыль + e.remove({ id: 'gtceu:macerator/macerate_calcite' }) + //#endregion + //#region TODO: Не работает из-за магического бага / Вырезка из резины // e.recipes.tfc.knapping('gtceu:rubber_ring', 'tfg:rubber', ['XXX', 'X X', 'XXX']) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 29b0deebe..c4ab68687 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -113,7 +113,8 @@ ServerEvents.recipes(event => { // registerChiselAndBitsRecipes(event) // registerComputerCraftRecipes(event) registerCreateRecipes(event) - // registerCreateAdditionsRecipes(event) + registerCreateAdditionsRecipes(event) + registerCreateLowHeatedRecipes(event) // registerCreateConnectedRecipes(event) // registerExtendedAE2Recipes(event) // registerExposureRecipes(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index fc6ca3dd2..e54bebe57 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -605,11 +605,9 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Табличка - e.remove({ id: `minecraft:${woodName}_sign` }) - e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) - e.remove({ id: `gtceu:assembler/${woodName}_sign` }) e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) e.shaped(sign.copyWithCount(3), [ @@ -630,8 +628,10 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Висящая табличка - e.remove({ id: `minecraft:${woodName}_hanging_sign` }) - e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_hanging_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign_iron` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign_steel` }) e.shaped(hangingSign.copyWithCount(3), [ 'AmA', @@ -1478,6 +1478,7 @@ const registerMinecraftRecipes = (e) => { //#region Блок e.remove({ id: 'gtceu:rock_breaker/blackstone' }) e.remove({ id: 'create:crushing/gilded_blackstone' }) + e.remove({ id: 'beneath:crafting/blackstone' }) //#endregion //#region Пощолоченный Блок @@ -1509,7 +1510,6 @@ const registerMinecraftRecipes = (e) => { //#region Блок e.remove({ id: 'minecraft:polished_blackstone' }) e.remove({ id: 'minecraft:polished_blackstone_from_blackstone_stonecutting' }) - e.remove({ id: '' }) //#endregion //#region Резной Блок @@ -1538,10 +1538,12 @@ const registerMinecraftRecipes = (e) => { //#region Нажимная плита e.remove({ id: 'minecraft:polished_blackstone_pressure_plate' }) + e.remove({ id: 'beneath:crafting/blackstone_plate' }) //#endregion //#region Кнопка e.remove({ id: 'minecraft:polished_blackstone_button' }) + e.remove({ id: 'beneath:crafting/blackstone_button' }) //#endregion //#endregion @@ -1552,10 +1554,12 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'minecraft:polished_blackstone_bricks' }) e.remove({ id: 'minecraft:polished_blackstone_bricks_from_blackstone_stonecutting' }) e.remove({ id: 'minecraft:polished_blackstone_bricks_from_polished_blackstone_stonecutting' }) + e.remove({ id: 'beneath:crafting/blackstone_bricks' }) //#endregion //#region Треснувший Блок e.remove({ id: 'minecraft:cracked_polished_blackstone_bricks' }) + e.remove({ id: 'beneath:crafting/cracked_blackstone_bricks' }) //#endregion //#region Ступень @@ -2167,7 +2171,7 @@ const registerMinecraftRecipes = (e) => { D: '#forge:tools/mallets' }).id(`tfg:workbench/white_bed`) - e.recipes.gtceu.extractor('tfg:white_bed') + e.recipes.gtceu.assembler('tfg:white_bed') .itemInputs('3x minecraft:white_wool', '4x #minecraft:planks') .circuit(1) .itemOutputs('minecraft:white_bed') @@ -2545,7 +2549,7 @@ const registerMinecraftRecipes = (e) => { 'A', 'B' ], { - A: 'tfc:dead_torch', + A: 'tfc:torch', B: 'minecraft:redstone' }).id('tfg:workbench/redstone_torch') //#endregion @@ -3149,7 +3153,7 @@ const registerMinecraftRecipes = (e) => { ], { A: '#forge:cobblestone', B: '#tfg:all_iron_rings', - C: '#all_iron_small_springs', + C: '#tfg:all_iron_small_springs', D: '#forge:string', E: '#tfg:all_iron_gears', F: 'gtceu:red_alloy_rod' @@ -3188,6 +3192,9 @@ const registerMinecraftRecipes = (e) => { //#region Наблюдатель e.remove({ id: 'tfc:crafting/vanilla/redstone/observer' }) + e.remove({ id: 'gtceu:shaped/observer' }) + e.remove({ id: 'gtceu:shaped/observer_certus' }) + e.remove({ id: 'gtceu:shaped/observer_quartzite' }) e.recipes.gtceu.assembler('tfg:observer_certus_quartz') .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/certus_quartz') @@ -3357,13 +3364,14 @@ const registerMinecraftRecipes = (e) => { }).id('tfg:workbench/minecart_iron') e.recipes.gtceu.assembler('tfg:minecart') - .itemInputs('3x #tfg:all_iron_plates', '4x #tfg_all_iron_rings') + .itemInputs('3x #tfg:all_iron_plates', '4x #tfg:all_iron_rings') .itemOutputs('minecraft:minecart') .EUt(4).duration(100) //#endregion //#region Выход: Вагонетка с сундуком e.remove({ id: 'gtceu:assembler/chest_minecart' }) + e.remove({ id: 'gtceu:shaped/chest_minecart' }) //#endregion //#region Выход: Вагонетка с печью diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 6616f4e9b..38dbba30d 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -3,18 +3,13 @@ const registerMinecraftItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) - // event.add('c:hidden_from_recipe_viewers', item) + event.add('c:hidden_from_recipe_viewers', item) }) global.MINECRAFT_HIDED_ITEMS.forEach(item => { - // event.add('c:hidden_from_recipe_viewers', item) + event.add('c:hidden_from_recipe_viewers', item) }) - //#region Ванильные пиломатериалы в TFC тег - event.add('tfc:lumber', 'tfg:crimson_lumber') - event.add('tfc:lumber', 'tfg:warped_lumber') - //#endregion - // Теперь обсидиан сторадж блок event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index 290c51819..9f20751fa 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -178,4 +178,10 @@ const registerTFCFoodData = (event) => { food.fruit(2) food.decayModifier(0.2) }) + + event.foodItem('minecraft:golden_carrot', food => { + food.hunger(8) + food.vegetables(1) + food.decayModifier(0.1) + }) } diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 9ab3d8fb7..4be2f7232 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -230,6 +230,28 @@ global.MINECRAFT_DISABLED_ITEMS = [ //#endregion + //#region Руды + 'minecraft:coal_ore', + 'minecraft:iron_ore', + 'minecraft:copper_ore', + 'minecraft:gold_ore', + 'minecraft:redstone_ore', + 'minecraft:emerald_ore', + 'minecraft:lapis_ore', + 'minecraft:diamond_ore', + 'minecraft:deepslate_coal_ore', + 'minecraft:deepslate_iron_ore', + 'minecraft:deepslate_copper_ore', + 'minecraft:deepslate_gold_ore', + 'minecraft:deepslate_redstone_ore', + 'minecraft:deepslate_emerald_ore', + 'minecraft:deepslate_lapis_ore', + 'minecraft:deepslate_diamond_ore', + 'minecraft:nether_gold_ore', + 'minecraft:nether_quartz_ore', + 'minecraft:ancient_debris', + //#endregion + //#region Зараженные блоки 'minecraft:infested_stone', 'minecraft:infested_cobblestone', @@ -454,451 +476,29 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:wooden_shovel", "minecraft:wooden_hoe", - - //#region Дерево + "minecraft:stone_sword", + "minecraft:stone_pickaxe", + "minecraft:stone_axe", + "minecraft:stone_shovel", + "minecraft:stone_hoe", - //#region Дуб - "minecraft:oak_wood", - "minecraft:oak_leaves", - "minecraft:oak_sapling", - "minecraft:stripped_oak_wood", - "minecraft:oak_log", - "minecraft:stripped_oak_log", - "minecraft:oak_planks", - "minecraft:oak_stairs", - "minecraft:oak_slab", - "minecraft:petrified_oak_slab", - "minecraft:oak_pressure_plate", - "minecraft:oak_fence", - "minecraft:oak_fence_gate", - "minecraft:oak_door", - "minecraft:oak_trapdoor", - "minecraft:oak_boat", - "minecraft:oak_chest_boat", - "minecraft:oak_sign", - "minecraft:oak_hanging_sign", - "minecraft:oak_button", - //#endregion + "minecraft:iron_sword", + "minecraft:iron_pickaxe", + "minecraft:iron_axe", + "minecraft:iron_shovel", + "minecraft:iron_hoe", - //#region Темный дуб - "minecraft:dark_oak_planks", - "minecraft:dark_oak_sapling", - "minecraft:dark_oak_log", - "minecraft:stripped_dark_oak_log", - "minecraft:stripped_dark_oak_wood", - "minecraft:dark_oak_wood", - "minecraft:dark_oak_leaves", - "minecraft:dark_oak_slab", - "minecraft:dark_oak_fence", - "minecraft:dark_oak_stairs", - "minecraft:dark_oak_button", - "minecraft:dark_oak_pressure_plate", - "minecraft:dark_oak_door", - "minecraft:dark_oak_trapdoor", - "minecraft:dark_oak_fence_gate", - "minecraft:dark_oak_boat", - "minecraft:dark_oak_chest_boat", - "minecraft:dark_oak_sign", - "minecraft:dark_oak_hanging_sign", - //#endregion - - //#region Акация - "minecraft:acacia_planks", - "minecraft:acacia_sapling", - "minecraft:acacia_log", - "minecraft:stripped_acacia_log", - "minecraft:stripped_acacia_wood", - "minecraft:acacia_wood", - "minecraft:acacia_leaves", - "minecraft:acacia_slab", - "minecraft:acacia_fence", - "minecraft:acacia_stairs", - "minecraft:acacia_button", - "minecraft:acacia_pressure_plate", - "minecraft:acacia_door", - "minecraft:acacia_trapdoor", - "minecraft:acacia_fence_gate", - "minecraft:acacia_boat", - "minecraft:acacia_chest_boat", - "minecraft:acacia_sign", - "minecraft:acacia_hanging_sign", - //#endregion - - //#region Береза - "minecraft:birch_planks", - "minecraft:birch_sapling", - "minecraft:birch_log", - "minecraft:stripped_birch_log", - "minecraft:stripped_birch_wood", - "minecraft:birch_wood", - "minecraft:birch_leaves", - "minecraft:birch_slab", - "minecraft:birch_fence", - "minecraft:birch_stairs", - "minecraft:birch_button", - "minecraft:birch_pressure_plate", - "minecraft:birch_door", - "minecraft:birch_trapdoor", - "minecraft:birch_fence_gate", - "minecraft:birch_boat", - "minecraft:birch_chest_boat", - "minecraft:birch_sign", - "minecraft:birch_hanging_sign", - //#endregion - - //#region Тропическое - "minecraft:jungle_planks", - "minecraft:jungle_sapling", - "minecraft:jungle_log", - "minecraft:stripped_jungle_log", - "minecraft:stripped_jungle_wood", - "minecraft:jungle_wood", - "minecraft:jungle_leaves", - "minecraft:jungle_slab", - "minecraft:jungle_fence", - "minecraft:jungle_stairs", - "minecraft:jungle_button", - "minecraft:jungle_pressure_plate", - "minecraft:jungle_door", - "minecraft:jungle_trapdoor", - "minecraft:jungle_fence_gate", - "minecraft:jungle_boat", - "minecraft:jungle_chest_boat", - "minecraft:jungle_sign", - "minecraft:jungle_hanging_sign", - //#endregion - - //#region Ель - "minecraft:spruce_planks", - "minecraft:spruce_sapling", - "minecraft:spruce_log", - "minecraft:stripped_spruce_log", - "minecraft:stripped_spruce_wood", - "minecraft:spruce_wood", - "minecraft:spruce_leaves", - "minecraft:spruce_slab", - "minecraft:spruce_fence", - "minecraft:spruce_stairs", - "minecraft:spruce_button", - "minecraft:spruce_pressure_plate", - "minecraft:spruce_door", - "minecraft:spruce_trapdoor", - "minecraft:spruce_fence_gate", - "minecraft:spruce_boat", - "minecraft:spruce_chest_boat", - "minecraft:spruce_sign", - "minecraft:spruce_hanging_sign", - //#endregion - - //#region Вишня - "minecraft:cherry_planks", - "minecraft:cherry_sapling", - "minecraft:cherry_log", - "minecraft:stripped_cherry_log", - "minecraft:stripped_cherry_wood", - "minecraft:cherry_wood", - "minecraft:cherry_leaves", - "minecraft:cherry_slab", - "minecraft:cherry_fence", - "minecraft:cherry_stairs", - "minecraft:cherry_button", - "minecraft:cherry_pressure_plate", - "minecraft:cherry_door", - "minecraft:cherry_trapdoor", - "minecraft:cherry_fence_gate", - "minecraft:cherry_boat", - "minecraft:cherry_chest_boat", - "minecraft:cherry_sign", - "minecraft:cherry_hanging_sign", - //#endregion - - //#region Мангровое - "minecraft:mangrove_planks", - "minecraft:mangrove_propagule", - "minecraft:mangrove_log", - "minecraft:mangrove_roots", - "minecraft:muddy_mangrove_roots", - "minecraft:stripped_mangrove_log", - "minecraft:stripped_mangrove_wood", - "minecraft:mangrove_wood", - "minecraft:mangrove_leaves", - "minecraft:mangrove_slab", - "minecraft:mangrove_fence", - "minecraft:mangrove_stairs", - "minecraft:mangrove_button", - "minecraft:mangrove_pressure_plate", - "minecraft:mangrove_door", - "minecraft:mangrove_trapdoor", - "minecraft:mangrove_fence_gate", - "minecraft:mangrove_boat", - "minecraft:mangrove_chest_boat", - "minecraft:mangrove_sign", - "minecraft:mangrove_hanging_sign", - //#endregion - - //#endregion - - - // Зараженные блоки - // 'minecraft:infested_stone', - // 'minecraft:infested_cobblestone', - // 'minecraft:infested_stone_bricks', - // 'minecraft:infested_mossy_stone_bricks', - // 'minecraft:infested_cracked_stone_bricks', - // 'minecraft:infested_chiseled_stone_bricks', - // 'minecraft:infested_deepslate', - - // Каменные блоки - // 'minecraft:stone', - // 'minecraft:stone_stairs', - // 'minecraft:stone_slab', - // 'minecraft:stone_pressure_plate', - // 'minecraft:stone_button', - // 'minecraft:smooth_stone', - // 'minecraft:smooth_stone_slab', - // 'minecraft:cobblestone', - // 'minecraft:cobblestone_stairs', - // 'minecraft:cobblestone_slab', - // 'minecraft:cobblestone_wall', - // 'minecraft:stone_bricks', - // 'minecraft:stone_brick_stairs', - // 'minecraft:stone_brick_slab', - // 'minecraft:stone_brick_wall', - // 'minecraft:cracked_stone_bricks', - // 'minecraft:chiseled_stone_bricks', - // 'minecraft:mossy_stone_bricks', - // 'minecraft:mossy_stone_brick_stairs', - // 'minecraft:mossy_stone_brick_slab', - // 'minecraft:mossy_stone_brick_wall', - // 'minecraft:mossy_cobblestone', - // 'minecraft:mossy_cobblestone_stairs', - // 'minecraft:mossy_cobblestone_slab', - // 'minecraft:mossy_cobblestone_wall', - - // Гранитовые блоки - // 'minecraft:granite', - // 'minecraft:granite_stairs', - // 'minecraft:granite_slab', - // 'minecraft:granite_wall', - // 'minecraft:polished_granite', - // 'minecraft:polished_granite_stairs', - // 'minecraft:polished_granite_slab', - - // Диоритовые блоки - // 'minecraft:diorite', - // 'minecraft:diorite_stairs', - // 'minecraft:diorite_slab', - // 'minecraft:diorite_wall', - // 'minecraft:polished_diorite', - // 'minecraft:polished_diorite_stairs', - // 'minecraft:polished_diorite_slab', - - // Андезитовые блоки - // 'minecraft:andesite', - // 'minecraft:andesite_stairs', - // 'minecraft:andesite_slab', - // 'minecraft:andesite_wall', - // 'minecraft:polished_andesite', - // 'minecraft:polished_andesite_stairs', - // 'minecraft:polished_andesite_slab', - - // Призмарин - // 'minecraft:prismarine', - // 'minecraft:prismarine_stairs', - // 'minecraft:prismarine_slab', - // 'minecraft:prismarine_wall', - // 'minecraft:prismarine_bricks', - // 'minecraft:prismarine_brick_stairs', - // 'minecraft:prismarine_brick_slab', - // 'minecraft:dark_prismarine', - // 'minecraft:dark_prismarine_stairs', - // 'minecraft:dark_prismarine_slab', - // 'minecraft:prismarine_crystals', - // 'minecraft:prismarine_shard', - - // Эндстоун - // 'minecraft:end_stone', - // 'minecraft:end_stone_bricks', - // 'minecraft:end_stone_brick_stairs', - // 'minecraft:end_stone_brick_slab', - // 'minecraft:end_stone_brick_wall', - - // Сланец - // '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', - - // Грязь - // 'minecraft:mud_brick_wall', - // 'minecraft:packed_mud', - // 'minecraft:mud_bricks', - // 'minecraft:mud_brick_stairs', - // 'minecraft:mud_brick_slab', - - // Руды - // 'minecraft:coal_ore', - // 'minecraft:iron_ore', - // 'minecraft:copper_ore', - // 'minecraft:gold_ore', - // 'minecraft:redstone_ore', - // 'minecraft:emerald_ore', - // 'minecraft:lapis_ore', - // 'minecraft:diamond_ore', - // 'minecraft:deepslate_coal_ore', - // 'minecraft:deepslate_iron_ore', - // 'minecraft:deepslate_copper_ore', - // 'minecraft:deepslate_gold_ore', - // 'minecraft:deepslate_redstone_ore', - // 'minecraft:deepslate_emerald_ore', - // 'minecraft:deepslate_lapis_ore', - // 'minecraft:deepslate_diamond_ore', - // 'minecraft:nether_gold_ore', - // 'minecraft:nether_quartz_ore', - // 'minecraft:ancient_debris', - - // Песок - // 'minecraft:sandstone', - // 'minecraft:sandstone_stairs', - // 'minecraft:sandstone_slab', - // 'minecraft:sandstone_wall', - // 'minecraft:smooth_sandstone', - // 'minecraft:smooth_sandstone_stairs', - // 'minecraft:smooth_sandstone_slab', - // 'minecraft:cut_sandstone', - // 'minecraft:cut_sandstone_slab', - // 'minecraft:chiseled_sandstone', - // 'minecraft:sand', - // 'minecraft:suspicious_sand', - - // Красный песок - // 'minecraft:red_sandstone', - // 'minecraft:red_sandstone_stairs', - // 'minecraft:red_sandstone_slab', - // 'minecraft:red_sandstone_wall', - // 'minecraft:smooth_red_sandstone', - // 'minecraft:smooth_red_sandstone_stairs', - // 'minecraft:smooth_red_sandstone_slab', - // 'minecraft:cut_red_sandstone', - // 'minecraft:cut_red_sandstone_slab', - // 'minecraft:chiseled_red_sandstone', - // 'minecraft:red_sand', - - // Кораллы - // 'minecraft:horn_coral', - // 'minecraft:horn_coral_fan', - // 'minecraft:dead_brain_coral', - // 'minecraft:dead_brain_coral_fan', - // 'minecraft:dead_tube_coral_fan', - // 'minecraft:dead_bubble_coral', - // 'minecraft:dead_fire_coral', - // 'minecraft:dead_horn_coral', - // 'minecraft:dead_bubble_coral_fan', - // 'minecraft:dead_fire_coral_fan', - // 'minecraft:dead_tube_coral', - // 'minecraft:brain_coral', - // 'minecraft:tube_coral', - // 'minecraft:tube_coral_fan', - // 'minecraft:dead_horn_coral_fan', - // 'minecraft:bubble_coral_fan', - // 'minecraft:fire_coral_fan', - // 'minecraft:brain_coral_fan', - // 'minecraft:bubble_coral', - // 'minecraft:fire_coral', - - // Бамбук - // 'minecraft:bamboo_sign', - // 'minecraft:bamboo_hanging_sign', - // 'minecraft:bamboo_raft', - // 'minecraft:bamboo_chest_raft', - - // Шалкеры - // 'minecraft:shulker_box', - // 'minecraft:white_shulker_box', - // 'minecraft:orange_shulker_box', - // 'minecraft:magenta_shulker_box', - // 'minecraft:light_blue_shulker_box', - // 'minecraft:yellow_shulker_box', - // 'minecraft:lime_shulker_box', - // 'minecraft:pink_shulker_box', - // 'minecraft:gray_shulker_box', - // 'minecraft:light_gray_shulker_box', - // 'minecraft:cyan_shulker_box', - // 'minecraft:purple_shulker_box', - // 'minecraft:blue_shulker_box', - // 'minecraft:brown_shulker_box', - // 'minecraft:green_shulker_box', - // 'minecraft:red_shulker_box', - // 'minecraft:black_shulker_box', - - // Мясо - // 'minecraft:porkchop', - // 'minecraft:chicken', - // 'minecraft:mutton', - // 'minecraft:rabbit', - // 'minecraft:beef', - // 'minecraft:cooked_porkchop', - // 'minecraft:cooked_chicken', - // 'minecraft:cooked_mutton', - // 'minecraft:cooked_rabbit', - // 'minecraft:cooked_beef', - - // Семена - // 'minecraft:wheat_seeds', - // 'minecraft:pumpkin_seeds', - // 'minecraft:melon_seeds', - // 'minecraft:torchflower_seeds', - // 'minecraft:beetroot_seeds', - - // Инструменты - // "minecraft:wooden_sword", - // "minecraft:wooden_pickaxe", - // "minecraft:wooden_axe", - // "minecraft:wooden_shovel", - // "minecraft:wooden_hoe", - - - // "minecraft:stone_sword", - // "minecraft:stone_pickaxe", - // "minecraft:stone_axe", - // "minecraft:stone_shovel", - // "minecraft:stone_hoe", - - // "minecraft:iron_sword", - // "minecraft:iron_pickaxe", - // "minecraft:iron_axe", - // "minecraft:iron_shovel", - // "minecraft:iron_hoe", - - // "minecraft:golden_sword", - // "minecraft:golden_pickaxe", - // "minecraft:golden_axe", - // "minecraft:golden_shovel", - // "minecraft:golden_hoe", - - // "minecraft:diamond_sword", - // "minecraft:diamond_pickaxe", - // "minecraft:diamond_axe", - // "minecraft:diamond_shovel", - // "minecraft:diamond_hoe", + "minecraft:golden_sword", + "minecraft:golden_pickaxe", + "minecraft:golden_axe", + "minecraft:golden_shovel", + "minecraft:golden_hoe", + "minecraft:diamond_sword", + "minecraft:diamond_pickaxe", + "minecraft:diamond_axe", + "minecraft:diamond_shovel", + "minecraft:diamond_hoe", "minecraft:netherite_sword", "minecraft:netherite_pickaxe", @@ -934,65 +534,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:diamond_horse_armor", //#endregion - //#region Декоративные куски вазы - - // "minecraft:netherite_sword", - // "minecraft:netherite_pickaxe", - // "minecraft:netherite_axe", - // "minecraft:netherite_shovel", - // "minecraft:netherite_hoe", - - // Броня - // "minecraft:netherite_helmet", - // "minecraft:netherite_chestplate", - // "minecraft:netherite_leggings", - // "minecraft:netherite_boots", - // "minecraft:golden_helmet", - // "minecraft:golden_chestplate", - // "minecraft:golden_leggings", - // "minecraft:golden_boots", - // "minecraft:iron_helmet", - // "minecraft:iron_chestplate", - // "minecraft:iron_leggings", - // "minecraft:iron_boots", - // "minecraft:chainmail_helmet", - // "minecraft:chainmail_chestplate", - // "minecraft:chainmail_leggings", - // "minecraft:chainmail_boots", - // "minecraft:diamond_helmet", - // "minecraft:diamond_chestplate", - // "minecraft:diamond_leggings", - // "minecraft:diamond_boots", - - // "minecraft:iron_horse_armor", - // "minecraft:golden_horse_armor", - // "minecraft:diamond_horse_armor", - - // Декоративные куски вазы - - // 'minecraft:danger_pottery_sherd', - // 'minecraft:explorer_pottery_sherd', - // 'minecraft:friend_pottery_sherd', - // 'minecraft:heart_pottery_sherd', - // 'minecraft:heartbreak_pottery_sherd', - // 'minecraft:howl_pottery_sherd', - // 'minecraft:arms_up_pottery_sherd', - // 'minecraft:archer_pottery_sherd', - // 'minecraft:angler_pottery_sherd', - // 'minecraft:snort_pottery_sherd', - // 'minecraft:skull_pottery_sherd', - // 'minecraft:shelter_pottery_sherd', - // 'minecraft:sheaf_pottery_sherd', - // 'minecraft:prize_pottery_sherd', - // 'minecraft:plenty_pottery_sherd', - // 'minecraft:mourner_pottery_sherd', - // 'minecraft:miner_pottery_sherd', - // 'minecraft:blade_pottery_sherd', - // 'minecraft:brewer_pottery_sherd', - // 'minecraft:burn_pottery_sherd', - - //#endregion - //#region Шаблоны брони 'minecraft:wayfinder_armor_trim_smithing_template', 'minecraft:netherite_upgrade_smithing_template', @@ -1013,6 +554,56 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:ward_armor_trim_smithing_template', //#endregion + //#region Свечи + 'minecraft:candle', + 'minecraft:white_candle', + 'minecraft:light_gray_candle', + 'minecraft:gray_candle', + 'minecraft:black_candle', + 'minecraft:brown_candle', + 'minecraft:red_candle', + 'minecraft:orange_candle', + 'minecraft:yellow_candle', + 'minecraft:lime_candle', + 'minecraft:green_candle', + 'minecraft:cyan_candle', + 'minecraft:light_blue_candle', + 'minecraft:blue_candle', + 'minecraft:purple_candle', + 'minecraft:magenta_candle', + 'minecraft:pink_candle', + //#endregion + + //#region Мед + // 'minecraft:honeycomb', + // 'minecraft:honey_bottle', + // 'minecraft:honeycomb_block', + // 'minecraft:honey_block', + //#endregion + + //#region Декоративные куски вазы + 'minecraft:danger_pottery_sherd', + 'minecraft:explorer_pottery_sherd', + 'minecraft:friend_pottery_sherd', + 'minecraft:heart_pottery_sherd', + 'minecraft:heartbreak_pottery_sherd', + 'minecraft:howl_pottery_sherd', + 'minecraft:arms_up_pottery_sherd', + 'minecraft:archer_pottery_sherd', + 'minecraft:angler_pottery_sherd', + 'minecraft:snort_pottery_sherd', + 'minecraft:skull_pottery_sherd', + 'minecraft:shelter_pottery_sherd', + 'minecraft:sheaf_pottery_sherd', + 'minecraft:prize_pottery_sherd', + 'minecraft:plenty_pottery_sherd', + 'minecraft:mourner_pottery_sherd', + 'minecraft:miner_pottery_sherd', + 'minecraft:blade_pottery_sherd', + 'minecraft:brewer_pottery_sherd', + 'minecraft:burn_pottery_sherd', + //#endregion + // Другое 'minecraft:calcite', 'minecraft:tuff', @@ -1148,9 +739,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:tropical_fish', 'minecraft:melon_slice', 'minecraft:beehive', - // 'minecraft:honey_bottle', - // 'minecraft:honeycomb_block', - // 'minecraft:honey_block', 'minecraft:chorus_fruit', 'minecraft:popped_chorus_fruit', 'minecraft:purpur_pillar', @@ -1208,249 +796,14 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:raw_iron_block', 'minecraft:raw_gold_block', 'minecraft:raw_copper_block', - 'minecraft:compass', 'minecraft:iron_bars', - // 'minecraft:honeycomb', - - - // Шаблоны брони - // 'minecraft:wayfinder_armor_trim_smithing_template', - // 'minecraft:netherite_upgrade_smithing_template', - // 'minecraft:dune_armor_trim_smithing_template', - // 'minecraft:snout_armor_trim_smithing_template', - // 'minecraft:shaper_armor_trim_smithing_template', - // 'minecraft:coast_armor_trim_smithing_template', - // 'minecraft:vex_armor_trim_smithing_template', - // 'minecraft:host_armor_trim_smithing_template', - // 'minecraft:rib_armor_trim_smithing_template', - // 'minecraft:silence_armor_trim_smithing_template', - // 'minecraft:spire_armor_trim_smithing_template', - // 'minecraft:tide_armor_trim_smithing_template', - // 'minecraft:eye_armor_trim_smithing_template', - // 'minecraft:raiser_armor_trim_smithing_template', - // 'minecraft:wild_armor_trim_smithing_template', - // 'minecraft:sentry_armor_trim_smithing_template', - // 'minecraft:ward_armor_trim_smithing_template', - - // Свечи - // 'minecraft:candle', - // 'minecraft:white_candle', - // 'minecraft:light_gray_candle', - // 'minecraft:gray_candle', - // 'minecraft:black_candle', - // 'minecraft:brown_candle', - // 'minecraft:red_candle', - // 'minecraft:orange_candle', - // 'minecraft:yellow_candle', - // 'minecraft:lime_candle', - // 'minecraft:green_candle', - // 'minecraft:cyan_candle', - // 'minecraft:light_blue_candle', - // 'minecraft:blue_candle', - // 'minecraft:purple_candle', - // 'minecraft:magenta_candle', - // 'minecraft:pink_candle', - - // Другое - // 'minecraft:calcite', - // 'minecraft:tuff', - // 'minecraft:dripstone_block', - // 'minecraft:grass_block', - // 'minecraft:dirt', - // 'minecraft:coarse_dirt', - // 'minecraft:podzol', - // 'minecraft:rooted_dirt', - // 'minecraft:mud', - // 'minecraft:netherite_scrap', - // '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', - // 'minecraft:fern', - // 'minecraft:dandelion', - // 'minecraft:poppy', - // 'minecraft:blue_orchid', - // 'minecraft:allium', - // 'minecraft:azure_bluet', - // 'minecraft:red_tulip', - // 'minecraft:orange_tulip', - // 'minecraft:white_tulip', - // 'minecraft:pink_tulip', - // 'minecraft:oxeye_daisy', - // 'minecraft:cornflower', - // 'minecraft:lily_of_the_valley', - // 'minecraft:wither_rose', - // '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', - // 'minecraft:pink_petals', - // 'minecraft:chain', - // 'minecraft:peony', - // 'minecraft:rose_bush', - // 'minecraft:lilac', - // 'minecraft:sunflower', - // 'minecraft:chain_command_block', - // 'minecraft:turtle_egg', - // 'minecraft:sniffer_egg', - // 'minecraft:structure_block', - // 'minecraft:jigsaw', - // 'minecraft:sculk_sensor', - // 'minecraft:calibrated_sculk_sensor', - // 'minecraft:conduit', - // 'minecraft:chest_minecart', - // 'minecraft:bread', - // 'minecraft:wheat', - // 'minecraft:cookie', - // 'minecraft:cake', - // 'minecraft:crafting_table', - // 'minecraft:chest', - // 'minecraft:trapped_chest', - // 'minecraft:fishing_rod', - // 'minecraft:brewing_stand', - // 'minecraft:warped_fungus_on_a_stick', - // 'minecraft:carrot_on_a_stick', - // 'minecraft:carrot', - // 'minecraft:pumpkin', - // 'minecraft:pearlescent_froglight', - // 'minecraft:verdant_froglight', - // 'minecraft:ochre_froglight', - // 'minecraft:suspicious_stew', - // 'minecraft:mycelium', - // 'minecraft:farmland', - // 'minecraft:composter', - // 'minecraft:pufferfish_bucket', - // 'minecraft:salmon_bucket', - // 'minecraft:cod_bucket', - // 'minecraft:tropical_fish_bucket', - // 'minecraft:axolotl_bucket', - // 'minecraft:tadpole_bucket', - // 'minecraft:player_head', - // 'minecraft:command_block_minecart', - // 'minecraft:knowledge_book', - // 'minecraft:bundle', - // 'minecraft:debug_stick', - // 'minecraft:spawner', - // 'minecraft:pitcher_pod', - // 'minecraft:beetroot', - // 'minecraft:beetroot_soup', - // 'minecraft:cocoa_beans', - // 'minecraft:experience_bottle', - // 'minecraft:shulker_shell', - // 'minecraft:rabbit_stew', - // 'minecraft:recovery_compass', - // 'minecraft:chorus_plant', - // 'minecraft:frogspawn', - // 'minecraft:cactus', - // 'minecraft:sweet_berries', - // 'minecraft:glow_berries', - // 'minecraft:campfire', - // 'minecraft:soul_campfire', - // 'minecraft:bee_nest', - // 'minecraft:fletching_table', - // 'minecraft:echo_shard', - // 'minecraft:totem_of_undying', - // 'minecraft:trident', - // 'minecraft:heart_of_the_sea', - // 'minecraft:barrel', - // 'minecraft:chorus_flower', - // 'minecraft:netherite_ingot', - // 'minecraft:netherite_block', - // 'minecraft:lodestone', - // 'minecraft:iron_trapdoor', - // 'minecraft:cod', - // 'minecraft:cooked_cod', - // 'minecraft:salmon', - // 'minecraft:cooked_salmon', - // 'minecraft:tropical_fish', - // 'minecraft:melon_slice', - // 'minecraft:beehive', - // 'minecraft:honey_bottle', - // 'minecraft:honeycomb_block', - // 'minecraft:honey_block', - // 'minecraft:chorus_fruit', - // 'minecraft:popped_chorus_fruit', - // 'minecraft:purpur_pillar', - // 'minecraft:purpur_block', - // 'minecraft:purpur_stairs', - // 'minecraft:purpur_slab', - // 'minecraft:shears', - // 'minecraft:lantern', - // 'minecraft:soul_lantern', - // 'minecraft:smithing_table', - // 'minecraft:smoker', - // 'minecraft:blast_furnace', - // 'minecraft:chiseled_bookshelf', - // 'minecraft:decorated_pot', - // 'minecraft:poisonous_potato', - // 'minecraft:potato', - // 'minecraft:baked_potato', - // 'minecraft:end_rod', - // 'minecraft:brush', - // 'minecraft:sea_lantern', - // 'minecraft:bookshelf', - // 'minecraft:enchanted_book', - // 'minecraft:repeating_command_block', - // 'minecraft:command_block', - // 'minecraft:azalea', - // 'minecraft:light', - // 'minecraft:azalea', - // 'minecraft:flowering_azalea', - // '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', - // 'minecraft:torch', - // 'minecraft:anvil', - // 'minecraft:chipped_anvil', - // '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:compass', - // 'minecraft:iron_bars', - // 'minecraft:honeycomb', - - + 'minecraft:dragon_head', + 'minecraft:creeper_head', + 'minecraft:skeleton_skull', + 'minecraft:zombie_head', + 'minecraft:piglin_head', + 'minecraft:dragon_breath', + 'minecraft:phantom_membrane', // Куча незер блоков // TODO: Разблокировать после добавления ада @@ -1488,7 +841,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ // 'minecraft:polished_blackstone_button', // И еще куча незер блоков - // TODO: Разблокировать после добавления ада // 'minecraft:crying_obsidian', // 'minecraft:crimson_nylium', // 'minecraft:warped_nylium', @@ -1503,8 +855,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ // 'minecraft:skeleton_skull', // 'minecraft:nether_sprouts', // 'minecraft:warped_roots', - // 'minecraft:dragon_head', - // 'minecraft:creeper_head', // 'minecraft:wither_skeleton_skull', // 'minecraft:weeping_vines', // 'minecraft:crimson_roots', @@ -1545,8 +895,8 @@ global.MINECRAFT_OVERWORLD_WOOD_TYPES = [ ]; global.MINECRAFT_NETHER_WOOD_TYPES = [ - "crimson", // TODO: Разблокировать когда появится АД - "warped" // TODO: Разблокировать когда появится АД + "crimson", + "warped" ]; global.MINECRAFT_ALL_WOOD_TYPES = global.MINECRAFT_OVERWORLD_WOOD_TYPES.concat(global.MINECRAFT_NETHER_WOOD_TYPES); From 0298aa9b9d9cf3ca122067a05c43585d814c3b9a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 10:05:12 +0700 Subject: [PATCH 213/266] restore waterflasks and treetap recipes --- kubejs/server_scripts/main_server_script.js | 4 +- kubejs/server_scripts/treetap/recipes.js | 10 ++--- kubejs/server_scripts/water_flasks/recipes.js | 40 ++++++++----------- 3 files changed, 23 insertions(+), 31 deletions(-) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index c4ab68687..384f1dab4 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -138,8 +138,8 @@ ServerEvents.recipes(event => { registerTFCRecipes(event) // registerTFCGroomingStationRecipes(event) // registerToolBeltRecipes(event) - // registerTreeTapRecipes(event) - // registerWaterFlasksRecipes(event) + registerTreeTapRecipes(event) + registerWaterFlasksRecipes(event) }) /** diff --git a/kubejs/server_scripts/treetap/recipes.js b/kubejs/server_scripts/treetap/recipes.js index 07722e040..0905391df 100644 --- a/kubejs/server_scripts/treetap/recipes.js +++ b/kubejs/server_scripts/treetap/recipes.js @@ -1,21 +1,21 @@ // priority: 0 -const registerTreeTapRecipes = (event) => { +const registerTreeTapRecipes = (e) => { // Удаление всех рецептов мода - event.remove({ mod: 'treetap' }) + e.remove({ mod: 'treetap' }) // TreeTap - event.recipes.tfc.anvil('treetap:tap', '#forge:ingots/copper', [ 'draw_not_last', 'hit_not_last', 'shrink_last' ]) + e.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) + e.recipes.tfc.heating('treetap:tap', 1080) .resultFluid(Fluid.of('gtceu:copper', 144)) .id('tfg:heating/treetap') // Latex From Kapok - event.custom({ + e.custom({ type: "treetap:tap_extract", log: { "item": "tfc:wood/log/kapok" diff --git a/kubejs/server_scripts/water_flasks/recipes.js b/kubejs/server_scripts/water_flasks/recipes.js index 0ee9fec5a..b9d7551da 100644 --- a/kubejs/server_scripts/water_flasks/recipes.js +++ b/kubejs/server_scripts/water_flasks/recipes.js @@ -1,56 +1,48 @@ // priority: 0 -const registerWaterFlasksRecipes = (event) => { +const registerWaterFlasksRecipes = (e) => { // Декрафт Unfinished Water Flask - event.recipes.tfc.heating('waterflasks:unfinished_iron_flask', 1535) + e.recipes.tfc.heating('waterflasks:unfinished_iron_flask', 1535) .resultFluid(Fluid.of('gtceu:iron', 144)) - .id(`waterflasks:heating/wrought_iron_unfinished_iron_flask`) + .id(`tfg:heating/wrought_iron_unfinished_iron_flask`) // Декрафт Broken Water Flask - event.recipes.tfc.heating('waterflasks:broken_iron_flask', 1535) + e.recipes.tfc.heating('waterflasks:broken_iron_flask', 1535) .resultFluid(Fluid.of('gtceu:iron', 144)) - .id(`waterflasks:heating/wrought_iron_broken_iron_flask`) + .id(`tfg:heating/wrought_iron_broken_iron_flask`) // Декрафт Water Flask - event.recipes.tfc.heating('waterflasks:iron_flask', 1535) + e.recipes.tfc.heating('waterflasks:iron_flask', 1535) .resultFluid(Fluid.of('gtceu:iron', 144)) .useDurability(true) - .id(`waterflasks:heating/wrought_iron_iron_flask`) + .id(`tfg:heating/wrought_iron_iron_flask`) //#region Кожанная фласка - - event.recipes.gtceu.assembler('tfg:water_flasks/leather_flask') + e.recipes.gtceu.assembler('tfg:leather_flask') .itemInputs('3x #forge:leather', '2x #forge:string') .circuit(1) .itemOutputs('waterflasks:leather_flask') - .duration(250) - .EUt(16) + .EUt(16).duration(250) - event.recipes.gtceu.assembler('tfg:water_flasks/leather_flask_repair') + e.recipes.gtceu.assembler('tfg:leather_flask_repair') .itemInputs('waterflasks:broken_leather_flask', '#forge:leather', '2x #forge:string') .circuit(2) .itemOutputs('waterflasks:leather_flask') - .duration(250) - .EUt(16) - + .EUt(16).duration(250) //#endregion //#region Железная фласка - - event.recipes.gtceu.assembler('tfg:water_flasks/iron_flask') - .itemInputs('tfc:burlap_cloth', '#forge:string', '#forge:leather', '#forge:plates/wrought_iron') + e.recipes.gtceu.assembler('tfg:iron_flask') + .itemInputs('tfc:burlap_cloth', '#forge:string', '#forge:leather', '#tfg:all_iron_plates') .circuit(1) .itemOutputs('waterflasks:iron_flask') - .duration(250) - .EUt(16) + .EUt(16).duration(250) - event.recipes.gtceu.assembler('tfg:water_flasks/iron_flask_repair') + e.recipes.gtceu.assembler('tfg: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) - + .EUt(16).duration(250) //#endregion } \ No newline at end of file From 3df47145b4f5a126ccf3e8f18550318af5ab2073 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 10:08:20 +0700 Subject: [PATCH 214/266] treetap assembler recipe --- kubejs/server_scripts/treetap/recipes.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/treetap/recipes.js b/kubejs/server_scripts/treetap/recipes.js index 0905391df..3e5f52442 100644 --- a/kubejs/server_scripts/treetap/recipes.js +++ b/kubejs/server_scripts/treetap/recipes.js @@ -3,12 +3,18 @@ const registerTreeTapRecipes = (e) => { // Удаление всех рецептов мода - e.remove({ mod: 'treetap' }) + // e.remove({ mod: 'treetap' }) // TreeTap e.recipes.tfc.anvil('treetap:tap', '#forge:ingots/copper', [ 'draw_not_last', 'hit_not_last', 'shrink_last' ]) .id('tfg:anvil/treetap') + e.recipes.gtceu.alloy_smelter(`tfg:treetap`) + .itemInputs('#forge:ingots/copper') + .circuit(12) + .itemOutputs('treetap:tap') + .EUt(GTValues.VA[GTValues.ULV]).duration(100) + // TreeTap Heating e.recipes.tfc.heating('treetap:tap', 1080) .resultFluid(Fluid.of('gtceu:copper', 144)) From 69bd3cf6528ca870575003056ed06515fb89bb5a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 10:10:05 +0700 Subject: [PATCH 215/266] Update recipes.js --- kubejs/server_scripts/treetap/recipes.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/kubejs/server_scripts/treetap/recipes.js b/kubejs/server_scripts/treetap/recipes.js index 3e5f52442..10d04bfcf 100644 --- a/kubejs/server_scripts/treetap/recipes.js +++ b/kubejs/server_scripts/treetap/recipes.js @@ -2,25 +2,27 @@ const registerTreeTapRecipes = (e) => { - // Удаление всех рецептов мода - // e.remove({ mod: 'treetap' }) + //#region Treetap + e.remove({ id: 'treetap:tap' }) - // TreeTap e.recipes.tfc.anvil('treetap:tap', '#forge:ingots/copper', [ 'draw_not_last', 'hit_not_last', 'shrink_last' ]) .id('tfg:anvil/treetap') - e.recipes.gtceu.alloy_smelter(`tfg:treetap`) + e.recipes.gtceu.assembler(`tfg:treetap`) .itemInputs('#forge:ingots/copper') .circuit(12) .itemOutputs('treetap:tap') .EUt(GTValues.VA[GTValues.ULV]).duration(100) - // TreeTap Heating + //#endregion + + //#region Декрафт Treetap e.recipes.tfc.heating('treetap:tap', 1080) .resultFluid(Fluid.of('gtceu:copper', 144)) .id('tfg:heating/treetap') + //#endregion - // Latex From Kapok + //#region Рецепты Treetap e.custom({ type: "treetap:tap_extract", log: { @@ -44,4 +46,5 @@ const registerTreeTapRecipes = (e) => { } ] }).id('tfg:treetap/latex') + //#endregion } \ No newline at end of file From c2cfd9d9ff40b59781c6e4f4801153de4742cfe4 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 10:30:09 +0700 Subject: [PATCH 216/266] restore morered + tfcgrrr + tfcaea + toolbelts --- kubejs/server_scripts/main_server_script.js | 18 +-- kubejs/server_scripts/more_red/recipes.js | 133 +++++++----------- .../sophisticated_backpacks/recipes.js | 50 +++---- .../tfc_grooming_station/recipes.js | 13 +- kubejs/server_scripts/tfcea/recipes.js | 4 +- kubejs/server_scripts/toolbelt/recipes.js | 8 +- 6 files changed, 100 insertions(+), 126 deletions(-) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 384f1dab4..41d9571a5 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -20,10 +20,10 @@ ServerEvents.tags('item', event => { registerGregTechItemTags(event) // registerMegaCellsItemTags(event) registerMinecraftItemTags(event) - // registerMoreRedItemTags(event) + registerMoreRedItemTags(event) // registerHotOrNotItemTags(event) // registerRailWaysItemTags(event) - // registerSophisticatedBackpacksItemTags(event) + registerSophisticatedBackpacksItemTags(event) registerTFCItemTags(event) }) @@ -46,10 +46,10 @@ ServerEvents.tags('block', event => { registerGregTechBlockTags(event) // registerMegaCellsBlockTags(event) registerMinecraftBlockTags(event) - // registerMoreRedBlockTags(event) + registerMoreRedBlockTags(event) // registerHotOrNotBlockTags(event) // registerRailWaysBlockTags(event) - // registerSophisticatedBackpacksBlockTags(event) + registerSophisticatedBackpacksBlockTags(event) registerTFCBlockTags(event) }) @@ -129,15 +129,15 @@ ServerEvents.recipes(event => { // registerMegaCellsRecipes(event) // registerMERequesterRecipes(event) registerMinecraftRecipes(event) - // registerMoreRedRecipes(event) + registerMoreRedRecipes(event) registerRailWaysRecipes(event) registerRFToolsRecipes(event) registerStorageDrawersRecipes(event) - // registerSophisticatedBackpacksRecipes(event) - // registerTfceaRecipes(event) + registerSophisticatedBackpacksRecipes(event) + registerTfceaRecipes(event) registerTFCRecipes(event) - // registerTFCGroomingStationRecipes(event) - // registerToolBeltRecipes(event) + registerTFCGroomingStationRecipes(event) + registerToolBeltRecipes(event) registerTreeTapRecipes(event) registerWaterFlasksRecipes(event) }) diff --git a/kubejs/server_scripts/more_red/recipes.js b/kubejs/server_scripts/more_red/recipes.js index f9b3072f6..3fb9ac92c 100644 --- a/kubejs/server_scripts/more_red/recipes.js +++ b/kubejs/server_scripts/more_red/recipes.js @@ -25,71 +25,65 @@ const registerMoreRedRecipes = (event) => { // Latch - event.recipes.gtceu.assembler('tfg/morered/latch') + event.recipes.gtceu.assembler('tfg:morered/latch') .itemInputs('4x gtceu:stone_plate', '2x minecraft:redstone_torch', '2x minecraft:redstone') .circuit(0) .itemOutputs('morered:latch') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Pulse Gate - event.recipes.gtceu.assembler('tfg/morered/pulse_gate') + event.recipes.gtceu.assembler('tfg:morered/pulse_gate') .itemInputs('3x gtceu:stone_plate', '2x minecraft:redstone', 'gtceu:wrought_iron_plate') .circuit(1) .itemOutputs('morered:pulse_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Red Wire Post event.shapeless('2x morered:redwire_post', [ '#forge:rods/wrought_iron', '#forge:fine_wires/red_alloy' - ]).id('tfg:crafting/red_wire_post') + ]).id('tfg:shapeless/morered/red_wire_post') // Red Wire Post Plate - event.recipes.gtceu.assembler('tfg/morered/red_wire_post_plate') + event.recipes.gtceu.assembler('tfg:morered/red_wire_post_plate') .itemInputs('3x gtceu:stone_plate', '2x minecraft:redstone', 'morered:redwire_post') .circuit(2) .itemOutputs('morered:redwire_post_plate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Red Wire Post Relay Plate - event.recipes.gtceu.assembler('tfg/morered/red_wire_post_relay_plate') + event.recipes.gtceu.assembler('tfg:morered/red_wire_post_relay_plate') .itemInputs('3x gtceu:stone_plate', '4x minecraft:redstone', 'morered:redwire_post') .circuit(4) .itemOutputs('morered:redwire_post_relay_plate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Red Wire Post Relay Plate - event.recipes.gtceu.assembler('tfg/morered/hexidecrubrometer') + event.recipes.gtceu.assembler('tfg:morered/hexidecrubrometer') .itemInputs('8x gtceu:stone_plate', '9x minecraft:redstone', '4x minecraft:quartz') .circuit(5) .itemOutputs('morered:hexidecrubrometer') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Bundled Cable Post event.shapeless('2x morered:bundled_cable_post', [ '#forge:plates/wrought_iron', 'morered:bundled_network_cable' - ]).id('tfg:crafting/bundled_cable_post') + ]).id('tfg:shapeless/morered/bundled_cable_post') // Bundled Cable Post Plate - event.recipes.gtceu.assembler('tfg/morered/bundled_cable_post_plate') + event.recipes.gtceu.assembler('tfg:morered/bundled_cable_post_plate') .itemInputs('morered:bundled_cable_post', '3x morered:bundled_network_cable', '#forge:plates/wrought_iron') .circuit(6) .itemOutputs('morered:bundled_cable_relay_plate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Red Allot Wire event.shapeless('12x morered:red_alloy_wire', [ '#forge:fine_wires/red_alloy', '#forge:fine_wires/red_alloy', '#forge:fine_wires/red_alloy' - ]).id('tfg:crafting/red_alloy_wire') + ]).id('tfg:shapeless/morered/red_alloy_wire') // Red Wire Spool event.shaped('morered:redwire_spool', [ @@ -100,7 +94,7 @@ const registerMoreRedRecipes = (event) => { A: 'morered:red_alloy_wire', B: '#forge:plates/wrought_iron', C: '#tfc:can_be_lit_on_torch' - }).id('tfg:crafting/redwire_spool') + }).id('tfg:shaped/morered/redwire_spool') // Bundled Cable Spool event.shaped('morered:bundled_cable_spool', [ @@ -111,152 +105,132 @@ const registerMoreRedRecipes = (event) => { A: 'morered:bundled_network_cable', B: '#forge:plates/wrought_iron', C: '#tfc:can_be_lit_on_torch' - }).id('tfg:crafting/bundled_cable_spool') + }).id('tfg:shaped/morered/bundled_cable_spool') // Diode - event.recipes.gtceu.assembler('tfg/morered/diode') + event.recipes.gtceu.assembler('tfg:morered/red_diode') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(7) .itemOutputs('morered:diode') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Not Gate - event.recipes.gtceu.assembler('tfg/morered/not_gate') + event.recipes.gtceu.assembler('tfg:morered/not_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(8) .itemOutputs('morered:not_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Nor Gate - event.recipes.gtceu.assembler('tfg/morered/nor_gate') + event.recipes.gtceu.assembler('tfg:morered/nor_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(9) .itemOutputs('morered:nor_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Nand Gate event.recipes.gtceu.assembler('tfg/morered/nand_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(10) .itemOutputs('morered:nand_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Or Gate - event.recipes.gtceu.assembler('tfg/morered/or_gate') + event.recipes.gtceu.assembler('tfg:morered/or_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(11) .itemOutputs('morered:or_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // And Gate - event.recipes.gtceu.assembler('tfg/morered/and_gate') + event.recipes.gtceu.assembler('tfg:morered/and_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(12) .itemOutputs('morered:and_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // XOR Gate - event.recipes.gtceu.assembler('tfg/morered/xor_gate') + event.recipes.gtceu.assembler('tfg:morered/xor_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(13) .itemOutputs('morered:xor_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // XNOR Gate - event.recipes.gtceu.assembler('tfg/morered/xnor_gate') + event.recipes.gtceu.assembler('tfg:morered/xnor_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(14) .itemOutputs('morered:xnor_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Multiplexer - event.recipes.gtceu.assembler('tfg/morered/multiplexer') + event.recipes.gtceu.assembler('tfg:morered/multiplexer') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(15) .itemOutputs('morered:multiplexer') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // And 2 Gate - event.recipes.gtceu.assembler('tfg/morered/and_2_gate') + event.recipes.gtceu.assembler('tfg:morered/and_2_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(16) .itemOutputs('morered:and_2_gate') - .duration(100) - .EUt(16) - + .EUt(16).duration(100) + // Nand 2 Gate - event.recipes.gtceu.assembler('tfg/morered/nand_2_gate') + event.recipes.gtceu.assembler('tfg:morered/nand_2_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(17) .itemOutputs('morered:nand_2_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Bitwise Diode - event.recipes.gtceu.assembler('tfg/morered/bitwise_diode') + event.recipes.gtceu.assembler('tfg:morered/bitwise_diode') .itemInputs('2x gtceu:stone_plate', 'minecraft:redstone', '3x minecraft:quartz') .circuit(0) .itemOutputs('morered:bitwise_diode') - .duration(100) - .EUt(16) - + .EUt(16).duration(100) // Bitwise Not Gate - event.recipes.gtceu.assembler('tfg/morered/bitwise_not_gate') + event.recipes.gtceu.assembler('tfg:morered/bitwise_not_gate') .itemInputs('2x gtceu:stone_plate', 'minecraft:redstone', '3x minecraft:quartz') .circuit(1) .itemOutputs('morered:bitwise_not_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Bitwise Or Gate - event.recipes.gtceu.assembler('tfg/morered/bitwise_or_gate') + event.recipes.gtceu.assembler('tfg:morered/bitwise_or_gate') .itemInputs('2x gtceu:stone_plate', 'minecraft:redstone', '3x minecraft:quartz') .circuit(2) .itemOutputs('morered:bitwise_or_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Bitwise And Gate - event.recipes.gtceu.assembler('tfg/morered/bitwise_and_gate') + event.recipes.gtceu.assembler('tfg:morered/bitwise_and_gate') .itemInputs('2x gtceu:stone_plate', 'minecraft:redstone', '3x minecraft:quartz') .circuit(3) .itemOutputs('morered:bitwise_and_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Bitwise Xor Gate - event.recipes.gtceu.assembler('tfg/morered/bitwise_xor_gate') + event.recipes.gtceu.assembler('tfg:morered/bitwise_xor_gate') .itemInputs('2x gtceu:stone_plate', 'minecraft:redstone', '3x minecraft:quartz') .circuit(4) .itemOutputs('morered:bitwise_xor_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Bitwise XNOR Gate - event.recipes.gtceu.assembler('tfg/morered/bitwise_xnor_gate') + event.recipes.gtceu.assembler('tfg:morered/bitwise_xnor_gate') .itemInputs('2x gtceu:stone_plate', 'minecraft:redstone', '3x minecraft:quartz') .circuit(5) .itemOutputs('morered:bitwise_xnor_gate') - .duration(100) - .EUt(16) - - //#region Выход: Крашеные провода + .EUt(16).duration(100) + //#region Крашеные провода event.recipes.gtceu.chemical_bath(`tfg:morered/wire_decolor`) .itemInputs('#morered:colored_network_cables') .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) .itemOutputs('morered:red_alloy_wire') - .duration(300) - .EUt(4) + .EUt(4).duration(300) global.MINECRAFT_DYE_NAMES.forEach(dye => { @@ -268,6 +242,5 @@ const registerMoreRedRecipes = (event) => { .EUt(4) }) - //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/sophisticated_backpacks/recipes.js b/kubejs/server_scripts/sophisticated_backpacks/recipes.js index ce8796111..6f89fb732 100644 --- a/kubejs/server_scripts/sophisticated_backpacks/recipes.js +++ b/kubejs/server_scripts/sophisticated_backpacks/recipes.js @@ -17,7 +17,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { B: '#forge:leather', C: '#forge:chests/wooden', D: 'minecraft:name_tag' - }).id('tfg:sophisticated_backpacks/shaped/backpack') + }).id('tfg:shaped/backpack') // Железный рюкзак event.custom({ @@ -50,7 +50,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { result: { item: "sophisticatedbackpacks:iron_backpack" } - }).id('tfg:sophisticated_backpacks/shaped/iron_backpack') + }).id('tfg:shaped/iron_backpack') // Золотой рюкзак event.custom({ @@ -83,7 +83,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { result: { item: "sophisticatedbackpacks:gold_backpack" } - }).id('tfg:sophisticated_backpacks/shaped/gold_backpack') + }).id('tfg:shaped/gold_backpack') // Алмазный рюкзак event.custom({ @@ -116,7 +116,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { result: { item: "sophisticatedbackpacks:diamond_backpack" } - }).id('tfg:sophisticated_backpacks/shaped/diamond_backpack') + }).id('tfg:shaped/diamond_backpack') // Незеритовый рюкзак event.custom({ @@ -149,7 +149,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { result: { item: "sophisticatedbackpacks:netherite_backpack" } - }).id('tfg:sophisticated_backpacks/shaped/netherite_backpack') + }).id('tfg:shaped/netherite_backpack') // Апгрейды @@ -163,7 +163,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { B: '#forge:rods/long/wrought_iron', C: '#forge:leather', D: '#forge:plates/steel' - }).id('tfg:sophisticated_backpacks/shaped/upgrade_base') + }).id('tfg:shaped/upgrade_base') // Улучшение - подбиратель event.shaped('sophisticatedbackpacks:pickup_upgrade', [ @@ -178,13 +178,13 @@ const registerSophisticatedBackpacksRecipes = (event) => { E: 'gtceu:hv_robot_arm', F: '#gtceu:circuits/hv', G: '#gtceu:batteries/hv' - }).id('tfg:sophisticated_backpacks/shaped/pickup_upgrade') + }).id('tfg:shaped/pickup_upgrade') // Улучшение - улучшенный подбиратель event.shapeless('sophisticatedbackpacks:advanced_pickup_upgrade', [ 'sophisticatedbackpacks:pickup_upgrade', '#gtceu:circuits/ev' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_pickup_upgrade') + ]).id('tfg:shapeless/advanced_pickup_upgrade') // Улучшение - фильтр event.shaped('sophisticatedbackpacks:filter_upgrade', [ @@ -200,13 +200,13 @@ const registerSophisticatedBackpacksRecipes = (event) => { F: 'gtceu:lv_robot_arm', G: '#gtceu:circuits/lv', H: 'gtceu:item_tag_filter' - }).id('tfg:sophisticated_backpacks/shaped/filter_upgrade') + }).id('tfg:shaped/filter_upgrade') // Улучшение - улучшенный фильтр event.shapeless('sophisticatedbackpacks:advanced_filter_upgrade', [ 'sophisticatedbackpacks:filter_upgrade', '#gtceu:circuits/mv' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_filter_upgrade') + ]).id('tfg:shapeless/advanced_filter_upgrade') // Улучшение - магнит event.shaped('sophisticatedbackpacks:magnet_upgrade', [ @@ -219,13 +219,13 @@ const registerSophisticatedBackpacksRecipes = (event) => { C: '#gtceu:circuits/hv', D: 'sophisticatedbackpacks:upgrade_base', E: '#gtceu:batteries/hv' - }).id('tfg:sophisticated_backpacks/shaped/magnet_upgrade') + }).id('tfg:shaped/magnet_upgrade') // Улучшение - улучшенный магнит event.shapeless('sophisticatedbackpacks:advanced_magnet_upgrade', [ 'sophisticatedbackpacks:magnet_upgrade', '#gtceu:circuits/ev' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_magnet_upgrade') + ]).id('tfg:shapeless/advanced_magnet_upgrade') // Улучшение - уничтожитель event.shaped('sophisticatedbackpacks:void_upgrade', [ @@ -240,13 +240,13 @@ const registerSophisticatedBackpacksRecipes = (event) => { E: '#forge:tools/wrenches', F: 'gtceu:brass_normal_item_pipe', G: '#forge:ender_pearls' - }).id('tfg:sophisticated_backpacks/shaped/void_upgrade') + }).id('tfg:shaped/void_upgrade') // Улучшение - улучшенный уничтожитель event.shapeless('sophisticatedbackpacks:advanced_void_upgrade', [ 'sophisticatedbackpacks:void_upgrade', '#gtceu:circuits/mv' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_void_upgrade') + ]).id('tfg:shapeless/advanced_void_upgrade') // Улучшение - Deposit event.shaped('sophisticatedbackpacks:deposit_upgrade', [ @@ -260,13 +260,13 @@ const registerSophisticatedBackpacksRecipes = (event) => { D: 'gtceu:lv_conveyor_module', E: 'sophisticatedbackpacks:upgrade_base', F: 'gtceu:lv_robot_arm' - }).id('tfg:sophisticated_backpacks/shaped/deposit_upgrade') + }).id('tfg:shaped/deposit_upgrade') // Улучшение - улучшенный Deposit event.shapeless('sophisticatedbackpacks:advanced_deposit_upgrade', [ 'sophisticatedbackpacks:deposit_upgrade', '#gtceu:circuits/mv' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_deposit_upgrade') + ]).id('tfg:shapeless/advanced_deposit_upgrade') // Улучшение - Restock event.shaped('sophisticatedbackpacks:restock_upgrade', [ @@ -280,13 +280,13 @@ const registerSophisticatedBackpacksRecipes = (event) => { D: '#gtceu:batteries/lv', E: 'gtceu:manganese_phosphide_single_wire', F: '#gtceu:circuits/lv', - }).id('tfg:sophisticated_backpacks/shaped/restock_upgrade') + }).id('tfg:shaped/restock_upgrade') // Улучшение - улучшенный Restock event.shapeless('sophisticatedbackpacks:advanced_restock_upgrade', [ 'sophisticatedbackpacks:restock_upgrade', '#gtceu:circuits/mv' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_restock_upgrade') + ]).id('tfg:shapeless/advanced_restock_upgrade') // Улучшение - Refill event.shaped('sophisticatedbackpacks:refill_upgrade', [ @@ -299,7 +299,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { C: '#gtceu:batteries/lv', D: 'gtceu:lv_robot_arm', E: 'sophisticatedbackpacks:upgrade_base' - }).id('tfg:sophisticated_backpacks/shaped/refill_upgrade') + }).id('tfg:shaped/refill_upgrade') // Улучшение - улучшенный Refill event.shapeless('sophisticatedbackpacks:advanced_refill_upgrade', [ @@ -318,7 +318,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { C: '#gtceu:circuits/zpm', D: 'sophisticatedbackpacks:upgrade_base', E: '#gtceu:batteries/zpm' - }).id('tfg:sophisticated_backpacks/shaped/everlasting_upgrade') + }).id('tfg:shaped/everlasting_upgrade') // Улучшение - верстак event.shaped('sophisticatedbackpacks:crafting_upgrade', [ @@ -330,7 +330,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { B: '#tfc:workbenches', C: '#forge:plates/steel', D: 'sophisticatedbackpacks:upgrade_base', - }).id('tfg:sophisticated_backpacks/shaped/crafting_upgrade') + }).id('tfg:shaped/crafting_upgrade') // Улучшение - Stack Lvl. 1 event.shaped('sophisticatedbackpacks:stack_upgrade_tier_1', [ @@ -343,7 +343,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { C: '#gtceu:batteries/iv', D: 'sophisticatedbackpacks:upgrade_base', E: 'gtceu:iv_field_generator' - }).id('tfg:sophisticated_backpacks/shaped/stack_upgrade_tier_1') + }).id('tfg:shaped/stack_upgrade_tier_1') // Улучшение - проигрыватель event.shaped('sophisticatedbackpacks:jukebox_upgrade', [ @@ -355,7 +355,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { B: 'minecraft:jukebox', C: '#forge:plates/steel', D: 'sophisticatedbackpacks:upgrade_base', - }).id('tfg:sophisticated_backpacks/shaped/jukebox_upgrade') + }).id('tfg:shaped/jukebox_upgrade') // Улучшение - ToolSwapper event.shaped('sophisticatedbackpacks:tool_swapper_upgrade', [ @@ -370,11 +370,11 @@ const registerSophisticatedBackpacksRecipes = (event) => { E: 'sophisticatedbackpacks:upgrade_base', F: '#tfc:shovels', G: '#tfc:axes', - }).id('tfg:sophisticated_backpacks/shaped/tool_swapper_upgrade') + }).id('tfg:shaped/tool_swapper_upgrade') // Улучшение - улучшенный ToolSwapper event.shapeless('sophisticatedbackpacks:advanced_tool_swapper_upgrade', [ 'sophisticatedbackpacks:tool_swapper_upgrade', '#gtceu:circuits/mv' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_tool_swapper_upgrade') + ]).id('tfg:shapeless/advanced_tool_swapper_upgrade') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc_grooming_station/recipes.js b/kubejs/server_scripts/tfc_grooming_station/recipes.js index d8d58d98e..e206a8c72 100644 --- a/kubejs/server_scripts/tfc_grooming_station/recipes.js +++ b/kubejs/server_scripts/tfc_grooming_station/recipes.js @@ -1,7 +1,7 @@ // priority: 0 -const registerTFCGroomingStationRecipes = (event) => { - const materials = [ +const registerTFCGroomingStationRecipes = (e) => { + const GROOMING_MATERIALS = [ 'copper', 'bismuth_bronze', 'bronze', @@ -13,9 +13,10 @@ const registerTFCGroomingStationRecipes = (event) => { 'blue_steel' ] - materials.forEach(material => { - console.log(material) - event.shaped(`tfcgroomer:${material}_grooming_station`, [ + GROOMING_MATERIALS.forEach(material => { + e.remove({ id: `tfcgroomer:${material}_grooming_station` }) + + e.shaped(`tfcgroomer:${material}_grooming_station`, [ 'ABA', 'AAA', 'C C' @@ -25,4 +26,4 @@ const registerTFCGroomingStationRecipes = (event) => { C: 'tfc:wattle' }).id(`tfcgroomer:${material}_grooming_station`) }) -} +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfcea/recipes.js b/kubejs/server_scripts/tfcea/recipes.js index c6a96e870..6698addc3 100644 --- a/kubejs/server_scripts/tfcea/recipes.js +++ b/kubejs/server_scripts/tfcea/recipes.js @@ -1,7 +1,7 @@ const registerTfceaRecipes = (event) => { - //удаление рецептов мода + // Удаление рецептов мода event.remove({ mod: 'tfcea' }) event.shaped('tfcea:refrigerator', [ @@ -15,6 +15,6 @@ const registerTfceaRecipes = (event) => { D: 'gtceu:lv_fluid_regulator', E: 'gtceu:lv_machine_hull', F: 'gtceu:lv_electric_pump', - }).id('tfcea:refrigerator') + }).id('tfg:shaped/refrigerator') } \ No newline at end of file diff --git a/kubejs/server_scripts/toolbelt/recipes.js b/kubejs/server_scripts/toolbelt/recipes.js index 60e8b81b7..bdfca422c 100644 --- a/kubejs/server_scripts/toolbelt/recipes.js +++ b/kubejs/server_scripts/toolbelt/recipes.js @@ -14,7 +14,7 @@ const registerToolBeltRecipes = (event) => { A: '#forge:string', B: '#forge:leather', C: '#forge:plates/wrought_iron' - }).id('tfg:toolbelt/shaped/pouch') + }).id('tfg:shaped/pouch') // ToolBelt с размером 2 event.shaped(Item.of('toolbelt:belt', {Size:2}), [ @@ -25,13 +25,13 @@ const registerToolBeltRecipes = (event) => { A: '#forge:string', B: '#forge:leather', C: '#forge:plates/wrought_iron' - }).id('tfg:toolbelt/shaped/belt_' + 2) + }).id('tfg:shaped/belt_2') // ToolBelt с размером 3 - 9 for (let i = 3; i < 10; i++) { event.shapeless(Item.of('toolbelt:belt', {Size:i}), [ Ingredient.of(Item.of('toolbelt:belt', {Size:i-1}).strongNBT()).or(Ingredient.of(Item.of('toolbelt:belt', {Size:i-1,Items:[]}).strongNBT())), 'toolbelt:pouch' - ]).id('tfg:toolbelt/shaped/belt_' + i) + ]).id(`tfg:shaped/belt_${i}`) } -} +} \ No newline at end of file From 66548cdb3f26a697970b2414988dcbcf21be5cdb Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 10:42:06 +0700 Subject: [PATCH 217/266] restore a bunch of mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index e5948d41c..aa2dd68a9 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit e5948d41cc4a794311937cdb7906454ad624771f +Subproject commit aa2dd68a9bdfbaa3201ca0f36ba4e7c012491e37 From ba639258cc531beb25f8cac50e36cf61424779eb Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 10:42:20 +0700 Subject: [PATCH 218/266] merequester + mega cells --- kubejs/server_scripts/main_server_script.js | 6 +- kubejs/server_scripts/me_requester/recipes.js | 16 ++-- kubejs/server_scripts/mega_cells/recipes.js | 84 +++++++++---------- 3 files changed, 55 insertions(+), 51 deletions(-) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 41d9571a5..d781d86ca 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -124,10 +124,10 @@ ServerEvents.recipes(event => { registerFramedBlocksRecipes(event) registerFTBQuestsRecipes(event) registerGregTechRecipes(event) - // registerHandGliderRecipes(event) + registerHandGliderRecipes(event) // registerHotOrNotRecipes(event) - // registerMegaCellsRecipes(event) - // registerMERequesterRecipes(event) + registerMERequesterRecipes(event) + registerMegaCellsRecipes(event) registerMinecraftRecipes(event) registerMoreRedRecipes(event) registerRailWaysRecipes(event) diff --git a/kubejs/server_scripts/me_requester/recipes.js b/kubejs/server_scripts/me_requester/recipes.js index aa7a34dd0..1c8c202f4 100644 --- a/kubejs/server_scripts/me_requester/recipes.js +++ b/kubejs/server_scripts/me_requester/recipes.js @@ -2,16 +2,19 @@ const registerMERequesterRecipes = (event) => { + //#region ME Requester event.remove({ id: 'merequester:requester' }) - - // ME Requester + event.recipes.gtceu.assembler('tfg:merequester/merequester') .itemInputs('#ae2:interface', '2x ae2:crafting_accelerator', '4x #gtceu:circuits/ev', '4x #forge:plates/copper', '#forge:rods/amethyst') .itemOutputs('merequester:requester') - .duration(760) - .EUt(506) + .EUt(506).duration(760) + //#endregion + + //#region ME Requester Terminal + // TODO: Assembler recipe + event.remove({ id: 'merequester:requester_terminal' }) - // ME Requester Terminal event.shaped('merequester:requester_terminal', [ 'ABC', 'DED', @@ -24,5 +27,6 @@ const registerMERequesterRecipes = (event) => { E: 'merequester:requester', F: '#forge:plates/steel', G: 'ae2:engineering_processor' - }).id('merequester:requester_terminal') + }).id('tfg:shaped/merequester/requester_terminal') + //#endregion } \ 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..f332bef54 100644 --- a/kubejs/server_scripts/mega_cells/recipes.js +++ b/kubejs/server_scripts/mega_cells/recipes.js @@ -9,7 +9,7 @@ const registerMegaCellsRecipes = (event) => { {id: 'megacells:network/mega_pattern_provider_part'}, ], mod: 'megacells' }) - event.recipes.gtceu.assembler('megacells:mega_energy_cell') + event.recipes.gtceu.assembler('tfg:megacells/mega_energy_cell') .itemInputs('8x ae2:dense_energy_cell', '8x gtceu:nichrome_quadruple_wire', '4x #gtceu:circuits/iv') .itemOutputs('megacells:mega_energy_cell') .circuit(1) @@ -17,7 +17,7 @@ const registerMegaCellsRecipes = (event) => { .EUt(2048) //printed accumulation circuit - event.recipes.gtceu.forming_press('megacells:printed_accumulation_processor') + event.recipes.gtceu.forming_press('tfg:megacells/printed_accumulation_processor') .itemInputs('#forge:plates/enriched_naquadah') .notConsumable('megacells:accumulation_processor_press') .itemOutputs('megacells:printed_accumulation_processor') @@ -25,14 +25,14 @@ const registerMegaCellsRecipes = (event) => { .EUt(1920) // Inscrdiber Silicon Press - event.recipes.gtceu.laser_engraver('ae2:accumulation_processor_press_iron') + event.recipes.gtceu.laser_engraver('tfg:megacells/accumulation_processor_press_iron') .itemInputs('#forge:plates/iron', 'ae2:singularity') .notConsumable('#forge:lenses/black') .itemOutputs('megacells:accumulation_processor_press') .duration(6000) .EUt(1920) - event.recipes.gtceu.laser_engraver('ae2:accumulation_processor_press_wrought_iron') + event.recipes.gtceu.laser_engraver('tfg:megacells/accumulation_processor_press_wrought_iron') .itemInputs('#forge:plates/wrought_iron', 'ae2:singularity') .notConsumable('#forge:lenses/black') .itemOutputs('megacells:accumulation_processor_press') @@ -40,7 +40,7 @@ const registerMegaCellsRecipes = (event) => { .EUt(1920) //accumulation processor - event.recipes.gtceu.circuit_assembler('megacells:accumulation_processor') + event.recipes.gtceu.circuit_assembler('tfg:megacells/accumulation_processor') .itemInputs( 'ae2:printed_silicon', 'megacells:printed_accumulation_processor', @@ -53,7 +53,7 @@ const registerMegaCellsRecipes = (event) => { .EUt(1920) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.circuit_assembler('megacells:accumulation_processor_adv') + event.recipes.gtceu.circuit_assembler('tfg:megacells/accumulation_processor_adv') .itemInputs( 'ae2:printed_silicon', 'megacells:printed_accumulation_processor', @@ -76,7 +76,7 @@ const registerMegaCellsRecipes = (event) => { B: '#forge:plates/enriched_naquadah', C: '#forge:fine_wires/niobium_titanium', D: '#gtceu:circuits/iv', - }).id('tfg:crafting/mega_item_cell_housing') + }).id('tfg:shaped/megacells/mega_item_cell_housing') //Mega Fluid Cell Housing event.shaped('megacells:mega_fluid_cell_housing', [ @@ -88,7 +88,7 @@ const registerMegaCellsRecipes = (event) => { B: '#forge:plates/incoloy_ma_956', C: '#forge:fine_wires/niobium_titanium', D: '#gtceu:circuits/iv', - }).id('tfg:crafting/mega_fluid_cell_housing') + }).id('tfg:shaped/megacells/mega_fluid_cell_housing') //cell dock event.shaped('megacells:cell_dock', [ @@ -99,12 +99,12 @@ const registerMegaCellsRecipes = (event) => { B: 'ae2:engineering_processor', C: '#ae2:glass_cable', D: '#gtceu:circuits/lv', - }).id('tfg:crafting/megacells_cell_dock') + }).id('tfg:shaped/megacells/megacells_cell_dock') //#region Storage Components // 1m storage components - event.recipes.gtceu.assembly_line('megacells:cell_component_1m') + event.recipes.gtceu.assembly_line('tfg:megacells/cell_component_1m') .itemInputs( '4x #gtceu:circuits/uv', '4x #forge:plates/darmstadtium', @@ -119,7 +119,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // 4m storage components - event.recipes.gtceu.assembly_line('megacells:cell_component_4m') + event.recipes.gtceu.assembly_line('tfg:megacells/cell_component_4m') .itemInputs( '4x #gtceu:circuits/uhv', '4x #forge:plates/neutronium', @@ -133,7 +133,7 @@ const registerMegaCellsRecipes = (event) => { .EUt(1966080) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.assembly_line('megacells:cell_component_4m_1m') + event.recipes.gtceu.assembly_line('tfg:megacells/cell_component_4m_1m') .itemInputs( '2x megacells:accumulation_processor', '2x #gtceu:circuits/uhv', @@ -216,7 +216,7 @@ const registerMegaCellsRecipes = (event) => { //#region MEGA interface // EV - event.recipes.gtceu.assembler('megacells:mega_interface_ev') + event.recipes.gtceu.assembler('tfg:megacells/mega_interface_ev') .itemInputs( '2x #ae2:interface', '4x megacells:accumulation_processor', @@ -233,7 +233,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // IV - event.recipes.gtceu.assembler('megacells:mega_interface_iv') + event.recipes.gtceu.assembler('tfg:megacells/mega_interface_iv') .itemInputs( '4x #ae2:interface', '4x megacells:accumulation_processor', @@ -250,7 +250,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // LuV - event.recipes.gtceu.assembler('megacells:mega_interface_luv') + event.recipes.gtceu.assembler('tfg:megacells/mega_interface_luv') .itemInputs( '8x #ae2:interface', '4x megacells:accumulation_processor', @@ -267,7 +267,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // ZPM - event.recipes.gtceu.assembler('megacells:mega_interface_zpm') + event.recipes.gtceu.assembler('tfg:megacells/mega_interface_zpm') .itemInputs( '16x #ae2:interface', '4x megacells:accumulation_processor', @@ -287,7 +287,7 @@ const registerMegaCellsRecipes = (event) => { //#region MEGA provider // EV - event.recipes.gtceu.assembler('megacells:mega_pattern_provider_ev') + event.recipes.gtceu.assembler('tfg:megacells/mega_pattern_provider_ev') .itemInputs( '2x #ae2:pattern_provider', '4x megacells:accumulation_processor', @@ -303,7 +303,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // IV - event.recipes.gtceu.assembler('megacells:mega_pattern_provider_iv') + event.recipes.gtceu.assembler('tfg:megacells/mega_pattern_provider_iv') .itemInputs( '4x #ae2:pattern_provider', '4x megacells:accumulation_processor', @@ -319,7 +319,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // LuV - event.recipes.gtceu.assembler('megacells:mega_pattern_provider_luv') + event.recipes.gtceu.assembler('tfg:megacells/mega_pattern_provider_luv') .itemInputs( '8x #ae2:pattern_provider', '4x megacells:accumulation_processor', @@ -335,7 +335,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // ZPM - event.recipes.gtceu.assembler('megacells:mega_pattern_provider_zpm') + event.recipes.gtceu.assembler('tfg:megacells/mega_pattern_provider_zpm') .itemInputs( '16x #ae2:pattern_provider', '4x megacells:accumulation_processor', @@ -353,7 +353,7 @@ const registerMegaCellsRecipes = (event) => { //#endregion // greater energy card - event.recipes.gtceu.assembler('megacells:greater_energy_card') + event.recipes.gtceu.assembler('tfg:megacells/greater_energy_card') .itemInputs( 'ae2:energy_card', '2x gtceu:lapotronic_energy_orb') @@ -363,14 +363,14 @@ const registerMegaCellsRecipes = (event) => { //#region Cell Packing //item - event.recipes.gtceu.packer('megacells:item_storage_cell_1m') + event.recipes.gtceu.packer('tfg:megacells/item_storage_cell_1m') .itemInputs('megacells:mega_item_cell_housing', 'megacells:cell_component_1m') .itemOutputs('megacells:item_storage_cell_1m') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:item_storage_cell_4m') + event.recipes.gtceu.packer('tfg:megacells/item_storage_cell_4m') .itemInputs('megacells:mega_item_cell_housing', 'megacells:cell_component_4m') .itemOutputs('megacells:item_storage_cell_4m') .duration(10) @@ -399,14 +399,14 @@ const registerMegaCellsRecipes = (event) => { // .cleanroom(CleanroomType.CLEANROOM) //fluid - event.recipes.gtceu.packer('megacells:fluid_storage_cell_1m') + event.recipes.gtceu.packer('tfg:megacells/fluid_storage_cell_1m') .itemInputs('megacells:mega_fluid_cell_housing', 'megacells:cell_component_1m') .itemOutputs('megacells:fluid_storage_cell_1m') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:fluid_storage_cell_4m') + event.recipes.gtceu.packer('tfg:megacells/fluid_storage_cell_4m') .itemInputs('megacells:mega_fluid_cell_housing', 'megacells:cell_component_4m') .itemOutputs('megacells:fluid_storage_cell_4m') .duration(10) @@ -435,14 +435,14 @@ const registerMegaCellsRecipes = (event) => { // .cleanroom(CleanroomType.CLEANROOM) //item back - event.recipes.gtceu.packer('megacells:item_storage_cell_1m_back') + event.recipes.gtceu.packer('tfg:megacells/item_storage_cell_1m_back') .itemInputs('megacells:item_storage_cell_1m') .itemOutputs('megacells:mega_item_cell_housing', 'megacells:cell_component_1m') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:item_storage_cell_4m_back') + event.recipes.gtceu.packer('tfg:megacells/item_storage_cell_4m_back') .itemInputs('megacells:item_storage_cell_4m') .itemOutputs('megacells:mega_item_cell_housing', 'megacells:cell_component_4m') .duration(10) @@ -471,14 +471,14 @@ const registerMegaCellsRecipes = (event) => { // .cleanroom(CleanroomType.CLEANROOM) //fluid back - event.recipes.gtceu.packer('megacells:fluid_storage_cell_1m_back') + event.recipes.gtceu.packer('tfg:megacells/fluid_storage_cell_1m_back') .itemInputs('megacells:fluid_storage_cell_1m') .itemOutputs('megacells:mega_fluid_cell_housing', 'megacells:cell_component_1m') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:fluid_storage_cell_4m_back') + event.recipes.gtceu.packer('tfg:megacells/fluid_storage_cell_4m_back') .itemInputs('megacells:fluid_storage_cell_4m') .itemOutputs('megacells:mega_fluid_cell_housing', 'megacells:cell_component_4m') .duration(10) @@ -509,7 +509,7 @@ const registerMegaCellsRecipes = (event) => { //#endregion //mega crafting unit - event.recipes.gtceu.assembler('megacells:mega_crafting_unit') + event.recipes.gtceu.assembler('tfg:megacells/mega_crafting_unit') .itemInputs( '4x ae2:crafting_unit', '4x megacells:accumulation_processor', @@ -523,21 +523,21 @@ const registerMegaCellsRecipes = (event) => { //#region Crafting Storage - event.recipes.gtceu.packer('megacells:mega_crafting_accelerator') + event.recipes.gtceu.packer('tfg:megacells/mega_crafting_accelerator') .itemInputs('megacells:mega_crafting_unit', 'ae2:engineering_processor') .itemOutputs('megacells:mega_crafting_accelerator') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:1m_crafting_storage') + event.recipes.gtceu.packer('tfg:megacells/1m_crafting_storage') .itemInputs('megacells:mega_crafting_unit', 'megacells:cell_component_1m') .itemOutputs('megacells:1m_crafting_storage') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:4m_crafting_storage') + event.recipes.gtceu.packer('tfg:megacells/4m_crafting_storage') .itemInputs('megacells:mega_crafting_unit', 'megacells:cell_component_4m') .itemOutputs('megacells:4m_crafting_storage') .duration(10) @@ -565,7 +565,7 @@ const registerMegaCellsRecipes = (event) => { // .EUt(12) // .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:mega_crafting_monitor') + event.recipes.gtceu.packer('tfg:megacells/mega_crafting_monitor') .itemInputs('megacells:mega_crafting_unit', 'ae2:storage_monitor') .itemOutputs('megacells:mega_crafting_monitor') .duration(10) @@ -573,21 +573,21 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) //back - event.recipes.gtceu.packer('megacells:crafting_mega_accelerator_back') + event.recipes.gtceu.packer('tfg:megacells/crafting_mega_accelerator_back') .itemInputs('ae2:crafting_accelerator') .itemOutputs('megacells:mega_crafting_unit', 'ae2:engineering_processor') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:1m_crafting_storage_back') + event.recipes.gtceu.packer('tfg:megacells/1m_crafting_storage_back') .itemInputs('megacells:1m_crafting_storage') .itemOutputs('megacells:mega_crafting_unit', 'megacells:cell_component_1m') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:4m_crafting_storage_back') + event.recipes.gtceu.packer('tfg:megacells/4m_crafting_storage_back') .itemInputs('megacells:4m_crafting_storage') .itemOutputs('megacells:mega_crafting_unit', 'megacells:cell_component_4m') .duration(10) @@ -616,7 +616,7 @@ const registerMegaCellsRecipes = (event) => { // .EUt(12) // .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:crafting_monitor_back') + event.recipes.gtceu.packer('tfg:megacells/crafting_monitor_back') .itemInputs('megacells:mega_crafting_monitor') .itemOutputs('megacells:mega_crafting_unit', 'ae2:storage_monitor') .duration(10) @@ -631,7 +631,7 @@ const registerMegaCellsRecipes = (event) => { //#region Item // 1m - event.recipes.gtceu.assembler('megacells:portable_item_cell_1m') + event.recipes.gtceu.assembler('tfg:megacells/portable_item_cell_1m') .itemInputs( 'ae2:chest', 'megacells:cell_component_1m', @@ -645,7 +645,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // 4m - event.recipes.gtceu.assembler('megacells:portable_item_cell_4m') + event.recipes.gtceu.assembler('tfg:megacells/portable_item_cell_4m') .itemInputs( 'ae2:chest', 'megacells:cell_component_4m', @@ -706,7 +706,7 @@ const registerMegaCellsRecipes = (event) => { //#region Fluid // 1m - event.recipes.gtceu.assembler('megacells:portable_fluid_cell_1m') + event.recipes.gtceu.assembler('tfg:megacells/portable_fluid_cell_1m') .itemInputs( 'ae2:chest', 'megacells:cell_component_1m', @@ -720,7 +720,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // 4m - event.recipes.gtceu.assembler('megacells:portable_fluid_cell_4m') + event.recipes.gtceu.assembler('tfg:megacells/portable_fluid_cell_4m') .itemInputs( 'ae2:chest', 'megacells:cell_component_4m', From 8d8c95f3473d682867f06711144191ecd07fa5a6 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 10:54:07 +0700 Subject: [PATCH 219/266] Update assets.js --- kubejs/client_scripts/tfc/assets.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/client_scripts/tfc/assets.js b/kubejs/client_scripts/tfc/assets.js index 18884ad2a..2c17e6fd7 100644 --- a/kubejs/client_scripts/tfc/assets.js +++ b/kubejs/client_scripts/tfc/assets.js @@ -22,4 +22,6 @@ const registerTFCAssets = (e) => { e.add(`emi:recipe/additions/tfc_${woodName}_wood_conversion`, woodJson) }) //#endregion + + //todo: flattering recipes, shovels, etc } \ No newline at end of file From 764842eb2ccecbf7e493e861e0d23b51dfa060f8 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 10:54:23 +0700 Subject: [PATCH 220/266] port #410 --- .../advancedperipherals/recipes.js | 156 ++++++++++++++++++ .../advancedperipherals/tags.js | 9 +- .../advancedperipherals/constants.js | 10 ++ 3 files changed, 173 insertions(+), 2 deletions(-) create mode 100644 kubejs/startup_scripts/advancedperipherals/constants.js diff --git a/kubejs/server_scripts/advancedperipherals/recipes.js b/kubejs/server_scripts/advancedperipherals/recipes.js index a14e9f51c..22792c065 100644 --- a/kubejs/server_scripts/advancedperipherals/recipes.js +++ b/kubejs/server_scripts/advancedperipherals/recipes.js @@ -2,4 +2,160 @@ const registerAdvancedPeripheralsRecipes = (e) => { e.remove({ mod: `advancedperipherals` }) + + // + event.shaped('advancedperipherals:peripheral_casing', [ + 'CBC', + 'ADA', + 'AAA', + ], { + A: '#forge:plates/titanium', + B: '#gtceu:circuits/ev', + C: '#forge:double_wires/uranium_triplatinum', + D: 'gtceu:ev_machine_hull', + }).id('advancedperipherals:crafting/peripheral_casing') + + event.shaped('advancedperipherals:environment_detector', [ + 'ABA', + 'CDC', + 'EFE', + ], { + A: 'gtceu:ev_sensor', + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:ev_emitter', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/iv', + F: 'gtceu:advanced_item_detector_cover', + }).id('advancedperipherals:crafting/environment_detector') + + event.shaped('advancedperipherals:chat_box', [ + ' B ', + 'CDC', + 'EFE', + ], { + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:iv_emitter', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/luv', + F: '#forge:double_wires/uranium_triplatinum', + }).id('advancedperipherals:crafting/chat_box') + + event.shaped('advancedperipherals:player_detector', [ + 'ABA', + 'CDC', + 'EFE', + ], { + A: 'gtceu:luv_sensor', + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:luv_emitter', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/luv', + F: '#forge:double_wires/indium_tin_barium_titanium_cuprate', + }).id('advancedperipherals:crafting/player_detector') + + event.shaped('advancedperipherals:me_bridge', [ + 'ABC', + 'BDB', + 'EFG', + ], { + A: 'gtceu:ev_sensor', + B: 'expatternprovider:ex_interface', + C: 'gtceu:advanced_energy_detector_cover', + D: 'advancedperipherals:peripheral_casing', + E: 'gtceu:advanced_item_detector_cover', + F: 'ae2:controller', + G: 'gtceu:advanced_fluid_detector_cover', + }).id('advancedperipherals:crafting/me_bridge') + + event.shaped('advancedperipherals:energy_detector', [ + 'ABA', + 'CDC', + 'EFE', + ], { + A: 'gtceu:ev_sensor', + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:ev_emitter', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/ev', + F: 'gtceu:advanced_energy_detector_cover', + }).id('advancedperipherals:crafting/energy_detector') + + event.shaped('advancedperipherals:inventory_manager', [ + 'ABA', + 'CDC', + 'EFE', + ], { + A: 'gtceu:ev_sensor', + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:ev_emitter', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/ev', + F: 'gtceu:hv_super_chest', + }).id('advancedperipherals:crafting/inventory_manager') + + event.shaped('advancedperipherals:redstone_integrator', [ + ' B ', + 'ADA', + 'EFE', + ], { + A: 'gtceu:ev_sensor', + B: 'gtceu:computer_monitor_cover', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/ev', + F: 'gtceu:advanced_activity_detector_cover', + }).id('advancedperipherals:crafting/redstone_integrator') + + event.shaped('advancedperipherals:block_reader', [ + 'EBE', + 'ADA', + 'EFE', + ], { + A: 'gtceu:ev_sensor', + B: 'gtceu:computer_monitor_cover', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/ev', + F: '#forge:double_wires/uranium_triplatinum', + }).id('advancedperipherals:crafting/block_reader') + + event.shaped('advancedperipherals:geo_scanner', [ + 'ABA', + 'CDC', + 'EFE', + ], { + A: 'gtceu:luv_sensor', + B: 'gtceu:prospector.luv', + C: 'gtceu:luv_emitter', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/luv', + F: 'computercraft:wired_modem_full', + }).id('advancedperipherals:crafting/geo_scanner') + + event.shaped('advancedperipherals:nbt_storage', [ + ' A ', + 'ADA', + 'EBE', + ], { + A: 'gtceu:ev_sensor', + B: 'gtceu:digital_interface_cover', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/ev', + }).id('advancedperipherals:crafting/nbt_storage') + + event.recipes.gtceu.assembler('advancedperipherals:overpowered_weak_automata_core') + .itemInputs('advancedperipherals:weak_automata_core', '2x gtceu:wetware_processor') + .itemOutputs('advancedperipherals:overpowered_weak_automata_core') + .duration(8000) + .EUt(480) + + event.recipes.gtceu.assembler('advancedperipherals:overpowered_end_automata_core') + .itemInputs('advancedperipherals:end_automata_core', '2x gtceu:wetware_processor') + .itemOutputs('advancedperipherals:overpowered_end_automata_core') + .duration(8000) + .EUt(480) + + event.recipes.gtceu.assembler('advancedperipherals:overpowered_husbandry_automata_core') + .itemInputs('advancedperipherals:husbandry_automata_core', '2x gtceu:wetware_processor') + .itemOutputs('advancedperipherals:overpowered_husbandry_automata_core') + .duration(8000) + .EUt(480) } \ No newline at end of file diff --git a/kubejs/server_scripts/advancedperipherals/tags.js b/kubejs/server_scripts/advancedperipherals/tags.js index 90a1087eb..23581a6b9 100644 --- a/kubejs/server_scripts/advancedperipherals/tags.js +++ b/kubejs/server_scripts/advancedperipherals/tags.js @@ -1,9 +1,14 @@ // priority: 0 const registerAdvancedPeripheralsItemTags = (event) => { - + global.ADVANCED_PERIPHERALS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) } const registerAdvancedPeripheralsBlockTags = (event) => { - + global.ADVANCED_PERIPHERALS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) } \ 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..7e34eb6f7 --- /dev/null +++ b/kubejs/startup_scripts/advancedperipherals/constants.js @@ -0,0 +1,10 @@ +// priority: 0 + +global.ADVANCED_PERIPHERALS_DISABLED_ITEMS = [ + 'advancedperipherals:colony_integrator', + 'advancedperipherals:rs_bridge', + + 'advancedperipherals:chunk_controller', + 'advancedperipherals:computer_tool', +] + From 1c557771b8161509c97b782bcd292cfa8f11dcb0 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 10:54:37 +0700 Subject: [PATCH 221/266] restore all! --- kubejs/server_scripts/ae2/tags.js | 14 +- .../server_scripts/chisel_and_bits/recipes.js | 221 +++++++++--------- kubejs/server_scripts/chisel_and_bits/tags.js | 16 +- .../server_scripts/computer_craft/recipes.js | 51 ++-- kubejs/server_scripts/main_server_script.js | 76 +++--- 5 files changed, 186 insertions(+), 192 deletions(-) diff --git a/kubejs/server_scripts/ae2/tags.js b/kubejs/server_scripts/ae2/tags.js index 41d9c7c0e..842adba74 100644 --- a/kubejs/server_scripts/ae2/tags.js +++ b/kubejs/server_scripts/ae2/tags.js @@ -4,15 +4,15 @@ const registerAE2ItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', "ae2:facade") - // global.AE2_DISABLED_ITEMS.forEach(item => { - // event.removeAllTagsFrom(item) - // event.add('c:hidden_from_recipe_viewers', item) - // }) + global.AE2_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) } const registerAE2BlockTags = (event) => { - // global.AE2_DISABLED_ITEMS.forEach(item => { - // event.removeAllTagsFrom(item) - // }) + global.AE2_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) } \ No newline at end of file diff --git a/kubejs/server_scripts/chisel_and_bits/recipes.js b/kubejs/server_scripts/chisel_and_bits/recipes.js index 1217427c4..2dd6fa17c 100644 --- a/kubejs/server_scripts/chisel_and_bits/recipes.js +++ b/kubejs/server_scripts/chisel_and_bits/recipes.js @@ -2,117 +2,114 @@ const registerChiselAndBitsRecipes = (event) => { - if (Platform.isLoaded('chiselsandbits')) { - event.remove({ not: [ - { id: 'chiselsandbits:quill' } - ], mod: 'chiselsandbits' }) - - // Мешок для кусочков блоков - event.recipes.tfc.knapping('chiselsandbits:bit_bag', 'tfc:leather', [ - " X X ", - "X X", - "X X", - "XXXXX" - ]).ingredient('#tfc:leather_knapping').id('tfg:chiselsandbits/knapping_leather/bit_bag') - - // Лупа - event.shaped('chiselsandbits:magnifying_glass', [ - 'A', - 'C', - 'B' - ], { - A: '#forge:glass', - B: '#forge:rods/wooden', - C: '#forge:rings/wrought_iron' - }).id('tfg:chiselsandbits/shaped/magnifying_glass') - - // Алмазная стамеска - event.shapeless('chiselsandbits:chisel_diamond', [ - '#tfc:chisels', - 'tfc:powder/diamond', - 'tfc:powder/diamond', - 'tfc:powder/diamond' - ]).id('tfg:chiselsandbits/shapeless/chisel_diamond') - - // Хранилище кусочков - event.shaped('chiselsandbits:bit_storage', [ - 'ABA', - 'C C', - 'ADA' - ], { - A: '#forge:rods/wrought_iron', - B: '#forge:tools/wrench', - C: 'forge:glass_panes', - D: 'minecraft:wooden_slabs', - }).id('tfg:chiselsandbits/shaped/bit_storage') - - // Рулетка - event.shaped('chiselsandbits:measuring_tape', [ - ' AB', - ' BA', - 'C ' - ], { - A: '#forge:dyes/yellow', - B: '#forge:string', - C: '#forge:rods/wrought_iron' - }).id('tfg:chiselsandbits/shaped/measuring_tape') - - // Герметик - event.shapeless('chiselsandbits:sealant', [ - 'minecraft:slime_ball', - 'firmalife:raw_honey' - ]).id('tfg:chiselsandbits/shapeless/sealant_from_slimeballs') - - event.shapeless('chiselsandbits:sealant', [ - 'tfc:glue', - 'firmalife:raw_honey' - ]).id('tfg:chiselsandbits/shapeless/sealant_from_glue') - - // Резной принтер - event.shaped('chiselsandbits:chiseled_printer', [ - ' A ', - 'B B', - 'BCB' - ], { - A: '#forge:tools/wrench', - B: '#tfc:support_beams', - C: '#forge:smooth_stone_slab' - }).id('tfg:chiselsandbits/shaped/chiseled_printer') - - // Стол модификаций - event.shaped('chiselsandbits:modification_table', [ - 'ABA', - 'CDC', - 'C C' - ], { - A: '#minecraft:wooden_slabs', - B: '#forge:tools/wrench', - C: '#tfc:support_beams', - D: '#tfc:workbenches' - }).id('tfg:chiselsandbits/shaped/modification_table') - - // Принтер и сканер шаблонов - event.shaped('chiselsandbits:pattern_scanner', [ - ' A ', - 'B B', - 'BCB' - ], { - A: '#forge:tools/wrench', - B: '#tfc:lumber', - C: '#forge:smooth_stone_slab' - }).id('tfg:chiselsandbits/shaped/pattern_scanner') - - // Удалятель герметика - event.shaped('chiselsandbits:wrench', [ - ' AB', - ' AA', - 'A ' - ], { - A: '#tfc:lumber', - B: 'chiselsandbits:block_bit', - }).id('tfg:chiselsandbits/shaped/wrench') - } + if (!Platform.isLoaded('chiselsandbits')) return; - - + event.remove({ not: [ + { id: 'chiselsandbits:quill' } + ], mod: 'chiselsandbits' }) + + // Мешок для кусочков блоков + event.recipes.tfc.knapping('chiselsandbits:bit_bag', 'tfc:leather', [ + " X X ", + "X X", + "X X", + "XXXXX" + ]).ingredient('#tfc:leather_knapping').id('tfg:chiselsandbits/knapping_leather/bit_bag') + + // Лупа + event.shaped('chiselsandbits:magnifying_glass', [ + 'A', + 'C', + 'B' + ], { + A: '#forge:glass', + B: '#forge:rods/wooden', + C: '#forge:rings/wrought_iron' + }).id('tfg:chiselsandbits/shaped/magnifying_glass') + + // Алмазная стамеска + event.shapeless('chiselsandbits:chisel_diamond', [ + '#tfc:chisels', + 'tfc:powder/diamond', + 'tfc:powder/diamond', + 'tfc:powder/diamond' + ]).id('tfg:chiselsandbits/shapeless/chisel_diamond') + + // Хранилище кусочков + event.shaped('chiselsandbits:bit_storage', [ + 'ABA', + 'C C', + 'ADA' + ], { + A: '#forge:rods/wrought_iron', + B: '#forge:tools/wrench', + C: 'forge:glass_panes', + D: 'minecraft:wooden_slabs', + }).id('tfg:chiselsandbits/shaped/bit_storage') + + // Рулетка + event.shaped('chiselsandbits:measuring_tape', [ + ' AB', + ' BA', + 'C ' + ], { + A: '#forge:dyes/yellow', + B: '#forge:string', + C: '#forge:rods/wrought_iron' + }).id('tfg:chiselsandbits/shaped/measuring_tape') + + // Герметик + event.shapeless('chiselsandbits:sealant', [ + 'minecraft:slime_ball', + 'firmalife:raw_honey' + ]).id('tfg:chiselsandbits/shapeless/sealant_from_slimeballs') + + event.shapeless('chiselsandbits:sealant', [ + 'tfc:glue', + 'firmalife:raw_honey' + ]).id('tfg:chiselsandbits/shapeless/sealant_from_glue') + + // Резной принтер + event.shaped('chiselsandbits:chiseled_printer', [ + ' A ', + 'B B', + 'BCB' + ], { + A: '#forge:tools/wrench', + B: '#tfc:support_beams', + C: '#forge:smooth_stone_slab' + }).id('tfg:chiselsandbits/shaped/chiseled_printer') + + // Стол модификаций + event.shaped('chiselsandbits:modification_table', [ + 'ABA', + 'CDC', + 'C C' + ], { + A: '#minecraft:wooden_slabs', + B: '#forge:tools/wrench', + C: '#tfc:support_beams', + D: '#tfc:workbenches' + }).id('tfg:chiselsandbits/shaped/modification_table') + + // Принтер и сканер шаблонов + event.shaped('chiselsandbits:pattern_scanner', [ + ' A ', + 'B B', + 'BCB' + ], { + A: '#forge:tools/wrench', + B: '#tfc:lumber', + C: '#forge:smooth_stone_slab' + }).id('tfg:chiselsandbits/shaped/pattern_scanner') + + // Удалятель герметика + event.shaped('chiselsandbits:wrench', [ + ' AB', + ' AA', + 'A ' + ], { + A: '#tfc:lumber', + B: 'chiselsandbits:block_bit', + }).id('tfg:chiselsandbits/shaped/wrench') } \ No newline at end of file diff --git a/kubejs/server_scripts/chisel_and_bits/tags.js b/kubejs/server_scripts/chisel_and_bits/tags.js index 86552e617..8ac581993 100644 --- a/kubejs/server_scripts/chisel_and_bits/tags.js +++ b/kubejs/server_scripts/chisel_and_bits/tags.js @@ -2,23 +2,21 @@ const registerChiselAndBitsItemTags = (event) => { - if (Platform.isLoaded('chiselsandbits')) { - event.add('c:hidden_from_recipe_viewers', "chiselandbits:block_bit") + if (!Platform.isLoaded('chiselsandbits')) return + + event.add('c:hidden_from_recipe_viewers', "chiselandbits:block_bit") global.CHISEL_AND_BITS_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) }) - } } const registerChiselAndBitsBlockTags = (event) => { - if (Platform.isLoaded('chiselsandbits')) { - global.CHISEL_AND_BITS_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - }) - } + if (!Platform.isLoaded('chiselsandbits')) return - + global.CHISEL_AND_BITS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) } \ 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..d20ee256c 100644 --- a/kubejs/server_scripts/computer_craft/recipes.js +++ b/kubejs/server_scripts/computer_craft/recipes.js @@ -9,12 +9,11 @@ const registerComputerCraftRecipes = (event) => { ], mod: 'computercraft' }); // Networking Cable - event.recipes.gtceu.assembler('computercraft:cable') + event.recipes.gtceu.assembler('tfg:computercraft/cable') .itemInputs('ae2:fluix_glass_cable') .inputFluids(Fluid.of('gtceu:redstone', 288)) .itemOutputs('computercraft:cable') - .duration(80) - .EUt(120) + .EUt(120).duration(80) // Wireless Modem Normal event.shaped('computercraft:wireless_modem_normal', [ @@ -26,7 +25,7 @@ const registerComputerCraftRecipes = (event) => { B: 'ae2:calculation_processor', C: '#gtceu:circuits/hv', D: 'computercraft:cable', - }).id('tfg:crafting/wireless_modem_normal') + }).id('tfg:shaped/computercraft/wireless_modem_normal') // Wireless Modem Advanced event.shaped('computercraft:wireless_modem_advanced', [ @@ -38,7 +37,7 @@ const registerComputerCraftRecipes = (event) => { B: 'ae2:calculation_processor', C: '#gtceu:circuits/hv', D: 'computercraft:cable', - }).id('tfg:crafting/wireless_modem_advanced') + }).id('tfg:shaped/computercraft/wireless_modem_advanced') // Monitor Normal event.shaped('computercraft:monitor_normal', [ @@ -52,7 +51,7 @@ const registerComputerCraftRecipes = (event) => { D: 'gtceu:mv_machine_casing', E: 'computercraft:cable', F: '#gtceu:circuits/mv', - }).id('tfg:crafting/monitor_normal') + }).id('tfg:shaped/computercraft/monitor_normal') // Monitor Advanced event.shaped('computercraft:monitor_advanced', [ @@ -66,7 +65,7 @@ const registerComputerCraftRecipes = (event) => { D: 'gtceu:hv_machine_casing', E: 'computercraft:cable', F: '#gtceu:circuits/hv', - }).id('tfg:crafting/monitor_advanced') + }).id('tfg:shaped/computercraft/monitor_advanced') // Disk Drive event.shaped('computercraft:disk_drive', [ @@ -79,7 +78,7 @@ const registerComputerCraftRecipes = (event) => { C: '#gtceu:circuits/hv', D: 'gtceu:hv_machine_casing', E: 'gtceu:hv_sensor', - }).id('tfg:crafting/disk_drive') + }).id('tfg:shaped/computercraft/disk_drive') // Speaker event.shaped('computercraft:speaker', [ @@ -91,7 +90,7 @@ const registerComputerCraftRecipes = (event) => { B: 'computercraft:cable', C: 'gtceu:mv_machine_casing', D: '#gtceu:circuits/mv', - }).id('tfg:crafting/speaker') + }).id('tfg:shaped/computercraft/speaker') // Printer event.shaped('computercraft:printer', [ @@ -105,7 +104,7 @@ const registerComputerCraftRecipes = (event) => { D: 'computercraft:cable', E: 'gtceu:mv_machine_casing', F: 'gtceu:mv_conveyor_module' - }).id('tfg:crafting/printer') + }).id('tfg:shaped/computercraft/printer') // Wired Modem event.shaped('computercraft:wired_modem', [ @@ -117,13 +116,13 @@ const registerComputerCraftRecipes = (event) => { B: 'computercraft:cable', C: '#gtceu:circuits/mv', D: 'ae2:calculation_processor', - }).id('tfg:crafting/wired_modem') + }).id('tfg:shaped/computercraft/wired_modem') event.shapeless('computercraft:wired_modem', ['computercraft:wired_modem_full']) - .id('tfg:crafting/wired_modem_shapeless') + .id('tfg:shapeless/computercraft/wired_modem_shapeless') event.shapeless('computercraft:wired_modem_full', ['computercraft:wired_modem']) - .id('tfg:crafting/wired_modem_full_shapeless') + .id('tfg:shapeless/computercraft/wired_modem_full_shapeless') // Computer Normal event.shaped('computercraft:computer_normal', [ @@ -136,7 +135,7 @@ const registerComputerCraftRecipes = (event) => { C: '#gtceu:batteries/mv', D: 'gtceu:mv_machine_casing', E: '#gtceu:circuits/hv' - }).id('tfg:crafting/computer_normal') + }).id('tfg:shaped/computercraft/computer_normal') // Computer Advanced event.shaped('computercraft:computer_advanced', [ @@ -149,7 +148,7 @@ const registerComputerCraftRecipes = (event) => { C: '#gtceu:batteries/hv', D: 'gtceu:hv_machine_casing', E: '#gtceu:circuits/ev' - }).id('tfg:crafting/computer_advanced') + }).id('tfg:shaped/computercraft/computer_advanced') // Turtle Normal event.shaped('computercraft:turtle_normal', [ @@ -165,7 +164,7 @@ const registerComputerCraftRecipes = (event) => { F: 'computercraft:computer_normal', G: 'gtceu:steel_crate', H: 'gtceu:hv_electric_piston', - }).id('tfg:crafting/turtle_normal') + }).id('tfg:shaped/computercraft/turtle_normal') // Turtle Advanced event.shaped('computercraft:turtle_advanced', [ @@ -181,11 +180,11 @@ const registerComputerCraftRecipes = (event) => { F: 'computercraft:computer_advanced', G: 'gtceu:aluminium_crate', H: 'gtceu:ev_electric_piston', - }).id('tfg:crafting/turtle_advanced') + }).id('tfg:shaped/computercraft/turtle_advanced') // Disk Crafts for (let i = 0; i < 16; i++) { - event.recipes.gtceu.chemical_bath('computercraft:disk' + `${global.MINECRAFT_DYE_NAMES[i]}`) + event.recipes.gtceu.chemical_bath('tfg:computercraft/disk' + `${global.MINECRAFT_DYE_NAMES[i]}`) .itemInputs('ae2:blank_pattern') .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 288)) .itemOutputs(Item.of('computercraft:disk', global.COMPUTER_CRAFT_DISCS[i])) @@ -207,25 +206,25 @@ const registerComputerCraftRecipes = (event) => { E: 'gtceu:hv_emitter', F: '#gtceu:circuits/ev', G: '#forge:plates/titanium' - }).id('tfg:crafting/pocket_computer_normal') + }).id('tfg:shaped/computercraft/pocket_computer_normal') // Pocket Computer Normal Upgrade : Wireless Modem Advanced event.shapeless(Item.of('computercraft:pocket_computer_normal', '{Upgrade:"computercraft:wireless_modem_advanced"}'), [ 'computercraft:pocket_computer_normal', 'computercraft:wireless_modem_advanced' - ]).id('computercraft:ender_pocket_computer_normal_shapless') + ]).id('tfg:shaped/computercraft/ender_pocket_computer_normal_shapless') // Pocket Computer Normal Upgrade : Wireless Modem Normal event.shapeless(Item.of('computercraft:pocket_computer_normal', '{Upgrade:"computercraft:wireless_modem_normal"}'), [ 'computercraft:pocket_computer_normal', 'computercraft:wireless_modem_normal' - ]).id('computercraft:wireless_pocket_computer_normal_shapless') + ]).id('tfg:shaped/computercraft/wireless_pocket_computer_normal_shapless') // Pocket Computer Normal Upgrade : Speaker event.shapeless(Item.of('computercraft:pocket_computer_normal', '{Upgrade:"computercraft:speaker"}'), [ 'computercraft:pocket_computer_normal', 'computercraft:speaker' - ]).id('computercraft:noisy_pocket_computer_normal_shapless') + ]).id('tfg:shaped/computercraft/noisy_pocket_computer_normal_shapless') // Advanced Pocket Computers // Pocket Computer Advanced @@ -241,25 +240,25 @@ const registerComputerCraftRecipes = (event) => { E: 'gtceu:ev_emitter', F: '#gtceu:circuits/iv', G: '#forge:plates/tungsten_steel' - }).id('tfg:crafting/pocket_computer_advanced') + }).id('tfg:shaped/computercraft/pocket_computer_advanced') // Pocket Computer Advanced Upgrade : Wireless Modem Advanced event.shapeless(Item.of('computercraft:pocket_computer_advanced', '{Upgrade:"computercraft:wireless_modem_advanced"}'), [ 'computercraft:pocket_computer_advanced', 'computercraft:wireless_modem_advanced' - ]).id('computercraft:ender_pocket_computer_advanced_shapless') + ]).id('tfg:shaped/computercraft/ender_pocket_computer_advanced_shapless') // Pocket Computer Advanced Upgrade : Wireless Modem Normal event.shapeless(Item.of('computercraft:pocket_computer_advanced', '{Upgrade:"computercraft:wireless_modem_normal"}'), [ 'computercraft:pocket_computer_advanced', 'computercraft:wireless_modem_normal' - ]).id('computercraft:wireless_pocket_computer_advanced_shapless') + ]).id('tfg:shaped/computercraft/wireless_pocket_computer_advanced_shapless') // Pocket Computer Advanced Upgrade : Speaker event.shapeless(Item.of('computercraft:pocket_computer_advanced', '{Upgrade:"computercraft:speaker"}'), [ 'computercraft:pocket_computer_advanced', 'computercraft:speaker' - ]).id('computercraft:noisy_pocket_computer_advanced_shapless') + ]).id('tfg:shaped/computercraft/noisy_pocket_computer_advanced_shapless') } \ 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 d781d86ca..37b808287 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -6,23 +6,23 @@ ServerEvents.tags('item', event => { registerAE2ItemTags(event) registerAlekiRoofsItemTags(event) - // registerAsticorCartsItemTags(event) + registerAsticorCartsItemTags(event) registerBeneathItemTags(event) - // registerChiselAndBitsItemTags(event) - // registerComputerCraftItemTags(event) - // registerCreateItemTags(event) - // registerCreateAdditionsItemTags(event) - // registerExtendedAE2ItemTags(event) - // registerFirmaCivItemTags(event) + registerChiselAndBitsItemTags(event) + registerComputerCraftItemTags(event) + registerCreateItemTags(event) + registerCreateAdditionsItemTags(event) + registerExtendedAE2ItemTags(event) + registerFirmaCivItemTags(event) registerFirmaLifeItemTags(event) - // registerFramedBlocksItemTags(event) - // registerFTBQuestsItemTags(event) + registerFramedBlocksItemTags(event) + registerFTBQuestsItemTags(event) registerGregTechItemTags(event) - // registerMegaCellsItemTags(event) + registerMegaCellsItemTags(event) registerMinecraftItemTags(event) registerMoreRedItemTags(event) // registerHotOrNotItemTags(event) - // registerRailWaysItemTags(event) + registerRailWaysItemTags(event) registerSophisticatedBackpacksItemTags(event) registerTFCItemTags(event) }) @@ -31,24 +31,24 @@ ServerEvents.tags('item', event => { * Событие регистрации блок-тэгов. */ ServerEvents.tags('block', event => { - // registerAE2BlockTags(event) - // registerAsticorCartsBlockTags(event) + registerAE2BlockTags(event) + registerAsticorCartsBlockTags(event) registerBeneathBlockTags(event) - // registerChiselAndBitsBlockTags(event) - // registerComputerCraftBlockTags(event) - // registerCreateBlockTags(event) - // registerCreateAdditionsBlockTags(event) - // registerExtendedAE2BlockTags(event) - // registerFirmaCivBlockTags(event) + registerChiselAndBitsBlockTags(event) + registerComputerCraftBlockTags(event) + registerCreateBlockTags(event) + registerCreateAdditionsBlockTags(event) + registerExtendedAE2BlockTags(event) + registerFirmaCivBlockTags(event) registerFirmaLifeBlockTags(event) - // registerFramedBlocksBlockTags(event) - // registerFTBQuestsBlockTags(event) + registerFramedBlocksBlockTags(event) + registerFTBQuestsBlockTags(event) registerGregTechBlockTags(event) - // registerMegaCellsBlockTags(event) + registerMegaCellsBlockTags(event) registerMinecraftBlockTags(event) registerMoreRedBlockTags(event) // registerHotOrNotBlockTags(event) - // registerRailWaysBlockTags(event) + registerRailWaysBlockTags(event) registerSophisticatedBackpacksBlockTags(event) registerTFCBlockTags(event) }) @@ -57,8 +57,8 @@ ServerEvents.tags('block', event => { * Событие регистрации жидкость-тэгов. */ ServerEvents.tags('fluid', event => { - // registerCreateFluidTags(event) - // registerCreateAdditionsFluidTags(event) + registerCreateFluidTags(event) + registerCreateAdditionsFluidTags(event) registerFirmaLifeBlockTags(event) registerTFCFluidTags(event) }) @@ -103,24 +103,24 @@ TFCEvents.data(event => { * Срабатывает после инициализации датапаков и тегов. */ ServerEvents.recipes(event => { - // registerAE2Recipes(event) + registerAE2Recipes(event) registerAdvancedPeripheralsRecipes(event) registerAlekiRoofsRecipes(event) - // registerAsticorCartsRecipes(event) - // registerAE2InsertExportCardRecipes(event) - // registerAE2NetworkAnalyzerRecipes(event) - // registerAE2WTLibRecipes(event) - // registerChiselAndBitsRecipes(event) - // registerComputerCraftRecipes(event) + registerAsticorCartsRecipes(event) + registerAE2InsertExportCardRecipes(event) + registerAE2NetworkAnalyzerRecipes(event) + registerAE2WTLibRecipes(event) + registerChiselAndBitsRecipes(event) + registerComputerCraftRecipes(event) registerCreateRecipes(event) registerCreateAdditionsRecipes(event) registerCreateLowHeatedRecipes(event) - // registerCreateConnectedRecipes(event) - // registerExtendedAE2Recipes(event) - // registerExposureRecipes(event) - // registerEtchedRecipes(event) - // registerFirmaCivRecipes(event) - // registerFirmaLifeRecipes(event) + registerCreateConnectedRecipes(event) + registerExtendedAE2Recipes(event) + registerExposureRecipes(event) + registerEtchedRecipes(event) + registerFirmaCivRecipes(event) + registerFirmaLifeRecipes(event) registerFramedBlocksRecipes(event) registerFTBQuestsRecipes(event) registerGregTechRecipes(event) From 40451bff86fccdf18e3a94490d84bb0c12d6abf4 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 11:16:35 +0700 Subject: [PATCH 222/266] more recipe fixes --- .../advancedperipherals/recipes.js | 28 ++--- kubejs/server_scripts/alekiroofs/tags.js | 2 +- kubejs/server_scripts/alekiships/recipes.js | 62 ++++++++++ kubejs/server_scripts/alekiships/tags.js | 14 +++ kubejs/server_scripts/firmaciv/recipes.js | 113 +++++------------- kubejs/server_scripts/main_server_script.js | 4 + kubejs/server_scripts/minecraft/recipes.js | 1 - .../startup_scripts/alekiships/constants.js | 7 ++ 8 files changed, 131 insertions(+), 100 deletions(-) create mode 100644 kubejs/server_scripts/alekiships/recipes.js create mode 100644 kubejs/server_scripts/alekiships/tags.js create mode 100644 kubejs/startup_scripts/alekiships/constants.js diff --git a/kubejs/server_scripts/advancedperipherals/recipes.js b/kubejs/server_scripts/advancedperipherals/recipes.js index 22792c065..63a9f4cdf 100644 --- a/kubejs/server_scripts/advancedperipherals/recipes.js +++ b/kubejs/server_scripts/advancedperipherals/recipes.js @@ -4,7 +4,7 @@ const registerAdvancedPeripheralsRecipes = (e) => { e.remove({ mod: `advancedperipherals` }) // - event.shaped('advancedperipherals:peripheral_casing', [ + e.shaped('advancedperipherals:peripheral_casing', [ 'CBC', 'ADA', 'AAA', @@ -15,7 +15,7 @@ const registerAdvancedPeripheralsRecipes = (e) => { D: 'gtceu:ev_machine_hull', }).id('advancedperipherals:crafting/peripheral_casing') - event.shaped('advancedperipherals:environment_detector', [ + e.shaped('advancedperipherals:environment_detector', [ 'ABA', 'CDC', 'EFE', @@ -28,7 +28,7 @@ const registerAdvancedPeripheralsRecipes = (e) => { F: 'gtceu:advanced_item_detector_cover', }).id('advancedperipherals:crafting/environment_detector') - event.shaped('advancedperipherals:chat_box', [ + e.shaped('advancedperipherals:chat_box', [ ' B ', 'CDC', 'EFE', @@ -40,7 +40,7 @@ const registerAdvancedPeripheralsRecipes = (e) => { F: '#forge:double_wires/uranium_triplatinum', }).id('advancedperipherals:crafting/chat_box') - event.shaped('advancedperipherals:player_detector', [ + e.shaped('advancedperipherals:player_detector', [ 'ABA', 'CDC', 'EFE', @@ -53,7 +53,7 @@ const registerAdvancedPeripheralsRecipes = (e) => { F: '#forge:double_wires/indium_tin_barium_titanium_cuprate', }).id('advancedperipherals:crafting/player_detector') - event.shaped('advancedperipherals:me_bridge', [ + e.shaped('advancedperipherals:me_bridge', [ 'ABC', 'BDB', 'EFG', @@ -67,7 +67,7 @@ const registerAdvancedPeripheralsRecipes = (e) => { G: 'gtceu:advanced_fluid_detector_cover', }).id('advancedperipherals:crafting/me_bridge') - event.shaped('advancedperipherals:energy_detector', [ + e.shaped('advancedperipherals:energy_detector', [ 'ABA', 'CDC', 'EFE', @@ -80,7 +80,7 @@ const registerAdvancedPeripheralsRecipes = (e) => { F: 'gtceu:advanced_energy_detector_cover', }).id('advancedperipherals:crafting/energy_detector') - event.shaped('advancedperipherals:inventory_manager', [ + e.shaped('advancedperipherals:inventory_manager', [ 'ABA', 'CDC', 'EFE', @@ -93,7 +93,7 @@ const registerAdvancedPeripheralsRecipes = (e) => { F: 'gtceu:hv_super_chest', }).id('advancedperipherals:crafting/inventory_manager') - event.shaped('advancedperipherals:redstone_integrator', [ + e.shaped('advancedperipherals:redstone_integrator', [ ' B ', 'ADA', 'EFE', @@ -105,7 +105,7 @@ const registerAdvancedPeripheralsRecipes = (e) => { F: 'gtceu:advanced_activity_detector_cover', }).id('advancedperipherals:crafting/redstone_integrator') - event.shaped('advancedperipherals:block_reader', [ + e.shaped('advancedperipherals:block_reader', [ 'EBE', 'ADA', 'EFE', @@ -117,7 +117,7 @@ const registerAdvancedPeripheralsRecipes = (e) => { F: '#forge:double_wires/uranium_triplatinum', }).id('advancedperipherals:crafting/block_reader') - event.shaped('advancedperipherals:geo_scanner', [ + e.shaped('advancedperipherals:geo_scanner', [ 'ABA', 'CDC', 'EFE', @@ -130,7 +130,7 @@ const registerAdvancedPeripheralsRecipes = (e) => { F: 'computercraft:wired_modem_full', }).id('advancedperipherals:crafting/geo_scanner') - event.shaped('advancedperipherals:nbt_storage', [ + e.shaped('advancedperipherals:nbt_storage', [ ' A ', 'ADA', 'EBE', @@ -141,19 +141,19 @@ const registerAdvancedPeripheralsRecipes = (e) => { E: '#gtceu:circuits/ev', }).id('advancedperipherals:crafting/nbt_storage') - event.recipes.gtceu.assembler('advancedperipherals:overpowered_weak_automata_core') + e.recipes.gtceu.assembler('advancedperipherals:overpowered_weak_automata_core') .itemInputs('advancedperipherals:weak_automata_core', '2x gtceu:wetware_processor') .itemOutputs('advancedperipherals:overpowered_weak_automata_core') .duration(8000) .EUt(480) - event.recipes.gtceu.assembler('advancedperipherals:overpowered_end_automata_core') + e.recipes.gtceu.assembler('advancedperipherals:overpowered_end_automata_core') .itemInputs('advancedperipherals:end_automata_core', '2x gtceu:wetware_processor') .itemOutputs('advancedperipherals:overpowered_end_automata_core') .duration(8000) .EUt(480) - event.recipes.gtceu.assembler('advancedperipherals:overpowered_husbandry_automata_core') + e.recipes.gtceu.assembler('advancedperipherals:overpowered_husbandry_automata_core') .itemInputs('advancedperipherals:husbandry_automata_core', '2x gtceu:wetware_processor') .itemOutputs('advancedperipherals:overpowered_husbandry_automata_core') .duration(8000) diff --git a/kubejs/server_scripts/alekiroofs/tags.js b/kubejs/server_scripts/alekiroofs/tags.js index a4e2c6e41..3815da580 100644 --- a/kubejs/server_scripts/alekiroofs/tags.js +++ b/kubejs/server_scripts/alekiroofs/tags.js @@ -26,7 +26,7 @@ const registerAlekiRoofsItemTags = (event) => { //#endregion } -const registerMinecraftBlockTags123 = (event) => { +const registerAlekiRoofsBlockTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { // event.removeAllTagsFrom(item) }) diff --git a/kubejs/server_scripts/alekiships/recipes.js b/kubejs/server_scripts/alekiships/recipes.js new file mode 100644 index 000000000..e21fc65ca --- /dev/null +++ b/kubejs/server_scripts/alekiships/recipes.js @@ -0,0 +1,62 @@ +// priority: 0 + +const registerAlekiShipsRecipes = (e) => { + + e.remove({ id: 'alekiships:crafting/cannon' }) + + //#region Oarlock + e.remove({ id: 'alekiships:crafting/oarlock' }) + + e.recipes.gtceu.assembler('tfg:alekiships/oarlock') + .itemInputs('#forge:double_plates/wrought_iron') + .circuit(13) + .itemOutputs('alekiships:oarlock') + .EUt(4).duration(75) + + e.recipes.tfc.heating('alekiships:oarlock', 1535) + .resultFluid(Fluid.of('gtceu:iron', 288)) + .id(`tfg:heating/oarlock`) + //#endregion + + //#region Cleat + e.remove({ id: 'alekiships:crafting/cleat' }) + + e.recipes.gtceu.assembler('tfg:alekiships/cleat') + .itemInputs('#forge:double_plates/steel') + .circuit(14) + .itemOutputs('alekiships:cleat') + .EUt(4).duration(75) + + e.recipes.tfc.heating('alekiships:cleat', 1535) + .resultFluid(Fluid.of('gtceu:steel', 288)) + .id(`tfg:heating/alekiships/cleat`) + //#endregion + + //#region Anchor + e.remove({ id: 'alekiships:crafting/anchor' }) + + e.recipes.gtceu.assembler('tfg:alekiships/anchor') + .itemInputs('#forge:double_plates/steel') + .circuit(10) + .itemOutputs('alekiships:anchor') + .EUt(4).duration(75) + + e.recipes.tfc.heating('alekiships:anchor', 1535) + .resultFluid(Fluid.of('gtceu:steel', 288)) + .id(`tfg:heating/alekiships/anchor`) + //#endregion + + //#region Cannonball + e.remove({ id: 'alekiships:crafting/cannonball' }) + + e.recipes.gtceu.assembler('tfg:alekiships/cannonball') + .itemInputs('#forge:double_plates/wrought_iron') + .circuit(12) + .itemOutputs('alekiships:cannonball') + .EUt(4).duration(75) + + e.recipes.tfc.heating('alekiships:cannonball', 1535) + .resultFluid(Fluid.of('gtceu:iron', 288)) + .id(`tfg:heating/alekiships/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..73be5f4b3 --- /dev/null +++ b/kubejs/server_scripts/alekiships/tags.js @@ -0,0 +1,14 @@ +// priority: 0 + +const registerAlekiShipsItemTags = (event) => { + global.ALEKI_SHIPS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) +} + +const registerAlekiShipsBlockTags = (event) => { + global.ALEKI_SHIPS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/firmaciv/recipes.js b/kubejs/server_scripts/firmaciv/recipes.js index e4cc05dd6..6ffdba136 100644 --- a/kubejs/server_scripts/firmaciv/recipes.js +++ b/kubejs/server_scripts/firmaciv/recipes.js @@ -6,52 +6,49 @@ const registerFirmaCivRecipes = (event) => { event.remove({ id: '/firmaciv:quern/' }) event.remove({ id: 'firmaciv:anvil/copper_bolt' }) - event.remove({ id: 'firmaciv:crafting/watercraft_frame_angled_2' }) // Как же меня заебал разраб со своими кривыми руками //#endregion + //#region Cannon + event.recipes.tfc.heating('firmaciv:cannon', 1535) + .resultFluid(Fluid.of('gtceu:iron', 1872)) + .id(`firmaciv:heating/cannon`) + //#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') + .EUt(4).duration(75) + + event.recipes.tfc.heating('firmaciv:sextant', 930) + .resultFluid(Fluid.of('gtceu:brass', 288)) + .id(`firmaciv:heating/sextant`) + //#endregion + //#region Unfinished Sextant event.recipes.tfc.heating('firmaciv:unfinished_sextant', 930) .resultFluid(Fluid.of('gtceu:brass', 288)) .id(`firmaciv:heating/unfinished_sextant`) //#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) - - event.recipes.tfc.heating('firmaciv:sextant', 930) - .resultFluid(Fluid.of('gtceu:brass', 288)) - .id(`firmaciv:heating/sextant`) - //#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`) - //#endregion - //#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) + .EUt(4).duration(75) event.recipes.tfc.heating('firmaciv:nav_clock', 930) .resultFluid(Fluid.of('gtceu:brass', 576)) .id(`firmaciv:heating/nav_clock`) //#endregion - //#region Unfinished Barometer - event.recipes.tfc.heating('firmaciv:unfinished_barometer', 930) - .resultFluid(Fluid.of('gtceu:brass', 144)) - .id(`firmaciv:heating/unfinished_barometer`) + //#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`) //#endregion //#region Barometer @@ -68,6 +65,12 @@ const registerFirmaCivRecipes = (event) => { .id(`firmaciv:heating/barometer`) //#endregion + //#region Unfinished Barometer + event.recipes.tfc.heating('firmaciv:unfinished_barometer', 930) + .resultFluid(Fluid.of('gtceu:brass', 144)) + .id(`firmaciv:heating/unfinished_barometer`) + //#endregion + //#region Compass event.recipes.gtceu.canner('tfg:firmaciv/compass') .itemInputs('minecraft:redstone', '#forge:plates/wrought_iron') @@ -77,45 +80,6 @@ const registerFirmaCivRecipes = (event) => { .EUt(4) //#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) - - event.recipes.tfc.heating('firmaciv:oarlock', 1535) - .resultFluid(Fluid.of('gtceu:iron', 288)) - .id(`firmaciv:heating/oarlock`) - //#endregion - - //#region Cleat - event.recipes.gtceu.assembler('tfg:firmaciv/cleat') - .itemInputs('#forge:double_plates/steel') - .circuit(14) - .itemOutputs('firmaciv:cleat') - .duration(75) - .EUt(4) - - event.recipes.tfc.heating('firmaciv:cleat', 1535) - .resultFluid(Fluid.of('gtceu:steel', 288)) - .id(`firmaciv:heating/cleat`) - //#endregion - - //#region Anchor - event.recipes.gtceu.assembler('tfg:firmaciv/anchor') - .itemInputs('#forge:double_plates/steel') - .circuit(10) - .itemOutputs('firmaciv:anchor') - .duration(75) - .EUt(4) - - event.recipes.tfc.heating('firmaciv:anchor', 1535) - .resultFluid(Fluid.of('gtceu:steel', 288)) - .id(`firmaciv:heating/anchor`) - //#endregion - //#region Cannon Barrel event.recipes.gtceu.assembler('tfg:firmaciv/cannon_barrel') .itemInputs('#forge:double_plates/wrought_iron') @@ -128,23 +92,4 @@ const registerFirmaCivRecipes = (event) => { .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`) - //#endregion - - //#region Cannon - event.recipes.tfc.heating('firmaciv:cannon', 1535) - .resultFluid(Fluid.of('gtceu:iron', 1872)) - .id(`firmaciv:heating/cannon`) - //#endregion } \ 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 37b808287..5252e59a0 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -6,6 +6,7 @@ ServerEvents.tags('item', event => { registerAE2ItemTags(event) registerAlekiRoofsItemTags(event) + registerAlekiShipsItemTags(event) registerAsticorCartsItemTags(event) registerBeneathItemTags(event) registerChiselAndBitsItemTags(event) @@ -32,6 +33,8 @@ ServerEvents.tags('item', event => { */ ServerEvents.tags('block', event => { registerAE2BlockTags(event) + registerAlekiRoofsBlockTags(event) + registerAlekiShipsBlockTags(event) registerAsticorCartsBlockTags(event) registerBeneathBlockTags(event) registerChiselAndBitsBlockTags(event) @@ -106,6 +109,7 @@ ServerEvents.recipes(event => { registerAE2Recipes(event) registerAdvancedPeripheralsRecipes(event) registerAlekiRoofsRecipes(event) + registerAlekiShipsRecipes(event) registerAsticorCartsRecipes(event) registerAE2InsertExportCardRecipes(event) registerAE2NetworkAnalyzerRecipes(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index e54bebe57..69977217f 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -4,7 +4,6 @@ const registerMinecraftRecipes = (e) => { //#region Дерево global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodName => { - console.log(woodName) const isNetherType = woodName === "crimson" || woodName === "warped" ? true : false //#region Wood diff --git a/kubejs/startup_scripts/alekiships/constants.js b/kubejs/startup_scripts/alekiships/constants.js new file mode 100644 index 000000000..94187ee10 --- /dev/null +++ b/kubejs/startup_scripts/alekiships/constants.js @@ -0,0 +1,7 @@ +// priority: 0 + +global.ALEKI_SHIPS_DISABLED_ITEMS = [ + 'alekiships:cannon', + 'alekiships:watercraft_frame_angled', + 'alekiships:watercraft_frame_flat' +] \ No newline at end of file From a3b4ab22490b8a583eb1544c9d21a38b3b39a394 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 11:16:39 +0700 Subject: [PATCH 223/266] Update plugins.json --- config/jade/plugins.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/jade/plugins.json b/config/jade/plugins.json index 0cde91d45..562aa0487 100644 --- a/config/jade/plugins.json +++ b/config/jade/plugins.json @@ -205,6 +205,9 @@ "corpse": { "corpse": true }, + "tfc_support_indicator": { + "support_indicator": true + }, "treetap": { "tap": true }, From 3c69054590f98610b0e46ca6721d60290a7f3fa2 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 9 Oct 2024 11:21:02 +0700 Subject: [PATCH 224/266] dead --- kubejs/server_scripts/alekiships/recipes.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kubejs/server_scripts/alekiships/recipes.js b/kubejs/server_scripts/alekiships/recipes.js index e21fc65ca..3f6e6819a 100644 --- a/kubejs/server_scripts/alekiships/recipes.js +++ b/kubejs/server_scripts/alekiships/recipes.js @@ -13,6 +13,7 @@ const registerAlekiShipsRecipes = (e) => { .itemOutputs('alekiships:oarlock') .EUt(4).duration(75) + e.remove({ id: 'firmaciv:heating/oarlock' }) e.recipes.tfc.heating('alekiships:oarlock', 1535) .resultFluid(Fluid.of('gtceu:iron', 288)) .id(`tfg:heating/oarlock`) @@ -27,6 +28,7 @@ const registerAlekiShipsRecipes = (e) => { .itemOutputs('alekiships:cleat') .EUt(4).duration(75) + e.remove({ id: 'firmaciv:heating/cleat' }) e.recipes.tfc.heating('alekiships:cleat', 1535) .resultFluid(Fluid.of('gtceu:steel', 288)) .id(`tfg:heating/alekiships/cleat`) @@ -41,6 +43,7 @@ const registerAlekiShipsRecipes = (e) => { .itemOutputs('alekiships:anchor') .EUt(4).duration(75) + e.remove({ id: 'firmaciv:heating/anchor' }) e.recipes.tfc.heating('alekiships:anchor', 1535) .resultFluid(Fluid.of('gtceu:steel', 288)) .id(`tfg:heating/alekiships/anchor`) @@ -55,6 +58,7 @@ const registerAlekiShipsRecipes = (e) => { .itemOutputs('alekiships:cannonball') .EUt(4).duration(75) + e.remove({ id: 'firmaciv:heating/cannonball' }) e.recipes.tfc.heating('alekiships:cannonball', 1535) .resultFluid(Fluid.of('gtceu:iron', 288)) .id(`tfg:heating/alekiships/cannonball`) From fb4f50271ca9ec9b3564ab76c93848a09a811dec Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 13 Oct 2024 16:20:44 +0700 Subject: [PATCH 225/266] use gtceu 1.4.5 --- config/gtceu.yaml | 4 ++++ mods | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/config/gtceu.yaml b/config/gtceu.yaml index 1b1eb6cca..1c9213861 100644 --- a/config/gtceu.yaml +++ b/config/gtceu.yaml @@ -284,6 +284,10 @@ machines: # Need restart Minecraft to apply. enableMoreDualHatchAbility: true + # 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. diff --git a/mods b/mods index aa2dd68a9..cd9b87937 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit aa2dd68a9bdfbaa3201ca0f36ba4e7c012491e37 +Subproject commit cd9b87937256de9aa9098e61a37004f5a4e3bef1 From 595298a70cd4dab020d6db94280b911a3703347b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 13 Oct 2024 16:43:44 +0700 Subject: [PATCH 226/266] fixes for new gtceu --- kubejs/server_scripts/firmalife/recipes.js | 14 ++ kubejs/server_scripts/gregtech/recipes.js | 180 +++++++----------- kubejs/server_scripts/minecraft/recipes.js | 4 +- kubejs/server_scripts/tfc/recipes.js | 1 - kubejs/startup_scripts/gregtech/constants.js | 5 + kubejs/startup_scripts/minecraft/constants.js | 2 +- 6 files changed, 86 insertions(+), 120 deletions(-) diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 3620df405..adeab7cdd 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -61,6 +61,20 @@ const registerFirmaLifeRecipes = (event) => { //#endregion + //#region Распрыскиватель + event.recipes.gtceu.assembler(`tfg:firmalife/sprinkler`) + .itemInputs('#forge:ingots/copper') + .circuit(12) + .itemOutputs('firmalife:sprinkler') + .EUt(7).duration(50) + + // Декрафт + event.recipes.tfc.heating('firmalife:sprinkler', 450) + .resultFluid(Fluid.of('gtceu:copper', 144)) + .id(`tfg:heating/firmalife/sprinkler`) + + //#endregion + // Декрафт Jag Lid event.recipes.tfc.heating('tfc:jar_lid', 230) .resultFluid(Fluid.of('gtceu:tin', 9)) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 762c2b46c..cf3c95699 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -842,134 +842,84 @@ const registerGregTechRecipes = (e) => { //#region Дерево - //#region Резиновое + global.GTCEU_WOOD_TYPES.forEach(woodType => { + // Wood + e.remove({ id: `gtceu:shaped/${woodType}_wood` }) - // Wood - e.remove({ id: 'gtceu:shaped/rubber_wood' }) + // Stripped Wood + e.remove({ id: `gtceu:shaped/stripped_${woodType}_wood` }) - // Stripped Wood - e.remove({ id: 'gtceu:shaped/stripped_rubber_wood' }) + // Доски + e.remove({ id : `gtceu:shapeless/${woodType}_wood_planks` }) + e.remove({ id : `gtceu:shapeless/${woodType}_planks` }) + e.remove({ id : `gtceu:shaped/${woodType}_planks_saw` }) + e.remove({ id : `gtceu:cutter/${woodType}_planks` }) + e.remove({ id : `gtceu:cutter/${woodType}_planks_water` }) + e.remove({ id : `gtceu:cutter/${woodType}_planks_distilled_water` }) - // Доски - e.remove({ id : 'gtceu:shapeless/rubber_wood_planks' }) - e.remove({ id : 'gtceu:shapeless/rubber_planks' }) - e.remove({ id : 'gtceu:shaped/rubber_planks_saw' }) - e.remove({ id : 'gtceu:cutter/rubber_planks' }) - e.remove({ id : 'gtceu:cutter/rubber_planks_water' }) - e.remove({ id : 'gtceu:cutter/rubber_planks_distilled_water' }) + // Ступень + e.remove({ id : `gtceu:shaped/${woodType}_stairs` }) + e.remove({ id : `everycomp:c/gtceu/${woodType}_stairs_from_${woodType}_planks_stonecutting` }) + e.remove({ id : `gtceu:assembler/${woodType}_stairs` }) - // Ступень - e.remove({ id : 'gtceu:shaped/rubber_stairs' }) - e.remove({ id : 'everycomp:c/gtceu/rubber_stairs_from_rubber_planks_stonecutting' }) - e.remove({ id : 'gtceu:assembler/rubber_stairs' }) + // Полублок + e.remove({ id: `gtceu:shaped/${woodType}_slab_saw` }) + e.remove({ id: `everycomp:c/gtceu/${woodType}_slab_from_${woodType}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodType}_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodType}_slab_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodType}_slab` }) + + // Забор + e.remove({ id: `gtceu:shaped/${woodType}_fence` }) + e.remove({ id: `gtceu:assembler/${woodType}_fence` }) - // Полублок - e.remove({ id: 'gtceu:shaped/rubber_slab_saw' }) - e.remove({ id: 'everycomp:c/gtceu/rubber_slab_from_rubber_planks_stonecutting' }) - e.remove({ id: 'gtceu:cutter/rubber_slab_water' }) - e.remove({ id: 'gtceu:cutter/rubber_slab_distilled_water' }) - e.remove({ id: 'gtceu:cutter/rubber_slab' }) - - // Забор - e.remove({ id: 'gtceu:shaped/rubber_fence' }) - e.remove({ id: 'gtceu:assembler/rubber_fence' }) + // Нажимная плита + e.remove({ id: `gtceu:shaped/${woodType}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodType}_pressure_plate` }) - // Нажимная плита - e.remove({ id: 'gtceu:shaped/rubber_pressure_plate' }) + // Люк + e.remove({ id: `gtceu:shaped/${woodType}_trapdoor_iron` }) + e.remove({ id: `gtceu:shaped/${woodType}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodType}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodType}_trapdoor_iron` }) - // Люк - e.remove({ id: 'gtceu:shaped/rubber_trapdoor_iron' }) - e.remove({ id: 'gtceu:shaped/rubber_trapdoor_steel' }) - e.remove({ id: 'gtceu:assembler/rubber_trapdoor_steel' }) - e.remove({ id: 'gtceu:assembler/rubber_trapdoor_iron' }) + // Кнопка + e.remove({ id: `gtceu:shaped/${woodType}_button` }) + e.remove({ id: `gtceu:cutter/${woodType}_button_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodType}_button_water` }) + e.remove({ id: `gtceu:cutter/${woodType}_button` }) - // Кнопка - e.remove({ id: 'gtceu:shapeless/rubber_button' }) + // Дверь + e.remove({ id: `gtceu:shaped/${woodType}_door` }) + e.remove({ id: `gtceu:assembler/${woodType}_door` }) - // Дверь - e.remove({ id: 'gtceu:shaped/rubber_door' }) - e.remove({ id: 'gtceu:assembler/rubber_door' }) + // Калитка + e.remove({ id: `gtceu:shaped/${woodType}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodType}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodType}_fence_gate` }) - // Калитка - e.remove({ id: 'gtceu:shaped/rubber_fence_gate' }) - e.remove({ id: 'gtceu:shaped/rubber_fence_gate_screws' }) - e.remove({ id: 'gtceu:assembler/rubber_fence_gate' }) + // Табличка + e.remove({ id: `gtceu:shaped/${woodType}_sign_iron` }) + e.remove({ id: `gtceu:shaped/${woodType}_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodType}_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodType}_sign_iron` }) - // Табличка - e.remove({ id: 'gtceu:shaped/rubber_sign_iron' }) - e.remove({ id: 'gtceu:shaped/rubber_sign_steel' }) - e.remove({ id: 'gtceu:assembler/rubber_sign_steel' }) - e.remove({ id: 'gtceu:assembler/rubber_sign_iron' }) + // Висящая табличка + e.remove({ id: `gtceu:shaped/${woodType}_hanging_sign` }) + e.remove({ id: `gtceu:shaped/${woodType}_hanging_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodType}_hanging_sign` }) - // Висящая табличка - e.remove({ id: 'gtceu:shaped/rubber_hanging_sign' }) - e.remove({ id: 'gtceu:shaped/rubber_hanging_sign_steel' }) - e.remove({ id: 'gtceu:assembler/rubber_hanging_sign_iron' }) - e.remove({ id: 'gtceu:assembler/rubber_hanging_sign_steel' }) + // Лодка + e.remove({ id: `gtceu:shaped/${woodType}_boat` }) + e.remove({ id: `gtceu:assembler/${woodType}_boat` }) - // Лодка - e.remove({ id: 'gtceu:shaped/rubber_boat' }) - e.remove({ id: 'gtceu:assembler/rubber_boat' }) + // Лодка с сундуком + e.remove({ id: `gtceu:shaped/${woodType}_chest_boat` }) + e.remove({ id: `gtceu:assembler/${woodType}_chest_boat` }) + }) - // Лодка с сундуком - e.remove({ id: 'gtceu:shaped/rubber_chest_boat' }) - e.remove({ id: 'gtceu:assembler/rubber_chest_boat' }) - - //#endregion - - //#region Креозотовое - - // Ступень - e.remove({ id : 'gtceu:shaped/treated_stairs' }) - e.remove({ id : 'gtceu:assembler/treated_stairs' }) - - // Полублок - e.remove({ id: 'gtceu:shaped/treated_slab_saw' }) - e.remove({ id: 'gtceu:cutter/treated_slab' }) - e.remove({ id: 'gtceu:cutter/treated_slab_distilled_water' }) - e.remove({ id: 'gtceu:cutter/treated_slab_water' }) - - // Забор - e.remove({ id: 'gtceu:shaped/treated_fence' }) - e.remove({ id: 'gtceu:assembler/treated_fence' }) - - // Нажимная плита - e.remove({ id: 'gtceu:shaped/treated_wood_plate' }) - - // Люк - e.remove({ id: 'gtceu:shaped/treated_trapdoor_iron' }) - e.remove({ id: 'gtceu:shaped/treated_trapdoor_steel' }) - e.remove({ id: 'gtceu:assembler/treated_trapdoor_steel' }) - e.remove({ id: 'gtceu:assembler/treated_trapdoor_iron' }) - - // Кнопка - e.remove({ id: 'gtceu:shapeless/treated_wood_button' }) - - // Дверь - e.remove({ id: 'gtceu:shaped/treated_door' }) - e.remove({ id: 'gtceu:assembler/treated_door' }) - - // Калитка - e.remove({ id: 'gtceu:shaped/treated_fence_gate' }) - e.remove({ id: 'gtceu:shaped/treated_fence_gate_screws' }) - e.remove({ id: 'gtceu:assembler/treated_fence_gate' }) - - // Табличка - e.remove({ id: 'gtceu:shaped/treated_sign_iron' }) - e.remove({ id: 'gtceu:shaped/treated_sign_steel' }) - e.remove({ id: 'gtceu:assembler/treated_sign_steel' }) - e.remove({ id: 'gtceu:assembler/treated_sign_iron' }) - - // Висящая табличка - e.remove({ id : 'gtceu:assembler/treated_hanging_sign' }) - - // Лодка - e.remove({ id: 'gtceu:shaped/treated_boat' }) - e.remove({ id: 'gtceu:assembler/treated_boat' }) - - // Лодка с сундуком - e.remove({ id: 'gtceu:shaped/treated_chest_boat' }) - e.remove({ id: 'gtceu:assembler/treated_chest_boat' }) + // Креозот доски -> 2 палки + e.remove({ id: 'gtceu:shaped/treated_wood_stick' }) //#region Creosote-Treated Wood Planks -> Treated Wood Pulp e.recipes.gtceu.macerator('tfg:treated_wood_dust') @@ -977,8 +927,6 @@ const registerGregTechRecipes = (e) => { .itemOutputs('gtceu:treated_wood_dust') .EUt(4).duration(120) //#endregion - - //#endregion //#endregion diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 69977217f..ebc973ead 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -103,8 +103,7 @@ const registerMinecraftRecipes = (e) => { // Hanging Sign e.remove({ id: `gtceu:shaped/${woodName}_hanging_sign` }) e.remove({ id: `gtceu:shaped/${woodName}_hanging_sign_steel` }) - e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign_iron` }) - e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) // Boat e.remove({ id: `gtceu:shaped/${woodName}_boat` }) @@ -2204,6 +2203,7 @@ const registerMinecraftRecipes = (e) => { //#endregion //#region Земля + e.remove({ id: 'gtceu:macerator/dirt_from_bio_chaff' }) e.remove({ id: 'create:filling/grass_block' }) //#endregion diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 6c51507d2..d4d8317f1 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -1915,7 +1915,6 @@ const registerTFCRecipes = (e) => { //#endregion //#region Земля - e.remove({ id: 'gtceu:macerator/dirt_from_bio_chaff' }) e.recipes.gtceu.macerator('tfg:dirt_from_bio_chaff') .itemInputs('gtceu:bio_chaff') .itemOutputs('tfc:dirt/loam') diff --git a/kubejs/startup_scripts/gregtech/constants.js b/kubejs/startup_scripts/gregtech/constants.js index b9c417ac7..c46cd8042 100644 --- a/kubejs/startup_scripts/gregtech/constants.js +++ b/kubejs/startup_scripts/gregtech/constants.js @@ -54,6 +54,11 @@ global.GTCEU_HIDED_ITEMS = [ 'gtceu:tiny_netherrack_dust' ]; +global.GTCEU_WOOD_TYPES = [ + "rubber", + "treated" +]; + global.TFG_EXTRUDER_MOLDS = [ 'tfg:mining_hammer_head_extruder_mold', 'tfg:sword_head_extruder_mold', diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 4be2f7232..42444917b 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -866,7 +866,7 @@ global.MINECRAFT_DISABLED_ITEMS = [ ]; global.MINECRAFT_HIDED_ITEMS = [ - // '/spawn_egg/', + '/spawn_egg/', /* 'minecraft:exposed_copper', From 1d481ad4917f91c7504a759c15c441758a5baa6a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 13 Oct 2024 17:15:27 +0700 Subject: [PATCH 227/266] restore all others recipes + fixes --- .../assets/emi/recipe/filters/categories.json | 28 ++ kubejs/client_scripts/beneath/assets.js | 27 ++ kubejs/client_scripts/main_client_script.js | 1 + kubejs/server_scripts/beneath/recipes.js | 48 ++- kubejs/server_scripts/gregtech/utility.js | 24 +- kubejs/server_scripts/tfc/recipes.js | 301 +++++++----------- kubejs/startup_scripts/beneath/constants.js | 10 + 7 files changed, 223 insertions(+), 216 deletions(-) create mode 100644 kubejs/client_scripts/beneath/assets.js create mode 100644 kubejs/startup_scripts/beneath/constants.js diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index c8b9bb550..bb587f9ca 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -18,9 +18,37 @@ { "category": "emi:composting" }, + { + "category": "emi:anvil_repairing" + }, { "category": "gtceu:primitive_blast_furnace" }, + { + "category": "emi:fuel" + }, + { + "category": "create:mystery_conversion" + }, + + { + "id": "/emi:/crafting/repairing/[^*]+/" + }, + { + "id": "/emi:/grindstone/repairing/minecraft/[^*]+/" + }, + { + "id": "/emi:/crafting/shulker_box_dying/minecraft/[^*]+/" + }, + { + "id": "/create:create.toolbox.color.block.create.[^*]+/" + }, + { + "id": "/sophisticatedbackpacks:single_color_[^*]+/" + }, + { + "id": "sophisticatedbackpacks:multiple_colors" + }, { "category": "emi:world_interaction", diff --git a/kubejs/client_scripts/beneath/assets.js b/kubejs/client_scripts/beneath/assets.js new file mode 100644 index 000000000..59b317829 --- /dev/null +++ b/kubejs/client_scripts/beneath/assets.js @@ -0,0 +1,27 @@ +// priority: 0 + +const registerBeneathAssets = (e) => { + + //#region Обработка дерева топором + global.BENEATH_WOOD_TYPES.forEach(woodName => { + const logJson = { + type: 'emi:world_interaction', + left: `item:beneath:wood/log/${woodName}`, + right: '#item:minecraft:axes', + output: `item:beneath:wood/stripped_log/${woodName}` + } + + const woodJson = { + type: 'emi:world_interaction', + left: `item:beneath:wood/wood/${woodName}`, + right: '#item:minecraft:axes', + output: `item:beneath:wood/stripped_wood/${woodName}` + } + + e.add(`emi:recipe/additions/beneath_${woodName}_log_conversion`, logJson) + e.add(`emi:recipe/additions/beneath_${woodName}_wood_conversion`, woodJson) + }) + //#endregion + + //todo: flattering recipes, shovels, etc +} \ No newline at end of file diff --git a/kubejs/client_scripts/main_client_script.js b/kubejs/client_scripts/main_client_script.js index c4ac804c5..a5a52b9b4 100644 --- a/kubejs/client_scripts/main_client_script.js +++ b/kubejs/client_scripts/main_client_script.js @@ -6,6 +6,7 @@ console.log('TerraFirmaGreg the best modpack in the world :)') * Событие регистрации любых ассетов на клиентской стороне. */ ClientEvents.highPriorityAssets(event => { + registerBeneathAssets(event) registerMinecraftAssets(event) registerTFCAssets(event) }) \ No newline at end of file diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js index 356ff996d..7e60d5ea1 100644 --- a/kubejs/server_scripts/beneath/recipes.js +++ b/kubejs/server_scripts/beneath/recipes.js @@ -2,5 +2,51 @@ const registerBeneathRecipes = (e) => { - + // Какие то рецепты дерева + global.BENEATH_WOOD_TYPES.forEach(wood => { + e.remove({ id: `beneath:crafting/wood/${wood}_axle` }) + e.remove({ id: `beneath:crafting/wood/${wood}_bladed_axle` }) + e.remove({ id: `beneath:crafting/wood/${wood}_encased_axle` }) + e.remove({ id: `beneath:crafting/wood/${wood}_clutch` }) + e.remove({ id: `beneath:crafting/wood/${wood}_gear_box` }) + e.remove({ id: `beneath:crafting/wood/${wood}_water_wheel` }) + + // Бревна -> Пиломатериалы + generateCutterRecipe(e, `#tfc:${wood}_logs`, null, `16x beneath:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_log`) + + // Доски -> Пиломатериалы + generateCutterRecipe(e, `beneath:wood/planks/${wood}`, null, `4x beneath:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_planks`) + + // Ступень -> Пиломатериалы + generateCutterRecipe(e, `beneath:wood/planks/${wood}_stairs`, null, `3x beneath:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_stairs`) + + // Плита -> Пиломатериалы + generateCutterRecipe(e, `beneath:wood/planks/${wood}_slab`, null, `2x beneath:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_slab`) + + // ? -> Деревянная нажимная пластина + e.shaped(`beneath:wood/planks/${wood}_pressure_plate`, [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#forge:screws/wood', + B: '#tfc:hammers', + C: `beneath:wood/planks/${wood}_slab`, + D: '#forge:springs', + E: '#forge:tools/screwdrivers' + }).id(`beneath:crafting/wood/${wood}_pressure_plate`) + + e.recipes.gtceu.assembler(`${wood}_pressure_plate`) + .itemInputs('#forge:springs', `2x beneath:wood/planks/${wood}_slab`) + .circuit(0) + .itemOutputs(`2x beneath:wood/planks/${wood}_pressure_plate`) + .duration(50) + .EUt(2) + + // ? -> Деревянная кнопка + e.remove({ id: `beneath:crafting/wood/${wood}_button` }) + + generateCutterRecipe(e, `beneath:wood/planks/${wood}_pressure_plate`, null, `6x beneath:wood/planks/${wood}_button`, 50, 2, `${wood}_button`) + }) + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index 2cdec29a8..1b06ed3e4 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -25,39 +25,19 @@ const generateMixerRecipe = (event, input, fluid_input, output, circuit, fluid_o } const generateCutterRecipe = (event, input, circuit, output, duration, EUt, id) => { - // Вот зачем я, скажете вы, делаю тут всякие костыли, - // потому что блядский разработчик GTCEu не может исправить баги своего мода - // Я так устал.. - - const recipe1 = event.recipes.gtceu.cutter(`tfg:${id}_water`) + const recipe1 = event.recipes.gtceu.cutter(`tfg:${id}`) .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) } } diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index d4d8317f1..87fa5be50 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -1914,114 +1914,55 @@ const registerTFCRecipes = (e) => { //#endregion - //#region Земля + //#region Земля и ее виды e.recipes.gtceu.macerator('tfg:dirt_from_bio_chaff') .itemInputs('gtceu:bio_chaff') .itemOutputs('tfc:dirt/loam') .duration(300) .EUt(4) - //#endregion - - - - - - - - - - - - - -} - -const registerTFCRecipes1 = (e) => { - - - - - - - - - - - - //#endregion - - //#region Земля // Loam + Silt -> Silty Loam (Миксер) - e.recipes.gtceu.mixer('silty_loam_dirt') + e.recipes.gtceu.mixer('tfg:silty_loam_dirt') .itemInputs('tfc:dirt/loam', 'tfc:dirt/silt') .itemOutputs('tfc:dirt/silty_loam') .duration(1600) .EUt(12) // Silty Loam + Sticks -> Rooted Silty Loam (Миксер) - e.recipes.gtceu.mixer('rooted_silty_loam_dirt') - .itemInputs('tfc:dirt/silty_loam', '#tfc:can_be_lit_on_torch') + e.recipes.gtceu.mixer('tfg:rooted_silty_loam_dirt') + .itemInputs('tfc:dirt/silty_loam', '#forge:rods/wooden') .itemOutputs('tfc:rooted_dirt/silty_loam') .duration(1600) .EUt(12) // Loam + Sand -> Sandy Loam (Миксер) - e.recipes.gtceu.mixer('sandy_loam_dirt') + e.recipes.gtceu.mixer('tfg:sandy_loam_dirt') .itemInputs('tfc:dirt/loam', '#forge:sand') .itemOutputs('tfc:dirt/sandy_loam') .duration(1600) .EUt(12) - // Loam + Silt -> Silty Loam (Create Миксер) - e.recipes.gtceu.create_mixer('silty_loam_dirt') - .itemInputs('tfc:dirt/loam', 'tfc:dirt/silt') - .itemOutputs('tfc:dirt/silty_loam') - .duration(1600) - .EUt(12) - .rpm(60) - - // Silty Loam + Sticks -> Rooted Silty Loam (Create Миксер) - e.recipes.gtceu.create_mixer('rooted_silty_loam_dirt') - .itemInputs('tfc:dirt/silty_loam', '#tfc:can_be_lit_on_torch') - .itemOutputs('tfc:rooted_dirt/silty_loam') - .duration(1600) - .EUt(12) - .rpm(60) - - // Loam + Sand -> Sandy Loam (Create Миксер) - e.recipes.gtceu.create_mixer('sandy_loam_dirt') - .itemInputs('tfc:dirt/loam', '#forge:sand') - .itemOutputs('tfc:dirt/sandy_loam') - .duration(1600) - .EUt(12) - .rpm(60) - + // Грязь -> Трава global.TFC_MUD_TYPES.forEach(mud => { e.smelting(`tfc:dirt/${mud}`, `tfc:mud/${mud}`) - .id(`tfg:smelting/${mud}_mud_to_grass`) + .id(`tfg:smelting/tfc/${mud}_mud_to_grass`) }) - //#endregion //#region Грязь - global.TFC_MUD_TYPES.forEach(mud => { // Dirt -> Mud - e.recipes.gtceu.mixer(`${mud}_grass_to_mud`) + e.recipes.gtceu.mixer(`tfg:${mud}_grass_to_mud`) .itemInputs(`tfc:dirt/${mud}`) .inputFluids(Fluid.of('minecraft:water', 100)) .itemOutputs(`tfc:mud/${mud}`) .duration(200) .EUt(16) }) - //#endregion //#region Грязь кирпичи - global.TFC_MUD_TYPES.forEach(mud => { - // Влажный кирпич -> Кирпич e.smelting(`tfc:mud_brick/${mud}`, `tfc:drying_bricks/${mud}`) .id(`tfg:smelting/${mud}_drying_brick_to_brick`) @@ -2050,16 +1991,19 @@ const registerTFCRecipes1 = (e) => { .itemInputs(`5x tfc:mud_brick/${mud}`) .inputFluids(Fluid.of('gtceu:concrete', 72)) .itemOutputs(`4x tfc:mud_bricks/${mud}`) - .duration(50) - .EUt(2) + .EUt(2).duration(50) // Блок кирпичей -> Ступени e.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_stairs` }) e.stonecutting(`tfc:mud_bricks/${mud}_stairs`, `tfc:mud_bricks/${mud}`) .id(`tfc:stonecutting/soil/${mud}_mud_bricks_stairs`) - - generateCutterRecipe(e, `tfc:mud_bricks/${mud}`, 0, `tfc:mud_bricks/${mud}_stairs`, 100, 8, `${mud}_mud_bricks_to_stairs`) + + e.recipes.gtceu.cutter(`tfg:${mud}_mud_bricks_to_stairs`) + .itemInputs(`tfc:mud_bricks/${mud}`) + .circuit(0) + .itemOutputs(`tfc:mud_bricks/${mud}_stairs`) + .EUt(8).duration(100) // Блок кирпичей -> Плиты e.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_slab` }) @@ -2067,7 +2011,11 @@ const registerTFCRecipes1 = (e) => { e.stonecutting(`2x tfc:mud_bricks/${mud}_slab`, `tfc:mud_bricks/${mud}`) .id(`tfc:stonecutting/soil/${mud}_mud_bricks_slab`) - generateCutterRecipe(e, `tfc:mud_bricks/${mud}`, 1, `2x tfc:mud_bricks/${mud}_slab`, 100, 8, `${mud}_mud_bricks_to_slab`) + e.recipes.gtceu.cutter(`tfg:${mud}_mud_bricks_to_slabs`) + .itemInputs(`tfc:mud_bricks/${mud}`) + .circuit(1) + .itemOutputs(`2x tfc:mud_bricks/${mud}_slab`) + .EUt(8).duration(100) // Блок кирпичей -> Стена e.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_wall` }) @@ -2075,14 +2023,69 @@ const registerTFCRecipes1 = (e) => { e.stonecutting(`tfc:mud_bricks/${mud}_wall`, `tfc:mud_bricks/${mud}`) .id(`tfc:stonecutting/soil/${mud}_mud_bricks_wall`) - generateCutterRecipe(e, `tfc:mud_bricks/${mud}`, 2, `tfc:mud_bricks/${mud}_wall`, 100, 8, `${mud}_mud_bricks_to_wall`) + e.recipes.gtceu.cutter(`tfg:${mud}_mud_bricks_to_wall`) + .itemInputs(`tfc:mud_bricks/${mud}`) + .circuit(2) + .itemOutputs(`tfc:mud_bricks/${mud}_wall`) + .EUt(8).duration(100) + }) + + //#endregion + + //#region Дерево + + // Какие то рецепты дерева + global.TFC_WOOD_TYPES.forEach(wood => { + e.remove({ id: `tfc:crafting/wood/${wood}_axle` }) + e.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` }) + e.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` }) + e.remove({ id: `tfc:crafting/wood/${wood}_clutch` }) + e.remove({ id: `tfc:crafting/wood/${wood}_gear_box` }) + e.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` }) + + // Бревна -> Пиломатериалы + generateCutterRecipe(e, `#tfc:${wood}_logs`, null, `16x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_log`) + + // Доски -> Пиломатериалы + generateCutterRecipe(e, `tfc:wood/planks/${wood}`, null, `4x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_planks`) + + // Ступень -> Пиломатериалы + generateCutterRecipe(e, `tfc:wood/planks/${wood}_stairs`, null, `3x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_stairs`) + + + // Плита -> Пиломатериалы + generateCutterRecipe(e, `tfc:wood/planks/${wood}_slab`, null, `2x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_slab`) + + // ? -> Деревянная нажимная пластина + e.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`) + + e.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) + + // ? -> Деревянная кнопка + e.remove({ id: `tfc:crafting/wood/${wood}_button` }) + + generateCutterRecipe(e, `tfc:wood/planks/${wood}_pressure_plate`, null, `6x tfc:wood/planks/${wood}_button`, 50, 2, `${wood}_button`) }) //#endregion //#region Камень - global.TFC_STONE_TYPES.forEach(stone => { let stoneMaterial = TFGHelpers.getMaterial(stone); @@ -2093,8 +2096,8 @@ const registerTFCRecipes1 = (e) => { e.recipes.gtceu.assembler(`tfg:tfc/${stone}_loose_to_brick`) .itemInputs(`tfc:rock/loose/${stone}`) .itemOutputs(`tfc:brick/${stone}`) - .duration(40) - .EUt(8) + .EUt(8).duration(40) + //#region Сырой камень @@ -2102,15 +2105,13 @@ const registerTFCRecipes1 = (e) => { e.recipes.gtceu.rock_breaker(`${stone}_raw`) .notConsumable(`tfc:rock/raw/${stone}`) .itemOutputs(`tfc:rock/raw/${stone}`) - .duration(16) - .EUt(7) + .EUt(7).duration(16) // Сырой камень -> Булыжник e.recipes.gtceu.forge_hammer(`${stone}_raw_to_cobble`) .itemInputs(`tfc:rock/raw/${stone}`) .itemOutputs(`tfc:rock/cobble/${stone}`) - .duration(10) - .EUt(16) + .EUt(16).duration(10) // Сырой камень -> Ступени e.remove({ id: `tfc:crafting/rock/${stone}_raw_stairs` }) @@ -2245,7 +2246,7 @@ const registerTFCRecipes1 = (e) => { // Кирпич -> Блок кирпичей e.recipes.gtceu.assembler(`bricks_${stone}`) .itemInputs(`5x tfc:brick/${stone}`) - .circuit(0) + .circuit(1) .inputFluids(Fluid.of('gtceu:concrete', 72)) .itemOutputs(`4x tfc:rock/bricks/${stone}`) .duration(50) @@ -2383,7 +2384,7 @@ const registerTFCRecipes1 = (e) => { e.recipes.gtceu.assembler(`aqueduct_${stone}`) .itemInputs(`3x tfc:brick/${stone}`) - .circuit(1) + .circuit(2) .inputFluids(Fluid.of('gtceu:concrete', 16)) .itemOutputs(`tfc:rock/aqueduct/${stone}`) .duration(50) @@ -2639,17 +2640,15 @@ const registerTFCRecipes1 = (e) => { //#region Песок // Песок душ -> Желтый песок - // TODO: Включить после добавления ада - /* - e.recipes.gtceu.centrifuge('soul_sand_separation') + e.recipes.gtceu.centrifuge('tfg: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)*/ - + .EUt(80) + // Нефтеносный -> Желтый песок e.recipes.gtceu.centrifuge('oilsands_ore_separation') .itemInputs('#forge:ores/oilsands') @@ -2789,7 +2788,7 @@ const registerTFCRecipes1 = (e) => { generateCutterRecipe(e, `tfc:cut_sandstone/${sandColor}`, 2, `tfc:cut_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_cut_sandstone_to_wall`) }) - + // Коричневый гравий -> Песок e.recipes.gtceu.forge_hammer('brown_gravel_to_sand') .itemInputs('#tfc:brown_gravel') @@ -2840,60 +2839,7 @@ const registerTFCRecipes1 = (e) => { .EUt(2) //#endregion - - //#region Дерево - - // Какие то рецепты дерева - global.TFC_WOOD_TYPES.forEach(wood => { - e.remove({ id: `tfc:crafting/wood/${wood}_axle` }) - e.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` }) - e.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` }) - e.remove({ id: `tfc:crafting/wood/${wood}_clutch` }) - e.remove({ id: `tfc:crafting/wood/${wood}_gear_box` }) - e.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` }) - - // Бревна -> Пиломатериалы - generateCutterRecipe(e, `#tfc:${wood}_logs`, null, `16x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_log`) - // Доски -> Пиломатериалы - generateCutterRecipe(e, `tfc:wood/planks/${wood}`, null, `4x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_planks`) - - // Ступень -> Пиломатериалы - generateCutterRecipe(e, `tfc:wood/planks/${wood}_stairs`, null, `3x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_stairs`) - - - // Плита -> Пиломатериалы - generateCutterRecipe(e, `tfc:wood/planks/${wood}_slab`, null, `2x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_slab`) - - // ? -> Деревянная нажимная пластина - e.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`) - - e.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) - - // ? -> Деревянная кнопка - e.remove({ id: `tfc:crafting/wood/${wood}_button` }) - - generateCutterRecipe(e, `tfc:wood/planks/${wood}_pressure_plate`, null, `6x tfc:wood/planks/${wood}_button`, 50, 2, `${wood}_button`) - - }) - - //#endregion - //#region Рецепты порошков // Удаление рецептов @@ -3685,56 +3631,25 @@ const registerTFCRecipes1 = (e) => { } //#endregion -} -// { -// "category": "minecraft:campfire_cooking" -// }, -// { -// "category": "minecraft:brewing" -// }, -// { -// "category": "minecraft:stonecutting" -// }, -// { -// "category": "emi:anvil_repairing" -// }, -// { -// "category": "emi:world_interaction" -// }, -// { -// "category": "gtceu:primitive_blast_furnace" -// }, -// { -// "category": "create:mystery_conversion" -// }, -// { -// "category": "jumbofurnace:jumbo_furnace_upgrade" -// }, -// { -// "category": "jumbofurnace:jumbo_smelting" -// }, -// { -// "category": "emi:composting" -// }, -// { -// "category": "emi:fuel" -// }, -// { -// "id": "/emi:/crafting/repairing/[^*]+/" -// }, -// { -// "id": "/emi:/grindstone/repairing/minecraft/[^*]+/" -// }, -// { -// "id": "/emi:/crafting/shulker_box_dying/minecraft/[^*]+/" -// }, -// { -// "id": "/create:create.toolbox.color.block.create.[^*]+/" -// }, -// { -// "id": "/sophisticatedbackpacks:single_color_[^*]+/" -// }, -// { -// "id": "sophisticatedbackpacks:multiple_colors" -// } \ No newline at end of file + //Fire bricks + e.recipes.gtceu.compressor('fire_bricks') + .itemInputs('4x tfc:ceramic/fire_brick') + .itemOutputs('2x tfc:fire_bricks') + .duration(800) + .EUt(2) + + e.recipes.gtceu.extractor('fire_bricks_to_ceramic_fire_brick') + .itemInputs('tfc:fire_bricks') + .itemOutputs('2x tfc:ceramic/fire_brick') + .duration(800) + .EUt(2) + + //fire brick + e.recipes.gtceu.alloy_smelter('fire_bricks') + .itemInputs('tfc:fire_clay') + .notConsumable('gtceu:ingot_casting_mold') + .itemOutputs('tfc:ceramic/fire_brick') + .duration(800) + .EUt(2) +} \ 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..4cbb48e75 --- /dev/null +++ b/kubejs/startup_scripts/beneath/constants.js @@ -0,0 +1,10 @@ +// priority: 0 + +global.BENEATH_DISABLED_ITEMS = [ + +]; + +global.BENEATH_WOOD_TYPES = [ + 'warped', + 'crimson' +]; \ No newline at end of file From 2e6b2aa903e4743c428cdc7f511fbb2030266f7b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 13 Oct 2024 17:26:48 +0700 Subject: [PATCH 228/266] some fixes --- kubejs/server_scripts/firmalife/tags.js | 2 + kubejs/startup_scripts/gregtech/constants.js | 46 +++++++++++++++----- 2 files changed, 38 insertions(+), 10 deletions(-) diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index b0d6f8311..7df48ad78 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -45,6 +45,8 @@ const registerFirmaLifeBlockTags = (event) => { //#region Для того, чтобы стенками greenhouse могли быть фреймы грега (для передачи воды) event.add('firmalife:always_valid_greenhouse_wall', '#forge:frames') + event.add('firmalife:always_valid_greenhouse_wall', '#forge:tiny_fluid_pipes') + event.add('firmalife:always_valid_greenhouse_wall', '#forge:small_item_pipes') //#endregion } diff --git a/kubejs/startup_scripts/gregtech/constants.js b/kubejs/startup_scripts/gregtech/constants.js index c46cd8042..d59ba5f5b 100644 --- a/kubejs/startup_scripts/gregtech/constants.js +++ b/kubejs/startup_scripts/gregtech/constants.js @@ -6,16 +6,42 @@ global.GTCEU_DISABLED_ITEMS = [ 'gtceu:small_wheat_dust', 'gtceu:tiny_wheat_dust', - // Bronze Machines - 'gtceu:bronze_machine_casing', - 'gtceu:steam_miner', - 'gtceu:lp_steam_extractor', - 'gtceu:lp_steam_macerator', - 'gtceu:lp_steam_compressor', - 'gtceu:lp_steam_forge_hammer', - 'gtceu:lp_steam_furnace', - 'gtceu:lp_steam_alloy_smelter', - 'gtceu:lp_steam_rock_crusher', + //#region Резиновое + 'gtceu:rubber_sapling', + 'gtceu:rubber_log', + 'gtceu:rubber_leaves', + 'gtceu:stripped_rubber_log', + 'gtceu:rubber_wood', + 'gtceu:stripped_rubber_wood', + 'gtceu:rubber_planks', + 'gtceu:rubber_slab', + 'gtceu:rubber_fence', + 'gtceu:rubber_sign', + 'gtceu:rubber_hanging_sign', + 'gtceu:rubber_pressure_plate', + 'gtceu:rubber_trapdoor', + 'gtceu:rubber_stairs', + 'gtceu:rubber_button', + 'gtceu:rubber_fence_gate', + 'gtceu:rubber_door', + 'gtceu:rubber_boat', + 'gtceu:rubber_chest_boat', + //#endregion + + //#region Обработанное + 'gtceu:treated_wood_slab', + 'gtceu:treated_wood_fence', + 'gtceu:treated_wood_sign', + 'gtceu:treated_wood_hanging_sign', + 'gtceu:treated_wood_pressure_plate', + 'gtceu:treated_wood_trapdoor', + 'gtceu:treated_wood_stairs', + 'gtceu:treated_wood_button', + 'gtceu:treated_wood_fence_gate', + 'gtceu:treated_wood_door', + 'gtceu:treated_wood_boat', + 'gtceu:treated_wood_chest_boat', + //#endregion // Примитивная помпа 'gtceu:infinite_water_cover', From 075f03831fc3d6e83df15136674a203063f0353c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 14 Oct 2024 08:20:55 +0700 Subject: [PATCH 229/266] Update craftpresence.json --- config/craftpresence.json | 1 - 1 file changed, 1 deletion(-) diff --git a/config/craftpresence.json b/config/craftpresence.json index e1289566c..785ae3ef8 100644 --- a/config/craftpresence.json +++ b/config/craftpresence.json @@ -131,7 +131,6 @@ } }, "dynamicIcons": { - "Xikaro": "https://mc-heads.net/avatar/57b3dfb5f8a649e28b544e4ffc63256f", "default": "https://via.placeholder.com/256.png" }, "dynamicVariables": { From c5f971d4fb619604c4771173e64833090a51ef7c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 14 Oct 2024 09:00:02 +0700 Subject: [PATCH 230/266] Update decay_2012-client.toml --- config/decay_2012-client.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/decay_2012-client.toml b/config/decay_2012-client.toml index 402bdf97b..983a12b51 100644 --- a/config/decay_2012-client.toml +++ b/config/decay_2012-client.toml @@ -6,7 +6,7 @@ #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 = "NONE" + foodExpiryTooltipStyle = "BOTH" #If true, food stack counts will render behind the weight bar enableFoodShowsStackCount = false #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. From e7de5940aa08cb1f6dc4254a11c2049ad86f9911 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 14 Oct 2024 09:00:17 +0700 Subject: [PATCH 231/266] fix pumpkin chunks recipe --- kubejs/server_scripts/tfc/recipes.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 87fa5be50..ceec34b43 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -3373,12 +3373,14 @@ const registerTFCRecipes = (e) => { }).id('tfc:crafting/blast_furnace') // Тыква -> Кусочки тыквы - e.recipes.minecraft.crafting_shaped('5x tfc:food/pumpkin_chunks', [ + e.remove({ id: 'tfc:crafting/pumpkin_chunks' }) + + e.shaped('4x tfc:food/pumpkin_chunks', [ 'AB' ], { A: '#tfc:knives', - B: 'tfc:pumpkin' - }) + B: TFC.ingredient.notRotten('tfc:pumpkin') + }).id('tfg:shaped/tfc/pumpkin_chunks') // Lime e.smelting('tfc:powder/lime', 'tfc:powder/flux') From 12a97892a7ef1cce5b5bc308f0952d80dd7378be Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 19 Oct 2024 22:33:39 +0700 Subject: [PATCH 232/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index cd9b87937..bb17c53cf 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit cd9b87937256de9aa9098e61a37004f5a4e3bef1 +Subproject commit bb17c53cf516c3576d0e931fa12e9d8e4dd5018a From 079acf29c4dd0acf3726d98128bb6529b25f764e Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 19 Oct 2024 22:37:27 +0700 Subject: [PATCH 233/266] disable rftoolsbase ore gen --- .../dimshard_dimensions.json | 18 +++++++++++++ .../configured_feature/dimshard_end.json | 18 +++++++++++++ .../configured_feature/dimshard_nether.json | 18 +++++++++++++ .../dimshard_overworld.json | 18 +++++++++++++ .../placed_feature/dimshard_dimensions.json | 27 +++++++++++++++++++ .../worldgen/placed_feature/dimshard_end.json | 27 +++++++++++++++++++ .../placed_feature/dimshard_nether.json | 27 +++++++++++++++++++ .../placed_feature/dimshard_overworld.json | 27 +++++++++++++++++++ 8 files changed, 180 insertions(+) create mode 100644 kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_dimensions.json create mode 100644 kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_end.json create mode 100644 kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_nether.json create mode 100644 kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_overworld.json create mode 100644 kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_dimensions.json create mode 100644 kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_end.json create mode 100644 kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_nether.json create mode 100644 kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_overworld.json diff --git a/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_dimensions.json b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_dimensions.json new file mode 100644 index 000000000..8d5d44a6a --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_dimensions.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "size": 0, + "discard_chance_on_air_exposure": 0, + "targets": [ + { + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + }, + "state": { + "Name": "rftoolsbase:dimensionalshard_overworld" + } + } + ] + } +} diff --git a/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_end.json b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_end.json new file mode 100644 index 000000000..d184917e8 --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_end.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "size": 0, + "discard_chance_on_air_exposure": 0, + "targets": [ + { + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:end_stones" + }, + "state": { + "Name": "rftoolsbase:dimensionalshard_end" + } + } + ] + } +} diff --git a/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_nether.json b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_nether.json new file mode 100644 index 000000000..c7d5647bc --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_nether.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "size": 0, + "discard_chance_on_air_exposure": 0, + "targets": [ + { + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + }, + "state": { + "Name": "rftoolsbase:dimensionalshard_nether" + } + } + ] + } +} diff --git a/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_overworld.json b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_overworld.json new file mode 100644 index 000000000..8d5d44a6a --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_overworld.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "size": 0, + "discard_chance_on_air_exposure": 0, + "targets": [ + { + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + }, + "state": { + "Name": "rftoolsbase:dimensionalshard_overworld" + } + } + ] + } +} diff --git a/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_dimensions.json b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_dimensions.json new file mode 100644 index 000000000..de5c3324a --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_dimensions.json @@ -0,0 +1,27 @@ +{ + "feature": "rftoolsbase:dimshard_overworld", + "placement": [ + { + "count": 0, + "type": "minecraft:count" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": -64 + }, + "max_inclusive": { + "absolute": -64 + } + } + }, + { + "type": "rftoolsbase:filter_dimensions" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_end.json b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_end.json new file mode 100644 index 000000000..c324fb370 --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_end.json @@ -0,0 +1,27 @@ +{ + "feature": "rftoolsbase:dimshard_end", + "placement": [ + { + "count": 0, + "type": "minecraft:count" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": -64 + }, + "max_inclusive": { + "absolute": -64 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_nether.json b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_nether.json new file mode 100644 index 000000000..0012cd94c --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_nether.json @@ -0,0 +1,27 @@ +{ + "feature": "rftoolsbase:dimshard_nether", + "placement": [ + { + "count": 0, + "type": "minecraft:count" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": -64 + }, + "max_inclusive": { + "absolute": -64 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_overworld.json b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_overworld.json new file mode 100644 index 000000000..b3421f84d --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_overworld.json @@ -0,0 +1,27 @@ +{ + "feature": "rftoolsbase:dimshard_overworld", + "placement": [ + { + "count": 0, + "type": "minecraft:count" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": -64 + }, + "max_inclusive": { + "absolute": -64 + } + } + }, + { + "type": "rftoolsbase:filter_overworld" + } + ] +} \ No newline at end of file From 2ba9c980e171b671d220fda66ae40d12690f55e4 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 19 Oct 2024 23:34:24 +0700 Subject: [PATCH 234/266] some work --- kubejs/server_scripts/firmalife/tags.js | 7 +++-- kubejs/server_scripts/gregtech/recipes.js | 10 ++++++- kubejs/server_scripts/gregtech/tags.js | 20 ++++++------- kubejs/startup_scripts/gregtech/constants.js | 31 ++++---------------- 4 files changed, 30 insertions(+), 38 deletions(-) diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 7df48ad78..6838cee19 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -45,8 +45,11 @@ const registerFirmaLifeBlockTags = (event) => { //#region Для того, чтобы стенками greenhouse могли быть фреймы грега (для передачи воды) event.add('firmalife:always_valid_greenhouse_wall', '#forge:frames') - event.add('firmalife:always_valid_greenhouse_wall', '#forge:tiny_fluid_pipes') - event.add('firmalife:always_valid_greenhouse_wall', '#forge:small_item_pipes') + // event.add('firmalife:always_valid_greenhouse_wall', '#forge:tiny_fluid_pipes') + // event.add('firmalife:always_valid_greenhouse_wall', '#forge:small_item_pipes') + // event.add('firmalife:always_valid_greenhouse_wall', '#forge:normal_item_pipes') + // event.add('firmalife:always_valid_greenhouse_wall', '#forge:large_item_pipes') + // Добавление труб в текущий тег не дает никакого результата, поэтому я сделал это через TFG-Core. //#endregion } diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index cf3c95699..504a221e8 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1650,6 +1650,14 @@ const registerGregTechRecipes = (e) => { //#endregion + //#region TODO: Времененный рецепт Nether Air -> End Air + e.recipes.gtceu.electrolyzer('tfg:gtceu/liquid_nether_air_to_liquid_ender_air') + .itemInputs('#forge:dusts/netherrack') + .inputFluids(Fluid.of('gtceu:liquid_nether_air', 1000)) + .outputFluids(Fluid.of('gtceu:liquid_ender_air', 250)) + .EUt(512).duration(1250) + //#endregion + //#region Кварцевый песок e.remove({ id: 'gtceu:shaped/quartz_sand' }) e.shaped('gtceu:quartz_sand_dust', [ @@ -2171,7 +2179,7 @@ const registerGregTechRecipes = (e) => { //#endregion //#region Огнеупорные кирпичи (блок) - e.remove({ id: 'gtceu:shaped/casing_primitive_bricks' }) + e.remove({ id: 'gtceu:shaped_fluid_container/casing_primitive_bricks' }) //#endregion //#region Уплотненная огнеупорная глина diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 1790e2f8a..c7cc3c974 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -140,21 +140,21 @@ const registerGregTechItemTags = (event) => { //#endregion // Удаление тегов и скрытие предметов - // global.GTCEU_DISABLED_ITEMS.forEach(item => { - // event.removeAllTagsFrom(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_HIDED_ITEMS.forEach(item => { - // event.add('c:hidden_from_recipe_viewers', item) - // }) + global.GTCEU_HIDED_ITEMS.forEach(item => { + event.add('c:hidden_from_recipe_viewers', item) + }) } const registerGregTechBlockTags = (event) => { // Удаление тегов и скрытие предметов - // global.GTCEU_DISABLED_ITEMS.forEach(item => { - // event.removeAllTagsFrom(item) - // }) + global.GTCEU_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) } diff --git a/kubejs/startup_scripts/gregtech/constants.js b/kubejs/startup_scripts/gregtech/constants.js index d59ba5f5b..fbdc3bacb 100644 --- a/kubejs/startup_scripts/gregtech/constants.js +++ b/kubejs/startup_scripts/gregtech/constants.js @@ -1,11 +1,6 @@ // priority: 0 global.GTCEU_DISABLED_ITEMS = [ - // Пыль пшеницы - 'gtceu:wheat_dust', - 'gtceu:small_wheat_dust', - 'gtceu:tiny_wheat_dust', - //#region Резиновое 'gtceu:rubber_sapling', 'gtceu:rubber_log', @@ -43,34 +38,20 @@ global.GTCEU_DISABLED_ITEMS = [ 'gtceu:treated_wood_chest_boat', //#endregion - // Примитивная помпа + //#region Примитивная помпа 'gtceu:infinite_water_cover', 'gtceu:pump_deck', 'gtceu:pump_hatch', 'gtceu:primitive_pump', + //#endregion + + //#region Примитивная домна + 'gtceu:primitive_blast_furnace', + //#endregion // Другое - 'gtceu:flint_mortar', - 'gtceu:flint_knife', 'gtceu:firebrick', 'gtceu:firebricks', - 'gtceu:wood_drum', - 'gtceu:primitive_blast_furnace', - - 'gtceu:wood_screwdriver_tip', - 'gtceu:wood_wrench_tip', - 'gtceu:wood_drill_head', - 'gtceu:wood_chainsaw_head', - - 'gtceu:stone_drill_head', - 'gtceu:stone_chainsaw_head', - 'gtceu:stone_buzz_saw_blade', - 'gtceu:stone_wrench_tip', - - 'gtceu:rubber_sapling', - 'gtceu:rubber_log', - 'gtceu:rubber_leaves', - 'gtceu:rubber_planks', ]; From 28e9ed1452e98c561e9a0b64eca33f49cb062907 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 19 Oct 2024 23:34:47 +0700 Subject: [PATCH 235/266] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7fc015e5f..544d517c0 100644 --- a/.gitignore +++ b/.gitignore @@ -34,6 +34,7 @@ config/cherishedworlds/favorites.dat # .minecraft crash-reports/* +kubejs1/* logs/* saves/* ldlib/ From a4adc884b7a12dc6223eb14f6669a6e7ff415595 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 13:08:27 +0700 Subject: [PATCH 236/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index bb17c53cf..3dd60731d 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit bb17c53cf516c3576d0e931fa12e9d8e4dd5018a +Subproject commit 3dd60731da353e83605c765dfc3d8fc5d426bd67 From 8ee9eb44c872fd9605ca9cb5fc3315cf685bb49a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 13:10:08 +0700 Subject: [PATCH 237/266] 123 --- config/ftbquests/quests/chapters/ae2.snbt | 2 +- config/jei/ingredient-list-mod-sort-order.ini | 30 +- config/jei/recipe-category-sort-order.ini | 8 +- .../allowed_sounds.properties | 1 + .../occlusion.properties | 364 +++++++++--------- .../reflectivity.properties | 364 +++++++++--------- 6 files changed, 390 insertions(+), 379 deletions(-) diff --git a/config/ftbquests/quests/chapters/ae2.snbt b/config/ftbquests/quests/chapters/ae2.snbt index 4c38b476a..010ca0959 100644 --- a/config/ftbquests/quests/chapters/ae2.snbt +++ b/config/ftbquests/quests/chapters/ae2.snbt @@ -1922,7 +1922,7 @@ Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(gtceu:rich_raw_certus_quartz)item(gtceu:raw_certus_quartz)item(gtceu:poor_raw_certus_quartz))" + "ftbfiltersystem:filter": "or(item(gtceu:rich_raw_certus_quartz)item(gtceu:raw_certus_quartz)item(gtceu:poor_raw_certus_quartz))" } } title: "Any #forge:ores/certus_quartz" diff --git a/config/jei/ingredient-list-mod-sort-order.ini b/config/jei/ingredient-list-mod-sort-order.ini index 84eeb20ba..bc2f97d58 100644 --- a/config/jei/ingredient-list-mod-sort-order.ini +++ b/config/jei/ingredient-list-mod-sort-order.ini @@ -4,23 +4,35 @@ Applied Energistics 2 AstikorCarts Redux Create Create Crafts & Additions -Create: Steam 'n' Rails -Exposure FTB Filter System FTB Quests Firma: Civilization Firmalife -GregTech -Gregicality Rocketry Jumbo Furnace More Red +TerraFirmaCraft +AE2 Insert Export Card +AE2NetworkAnalyzer +Advanced Peripherals +CC: Tweaked +Create Low-Heated +Create: Connected +ExtendedAE +FramedBlocks +Hang Glider +MEGA Cells +aleki's Nifty Ships +aleki's Ridiculously Simple Roofs +TFC Water Flasks +Tool Belt +Tree Tap +Create: Steam 'n' Rails Sophisticated Core +Storage Drawers TFC Aged Alcohol TFC Ambiental TFC Astikor Carts +TFC Canes TFC Casting with Channels -TFC Water Flasks -TerraFirmaCraft -TerraFirmaGreg-Core -Tool Belt -Tree Tap +TFC: Grooming Station +Tfc Electrical Appliances diff --git a/config/jei/recipe-category-sort-order.ini b/config/jei/recipe-category-sort-order.ini index 0eb699745..5ec0c31be 100644 --- a/config/jei/recipe-category-sort-order.ini +++ b/config/jei/recipe-category-sort-order.ini @@ -43,8 +43,6 @@ create:wood_cutting createaddition:charging createaddition:liquid_burning createaddition:rolling -exposure:photograph_printing -exposure:photograph_stacking firmalife:drying firmalife:mixing_bowl firmalife:oven @@ -78,16 +76,16 @@ tfc:sealed_barrel tfc:simple_pot tfc:soup_pot tfc:welding -treetap:tap_extract ftbquests:loot_crate ftbquests:quest firmalife:bowl_pot firmalife:stinky_soup tfc:sewing -petrolpark:item_decay -petrolpark:manual_crafting firmalife:press firmalife:stomping +treetap:tap_extract deepresonance:laser deepresonance:purifier deepresonance:smelter +exposure:photograph_printing +exposure:photograph_stacking diff --git a/config/sound_physics_remastered/allowed_sounds.properties b/config/sound_physics_remastered/allowed_sounds.properties index 707c1afe6..10c1a15e3 100644 --- a/config/sound_physics_remastered/allowed_sounds.properties +++ b/config/sound_physics_remastered/allowed_sounds.properties @@ -48,6 +48,7 @@ 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 diff --git a/config/sound_physics_remastered/occlusion.properties b/config/sound_physics_remastered/occlusion.properties index c2ec0fcd0..76195904e 100644 --- a/config/sound_physics_remastered/occlusion.properties +++ b/config/sound_physics_remastered/occlusion.properties @@ -9,208 +9,208 @@ # By block ID: # minecraft\:oak_log=1.0 -# Bamboo Wood (Sound Type) -BAMBOO_WOOD=1.0 -# Sculk Shrieker (Sound Type) -SCULK_SHRIEKER=1.0 -# Crop (Sound Type) -CROP=0.0 -# Decorated Pot (Sound Type) -DECORATED_POT=1.0 -# Amethyst Cluster (Sound Type) -AMETHYST_CLUSTER=1.0 -# Grass (Sound Type) -GRASS=1.0 -# Ancient Debris (Sound Type) -ANCIENT_DEBRIS=1.0 -# Moss Carpet (Sound Type) -MOSS_CARPET=0.1 -# Nether Gold Ore (Sound Type) -NETHER_GOLD_ORE=1.0 -# Copper (Sound Type) -COPPER=1.0 -# Big Dripleaf (Sound Type) -BIG_DRIPLEAF=1.0 -# Glow Lichen (Sound Type) -GLOW_LICHEN=0.0 -# Gilded Blackstone (Sound Type) -GILDED_BLACKSTONE=1.0 -# Snow (Sound Type) -SNOW=0.1 -# Fungus (Sound Type) -FUNGUS=0.0 -# Sweet Berry Bush (Sound Type) -SWEET_BERRY_BUSH=0.0 -# Flowering Azalea (Sound Type) -FLOWERING_AZALEA=1.0 -# Sculk Sensor (Sound Type) -SCULK_SENSOR=1.0 -# Slime Block (Sound Type) -SLIME_BLOCK=1.0 -# Deepslate (Sound Type) -DEEPSLATE=1.0 -# Dripstone Block (Sound Type) -DRIPSTONE_BLOCK=1.0 -# Azalea (Sound Type) -AZALEA=1.0 +# Scaffolding (Sound Type) +SCAFFOLDING=0.0 +# Calcite (Sound Type) +CALCITE=1.0 # Bamboo (Sound Type) BAMBOO=0.1 -# Deepslate Tiles (Sound Type) -DEEPSLATE_TILES=1.0 -# Candle (Sound Type) -CANDLE=1.0 -# Suspicious Gravel (Sound Type) -SUSPICIOUS_GRAVEL=1.0 -# Chain (Sound Type) -CHAIN=0.0 -# Cherry Wood Hanging Sign (Sound Type) -CHERRY_WOOD_HANGING_SIGN=1.0 # Small Amethyst Bud (Sound Type) SMALL_AMETHYST_BUD=0.0 -# Honey Block (Sound Type) -HONEY_BLOCK=0.5 -# Basalt (Sound Type) -BASALT=1.0 -# Pointed Dripstone (Sound Type) -POINTED_DRIPSTONE=0.0 -# Deepslate Bricks (Sound Type) -DEEPSLATE_BRICKS=1.0 -# Mangrove Roots (Sound Type) -MANGROVE_ROOTS=1.0 +# Wet Grass (Sound Type) +WET_GRASS=0.1 # Bone Block (Sound Type) BONE_BLOCK=1.0 -# Cherry Wood (Sound Type) -CHERRY_WOOD=1.0 +# Amethyst (Sound Type) +AMETHYST=1.0 +# Ladder (Sound Type) +LADDER=0.0 +# Froglight (Sound Type) +FROGLIGHT=1.0 +# Stone (Sound Type) +STONE=1.0 +# Sculk (Sound Type) +SCULK=1.0 +# Soul Sand (Sound Type) +SOUL_SAND=1.0 +# Shroomlight (Sound Type) +SHROOMLIGHT=1.0 +# Snow (Sound Type) +SNOW=0.1 +# Sculk Catalyst (Sound Type) +SCULK_CATALYST=1.0 +# Chain (Sound Type) +CHAIN=0.0 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=1.0 +# Mud (Sound Type) +MUD=1.0 # Small Dripleaf (Sound Type) SMALL_DRIPLEAF=0.0 +# Lily Pad (Sound Type) +LILY_PAD=0.0 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.0 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=1.0 +# Mangrove Roots (Sound Type) +MANGROVE_ROOTS=1.0 +# Deepslate Tiles (Sound Type) +DEEPSLATE_TILES=1.0 +# Fungus (Sound Type) +FUNGUS=0.0 +# Lantern (Sound Type) +LANTERN=1.0 +# Deepslate Bricks (Sound Type) +DEEPSLATE_BRICKS=1.0 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=1.0 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=1.0 +# Suspicious Gravel (Sound Type) +SUSPICIOUS_GRAVEL=1.0 +# Crop (Sound Type) +CROP=0.0 +# Nether Bricks (Sound Type) +NETHER_BRICKS=1.0 +# Nether Wart (Sound Type) +NETHER_WART=1.0 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=1.0 +# Wart Block (Sound Type) +WART_BLOCK=1.0 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.1 +# Packed Mud (Sound Type) +PACKED_MUD=1.0 +# Nylium (Sound Type) +NYLIUM=1.0 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=1.0 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=1.0 +# Moss (Sound Type) +MOSS=0.75 +# Wool (Sound Type) +WOOL=1.5 +# Bamboo Wood (Sound Type) +BAMBOO_WOOD=1.0 +# Anvil (Sound Type) +ANVIL=1.0 +# Sand (Sound Type) +SAND=1.0 +# Decorated Pot (Sound Type) +DECORATED_POT=1.0 +# Powder Snow (Sound Type) +POWDER_SNOW=0.1 +# Large Amethyst Bud (Sound Type) +LARGE_AMETHYST_BUD=0.0 +# Roots (Sound Type) +ROOTS=0.0 # Hanging Roots (Sound Type) HANGING_ROOTS=1.0 # Azalea Leaves (Sound Type) AZALEA_LEAVES=1.0 -# Lantern (Sound Type) -LANTERN=1.0 -# Froglight (Sound Type) -FROGLIGHT=1.0 -# Bamboo Sapling (Sound Type) -BAMBOO_SAPLING=0.1 -# Soul Soil (Sound Type) -SOUL_SOIL=1.0 -# Sculk Vein (Sound Type) -SCULK_VEIN=1.0 -# Hanging Sign (Sound Type) -HANGING_SIGN=1.0 -# Shroomlight (Sound Type) -SHROOMLIGHT=1.0 -# Scaffolding (Sound Type) -SCAFFOLDING=0.0 -# Gravel (Sound Type) -GRAVEL=1.0 -# Stem (Sound Type) -STEM=1.0 -# Glass (Sound Type) -GLASS=0.1 -# Hard Crop (Sound Type) -HARD_CROP=1.0 -# Wart Block (Sound Type) -WART_BLOCK=1.0 -# Nether Bricks (Sound Type) -NETHER_BRICKS=1.0 -# Cherry Leaves (Sound Type) -CHERRY_LEAVES=1.0 -# Nether Wart (Sound Type) -NETHER_WART=1.0 -# Netherrack (Sound Type) -NETHERRACK=1.0 -# Vine (Sound Type) -VINE=0.0 -# Metal (Sound Type) -METAL=1.0 -# Chiseled Bookshelf (Sound Type) -CHISELED_BOOKSHELF=1.0 -# Packed Mud (Sound Type) -PACKED_MUD=1.0 -# Netherite Block (Sound Type) -NETHERITE_BLOCK=1.0 -# Wool (Sound Type) -WOOL=1.5 -# Nylium (Sound Type) -NYLIUM=1.0 -# Polished Deepslate (Sound Type) -POLISHED_DEEPSLATE=1.0 -# Muddy Mangrove Roots (Sound Type) -MUDDY_MANGROVE_ROOTS=1.0 -# Coral Block (Sound Type) -CORAL_BLOCK=1.0 -# Cherry Sapling (Sound Type) -CHERRY_SAPLING=1.0 -# Tuff (Sound Type) -TUFF=1.0 -# Calcite (Sound Type) -CALCITE=1.0 -# Ladder (Sound Type) -LADDER=0.0 -# Nether Wood Hanging Sign (Sound Type) -NETHER_WOOD_HANGING_SIGN=1.0 -# Medium Amethyst Bud (Sound Type) -MEDIUM_AMETHYST_BUD=0.0 -# Nether Sprouts (Sound Type) -NETHER_SPROUTS=1.0 -# Lily Pad (Sound Type) -LILY_PAD=0.0 -# Rooted Dirt (Sound Type) -ROOTED_DIRT=1.0 -# Roots (Sound Type) -ROOTS=0.0 -# Sculk (Sound Type) -SCULK=1.0 -# Weeping Vines (Sound Type) -WEEPING_VINES=0.0 -# Large Amethyst Bud (Sound Type) -LARGE_AMETHYST_BUD=0.0 -# Cave Vines (Sound Type) -CAVE_VINES=1.0 -# Frogspawn (Sound Type) -FROGSPAWN=1.0 -# Powder Snow (Sound Type) -POWDER_SNOW=0.1 -# Wet Grass (Sound Type) -WET_GRASS=0.1 -# Moss (Sound Type) -MOSS=0.75 -# Mud (Sound Type) -MUD=1.0 -# Nether Wood (Sound Type) -NETHER_WOOD=1.0 -# Anvil (Sound Type) -ANVIL=1.0 -# Bamboo Wood Hanging Sign (Sound Type) -BAMBOO_WOOD_HANGING_SIGN=1.0 -# Twisting Vines (Sound Type) -TWISTING_VINES=0.0 +# Cherry Wood (Sound Type) +CHERRY_WOOD=1.0 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.0 # Suspicious Sand (Sound Type) SUSPICIOUS_SAND=1.0 -# Decorated Pot Cracked (Sound Type) -DECORATED_POT_CRACKED=1.0 -# Stone (Sound Type) -STONE=1.0 -# Sand (Sound Type) -SAND=1.0 -# Soul Sand (Sound Type) -SOUL_SAND=1.0 -# Nether Ore (Sound Type) -NETHER_ORE=1.0 # Mud Bricks (Sound Type) MUD_BRICKS=1.0 +# Hard Crop (Sound Type) +HARD_CROP=1.0 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.0 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.0 +# Nether Wood (Sound Type) +NETHER_WOOD=1.0 +# Coral Block (Sound Type) +CORAL_BLOCK=1.0 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=1.0 +# Honey Block (Sound Type) +HONEY_BLOCK=0.5 +# Deepslate (Sound Type) +DEEPSLATE=1.0 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=1.0 +# Azalea (Sound Type) +AZALEA=1.0 +# Stem (Sound Type) +STEM=1.0 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=1.0 +# Sculk Vein (Sound Type) +SCULK_VEIN=1.0 # Lodestone (Sound Type) LODESTONE=1.0 -# Amethyst (Sound Type) -AMETHYST=1.0 -# Wood (Sound Type) -WOOD=1.0 -# Sculk Catalyst (Sound Type) -SCULK_CATALYST=1.0 +# Netherrack (Sound Type) +NETHERRACK=1.0 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.0 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=1.0 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=1.0 # Spore Blossom (Sound Type) SPORE_BLOSSOM=0.0 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.0 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.1 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=1.0 +# Soul Soil (Sound Type) +SOUL_SOIL=1.0 +# Candle (Sound Type) +CANDLE=1.0 +# Metal (Sound Type) +METAL=1.0 +# Basalt (Sound Type) +BASALT=1.0 +# Nether Ore (Sound Type) +NETHER_ORE=1.0 +# Gravel (Sound Type) +GRAVEL=1.0 +# Cave Vines (Sound Type) +CAVE_VINES=1.0 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=1.0 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.0 +# Tuff (Sound Type) +TUFF=1.0 +# Copper (Sound Type) +COPPER=1.0 +# Dripstone Block (Sound Type) +DRIPSTONE_BLOCK=1.0 +# Slime Block (Sound Type) +SLIME_BLOCK=1.0 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=1.0 +# Hanging Sign (Sound Type) +HANGING_SIGN=1.0 +# Twisting Vines (Sound Type) +TWISTING_VINES=0.0 +# Frogspawn (Sound Type) +FROGSPAWN=1.0 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.0 +# Grass (Sound Type) +GRASS=1.0 +# Glass (Sound Type) +GLASS=0.1 +# Vine (Sound Type) +VINE=0.0 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=1.0 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=1.0 +# Wood (Sound Type) +WOOD=1.0 # Water (Block) minecraft\:water=0.25 # Lava (Block) diff --git a/config/sound_physics_remastered/reflectivity.properties b/config/sound_physics_remastered/reflectivity.properties index 3f7110d57..b6b855dd9 100644 --- a/config/sound_physics_remastered/reflectivity.properties +++ b/config/sound_physics_remastered/reflectivity.properties @@ -9,205 +9,205 @@ # By block ID: # minecraft\:oak_log=1.0 -# Bamboo Wood (Sound Type) -BAMBOO_WOOD=0.5 -# Sculk Shrieker (Sound Type) -SCULK_SHRIEKER=0.5 -# Crop (Sound Type) -CROP=0.5 -# Decorated Pot (Sound Type) -DECORATED_POT=0.5 -# Amethyst Cluster (Sound Type) -AMETHYST_CLUSTER=0.5 -# Grass (Sound Type) -GRASS=0.3 -# Ancient Debris (Sound Type) -ANCIENT_DEBRIS=0.5 -# Moss Carpet (Sound Type) -MOSS_CARPET=0.5 -# Nether Gold Ore (Sound Type) -NETHER_GOLD_ORE=1.1 -# Copper (Sound Type) -COPPER=1.25 -# Big Dripleaf (Sound Type) -BIG_DRIPLEAF=0.5 -# Glow Lichen (Sound Type) -GLOW_LICHEN=0.5 -# Gilded Blackstone (Sound Type) -GILDED_BLACKSTONE=0.5 -# Snow (Sound Type) -SNOW=0.15 -# Fungus (Sound Type) -FUNGUS=0.5 -# Sweet Berry Bush (Sound Type) -SWEET_BERRY_BUSH=0.5 -# Flowering Azalea (Sound Type) -FLOWERING_AZALEA=0.5 -# Sculk Sensor (Sound Type) -SCULK_SENSOR=0.5 -# Slime Block (Sound Type) -SLIME_BLOCK=0.5 -# Deepslate (Sound Type) -DEEPSLATE=1.5 -# Dripstone Block (Sound Type) -DRIPSTONE_BLOCK=0.5 -# Azalea (Sound Type) -AZALEA=0.5 +# Scaffolding (Sound Type) +SCAFFOLDING=0.5 +# Calcite (Sound Type) +CALCITE=1.5 # Bamboo (Sound Type) BAMBOO=0.5 -# Deepslate Tiles (Sound Type) -DEEPSLATE_TILES=1.5 -# Candle (Sound Type) -CANDLE=0.5 -# Suspicious Gravel (Sound Type) -SUSPICIOUS_GRAVEL=0.5 -# Chain (Sound Type) -CHAIN=0.5 -# Cherry Wood Hanging Sign (Sound Type) -CHERRY_WOOD_HANGING_SIGN=0.5 # Small Amethyst Bud (Sound Type) SMALL_AMETHYST_BUD=0.5 -# Honey Block (Sound Type) -HONEY_BLOCK=0.1 -# Basalt (Sound Type) -BASALT=1.5 -# Pointed Dripstone (Sound Type) -POINTED_DRIPSTONE=0.5 -# Deepslate Bricks (Sound Type) -DEEPSLATE_BRICKS=1.5 -# Mangrove Roots (Sound Type) -MANGROVE_ROOTS=0.5 +# Wet Grass (Sound Type) +WET_GRASS=0.5 # Bone Block (Sound Type) BONE_BLOCK=1.5 -# Cherry Wood (Sound Type) -CHERRY_WOOD=0.5 +# Amethyst (Sound Type) +AMETHYST=1.5 +# Ladder (Sound Type) +LADDER=0.5 +# Froglight (Sound Type) +FROGLIGHT=0.5 +# Stone (Sound Type) +STONE=1.5 +# Sculk (Sound Type) +SCULK=0.5 +# Soul Sand (Sound Type) +SOUL_SAND=0.2 +# Shroomlight (Sound Type) +SHROOMLIGHT=0.5 +# Snow (Sound Type) +SNOW=0.15 +# Sculk Catalyst (Sound Type) +SCULK_CATALYST=0.5 +# Chain (Sound Type) +CHAIN=0.5 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=0.5 +# Mud (Sound Type) +MUD=0.5 # Small Dripleaf (Sound Type) SMALL_DRIPLEAF=0.5 +# Lily Pad (Sound Type) +LILY_PAD=0.5 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.5 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=0.5 +# Mangrove Roots (Sound Type) +MANGROVE_ROOTS=0.5 +# Deepslate Tiles (Sound Type) +DEEPSLATE_TILES=1.5 +# Fungus (Sound Type) +FUNGUS=0.5 +# Lantern (Sound Type) +LANTERN=0.5 +# Deepslate Bricks (Sound Type) +DEEPSLATE_BRICKS=1.5 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=0.5 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=0.5 +# Suspicious Gravel (Sound Type) +SUSPICIOUS_GRAVEL=0.5 +# Crop (Sound Type) +CROP=0.5 +# Nether Bricks (Sound Type) +NETHER_BRICKS=1.5 +# Nether Wart (Sound Type) +NETHER_WART=0.5 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=0.5 +# Wart Block (Sound Type) +WART_BLOCK=0.5 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.5 +# Packed Mud (Sound Type) +PACKED_MUD=0.5 +# Nylium (Sound Type) +NYLIUM=0.5 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=0.5 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=0.5 +# Moss (Sound Type) +MOSS=0.1 +# Wool (Sound Type) +WOOL=0.1 +# Bamboo Wood (Sound Type) +BAMBOO_WOOD=0.5 +# Anvil (Sound Type) +ANVIL=0.5 +# Sand (Sound Type) +SAND=0.2 +# Decorated Pot (Sound Type) +DECORATED_POT=0.5 +# Powder Snow (Sound Type) +POWDER_SNOW=0.5 +# Large Amethyst Bud (Sound Type) +LARGE_AMETHYST_BUD=0.5 +# Roots (Sound Type) +ROOTS=0.5 # Hanging Roots (Sound Type) HANGING_ROOTS=0.5 # Azalea Leaves (Sound Type) AZALEA_LEAVES=0.5 -# Lantern (Sound Type) -LANTERN=0.5 -# Froglight (Sound Type) -FROGLIGHT=0.5 -# Bamboo Sapling (Sound Type) -BAMBOO_SAPLING=0.5 -# Soul Soil (Sound Type) -SOUL_SOIL=0.2 -# Sculk Vein (Sound Type) -SCULK_VEIN=0.5 -# Hanging Sign (Sound Type) -HANGING_SIGN=0.5 -# Shroomlight (Sound Type) -SHROOMLIGHT=0.5 -# Scaffolding (Sound Type) -SCAFFOLDING=0.5 -# Gravel (Sound Type) -GRAVEL=0.3 -# Stem (Sound Type) -STEM=0.4 -# Glass (Sound Type) -GLASS=0.75 -# Hard Crop (Sound Type) -HARD_CROP=0.5 -# Wart Block (Sound Type) -WART_BLOCK=0.5 -# Nether Bricks (Sound Type) -NETHER_BRICKS=1.5 -# Cherry Leaves (Sound Type) -CHERRY_LEAVES=0.5 -# Nether Wart (Sound Type) -NETHER_WART=0.5 -# Netherrack (Sound Type) -NETHERRACK=1.1 -# Vine (Sound Type) -VINE=0.5 -# Metal (Sound Type) -METAL=1.25 -# Chiseled Bookshelf (Sound Type) -CHISELED_BOOKSHELF=0.5 -# Packed Mud (Sound Type) -PACKED_MUD=0.5 -# Netherite Block (Sound Type) -NETHERITE_BLOCK=1.5 -# Wool (Sound Type) -WOOL=0.1 -# Nylium (Sound Type) -NYLIUM=0.5 -# Polished Deepslate (Sound Type) -POLISHED_DEEPSLATE=1.5 -# Muddy Mangrove Roots (Sound Type) -MUDDY_MANGROVE_ROOTS=0.5 -# Coral Block (Sound Type) -CORAL_BLOCK=0.2 -# Cherry Sapling (Sound Type) -CHERRY_SAPLING=0.5 -# Tuff (Sound Type) -TUFF=1.5 -# Calcite (Sound Type) -CALCITE=1.5 -# Ladder (Sound Type) -LADDER=0.5 -# Nether Wood Hanging Sign (Sound Type) -NETHER_WOOD_HANGING_SIGN=0.5 -# Medium Amethyst Bud (Sound Type) -MEDIUM_AMETHYST_BUD=0.5 -# Nether Sprouts (Sound Type) -NETHER_SPROUTS=0.5 -# Lily Pad (Sound Type) -LILY_PAD=0.5 -# Rooted Dirt (Sound Type) -ROOTED_DIRT=0.5 -# Roots (Sound Type) -ROOTS=0.5 -# Sculk (Sound Type) -SCULK=0.5 -# Weeping Vines (Sound Type) -WEEPING_VINES=0.5 -# Large Amethyst Bud (Sound Type) -LARGE_AMETHYST_BUD=0.5 -# Cave Vines (Sound Type) -CAVE_VINES=0.5 -# Frogspawn (Sound Type) -FROGSPAWN=0.5 -# Powder Snow (Sound Type) -POWDER_SNOW=0.5 -# Wet Grass (Sound Type) -WET_GRASS=0.5 -# Moss (Sound Type) -MOSS=0.1 -# Mud (Sound Type) -MUD=0.5 -# Nether Wood (Sound Type) -NETHER_WOOD=0.5 -# Anvil (Sound Type) -ANVIL=0.5 -# Bamboo Wood Hanging Sign (Sound Type) -BAMBOO_WOOD_HANGING_SIGN=0.5 -# Twisting Vines (Sound Type) -TWISTING_VINES=0.5 +# Cherry Wood (Sound Type) +CHERRY_WOOD=0.5 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.5 # Suspicious Sand (Sound Type) SUSPICIOUS_SAND=0.5 -# Decorated Pot Cracked (Sound Type) -DECORATED_POT_CRACKED=0.5 -# Stone (Sound Type) -STONE=1.5 -# Sand (Sound Type) -SAND=0.2 -# Soul Sand (Sound Type) -SOUL_SAND=0.2 -# Nether Ore (Sound Type) -NETHER_ORE=1.1 # Mud Bricks (Sound Type) MUD_BRICKS=0.5 +# Hard Crop (Sound Type) +HARD_CROP=0.5 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.1 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.5 +# Nether Wood (Sound Type) +NETHER_WOOD=0.5 +# Coral Block (Sound Type) +CORAL_BLOCK=0.2 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=0.5 +# Honey Block (Sound Type) +HONEY_BLOCK=0.1 +# Deepslate (Sound Type) +DEEPSLATE=1.5 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=0.5 +# Azalea (Sound Type) +AZALEA=0.5 +# Stem (Sound Type) +STEM=0.4 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=0.5 +# Sculk Vein (Sound Type) +SCULK_VEIN=0.5 # Lodestone (Sound Type) LODESTONE=0.5 -# Amethyst (Sound Type) -AMETHYST=1.5 -# Wood (Sound Type) -WOOD=0.4 -# Sculk Catalyst (Sound Type) -SCULK_CATALYST=0.5 +# Netherrack (Sound Type) +NETHERRACK=1.1 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.5 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=0.5 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=0.5 # Spore Blossom (Sound Type) SPORE_BLOSSOM=0.5 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.5 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.5 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=0.5 +# Soul Soil (Sound Type) +SOUL_SOIL=0.2 +# Candle (Sound Type) +CANDLE=0.5 +# Metal (Sound Type) +METAL=1.25 +# Basalt (Sound Type) +BASALT=1.5 +# Nether Ore (Sound Type) +NETHER_ORE=1.1 +# Gravel (Sound Type) +GRAVEL=0.3 +# Cave Vines (Sound Type) +CAVE_VINES=0.5 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=0.5 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.5 +# Tuff (Sound Type) +TUFF=1.5 +# Copper (Sound Type) +COPPER=1.25 +# Dripstone Block (Sound Type) +DRIPSTONE_BLOCK=0.5 +# Slime Block (Sound Type) +SLIME_BLOCK=0.5 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=0.5 +# Hanging Sign (Sound Type) +HANGING_SIGN=0.5 +# Twisting Vines (Sound Type) +TWISTING_VINES=0.5 +# Frogspawn (Sound Type) +FROGSPAWN=0.5 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.5 +# Grass (Sound Type) +GRASS=0.3 +# Glass (Sound Type) +GLASS=0.75 +# Vine (Sound Type) +VINE=0.5 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=0.5 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=0.5 +# Wood (Sound Type) +WOOD=0.4 From bd7a4d6f5c8d30b964278659ec980cfb7c730700 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 13:23:56 +0700 Subject: [PATCH 238/266] aleki roofs fixes --- kubejs/server_scripts/alekiroofs/tags.js | 27 ++------ kubejs/server_scripts/tfc/tags.js | 18 +++-- .../startup_scripts/alekiroofs/constants.js | 36 ++++++++++ kubejs/startup_scripts/tfc/constants.js | 65 +------------------ 4 files changed, 50 insertions(+), 96 deletions(-) create mode 100644 kubejs/startup_scripts/alekiroofs/constants.js diff --git a/kubejs/server_scripts/alekiroofs/tags.js b/kubejs/server_scripts/alekiroofs/tags.js index 3815da580..8c0074cf6 100644 --- a/kubejs/server_scripts/alekiroofs/tags.js +++ b/kubejs/server_scripts/alekiroofs/tags.js @@ -1,25 +1,11 @@ // priority: 0 const registerAlekiRoofsItemTags = (event) => { - global.MINECRAFT_DISABLED_ITEMS.forEach(item => { - // event.removeAllTagsFrom(item) - // event.add('c:hidden_from_recipe_viewers', item) + global.ALEKI_ROOFS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) }) - // global.MINECRAFT_HIDED_ITEMS.forEach(item => { - // event.add('c:hidden_from_recipe_viewers', item) - // }) - - // event.add('tfc:lumber', 'tfg:crimson_lumber') - // event.add('tfc:lumber', 'tfg:warped_lumber') - - // // Теперь обсидиан сторадж блок - // 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') - //#region Бамбуковые крыши в один тег event.add('tfg:bamboo_roofings', 'alekiroofs:bamboo_roofing') event.add('tfg:bamboo_roofings', 'alekiroofs:bamboo_mosaic_roofing') @@ -27,10 +13,7 @@ const registerAlekiRoofsItemTags = (event) => { } const registerAlekiRoofsBlockTags = (event) => { - global.MINECRAFT_DISABLED_ITEMS.forEach(item => { - // event.removeAllTagsFrom(item) + global.ALEKI_ROOFS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) }) - - // // Теперь обсидиан сторадж блок - // event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index e40db939d..677619c10 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -241,12 +241,11 @@ const registerTFCItemTags = (event) => { }) //#endregion - // todo: // Удаление тегов у отключенных предметов - // global.TFC_DISABLED_ITEMS.forEach(item => { - // event.removeAllTagsFrom(item) - // event.add('c:hidden_from_recipe_viewers', item) - // }) + global.TFC_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) } const registerTFCBlockTags = (event) => { @@ -324,11 +323,10 @@ const registerTFCBlockTags = (event) => { }) //#endregion - // todo: - // // Удаление тегов у отключенных предметов - // global.TFC_DISABLED_ITEMS.forEach(item => { - // event.removeAllTagsFrom(item) - // }) + // Удаление тегов у отключенных предметов + global.TFC_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) } const registerTFCFluidTags = (event) => { diff --git a/kubejs/startup_scripts/alekiroofs/constants.js b/kubejs/startup_scripts/alekiroofs/constants.js new file mode 100644 index 000000000..a37c9bb08 --- /dev/null +++ b/kubejs/startup_scripts/alekiroofs/constants.js @@ -0,0 +1,36 @@ +// priority: 0 + +global.ALEKI_ROOFS_DISABLED_ITEMS = [ + "alekiroofs:mud_brick_roofing", + "alekiroofs:sandstone_roofing", + "alekiroofs:smooth_sandstone_roofing", + "alekiroofs:red_sandstone_roofing", + "alekiroofs:smooth_red_sandstone_roofing", + "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:cobbled_deepslate_roofing", + "alekiroofs:polished_deepslate_roofing", + "alekiroofs:deepslate_tile_roofing", + "alekiroofs:deepslate_brick_roofing", + "alekiroofs:andesite_roofing", + "alekiroofs:polished_andesite_roofing", + "alekiroofs:granite_roofing", + "alekiroofs:polished_granite_roofing", + "alekiroofs:diorite_roofing", + "alekiroofs:polished_diorite_roofing", + "alekiroofs:stone_roofing", + "alekiroofs:cobblestone_roofing", + "alekiroofs:mossy_cobblestone_roofing", + "alekiroofs:stone_brick_roofing", + "alekiroofs:mossy_stone_brick_roofing", + "alekiroofs:purpur_roofing", + "alekiroofs:end_stone_brick_roofing", +]; \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 9c2783bd4..07cf47a25 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -5,69 +5,6 @@ * у которых должны быть удалены тэги и они должны быть скрыты в 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", @@ -650,7 +587,7 @@ global.TFC_DISABLED_ITEMS = [ 'tfc:stone/hoe/sedimentary', // Other - "tfc:trip_hammer", + 'tfc:trip_hammer', 'tfc:steel_pipe', 'tfc:steel_pump', 'tfc:crankshaft', From b1ef6a693e98f9fb0a6e1170526b99bc09f3486b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 13:38:46 +0700 Subject: [PATCH 239/266] fix armor trims --- .../occlusion.properties | 372 +++++++++--------- .../reflectivity.properties | 372 +++++++++--------- kubejs/server_scripts/minecraft/tags.js | 6 + kubejs/startup_scripts/minecraft/constants.js | 17 + 4 files changed, 395 insertions(+), 372 deletions(-) diff --git a/config/sound_physics_remastered/occlusion.properties b/config/sound_physics_remastered/occlusion.properties index 76195904e..a914ab910 100644 --- a/config/sound_physics_remastered/occlusion.properties +++ b/config/sound_physics_remastered/occlusion.properties @@ -9,208 +9,208 @@ # By block ID: # minecraft\:oak_log=1.0 -# Scaffolding (Sound Type) -SCAFFOLDING=0.0 -# Calcite (Sound Type) -CALCITE=1.0 -# Bamboo (Sound Type) -BAMBOO=0.1 -# Small Amethyst Bud (Sound Type) -SMALL_AMETHYST_BUD=0.0 -# Wet Grass (Sound Type) -WET_GRASS=0.1 -# Bone Block (Sound Type) -BONE_BLOCK=1.0 -# Amethyst (Sound Type) -AMETHYST=1.0 -# Ladder (Sound Type) -LADDER=0.0 +# Azalea (Sound Type) +AZALEA=1.0 # Froglight (Sound Type) FROGLIGHT=1.0 -# Stone (Sound Type) -STONE=1.0 -# Sculk (Sound Type) -SCULK=1.0 -# Soul Sand (Sound Type) -SOUL_SAND=1.0 -# Shroomlight (Sound Type) -SHROOMLIGHT=1.0 -# Snow (Sound Type) -SNOW=0.1 -# Sculk Catalyst (Sound Type) -SCULK_CATALYST=1.0 -# Chain (Sound Type) -CHAIN=0.0 -# Nether Sprouts (Sound Type) -NETHER_SPROUTS=1.0 -# Mud (Sound Type) -MUD=1.0 -# Small Dripleaf (Sound Type) -SMALL_DRIPLEAF=0.0 +# Nether Ore (Sound Type) +NETHER_ORE=1.0 # Lily Pad (Sound Type) LILY_PAD=0.0 -# Medium Amethyst Bud (Sound Type) -MEDIUM_AMETHYST_BUD=0.0 -# Ancient Debris (Sound Type) -ANCIENT_DEBRIS=1.0 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=1.0 +# Wool (Sound Type) +WOOL=1.5 +# Packed Mud (Sound Type) +PACKED_MUD=1.0 +# Lodestone (Sound Type) +LODESTONE=1.0 +# Cave Vines (Sound Type) +CAVE_VINES=1.0 +# Small Amethyst Bud (Sound Type) +SMALL_AMETHYST_BUD=0.0 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=1.0 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=1.0 # Mangrove Roots (Sound Type) MANGROVE_ROOTS=1.0 -# Deepslate Tiles (Sound Type) -DEEPSLATE_TILES=1.0 -# Fungus (Sound Type) -FUNGUS=0.0 -# Lantern (Sound Type) -LANTERN=1.0 -# Deepslate Bricks (Sound Type) -DEEPSLATE_BRICKS=1.0 -# Rooted Dirt (Sound Type) -ROOTED_DIRT=1.0 -# Muddy Mangrove Roots (Sound Type) -MUDDY_MANGROVE_ROOTS=1.0 +# Snow (Sound Type) +SNOW=0.1 +# Copper (Sound Type) +COPPER=1.0 +# Bone Block (Sound Type) +BONE_BLOCK=1.0 +# Soul Sand (Sound Type) +SOUL_SAND=1.0 +# Nether Wood (Sound Type) +NETHER_WOOD=1.0 +# Amethyst (Sound Type) +AMETHYST=1.0 +# Grass (Sound Type) +GRASS=1.0 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=1.0 +# Powder Snow (Sound Type) +POWDER_SNOW=0.1 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.0 +# Basalt (Sound Type) +BASALT=1.0 +# Moss (Sound Type) +MOSS=0.75 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=1.0 +# Scaffolding (Sound Type) +SCAFFOLDING=0.0 +# Vine (Sound Type) +VINE=0.0 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=1.0 +# Sand (Sound Type) +SAND=1.0 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.0 +# Mud (Sound Type) +MUD=1.0 +# Stone (Sound Type) +STONE=1.0 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=1.0 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=1.0 +# Twisting Vines (Sound Type) +TWISTING_VINES=0.0 +# Netherrack (Sound Type) +NETHERRACK=1.0 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=1.0 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.0 +# Gravel (Sound Type) +GRAVEL=1.0 +# Shroomlight (Sound Type) +SHROOMLIGHT=1.0 +# Ladder (Sound Type) +LADDER=0.0 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.0 +# Large Amethyst Bud (Sound Type) +LARGE_AMETHYST_BUD=0.0 +# Nether Wart (Sound Type) +NETHER_WART=1.0 +# Coral Block (Sound Type) +CORAL_BLOCK=1.0 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=1.0 # Suspicious Gravel (Sound Type) SUSPICIOUS_GRAVEL=1.0 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.1 +# Wood (Sound Type) +WOOD=1.0 +# Mud Bricks (Sound Type) +MUD_BRICKS=1.0 +# Soul Soil (Sound Type) +SOUL_SOIL=1.0 +# Dripstone Block (Sound Type) +DRIPSTONE_BLOCK=1.0 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=1.0 +# Anvil (Sound Type) +ANVIL=1.0 +# Slime Block (Sound Type) +SLIME_BLOCK=1.0 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.0 +# Sculk Vein (Sound Type) +SCULK_VEIN=1.0 +# Frogspawn (Sound Type) +FROGSPAWN=1.0 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=1.0 +# Fungus (Sound Type) +FUNGUS=0.0 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=1.0 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.1 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=1.0 +# Azalea Leaves (Sound Type) +AZALEA_LEAVES=1.0 +# Roots (Sound Type) +ROOTS=0.0 +# Bamboo Wood (Sound Type) +BAMBOO_WOOD=1.0 +# Hanging Roots (Sound Type) +HANGING_ROOTS=1.0 +# Cherry Wood (Sound Type) +CHERRY_WOOD=1.0 +# Small Dripleaf (Sound Type) +SMALL_DRIPLEAF=0.0 +# Tuff (Sound Type) +TUFF=1.0 +# Honey Block (Sound Type) +HONEY_BLOCK=0.5 +# Bamboo (Sound Type) +BAMBOO=0.1 +# Decorated Pot (Sound Type) +DECORATED_POT=1.0 +# Deepslate Bricks (Sound Type) +DEEPSLATE_BRICKS=1.0 +# Suspicious Sand (Sound Type) +SUSPICIOUS_SAND=1.0 +# Metal (Sound Type) +METAL=1.0 +# Deepslate Tiles (Sound Type) +DEEPSLATE_TILES=1.0 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.0 +# Wart Block (Sound Type) +WART_BLOCK=1.0 +# Deepslate (Sound Type) +DEEPSLATE=1.0 +# Nylium (Sound Type) +NYLIUM=1.0 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=1.0 +# Sculk (Sound Type) +SCULK=1.0 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=1.0 +# Sculk Catalyst (Sound Type) +SCULK_CATALYST=1.0 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.0 +# Hard Crop (Sound Type) +HARD_CROP=1.0 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.0 +# Candle (Sound Type) +CANDLE=1.0 +# Calcite (Sound Type) +CALCITE=1.0 +# Spore Blossom (Sound Type) +SPORE_BLOSSOM=0.0 +# Wet Grass (Sound Type) +WET_GRASS=0.1 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=1.0 # Crop (Sound Type) CROP=0.0 # Nether Bricks (Sound Type) NETHER_BRICKS=1.0 -# Nether Wart (Sound Type) -NETHER_WART=1.0 -# Gilded Blackstone (Sound Type) -GILDED_BLACKSTONE=1.0 -# Wart Block (Sound Type) -WART_BLOCK=1.0 -# Moss Carpet (Sound Type) -MOSS_CARPET=0.1 -# Packed Mud (Sound Type) -PACKED_MUD=1.0 -# Nylium (Sound Type) -NYLIUM=1.0 -# Cherry Sapling (Sound Type) -CHERRY_SAPLING=1.0 -# Flowering Azalea (Sound Type) -FLOWERING_AZALEA=1.0 -# Moss (Sound Type) -MOSS=0.75 -# Wool (Sound Type) -WOOL=1.5 -# Bamboo Wood (Sound Type) -BAMBOO_WOOD=1.0 -# Anvil (Sound Type) -ANVIL=1.0 -# Sand (Sound Type) -SAND=1.0 -# Decorated Pot (Sound Type) -DECORATED_POT=1.0 -# Powder Snow (Sound Type) -POWDER_SNOW=0.1 -# Large Amethyst Bud (Sound Type) -LARGE_AMETHYST_BUD=0.0 -# Roots (Sound Type) -ROOTS=0.0 -# Hanging Roots (Sound Type) -HANGING_ROOTS=1.0 -# Azalea Leaves (Sound Type) -AZALEA_LEAVES=1.0 -# Cherry Wood (Sound Type) -CHERRY_WOOD=1.0 -# Glow Lichen (Sound Type) -GLOW_LICHEN=0.0 -# Suspicious Sand (Sound Type) -SUSPICIOUS_SAND=1.0 -# Mud Bricks (Sound Type) -MUD_BRICKS=1.0 -# Hard Crop (Sound Type) -HARD_CROP=1.0 -# Nether Gold Ore (Sound Type) -NETHER_GOLD_ORE=1.0 -# Pointed Dripstone (Sound Type) -POINTED_DRIPSTONE=0.0 -# Nether Wood (Sound Type) -NETHER_WOOD=1.0 -# Coral Block (Sound Type) -CORAL_BLOCK=1.0 -# Sculk Sensor (Sound Type) -SCULK_SENSOR=1.0 -# Honey Block (Sound Type) -HONEY_BLOCK=0.5 -# Deepslate (Sound Type) -DEEPSLATE=1.0 -# Nether Wood Hanging Sign (Sound Type) -NETHER_WOOD_HANGING_SIGN=1.0 -# Azalea (Sound Type) -AZALEA=1.0 # Stem (Sound Type) STEM=1.0 -# Chiseled Bookshelf (Sound Type) -CHISELED_BOOKSHELF=1.0 -# Sculk Vein (Sound Type) -SCULK_VEIN=1.0 -# Lodestone (Sound Type) -LODESTONE=1.0 -# Netherrack (Sound Type) -NETHERRACK=1.0 -# Sweet Berry Bush (Sound Type) -SWEET_BERRY_BUSH=0.0 -# Decorated Pot Cracked (Sound Type) -DECORATED_POT_CRACKED=1.0 -# Big Dripleaf (Sound Type) -BIG_DRIPLEAF=1.0 -# Spore Blossom (Sound Type) -SPORE_BLOSSOM=0.0 -# Polished Deepslate (Sound Type) -POLISHED_DEEPSLATE=1.0 -# Bamboo Sapling (Sound Type) -BAMBOO_SAPLING=0.1 -# Cherry Wood Hanging Sign (Sound Type) -CHERRY_WOOD_HANGING_SIGN=1.0 -# Soul Soil (Sound Type) -SOUL_SOIL=1.0 -# Candle (Sound Type) -CANDLE=1.0 -# Metal (Sound Type) -METAL=1.0 -# Basalt (Sound Type) -BASALT=1.0 -# Nether Ore (Sound Type) -NETHER_ORE=1.0 -# Gravel (Sound Type) -GRAVEL=1.0 -# Cave Vines (Sound Type) -CAVE_VINES=1.0 -# Sculk Shrieker (Sound Type) -SCULK_SHRIEKER=1.0 -# Netherite Block (Sound Type) -NETHERITE_BLOCK=1.0 -# Tuff (Sound Type) -TUFF=1.0 -# Copper (Sound Type) -COPPER=1.0 -# Dripstone Block (Sound Type) -DRIPSTONE_BLOCK=1.0 -# Slime Block (Sound Type) -SLIME_BLOCK=1.0 -# Amethyst Cluster (Sound Type) -AMETHYST_CLUSTER=1.0 -# Hanging Sign (Sound Type) -HANGING_SIGN=1.0 -# Twisting Vines (Sound Type) -TWISTING_VINES=0.0 -# Frogspawn (Sound Type) -FROGSPAWN=1.0 -# Weeping Vines (Sound Type) -WEEPING_VINES=0.0 -# Grass (Sound Type) -GRASS=1.0 +# Chain (Sound Type) +CHAIN=0.0 # Glass (Sound Type) GLASS=0.1 -# Vine (Sound Type) -VINE=0.0 -# Bamboo Wood Hanging Sign (Sound Type) -BAMBOO_WOOD_HANGING_SIGN=1.0 -# Cherry Leaves (Sound Type) -CHERRY_LEAVES=1.0 -# Wood (Sound Type) -WOOD=1.0 +# Lantern (Sound Type) +LANTERN=1.0 +# Hanging Sign (Sound Type) +HANGING_SIGN=1.0 # Water (Block) minecraft\:water=0.25 # Lava (Block) diff --git a/config/sound_physics_remastered/reflectivity.properties b/config/sound_physics_remastered/reflectivity.properties index b6b855dd9..84bc0739c 100644 --- a/config/sound_physics_remastered/reflectivity.properties +++ b/config/sound_physics_remastered/reflectivity.properties @@ -9,205 +9,205 @@ # By block ID: # minecraft\:oak_log=1.0 -# Scaffolding (Sound Type) -SCAFFOLDING=0.5 -# Calcite (Sound Type) -CALCITE=1.5 -# Bamboo (Sound Type) -BAMBOO=0.5 -# Small Amethyst Bud (Sound Type) -SMALL_AMETHYST_BUD=0.5 -# Wet Grass (Sound Type) -WET_GRASS=0.5 -# Bone Block (Sound Type) -BONE_BLOCK=1.5 -# Amethyst (Sound Type) -AMETHYST=1.5 -# Ladder (Sound Type) -LADDER=0.5 +# Azalea (Sound Type) +AZALEA=0.5 # Froglight (Sound Type) FROGLIGHT=0.5 -# Stone (Sound Type) -STONE=1.5 -# Sculk (Sound Type) -SCULK=0.5 -# Soul Sand (Sound Type) -SOUL_SAND=0.2 -# Shroomlight (Sound Type) -SHROOMLIGHT=0.5 -# Snow (Sound Type) -SNOW=0.15 -# Sculk Catalyst (Sound Type) -SCULK_CATALYST=0.5 -# Chain (Sound Type) -CHAIN=0.5 -# Nether Sprouts (Sound Type) -NETHER_SPROUTS=0.5 -# Mud (Sound Type) -MUD=0.5 -# Small Dripleaf (Sound Type) -SMALL_DRIPLEAF=0.5 +# Nether Ore (Sound Type) +NETHER_ORE=1.1 # Lily Pad (Sound Type) LILY_PAD=0.5 -# Medium Amethyst Bud (Sound Type) -MEDIUM_AMETHYST_BUD=0.5 -# Ancient Debris (Sound Type) -ANCIENT_DEBRIS=0.5 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=0.5 +# Wool (Sound Type) +WOOL=0.1 +# Packed Mud (Sound Type) +PACKED_MUD=0.5 +# Lodestone (Sound Type) +LODESTONE=0.5 +# Cave Vines (Sound Type) +CAVE_VINES=0.5 +# Small Amethyst Bud (Sound Type) +SMALL_AMETHYST_BUD=0.5 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=0.5 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=0.5 # Mangrove Roots (Sound Type) MANGROVE_ROOTS=0.5 -# Deepslate Tiles (Sound Type) -DEEPSLATE_TILES=1.5 -# Fungus (Sound Type) -FUNGUS=0.5 -# Lantern (Sound Type) -LANTERN=0.5 -# Deepslate Bricks (Sound Type) -DEEPSLATE_BRICKS=1.5 -# Rooted Dirt (Sound Type) -ROOTED_DIRT=0.5 -# Muddy Mangrove Roots (Sound Type) -MUDDY_MANGROVE_ROOTS=0.5 +# Snow (Sound Type) +SNOW=0.15 +# Copper (Sound Type) +COPPER=1.25 +# Bone Block (Sound Type) +BONE_BLOCK=1.5 +# Soul Sand (Sound Type) +SOUL_SAND=0.2 +# Nether Wood (Sound Type) +NETHER_WOOD=0.5 +# Amethyst (Sound Type) +AMETHYST=1.5 +# Grass (Sound Type) +GRASS=0.3 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=0.5 +# Powder Snow (Sound Type) +POWDER_SNOW=0.5 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.5 +# Basalt (Sound Type) +BASALT=1.5 +# Moss (Sound Type) +MOSS=0.1 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=0.5 +# Scaffolding (Sound Type) +SCAFFOLDING=0.5 +# Vine (Sound Type) +VINE=0.5 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=0.5 +# Sand (Sound Type) +SAND=0.2 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.5 +# Mud (Sound Type) +MUD=0.5 +# Stone (Sound Type) +STONE=1.5 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=0.5 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=0.5 +# Twisting Vines (Sound Type) +TWISTING_VINES=0.5 +# Netherrack (Sound Type) +NETHERRACK=1.1 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=0.5 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.5 +# Gravel (Sound Type) +GRAVEL=0.3 +# Shroomlight (Sound Type) +SHROOMLIGHT=0.5 +# Ladder (Sound Type) +LADDER=0.5 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.5 +# Large Amethyst Bud (Sound Type) +LARGE_AMETHYST_BUD=0.5 +# Nether Wart (Sound Type) +NETHER_WART=0.5 +# Coral Block (Sound Type) +CORAL_BLOCK=0.2 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=0.5 # Suspicious Gravel (Sound Type) SUSPICIOUS_GRAVEL=0.5 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.5 +# Wood (Sound Type) +WOOD=0.4 +# Mud Bricks (Sound Type) +MUD_BRICKS=0.5 +# Soul Soil (Sound Type) +SOUL_SOIL=0.2 +# Dripstone Block (Sound Type) +DRIPSTONE_BLOCK=0.5 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=0.5 +# Anvil (Sound Type) +ANVIL=0.5 +# Slime Block (Sound Type) +SLIME_BLOCK=0.5 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.5 +# Sculk Vein (Sound Type) +SCULK_VEIN=0.5 +# Frogspawn (Sound Type) +FROGSPAWN=0.5 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=0.5 +# Fungus (Sound Type) +FUNGUS=0.5 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=0.5 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.5 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=0.5 +# Azalea Leaves (Sound Type) +AZALEA_LEAVES=0.5 +# Roots (Sound Type) +ROOTS=0.5 +# Bamboo Wood (Sound Type) +BAMBOO_WOOD=0.5 +# Hanging Roots (Sound Type) +HANGING_ROOTS=0.5 +# Cherry Wood (Sound Type) +CHERRY_WOOD=0.5 +# Small Dripleaf (Sound Type) +SMALL_DRIPLEAF=0.5 +# Tuff (Sound Type) +TUFF=1.5 +# Honey Block (Sound Type) +HONEY_BLOCK=0.1 +# Bamboo (Sound Type) +BAMBOO=0.5 +# Decorated Pot (Sound Type) +DECORATED_POT=0.5 +# Deepslate Bricks (Sound Type) +DEEPSLATE_BRICKS=1.5 +# Suspicious Sand (Sound Type) +SUSPICIOUS_SAND=0.5 +# Metal (Sound Type) +METAL=1.25 +# Deepslate Tiles (Sound Type) +DEEPSLATE_TILES=1.5 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.1 +# Wart Block (Sound Type) +WART_BLOCK=0.5 +# Deepslate (Sound Type) +DEEPSLATE=1.5 +# Nylium (Sound Type) +NYLIUM=0.5 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=0.5 +# Sculk (Sound Type) +SCULK=0.5 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=0.5 +# Sculk Catalyst (Sound Type) +SCULK_CATALYST=0.5 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.5 +# Hard Crop (Sound Type) +HARD_CROP=0.5 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.5 +# Candle (Sound Type) +CANDLE=0.5 +# Calcite (Sound Type) +CALCITE=1.5 +# Spore Blossom (Sound Type) +SPORE_BLOSSOM=0.5 +# Wet Grass (Sound Type) +WET_GRASS=0.5 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=0.5 # Crop (Sound Type) CROP=0.5 # Nether Bricks (Sound Type) NETHER_BRICKS=1.5 -# Nether Wart (Sound Type) -NETHER_WART=0.5 -# Gilded Blackstone (Sound Type) -GILDED_BLACKSTONE=0.5 -# Wart Block (Sound Type) -WART_BLOCK=0.5 -# Moss Carpet (Sound Type) -MOSS_CARPET=0.5 -# Packed Mud (Sound Type) -PACKED_MUD=0.5 -# Nylium (Sound Type) -NYLIUM=0.5 -# Cherry Sapling (Sound Type) -CHERRY_SAPLING=0.5 -# Flowering Azalea (Sound Type) -FLOWERING_AZALEA=0.5 -# Moss (Sound Type) -MOSS=0.1 -# Wool (Sound Type) -WOOL=0.1 -# Bamboo Wood (Sound Type) -BAMBOO_WOOD=0.5 -# Anvil (Sound Type) -ANVIL=0.5 -# Sand (Sound Type) -SAND=0.2 -# Decorated Pot (Sound Type) -DECORATED_POT=0.5 -# Powder Snow (Sound Type) -POWDER_SNOW=0.5 -# Large Amethyst Bud (Sound Type) -LARGE_AMETHYST_BUD=0.5 -# Roots (Sound Type) -ROOTS=0.5 -# Hanging Roots (Sound Type) -HANGING_ROOTS=0.5 -# Azalea Leaves (Sound Type) -AZALEA_LEAVES=0.5 -# Cherry Wood (Sound Type) -CHERRY_WOOD=0.5 -# Glow Lichen (Sound Type) -GLOW_LICHEN=0.5 -# Suspicious Sand (Sound Type) -SUSPICIOUS_SAND=0.5 -# Mud Bricks (Sound Type) -MUD_BRICKS=0.5 -# Hard Crop (Sound Type) -HARD_CROP=0.5 -# Nether Gold Ore (Sound Type) -NETHER_GOLD_ORE=1.1 -# Pointed Dripstone (Sound Type) -POINTED_DRIPSTONE=0.5 -# Nether Wood (Sound Type) -NETHER_WOOD=0.5 -# Coral Block (Sound Type) -CORAL_BLOCK=0.2 -# Sculk Sensor (Sound Type) -SCULK_SENSOR=0.5 -# Honey Block (Sound Type) -HONEY_BLOCK=0.1 -# Deepslate (Sound Type) -DEEPSLATE=1.5 -# Nether Wood Hanging Sign (Sound Type) -NETHER_WOOD_HANGING_SIGN=0.5 -# Azalea (Sound Type) -AZALEA=0.5 # Stem (Sound Type) STEM=0.4 -# Chiseled Bookshelf (Sound Type) -CHISELED_BOOKSHELF=0.5 -# Sculk Vein (Sound Type) -SCULK_VEIN=0.5 -# Lodestone (Sound Type) -LODESTONE=0.5 -# Netherrack (Sound Type) -NETHERRACK=1.1 -# Sweet Berry Bush (Sound Type) -SWEET_BERRY_BUSH=0.5 -# Decorated Pot Cracked (Sound Type) -DECORATED_POT_CRACKED=0.5 -# Big Dripleaf (Sound Type) -BIG_DRIPLEAF=0.5 -# Spore Blossom (Sound Type) -SPORE_BLOSSOM=0.5 -# Polished Deepslate (Sound Type) -POLISHED_DEEPSLATE=1.5 -# Bamboo Sapling (Sound Type) -BAMBOO_SAPLING=0.5 -# Cherry Wood Hanging Sign (Sound Type) -CHERRY_WOOD_HANGING_SIGN=0.5 -# Soul Soil (Sound Type) -SOUL_SOIL=0.2 -# Candle (Sound Type) -CANDLE=0.5 -# Metal (Sound Type) -METAL=1.25 -# Basalt (Sound Type) -BASALT=1.5 -# Nether Ore (Sound Type) -NETHER_ORE=1.1 -# Gravel (Sound Type) -GRAVEL=0.3 -# Cave Vines (Sound Type) -CAVE_VINES=0.5 -# Sculk Shrieker (Sound Type) -SCULK_SHRIEKER=0.5 -# Netherite Block (Sound Type) -NETHERITE_BLOCK=1.5 -# Tuff (Sound Type) -TUFF=1.5 -# Copper (Sound Type) -COPPER=1.25 -# Dripstone Block (Sound Type) -DRIPSTONE_BLOCK=0.5 -# Slime Block (Sound Type) -SLIME_BLOCK=0.5 -# Amethyst Cluster (Sound Type) -AMETHYST_CLUSTER=0.5 -# Hanging Sign (Sound Type) -HANGING_SIGN=0.5 -# Twisting Vines (Sound Type) -TWISTING_VINES=0.5 -# Frogspawn (Sound Type) -FROGSPAWN=0.5 -# Weeping Vines (Sound Type) -WEEPING_VINES=0.5 -# Grass (Sound Type) -GRASS=0.3 +# Chain (Sound Type) +CHAIN=0.5 # Glass (Sound Type) GLASS=0.75 -# Vine (Sound Type) -VINE=0.5 -# Bamboo Wood Hanging Sign (Sound Type) -BAMBOO_WOOD_HANGING_SIGN=0.5 -# Cherry Leaves (Sound Type) -CHERRY_LEAVES=0.5 -# Wood (Sound Type) -WOOD=0.4 +# Lantern (Sound Type) +LANTERN=0.5 +# Hanging Sign (Sound Type) +HANGING_SIGN=0.5 diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 38dbba30d..b66185386 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -27,6 +27,12 @@ const registerMinecraftItemTags = (event) => { event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') //#endregion + + //#region Материалы для тримминга + global.MINECRAFT_TRIM_MATERIALS.forEach(el => { + event.add('minecraft:trim_materials', el) + }) + //#endregion } const registerMinecraftBlockTags = (event) => { diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 42444917b..adeddf00c 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -947,3 +947,20 @@ global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS = [ { block: 'minecraft:waxed_weathered_copper', cutted: 'minecraft:waxed_weathered_cut_copper', stairs: 'minecraft:waxed_weathered_cut_copper_stairs', slabs: 'minecraft:waxed_weathered_cut_copper_slab', name: 'waxed_weathered_copper' }, { block: 'minecraft:waxed_oxidized_copper', cutted: 'minecraft:waxed_oxidized_cut_copper', stairs: 'minecraft:waxed_oxidized_cut_copper_stairs', slabs: 'minecraft:waxed_oxidized_cut_copper_slab', name: 'waxed_oxidized_copper' } ]; + +global.MINECRAFT_TRIM_MATERIALS = [ + 'minecraft:amethyst_shard', + 'gtceu:bismuth_ingot', + 'minecraft:diamond', + 'minecraft:emerald', + 'minecraft:gold_ingot', + 'minecraft:lapis_lazuli', + 'gtceu:opal_gem', + 'gtceu:raw_pyrite', + 'gtceu:rose_gold_ingot', + 'gtceu:ruby_gem', + 'gtceu:sapphire_gem', + 'gtceu:silver_ingot', + 'gtceu:sterling_silver_ingot', + 'gtceu:topaz_gem' +]; \ No newline at end of file From 573ded8995dbb749228f8932fbcbabae4d9200e9 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sun, 20 Oct 2024 11:41:44 +0500 Subject: [PATCH 240/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index 3dd60731d..01e71509f 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 3dd60731da353e83605c765dfc3d8fc5d426bd67 +Subproject commit 01e71509ff6448fd47acb9d49d79ac2cc9565220 From b548c2253b80488ff9517a2ab95065d13ef79181 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 14:15:37 +0700 Subject: [PATCH 241/266] some create addons fixes --- .../create_low_heated/recipes.js | 22 ++++++++++- .../server_scripts/create_low_heated/tags.js | 28 ++++++++----- .../create_picky_wheels/tags.js | 39 +++++++++++++++++++ kubejs/server_scripts/main_server_script.js | 2 + 4 files changed, 79 insertions(+), 12 deletions(-) create mode 100644 kubejs/server_scripts/create_picky_wheels/tags.js diff --git a/kubejs/server_scripts/create_low_heated/recipes.js b/kubejs/server_scripts/create_low_heated/recipes.js index f01469883..9c17236d8 100644 --- a/kubejs/server_scripts/create_low_heated/recipes.js +++ b/kubejs/server_scripts/create_low_heated/recipes.js @@ -1,7 +1,25 @@ // priority: 0 -const registerCreateLowHeatedRecipes = (event) => { +const registerCreateLowHeatedRecipes = (e) => { // Удаление рецептов - event.remove({ mod: 'createlowheated' }); + e.remove({ mod: 'createlowheated' }) + + //#region Основной блок + e.shaped('createlowheated:basic_burner', [ + 'A A', + 'BhB', + 'AAA' + ], { + A: '#tfg:all_iron_plates', + B: '#tfg:all_iron_rods', + h: '#forge:tools/hammers' + }).id('tfg:shaped/createlowheated/basic_burner') + + e.recipes.gtceu.assembler('tfg:createlowheated/basic_burner') + .itemInputs('5x #tfg:all_iron_plates', '2x #tfg:all_iron_rods') + .circuit(3) + .itemOutputs('createlowheated:basic_burner') + .EUt(4).duration(160) + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/create_low_heated/tags.js b/kubejs/server_scripts/create_low_heated/tags.js index d41b82981..187f7f73a 100644 --- a/kubejs/server_scripts/create_low_heated/tags.js +++ b/kubejs/server_scripts/create_low_heated/tags.js @@ -1,16 +1,24 @@ // priority: 0 -const registerCreateLowHeatedItemTags = (event) => { - - -} +const registerCreateLowHeatedItemTags = (e) => { + //#region Белый список для печки Create -const registerCreateLowHeatedBlockTags = (event) => { - - -} + // По дефолту ничего не делает, чтобы заработала нужно в конфиге поменять ignoresFuelTagWhitelist = true на false, но нам это не нужно. + const FUEL_LIST = ['minecraft:coal', 'gtceu:poor_raw_coal', 'gtceu:raw_coal', 'gtceu:rich_raw_coal', 'gtceu:coke_gem']; -const registerCreateLowHeatedFluidTags = (event) => { - + FUEL_LIST.forEach(el => { + e.add('createlowheated:basic_burner_fuel_whitelist', el) + }) + + //#endregion + //#region Предметы которые могут поджигать печь Create + const BURNDER_STARTER_LIST = [ + 'tfc:firestarter', 'tfc:torch', 'gtceu:invar_lighter', 'gtceu:platinum_lighter' + ]; + + BURNDER_STARTER_LIST.forEach(el => { + e.add('createlowheated:burner_starters', el) + }) + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/create_picky_wheels/tags.js b/kubejs/server_scripts/create_picky_wheels/tags.js new file mode 100644 index 000000000..877141bc4 --- /dev/null +++ b/kubejs/server_scripts/create_picky_wheels/tags.js @@ -0,0 +1,39 @@ +// priority: 0 + +const registerCreatePickyWheelsBiomeTags = (e) => { + + //#region Водные колеса + e.remove('createpickywheels:waterwheels_whitelist', '#minecraft:is_overworld') + e.add('createpickywheels:waterwheels_whitelist', '#tfg:is_overworld') + + e.remove('createpickywheels:waterwheels_boosted', "#minecraft:is_river") + e.add('createpickywheels:waterwheels_whitelist', '#tfc:is_river') + //#endregion + + //#region Ветрянные мельницы + e.remove('createpickywheels:windmills_whitelist', '#minecraft:is_overworld') + e.add('createpickywheels:windmills_whitelist', '#tfg:is_overworld') + + e.remove('createpickywheels:windmills_boosted', "#minecraft:is_ocean") + e.remove('createpickywheels:windmills_boosted', "#minecraft:is_deep_ocean") + e.remove('createpickywheels:windmills_boosted', "#minecraft:is_badlands") + e.remove('createpickywheels:windmills_boosted', "#forge:is_desert") + e.remove('createpickywheels:windmills_boosted', "#forge:is_peak") + e.remove('createpickywheels:windmills_boosted', "#forge:is_plains" ) + + e.add('createpickywheels:windmills_boosted', "#tfc:is_ocean") + e.add('createpickywheels:windmills_boosted', "tfc:badlands") + e.add('createpickywheels:windmills_boosted', "tfc:highlands") + e.add('createpickywheels:windmills_boosted', "tfc:inverted_badlands") + e.add('createpickywheels:windmills_boosted', "tfc:mountains") + e.add('createpickywheels:windmills_boosted', "tfc:mountain_lake") + e.add('createpickywheels:windmills_boosted', "tfc:old_mountain_lake") + e.add('createpickywheels:windmills_boosted', "tfc:old_mountains") + e.add('createpickywheels:windmills_boosted', "tfc:plains") + e.add('createpickywheels:windmills_boosted', "tfc:rolling_hills") + e.add('createpickywheels:windmills_boosted', "tfc:volcanic_mountain_lake") + e.add('createpickywheels:windmills_boosted', "tfc:volcanic_mountains") + e.add('createpickywheels:windmills_boosted', "tfc:volcanic_oceanic_mountain_lake") + e.add('createpickywheels:windmills_boosted', "tfc:volcanic_oceanic_mountains") + //#endregion +} \ 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 5252e59a0..3c4a3d3cd 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -13,6 +13,7 @@ ServerEvents.tags('item', event => { registerComputerCraftItemTags(event) registerCreateItemTags(event) registerCreateAdditionsItemTags(event) + registerCreateLowHeatedItemTags(event) registerExtendedAE2ItemTags(event) registerFirmaCivItemTags(event) registerFirmaLifeItemTags(event) @@ -71,6 +72,7 @@ ServerEvents.tags('fluid', event => { */ ServerEvents.tags('worldgen/biome', event => { registerTFCBiomeTags(event) + registerCreatePickyWheelsBiomeTags(event) }) /** From 6cd3cd0af161a3e9cefea9ed365ef5daada06087 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 14:31:36 +0700 Subject: [PATCH 242/266] xaero options --- .gitignore | 4 +- config/xaerominimap.txt | 129 +++++++++++++++++++++++++++++++++++++++ config/xaeroworldmap.txt | 55 +++++++++++++++++ 3 files changed, 186 insertions(+), 2 deletions(-) create mode 100644 config/xaerominimap.txt create mode 100644 config/xaeroworldmap.txt diff --git a/.gitignore b/.gitignore index 544d517c0..261063990 100644 --- a/.gitignore +++ b/.gitignore @@ -18,8 +18,8 @@ config/fml.toml config/forge-client.toml config/xaerominimap_entities.json config/voicechat/username-cache.json -config/xaerominimap.txt -config/xaeroworldmap.txt +# config/xaerominimap.txt +# config/xaeroworldmap.txt config/jei/worldSettings.cfg config/JustEnoughCalculation/record.json config/splash.properties diff --git a/config/xaerominimap.txt b/config/xaerominimap.txt new file mode 100644 index 000000000..3fe036920 --- /dev/null +++ b/config/xaerominimap.txt @@ -0,0 +1,129 @@ +#CONFIG ONLY OPTIONS +ignoreUpdate:378 +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 +displayTrackedPlayers:true +dimensionScaledMaxWaypointDistance:true +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:true:15:-1 +infoDisplay:weather:false:15:-1 +infoDisplay:light_level:0:15:-1 +infoDisplay:time:1:15:-1 +infoDisplay:real_time:1: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=-5;y=-8;centered=false;fromRight=true;fromBottom=false;flippedVer=false;flippedHor=false; diff --git a/config/xaeroworldmap.txt b/config/xaeroworldmap.txt new file mode 100644 index 000000000..846779261 --- /dev/null +++ b/config/xaeroworldmap.txt @@ -0,0 +1,55 @@ +ignoreUpdate:179 +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:176 +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 From f826cdf0a705915a06a3643e794826c046ab4611 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 14:31:39 +0700 Subject: [PATCH 243/266] Create sodiumextras-client.toml --- config/sodiumextras-client.toml | 131 ++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 config/sodiumextras-client.toml diff --git a/config/sodiumextras-client.toml b/config/sodiumextras-client.toml new file mode 100644 index 000000000..b0b133d6c --- /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 = "SIMPLE" + #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 = "DARK" + #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 = "REPLACE" + #Toggles fast language reload + #Embeddedt points it maybe cause troubles to JEI, so ¿why not add it as a toggleable option? + fastLanguageReload = true + From 6bdb5a90e4f66361233fe6b6df831999edbff7c0 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 14:31:53 +0700 Subject: [PATCH 244/266] drop embed++, add sodium opts --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index 01e71509f..ce7eaba29 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 01e71509ff6448fd47acb9d49d79ac2cc9565220 +Subproject commit ce7eaba290154a8b7aa408f3e723bb204349e62b From bf44c228e723adf5bc3357defc4eddd7539120fe Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 14:32:26 +0700 Subject: [PATCH 245/266] Update everycomp-entries.toml --- config/everycomp-entries.toml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/config/everycomp-entries.toml b/config/everycomp-entries.toml index 72e12a12f..ee27b897b 100644 --- a/config/everycomp-entries.toml +++ b/config/everycomp-entries.toml @@ -34,6 +34,31 @@ [types.wood_type.gtceu] rubber = false + [types.stone_type] + + [types.stone_type.gtceu] + coke_oven = false + red_granite = false + marble = false + light_concrete = false + dark_concrete = false + + [types.stone_type.create] + cut_granite = false + cut_diorite = false + cut_andesite = false + cut_calcite = false + cut_dripstone = false + cut_deepslate = false + cut_tuff = false + cut_asurine = false + cut_crimsite = false + cut_limestone = false + cut_ochrum = false + cut_scoria = false + cut_scorchia = false + cut_veridium = false + #Disables specific entries [entries] From ac154a519e1da2a0396a9f240a144320d8cd41c1 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 14:34:02 +0700 Subject: [PATCH 246/266] cleanup --- .gitignore | 1 + config/embeddium++.toml | 176 ------------------------------ config/embeddium-fingerprint.json | 1 - 3 files changed, 1 insertion(+), 177 deletions(-) delete mode 100644 config/embeddium++.toml delete mode 100644 config/embeddium-fingerprint.json diff --git a/.gitignore b/.gitignore index 261063990..ddcd4264e 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ config/fancymenu/user_variables.db config/AppliedEnergistics2/items.csv config/AppliedEnergistics2/CustomRecipes.cfg config/cherishedworlds/favorites.dat +config/embeddium-fingerprint.json # .minecraft diff --git a/config/embeddium++.toml b/config/embeddium++.toml deleted file mode 100644 index d01a7333d..000000000 --- a/config/embeddium++.toml +++ /dev/null @@ -1,176 +0,0 @@ - -[embeddiumplus] - - [embeddiumplus.general] - #Configure FPS Display mode - #Complete mode gives you min FPS count and average count - #Allowed Values: OFF, SIMPLE, ADVANCED - fpsDisplay = "OFF" - #Shows GPU and memory usage onto FPS display - #Allowed Values: OFF, ON, GPU, RAM - fpsDisplaySystem = "OFF" - #Set Fullscreen mode - #Borderless let you change between screens more faster and move your mouse across monitors - #Allowed Values: WINDOWED, BORDERLESS, FULLSCREEN - fullscreen = "FULLSCREEN" - #Configure FPS Display gravity - #Places counter on specified corner of your screen - #Allowed Values: LEFT, CENTER, RIGHT - fpsDisplayGravity = "LEFT" - #Toggle FPS Display shadow - #In case sometimes you can't see the text - fpsDisplayShadow = false - #Configure FPS Display margin - #Give some space between corner and text - #Range: 0 ~ 48 - fpsDisplayMargin = 12 - - [embeddiumplus.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 - #Sets culling mode - #Reduces number of visible faces when the neighbor blocks are leaves - #Allowed Values: ALL, OFF - leavesCulling = "OFF" - - [embeddiumplus.performance.distanceCulling] - - [embeddiumplus.performance.distanceCulling.entities] - #Toggles distance culling for entities, doesn't affect monsters culling - #Check the options below - enable = true - #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 = [] - #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 - - [embeddiumplus.performance.distanceCulling.entities.monsters] - #Toggles distance culling for monsters (or hostile entities, whatever you want to call it), doesn't affect neutral/pacific entities - #Check the options above - enable = false - #Configure horizontal max distance before cull monster entities - #Value is squared, default was 64^2 (or 64x64) - #Range: > 0 - cullingMaxDistanceX = 16384 - #Configure vertical max distance before cull monster entities - #Value is raw - #Range: 0 ~ 512 - cullingMaxDistanceY = 64 - #List of all monster 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:*"] - - [embeddiumplus.performance.distanceCulling.tileEntities] - #Toggles distance culling for Block Entities - #Maybe you use another mod for that :( - enable = true - #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 = [] - #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 - - [embeddiumplus.performance.fastModels] - #Toggles FastChest feature - #Without flywheel installed or using any backend, it increases FPS significatly on chest rooms - enableChests = false - #Toggles FastBeds feature - enableBeds = false - - [embeddiumplus.dynlights] - #Toggle if Block Entities should have dynamic lights - onTileEntities = true - #Configure how fast light whould be updated - #Allowed Values: OFF, SLOW, NORMAL, FAST, SUPERFAST, FASTESTS, REALTIME - updateSpeed = "NORMAL" - #Toggle if Entities should have dynamic lights - onEntities = true - updateOnlyOnPositionChange = true - - [embeddiumplus.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 - - [embeddiumplus.quality] - #Chunks fade in speed - #This option doesn't affect performance, just changes speed - #Allowed Values: OFF, FAST, SLOW - chunkFadeSpeed = "SLOW" - #Raise clouds - #Modify clouds height perfect for a adaptative world experience - #Range: 0 ~ 512 - cloudsHeight = 256 - #Toggle fog feature - #Fog was a vanilla feature - fog = true - #Clean my skies - #Blue band was a vanilla feature, toggle off will show sky color directly - blueBand = true - #Do not show me your name - #disables nametag rendering for players and entities - disableNameTagRendering = false - - [embeddiumplus.quality.darkness] - #Configure fog brightness on nether when darkness is enabled - #Range: 0.0 ~ 1.0 - endFogBright = 0.5 - #Configure min moon brightness level with darkness - #Range: 0.0 ~ 1.0 - newMoonBright = 0.0 - #Toggle Darkness on End dimension - enableOnEnd = false - #Toggle Darkness default mode for modded dimensions - valueByDefault = false - #Configure Darkness Mode - #Each config changes what is considered 'true darkness' - #Allowed Values: TOTAL_DARKNESS, PITCH_BLACK, DARK, DIM, OFF - mode = "PITCH_BLACK" - #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 fog brightness on nether when darkness is enabled - #Range: 0.0 ~ 1.0 - netherFogBright = 0.5 - #Toggle Darkness on Nether dimension - enableOnNether = false - #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 - #Toggle Darkness on Overworld dimension - enableOnOverworld = true - #List of all dimensions to use True Darkness - #This option overrides 'valueByDefault' state - dimensionWhitelist = [] - 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 From 4d166c7e9c5d8063c5e899424af5d235e1932fe7 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 14:34:45 +0700 Subject: [PATCH 247/266] ckeanup 2 --- .gitignore | 1 + config/everycomp-hazardous.properties | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 config/everycomp-hazardous.properties diff --git a/.gitignore b/.gitignore index ddcd4264e..a592da2c3 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ config/AppliedEnergistics2/items.csv config/AppliedEnergistics2/CustomRecipes.cfg config/cherishedworlds/favorites.dat config/embeddium-fingerprint.json +config/everycomp-hazardous.properties # .minecraft diff --git a/config/everycomp-hazardous.properties b/config/everycomp-hazardous.properties deleted file mode 100644 index 09aaea256..000000000 --- a/config/everycomp-hazardous.properties +++ /dev/null @@ -1,2 +0,0 @@ -#Hard disable entire modules. Use at your own risk and don't ask for support if you use this -#Sun Sep 22 02:00:00 YEKT 2024 From c22e86ae59654feb3dbf8417d4450f74b9af9c8c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 14:34:49 +0700 Subject: [PATCH 248/266] Update options.txt --- config/fancymenu/options.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 From e7e422f703d45141cf0e7a957f7548830762e03d Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 14:34:56 +0700 Subject: [PATCH 249/266] Update luv__ludicrous_voltage.snbt --- config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt index a328e0bac..20696066a 100644 --- a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt +++ b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt @@ -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 From ff7d61cd70b08884c7c9b9e0a0037348a557343a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 14:35:04 +0700 Subject: [PATCH 250/266] Update curios.json --- config/InventoryHUD/curios.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/InventoryHUD/curios.json b/config/InventoryHUD/curios.json index b597326ec..e771f7a92 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"},"petrolpark_badge":{"x":0,"y":100,"enabled":false,"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"},"clothes_pants":{"x":20,"y":62,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"clothes_socks":{"x":20,"y":44,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"petrolpark_badge":{"x":0,"y":100,"enabled":false,"halign":"LEFT","valign":"TOP"}} \ No newline at end of file From 7f61e3e2ef169d16979d764bfe715c64d60d90a8 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 14:36:26 +0700 Subject: [PATCH 251/266] Update allowed_sounds.properties --- config/sound_physics_remastered/allowed_sounds.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/config/sound_physics_remastered/allowed_sounds.properties b/config/sound_physics_remastered/allowed_sounds.properties index 10c1a15e3..e0f59b1df 100644 --- a/config/sound_physics_remastered/allowed_sounds.properties +++ b/config/sound_physics_remastered/allowed_sounds.properties @@ -1260,6 +1260,7 @@ 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 From e4e2593fcb36a2383a0bd81a89886574eff27a00 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Oct 2024 14:36:49 +0700 Subject: [PATCH 252/266] Update craftpresence.json --- config/craftpresence.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/config/craftpresence.json b/config/craftpresence.json index 785ae3ef8..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", From e570a5079d9f84056faa488dc37abe0ad8a435c9 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sun, 20 Oct 2024 16:44:22 +0500 Subject: [PATCH 253/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index ce7eaba29..011bb3cce 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit ce7eaba290154a8b7aa408f3e723bb204349e62b +Subproject commit 011bb3ccee340da32b54e94264123c9d281b5929 From 98d52419ce0be6a1da57f2b4dc4489bd4977d6ce Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Sun, 20 Oct 2024 21:05:16 +0500 Subject: [PATCH 254/266] coil --- .../block/casings/coils/machine_coil_copper.png | Bin 0 -> 2260 bytes .../casings/coils/machine_coil_copper.png.mcmeta | 5 +++++ .../casings/coils/machine_coil_copper_bloom.png | Bin 0 -> 2179 bytes .../coils/machine_coil_copper_bloom.png.mcmeta | 9 +++++++++ .../coils/machine_coil_copper_bloom_ctm.png | Bin 0 -> 2671 bytes .../machine_coil_copper_bloom_ctm.png.mcmeta | 5 +++++ .../casings/coils/machine_coil_copper_ctm.png | Bin 0 -> 2851 bytes kubejs/startup_scripts/gregtech/blocks.js | 2 +- 8 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png create mode 100644 kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom.png create mode 100644 kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom_ctm.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_ctm.png diff --git a/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png new file mode 100644 index 0000000000000000000000000000000000000000..2e717fa4c8698c2a89d55a559523b967b6c40578 GIT binary patch literal 2260 zcmcIleNYr-7(Zh)WyG&gN>kSb71F)i-P^mp-8d1CuTu{WL_soSZ|}Wh_4e-ETey>{ zG)ToJMngdo!=^H@G?N@fG0CyQ{36mUO%v3~@sqGGtx%)sGKKl$UOdaZrJ?_#uC_I%x-n98Xl}Zh-)o8!>FP^Vd zsrokw*|~DAWj4!uL^Wsk*nm19dLde+icbi5Iesya5gTv{ZX?>&+=3#4-H7JsEV#vM z0);|ai3H}9q-XObi+RS5CQOS6j}NerK?E{~1VoqH#|DgOkeG$n%C-hYf)IJJ5zVz& z5tBy(2&JafIF=j`ib)ibAV|Dqcd%JWDZM0cWkd^Q*~@A)e!pMs*Qz~|Q$sKeqrpiH zNn#Lz`Ifq6E`Ygx(LE%+G)ch6OM+JxJZ?mx4=W3fzqR>CJ<6S6`Jv=6MIY}!kfA;mAQXd5 z^6*7UCUcSzRSIP79$v7s!Al1eod#MS(-ItoQFc9!aX3w2B*&2?Pw6Ov(T8}X0-rGaE7P!Hk`x=4(BjR$55C7Pyn+r97&P1PRrn2C_Y0Hp!GP{!}TaUcF051 zgpScUv@knGV-!q_K?Xf$r+EXg890uCjzko_*+i?^h>~i&cWHHTvcn^ZMs&8|E(-MS zW(y*iBXf#Ggq|dEn$gmPp2oGfp%*a^NIvKxg^Iw{B!wb&o=t&795jR=a!#P}x}7MZ z=+45@p@5uXI!G97h&4%olRZ+l$Kx`hN@a+`6!I!`YmfSAf)ApW2A=~Y_z6A@bHI{^ zwtBto5|E%HS&r{X<>QJ0?7L@^FXY@#03TWCmYyBq5hr3GfDU#F^`mTBj525m%%)>_ z47bsC+M(ka8>tJ$`#cWW&q*NB3A=+$Kyw6}Kw^Vh#)WYHLZAqRlLUtAFjAjQ&@4r> zB!l5Ji^G%9{6D?mI)-!5gdGFCo`misY?#4dXP~=CMhhKb0Qx?4{(CP5R;yKqWYAXU2B_0N=A(b5dfq zA!GZxmYIjFkzZuYsGoH8t08%L2e*{28~JX>+Qeb24rE0|ZEkIUd~IpduJjqrk&Ctt zVQW5XuemT`&&q-uWB*8$ZuxKB^|yV}x_9rmEtS#fwr=CXi3QKE+(~#>=0pjR$!Ah3 z#lZW6OQ(a(HB{_brt|Ln(fbz9U4FkKEkCF05Ao9P7sRc?<*A)7)laN1tGiRNZ*-}+ zpc-`_ICcD!Lt(2ETGp@HFu7{ejhL9d1Kyg7wqVtb`7fq*HBHI?cEx66)g zUbt;jXUw6;3;Pe7Hpbb+jPf3@%B-%?zHr;{Enj9CTDZ1Cd+wL%wTJnaXSZg|JMq)` z-;fO@JC@Hh@XaT;UH0!8x~MJU+SFgxz46TK`45Z>3tUT&EKBE~`uys)O)1togQ3yz fW=GEW!$Uva5_h`w!tTk+i_V;!p7i02g3`YL+mtQO literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png.mcmeta new file mode 100644 index 000000000..250d849bf --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/coils/machine_coil_copper_ctm" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom.png b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom.png new file mode 100644 index 0000000000000000000000000000000000000000..479af03d4026f50033e95435eb07d85b0b6decdc GIT binary patch literal 2179 zcma)8eTWog7+*>3JU#kCkTP!?qdaYP-uc?u8C=i1+tXXzy_R#;GYWiX=H1=tc4zix z=5F^6AvFY}g2F)iBl?y;;DXAiPSQU*!@?*d`Y;lLA}}zL6oR~-cR%J#&T?UQ-g)2O z^LxIZcOT0RZt7^iy*(0%bfgB7L-4$re%ltoZ|8+s43EW?fgOG%5?w{V3u>=+k4GXm zuCa5&!Eh$6n{GLZE!QB?TDbz~NMv1it%A)F5-^X*l$hp+1$Ca4*N2iDo66uV!4`v{ zqVs&UT8&nvsOuGYLDMuIiM%LsfZ+TIC%`q%@mIANlEgPXyAs&0!%#+SxMM+r1ydV7 zlq;D`NbLB{NI}f_8m{m{6!GOUb*zr|gZ^<4ZkjPK+Rsf?2tP!8cg!a;5GD1U6J+nIWb!=9TK_mdTS6DFc}gHVGjXG6Cp2fIA+EQl>S;jK; zjX;EbsQws$H;K@AC)_TrcOkr36b&V<=VK+r}A5;(&kx1bu*HPLOl7 zqmVACYmuy@CN$$(c77s+0uFH^$_c72LGuArnS(+27M|uiiCPWt6u^w4wbv?sf zEnKxoX!?*Sa7f|A7!8@M>Y_#m7etr8F8k-R_WG*2;caNewG!8WUFB3`5@%ce&xlG? z5Si86ZO3w}e(2&A!KL2tbXGPJ!(W}Vxs$s0thm15q?(1v)a;&|k7!mNW?Y|JGc$`HFep5{65JF2m~!Ucw8I zI8aX>TyG}^9~y(JaW<9g$;F?XIneX)qZ^j*>wf%>(c9XVwq>TJeb*1sW%pP- zc`NPQdef#;56p`1r*>t3dv8YkV@g^+osfp_y>#-0uA#rDI?q`L@>}iiYe&90JvO!U ybo#TeFW-GGJ$}ZR*l~9A_;Y8MJuy9dqH{)H`1!BfkB-v6390_UqBUs!tvMS*Xny7~bG>1ferv#0TrQ-BMy(&34? z#bTZWK@%I+uMW-l(jNDAXw38@O@)K5T#_fuwtG4bugsbME?l(Rw)W#3+j{5AzP)vi zV^{gc{^`3V{U&4`PP;d_w*QfxZ`zg(8(4qw!RCvW-?i%AcXn=GK6`n0(e8?K4STPj zJU_~{p!}f~Z>3p8%x%6y9(__rBz`!ff6}7nF~YbNL(YWG?u^0* zoZ7bawb&8Coq69PW}J9f8(R`QuUHdTS`H2Km*{4VT~HRBw|4l~ z#a)h*yM*GicV0~!zdCy3s#fEH#JAs>F|wn5_NbPw{)_NL4?Xrk;a~S0d|3CB^`*{k z!M8PQQ0i3csN%FhlcDa9@zd7bavqZthIg^m4!)U|Khq8UZ2G73-n#!v^6)z7(9!&- z-E&e}KqUvu*~JP38IrU|7ucRs0YOnKMMsfZlsk*zB(H(h>T3viWq^jDZPN3_;=iqO6LN57sQQPN`hA>OrVIIe6vV+=yYH(pxD|Gc>@;C~m+|uUAVf zj8@d?6+pQ+j2EI6N0ls~1%e`#`#E8Hh2T?@`qX(YqAQpCJ>dj+4i!9t7r+$Y4Uf3W z%E`4y&|1Q7(JO~F00|KkSVurF45!bvTq>!OQY!rlJhC0mxKBwHT|XE7zszep5h$o2 zlOb{CS`s-KR=pM}!%LjVGvTERkVFec4l&{^iIBVrLs*Q)5rSn2f+Hysx0p1Snw=b< zqOv|t(Ch$-K?FuDI8HlhCx%!knnIjrl15m;Nh3y=nIZ&%BwehtPe0!;f{tcA&&Q+L z;ej2R#wiQsG6L_w1PR>Ck2gV~q3^jAXE0 zXs*PIuBr$W;4p;195~Gw%?w6O!Kk01V3K)OW&bZY(ld-r@<@K*0>lBb(RzacJb-Rs zwXp*kYs1*XZ?>p_bgFvCdycTUcjXb`@Nh9K*Q2Ab6#`(RN63}3KDPkQC(!sk67dCn zV#WmuH_?Dq(rH9Uvk^y}l!ZeuC(Y9?inBNgs!v~$Txuoj7t-7yOi)?Svf;|Y6T_@c z>cdr*3K}ICfg>1&5GJi;B+U>O?Z^VvMSoNLFN*fJb#+g+ktlwRxE|OqlIl5w?R}FE z6O;ib;E8iZA1_rZkrbaRu9gj|osvDopuglSy!YIR+6M>6w6=^~5a1t z7e8tR_j7EYW&f}!RX%x^wXui!9}O<4@_DbZ0dL6t2vtv+EP-R zO49E)X8#y{<4mh}NBnqsoV|cJ8RrXxhTwAF-~Yd*Lz za|47m7reTqZK^wlY~PoNNhoW&S9UBlv}4x(HqY7iRZAQ8j{e>@Fm+I{IEHe~JuzU# zlf%S&osV>fx__v9^w_mXZKFI};-O30vLtl;ma`_ayEU(M_|c_f&c{8=o*T0;At7tW zH~%h={k&nxy%}RU^O0+vZSDmg^fjn;^yekZm0c-v(x&`{ueVpNJG?sY+~k#N$F|4T zt;Mw$`1^~#6vb)Ldul#f^E7DzW$wTE#Oi%h&d>h4ds{jL9pCDie=2pcAiQ~da@pC9 z*NyczORUQiqE<{nzF&TsY=hcMPNyy=mU(j$%$+SiRm5kjCk|a<^P^7O7{vxJwHfV7 z>#bE+>T80RQ1`Yg?{(__!Ub=%;j+I1iwbr$e)8${VYc{R$xnDw2Q)M2EDU9J|FdTCBVB6x(3Ga+Ge-wx+z(!@weMN7)?TQrYN00wPmi=+ z%B-k;>2~9?g45G3OvrEf`s%)!^;ZX9PKIwb?)+ro`|GK@_1AT2A^G>Q4~JgY%?|B< zN`CV$pWZ%ek~j3@{Bd6lEUzAUf2Qy-{@Yw?&G@Dd*Xv+vN%pP>N1jyvFb^``uJ3ww zt@VrTopLAqlF8(lWF)dc5U>Uiqab)qW+q{jWI{5WE?`Bi zE{Z4~t4O_IJ@7!(7Eju*;!zPi+Ul+dUU<}E*1MkFHvzKRkNvj!zDeG^_j|wp@%#VZ z%c8{im_Z&s9uNc#ii_1IfnQj7`u73fuZDGQh9I|vY*bWYOq?zeHe|6GJi=OFds0j! z1cfXsIIBsY;5PLAtBxZnBhDvPeOSfkM)7s)P$h+nb;^u=yy~o_EUJENK$~Tp)Pz9I4$7O!an%g!Ji8(7B(vGD z&G$@^!qixo6*Dq(w>@xuJ36GH&GYJ&)RFP|dkcO&W-!-$Fhr{g$T?Urw<4wC2gl<9 z_k;Yn#YAmqoP{sU`d8~Fx=(Nh~53=#Vu##~Id$E5> z(6pLA-WQecbARwlGvt}pIV*YDH`~{p-gUA>KS;j+@lJMT$>X6nY17T*+7aA_?bV^) z2k4kho3`op=u6++|1vq;p1+R`Jl(qb+P_a^-g4M#ao;zEVZQ!hflt;Xcg7W(*4xA5 zI(7S+f>v1`U4NpjX}i(kS6c9s{@|a>B2#uhdi`O^N2}UxH(zZ1>Ot!TuZ;V34;J+E zQlFb~_xR!luY_k$r?=EMgje9Uua1=GijhT=i zucz{7QEFNgJ{k_oB>;h$;Ym2xoMEvOxf+p^mjGj7S|Wm-5Pp_M6d@RdQ$U$SaW)24 zi=_yKq8N;;#iWu{%GAnFU<}3N5>zIUVhD;8autEe;O>tIn6uGFB1t=@+ZcG$h|+o9 zN=PI*IXU7SnV7SgBvQ3nEkQ8}h9Llf*z+trnTuHLK|Ksw#!lH-E6;KkSYRX#To$hp z0av?XFk5vx7qP|OohgtrNiJ!XNX4kcY!(7@qV0TiHrU+lMz3hQKF`WXk{COeWuutr zY{tR|^=uc~#Q0Yo zo;ChAfA1iL6=$41P-{BJbM|!Ze=xh2U7J7#2`xuu3GT&dH6kG@g61feCY(bf5D8~w z6e5$7azsumQG`TsDT0wChEZ~bT&h+I#s!`@i=8Je6eI9}88Hh;NK%f{7zQdxO)C%; zCYK{BlvX1$qsm}F6{K7$llSaTu(6<`$&9!C5qN08gX2<#T49s{>v9~C1G9*l#FPk) zQ!2)wB1ttUbXX9Hh)9gnh%hnQ{hF9T@-`I)|l5DRHh=N%6Fik zlWCGC|1Vf590KGUs7?y)1+pN5UDZKEaT%Nq*agnXgl6p0HMn0xUc9C8JHquERM#1t*wfB1rVvXpI3$_1&|Hq)72;dT6{3*{ zr(~BflHY3PTzl(8?SX@1S{S-62=L;%Vi*h1%?2)zsJesinPU*;O@3^8p9AvyG zNnP}6?0)?&@96B#uKV>}@!*pLZN`tjB_+a=$V{jO$)ulV-(@muG=Z{1OU zxKHh#1Nt;B#CPY&aS8D)i$`T|xOQ>4Vs(!0_~JhlrGBlG>(vM9TmQ-Zsr1Lq z!{(em^!b_6FC3TL<|K{{O4YRMb7+ENIvhsuPRTRz>^V zd0rr2_-47$Q1uOP@{0tYc}d2zb7}`)^!G}g-KqE4U^v#Cu*rQD6FNx#>Q|qEgrhiq z`{2kceFuf_ig4rwRQ)yNBX+~>a(C$A1=$T~w8fF%x*MMfrOr0bpMCG^+7quswn*Cd z^gRz3UHUm>i>_FA`(GX6Ikx>OegacsF1;+N{@?^u#QzNRJVc0`(QNA~)5-5SQDJmbYnufI&0rp_+g zB4O*sk@*-?IPAr%pGssMF}K1_euqD9TXTsLh1>n<4pVdSj#o{2Wh>X;JDj&7w0y5I zxA{um+PmxM#wf25QKt6F%bpj4g7BjSnoo-xI|5!8)h$iv$VSC(ZpZcZhT%m zbkY+q$I_{7OAfJ3+EbG$Oa8qRhiv;}k8(@A;}e=^@1gqbl$ajADKD~kz%$p;)!$8K lCr-Q+jWhoHF2@wP9d%E>Vff(8Dd8_uTy(s4SLBSj{{h5^E;j%G literal 0 HcmV?d00001 diff --git a/kubejs/startup_scripts/gregtech/blocks.js b/kubejs/startup_scripts/gregtech/blocks.js index 1560d5128..f59dcce77 100644 --- a/kubejs/startup_scripts/gregtech/blocks.js +++ b/kubejs/startup_scripts/gregtech/blocks.js @@ -9,7 +9,7 @@ const registerGregTechBlocks = (event) => { .energyDiscount(1) .tier(0) .coilMaterial(() => GTMaterials.get('copper')) - .texture('kubejs:block/example_block') + .texture('tfg:block/casings/coils/machine_coil_copper') .hardness(2) .requiresTool(true) .material('metal') From 6279f7cec6c965d8f309df8c0f8525d504e00e97 Mon Sep 17 00:00:00 2001 From: Xikaro <0regon.end@gmail.com> Date: Mon, 21 Oct 2024 13:32:35 +0500 Subject: [PATCH 255/266] copper_coil_block --- .../tfg/blockstates/copper_coil_block.json | 10 ++++++++++ .../tfg/models/block/copper_coil_block.json | 6 ++++++ .../block/copper_coil_block_active.json | 7 +++++++ .../tfg/models/item/copper_coil_block.json | 3 +++ .../casings/coils/machine_coil_copper.png | Bin 2260 -> 2491 bytes .../coils/machine_coil_copper_bloom.png | Bin 2179 -> 2166 bytes .../coils/machine_coil_copper_bloom_ctm.png | Bin 2671 -> 2653 bytes .../casings/coils/machine_coil_copper_ctm.png | Bin 2851 -> 2826 bytes kubejs/startup_scripts/gregtech/blocks.js | 4 +++- 9 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 kubejs/assets/tfg/blockstates/copper_coil_block.json create mode 100644 kubejs/assets/tfg/models/block/copper_coil_block.json create mode 100644 kubejs/assets/tfg/models/block/copper_coil_block_active.json create mode 100644 kubejs/assets/tfg/models/item/copper_coil_block.json diff --git a/kubejs/assets/tfg/blockstates/copper_coil_block.json b/kubejs/assets/tfg/blockstates/copper_coil_block.json new file mode 100644 index 000000000..db9b8845f --- /dev/null +++ b/kubejs/assets/tfg/blockstates/copper_coil_block.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "tfg:block/copper_coil_block" + }, + "active=true": { + "model": "tfg:block/copper_coil_block_active" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/copper_coil_block.json b/kubejs/assets/tfg/models/block/copper_coil_block.json new file mode 100644 index 000000000..9933ec27f --- /dev/null +++ b/kubejs/assets/tfg/models/block/copper_coil_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/casings/coils/machine_coil_copper" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/copper_coil_block_active.json b/kubejs/assets/tfg/models/block/copper_coil_block_active.json new file mode 100644 index 000000000..a3c2ebb3e --- /dev/null +++ b/kubejs/assets/tfg/models/block/copper_coil_block_active.json @@ -0,0 +1,7 @@ +{ + "parent": "gtceu:block/cube_2_layer/all", + "textures": { + "bot_all": "tfg:block/casings/coils/machine_coil_copper", + "top_all": "tfg:block/casings/coils/machine_coil_copper_bloom" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/copper_coil_block.json b/kubejs/assets/tfg/models/item/copper_coil_block.json new file mode 100644 index 000000000..84d2ca9a7 --- /dev/null +++ b/kubejs/assets/tfg/models/item/copper_coil_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/copper_coil_block" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png index 2e717fa4c8698c2a89d55a559523b967b6c40578..4e8461f4c96c0b46f3b117809794b5ebc1158e66 100644 GIT binary patch delta 1431 zcmca2xLbIFWIYoD1H*)g8D8E*5CvQVjE0)O^x=GTWz16Xav8xYn_<*Nd&@ z(>u4zY6n--1OATLvnMa=o?@XgLE)IO>^a-#Meh~waMhgC>rQls@S1G>vNkiT`-{kvl=LUz8?^EltXirm zwll?j(V~^U8$DSrg$Q80Ip-IpDp=|n>Lwc)7%7-r>Lr>bni*S~=_nW(7@6oB z80#Av=^B_@nOImE87n}6lHKG4Ca1~EnVwAE#;nSblUHn2l9`q^`683pm4j6CpMdmD(v@`<~O9K-VT}z-Px(10RM!G<3tZQj*lxUWkYLSv`WH>pV zWuHh&vQ=7sQEp<1tx{%gVtT56L0*ft7(diqh1Q#FWI6M0|>Uzy^c7 zYvo^*nVMIUSdy8aXRBnWqyY0M(0Tbe`9(mBfvz)FvQw}DI@#CP$|JM5B)_N<$S+Ds zvkFcvw43bD<~8{&YYCG+h^aDpC##4zF(IU+P+a0#R$^72kqWdL9suaRn*5PfJOC2c z0k9}hFf!FMG*ZwA&&*57FE7@F8I_!on3tZKVymRDqz`nVKFoYajmau|IwQ_?_avRQo+?&dy=n(ZO%5WAF}KRk3QTm?ONBp zBK`N@50$_Fm=hZ}r=GdtvtHQ7&wL%BXD)FrUa)xfDj~t=wQEEcY-JPc`)v0_?6QZ; zxm(rS7N(XgSvzqTql9dB_L98D{Q5JAPxhqGPMp8UXV-4q3Z|P&ju%@cCI_nB{rl(f zTTu&3+lcGeJZ5D+uT{@^^X{9S-21qB_czxZh}*TU+i0U(($Yl{n%OM#>KlAt>c}&c z8Yj2&1(-)D?_c`;(g&vn!v8jEOum1qzx?XgoRTGt>-m2FjJL9QuPnIHZHCYPD~
    }?Jim8l&g5JGN99)WS9qtd`9XsMs#=D!-Y+BRWgohU^M9r?6j}wxMI{jSaJy-h~QCrO#wL7m* zu(rxi$(!;cwD8vRhEqJ2A8*Vk@QCmZ-w=54SywVAKUcY`ZuBSSP9b&C_1fDuv3`C& z?^WyB)8F3oTuLo7I;e8lrT(IU#so$0c^lSj)6g@#*&p(;{Kvl)J9r9H4UQU~(-PbD z-u>^v_jz}(IMi#dv}F2ve%|+cyu7yq?tI#_UirMXoby}Zm|Lm;Un%m`ckBzjwu^5; zDf7AYr)F(r7N33L-;B$$cc*8ivIS{YSWnHL)%<|hM0ZNn@0-t`$UVAr^@{16x5m!? zQJch9@7cX^({}swKmH2-WSebXw7nzPSqT_1oCO|{#S9F3K(?L|bx^TEKTBDcWT*UBTaxFo-*5-zNuU{jQmW)+-T zh$N&ixs+`mpMpM`ke7;qsbylCxnYWKYOdZ|oNd)oiD+&^mvr|hHQuFFlY?X?X?CrcXKHdZ77GqBr#}EtuwUhUI9S#sV=I^vz z?d1i&sHlTWn)YAr`*y>%6>^7ZR1rFV%s(v7PN(nXNtJqbeoi0v5Ke3AvLhS-bCY; z<-?zmQoFK48~#1;hzo!JEBEpD`?)JKpXfZSTdumidESrST~bZCG1HXt_FXx<_b_v( z{r)NK)77WWd84ATlWl>H(th1(o8oFc-tW+k+Z=k*(@mi2;iu*^^W)ddd8l%jJ%d%i zPC9*urC7n)se#jajcYzxTu*NH<_$&Eh8{lm_Excg0Ede!;{FN@^e zm)ATg-_DmdKI;Vst0PJPf1poj5 diff --git a/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom.png b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom.png index 479af03d4026f50033e95435eb07d85b0b6decdc..06b49ec017bf38073c38347c36f3396efc91bbf0 100644 GIT binary patch delta 428 zcmZn`{3fu0lUc>w*u>l@Ejdls*uvaG*EHG0NH@_U*-$sp*uo?wEiutN)zWgaF0%v0yLxo>)c6ph;RFykFduyES3*~)t zex7@k`{eKUgok`z66Wtc-mK>FEB5{GHxs7sUzquDz4FRr&AAhTHbr+G*?2{z_R*Sb hpldp||34-#d+Xs20d5_&W}yEWJYD@<);T3K0RY^rrnvwB delta 441 zcmew+&@8xtlUc>o)Wjs!FwIam(Ja|Q*WAn`MK>|c*jU%n(!eam!Xzol#KL^DF0%(K&HSs@^UFT}rKuogHhZG3<;!d}FQia=xEJZTb_v=313x9p5JHvCU=s zsxu0qVygtb+jPt?Gv2s4#xhtxlPxjR3en=!}y!TUJ|0{=pn-&}0l5P$!h)%|(b z4-_$9o+)wq*I|brAD^5RpSzl;?w&{4!Hv4%*Y-y|K6*UOi~pLOOpd>V#qRnE->kPi zJ;rl|%ieGOlM~zCHQr*>e9AseT2R)pF14M_dfQq-=5Et@YwYK&590Ay_vL}%7WPOs zmA^-Mo~SDq>Toif%VyS_^0-(fCKy>yY;^we+Cbsqd82@`^QYG({ga*WK|XE4gL%^# zXC*pZnxFdM)+@%Ac)Q=-r6Cp#1xBY|)i-@JVczu5K%g#$I}7OO;|@H#zl4^aVR*3h zRnfn&+ULv$D;_ML%D!qwgP)wizuE)Vs+>zp4^4d2&Gq4riv&mgcY(RnTE1DmdNai) z@s!&9~hJ-D9aQ!^?|t`T^x5iPzvkF!U)QSzpV|Uf@0&g4 r%sF7t@Be?S`p4lFld@J!X8*_hNliRv_v|$<8Gyjk)z4*}Q$iB}bFohe delta 751 zcmcaB@?K7ODKhf-C_Hl>(%jJMGf#ry0f-sD|K#hWYPZkl{Lb+mYm~kz^4}wzH%?O0eff<)r2;!9)_(Mo zO}04t?E3li*c|;VhI3Lo;@gT>*%v6!_K&N(SULG%zu#r8o|3Bze%0H~kF2?!@+skP zW~Md!n(7r3{wl|sS}@N&)xTN$X5h8-1x^eMC+FuxpK&NmO>KUwm3?XEbK~w;@wRP} zY#rLVciSGCoM*Tgf7YSUs3q4^(&GAwe`OLLC8rKNO7v$t^+G(c;lX+1fZ}tn`yO>y zH$2c!U+`$ob;eoA4KL0c78I4$8?ZH8oxXnC^W*&N3~R*rD`PLtOKo_?f9J$Ao|1Rd zAKLs*F}up(-H;Tv-~IFV>cXFl4o=+m3vDhOV{!S^@T4YSP3@$Bu;RWG=2{JBg`FR` zmDLEoo!%03*7~-(|A{M4HhXtJ;e2SL@M`+X^>K@*ntteh&gi(mKu+K*_jAU;{ae!h zn%wA0ak}WEnY;gGwBjz-(kkIk-l<BN4Vtp2#kaY{@3}HT84bT2vVrm?n6-IEHw1P7O26zU?4UE7aCB z;Xt#lGaJ9+XJ^R6T7qzhe(bv zx36n6n`4O_lMwsaNqp+wT{?41=E>c+om=yL-+Non<+ThF{0}NN{LT9F_2JKp&vs3^ zf4jN<;?a|ra=v^^;4L+=X1nHK$~XOCMZ*pw-cvsqWcUS_ZYs@r^g!TyIm4P{Vf}kc zETZoxeM_m1SI;}}FxvU2QLjzOp^|_ia(CT{JsB=y9 zPg?uesb_9){J_R=yZv$FdG+oc)1PdKT6W`d{esM>HH_2ampFd&ZB2jGYcT(al#I-$ zpFYhUm)s8iK7Gz)zJNK$;l9TQckE&*%hT*;yv@&W;^)7WmmDr{3282>b8DVdr~mqj z0ncSijpy$(He7z6T7SxY$}y>epFYeCz2ElnHT?PWsA5B#6+=L|Ur4<;}D`Ro3yordlCC53g(@#lSBeqP@1)7#;;YLS}>(*i9mBl~Sr9$b6B zc~<2I-`eXl;^W&BB?4DzaWR;=d$vYOH@tcE{Z{3MsvT3CzL##+Ik+*W{?AYLf_nEm z3ogE!Z3+~5b8^;C#m}Et3vfSeFOci_)cVzopr0B}`=g8%>k delta 890 zcmeAYTP(KWHuGcw7WK*3nN25~vm_~*7^D~(8R{lmrkLtl7@3&pS{S5Q>Kdn6BqbS` zCYl%;n{3|AV#3H}5MpRa}=8>BN4Vtp2#kaY{@3}HTBNSTx<*sOe;NI978-hr-nKD3p+~G#%ig| zjpfj76yxSx`GS#Sp<&}B4R(H&IGd_34=y&B`^OplW6PJbEHGA)b6wgdF{^2YK#=d9 z#B$pba|7!m(sFjjdE4H;$@5=-f6v^yzxU2m&%PZc%e-Ne+55u#Pw%?yQBJ$AAJzHC zYioVTI1EM1cM;-}pA%t>u^$LmiXeHt-$$`&{7s=B>_pLgUN zO?#iZV&5;n11V=7+jTB{cv&T}NBW{%vh}yQ47M)|&>$mqN;OSt6v}3aQv^v za{c=onJ+2S-*}_3+_%~H`K_mV4Mkg5Je`b%&;nzRU|NiaN5#Tl1kfEeMq;*YiRp9FLLC+ndWuBJJzhCb=GnH#{&adD6 z4l!|-WfPX`XKwOItTIZillb-LRk!g|_h&XIPMLqXH}gial6|pU%G307&1?Rgshlu% z{_8!JQ#2=UPOCU~w{q6YIVne-`L&$W@6Wx>eOX!Ad|$1tck|Jw@_*|$_4{9`J(s(- zZ)yGK&>#06w>OJ~edT}OAA7HNw^!yFmy?mnc~!5E?=ITvu`j<@%+LQ^^~PlOwfgCw y{!OmW<5I|)ld|+wWM*jS4OjD2xh=Qd>lyd4g+ERbKYNk^2s~Z=T-G@yGywoIJc%Cw diff --git a/kubejs/startup_scripts/gregtech/blocks.js b/kubejs/startup_scripts/gregtech/blocks.js index f59dcce77..062d4e17e 100644 --- a/kubejs/startup_scripts/gregtech/blocks.js +++ b/kubejs/startup_scripts/gregtech/blocks.js @@ -9,8 +9,10 @@ const registerGregTechBlocks = (event) => { .energyDiscount(1) .tier(0) .coilMaterial(() => GTMaterials.get('copper')) - .texture('tfg:block/casings/coils/machine_coil_copper') .hardness(2) .requiresTool(true) + .tagBlock("mineable/pickaxe") + .tagBlock("forge:mineable/wrench") + .soundType('metal') .material('metal') } \ No newline at end of file From e0efa6ddd730dd6dfe02217b68a4e05ef59907d4 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 23 Oct 2024 11:40:56 +0700 Subject: [PATCH 256/266] Fix #483 --- kubejs/server_scripts/minecraft/recipes.js | 33 ++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index ebc973ead..de70c24ca 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3876,6 +3876,28 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'minecraft:leather' }) e.remove({ id: 'create:crushing/leather_horse_armor' }) e.remove({ id: 'create:milling/saddle' }) + + // Сырая маленькая шкура -> Кожа + e.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) + .itemInputs('tfc:small_raw_hide') + .inputFluids(Fluid.of('tfc:tannin', 300)) + .itemOutputs('minecraft:leather') + .EUt(4).duration(600) + + // Сырая средняя шкура -> Кожа + e.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) + .itemInputs('tfc:medium_raw_hide') + .inputFluids(Fluid.of('tfc:tannin', 400)) + .itemOutputs('2x minecraft:leather') + .EUt(4).duration(700) + + // Сырая большая шкура -> Кожа + e.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) + .itemInputs('tfc:large_raw_hide') + .inputFluids(Fluid.of('tfc:tannin', 500)) + .itemOutputs('3x minecraft:leather') + .EUt(4).duration(800) + //#endregion //#region Светящийся мешок с чернилами @@ -4227,18 +4249,25 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) - e.recipes.gtceu.chemical_bath('tfg:paper_from_papyrus') + e.recipes.gtceu.chemical_bath('tfg:minecraft/paper_from_papyrus') .itemInputs('tfc:papyrus') .inputFluids(Fluid.of('minecraft:water', 100)) .itemOutputs('minecraft:paper') .EUt(7).duration(100) - e.recipes.gtceu.chemical_bath('tfg:paper_from_papyrus_distilled') + e.recipes.gtceu.chemical_bath('tfg:minecraft/paper_from_papyrus_distilled') .itemInputs('tfc:papyrus') .inputFluids(Fluid.of('gtceu:distilled_water', 100)) .itemOutputs('minecraft:paper') .EUt(7).duration(100) + // Unrefined Paper -> Paper + event.recipes.gtceu.assembler('tfg:minecraft/paper_from_unrefined_paper') + .itemInputs('tfc:unrefined_paper') + .circuit(7) + .itemOutputs('minecraft:paper') + .EUt(16).duration(50) + //#endregion //#region Сахар From 46680adceb6a784ad38346ab83f42a685c788f4c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 23 Oct 2024 11:41:06 +0700 Subject: [PATCH 257/266] fix create connected fluid vessel recipe --- kubejs/server_scripts/create_connected/recipes.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kubejs/server_scripts/create_connected/recipes.js b/kubejs/server_scripts/create_connected/recipes.js index 8862cc894..e0d242e00 100644 --- a/kubejs/server_scripts/create_connected/recipes.js +++ b/kubejs/server_scripts/create_connected/recipes.js @@ -71,4 +71,13 @@ const registerCreateConnectedRecipes = (event) => { .itemOutputs('create_connected:control_chip') .duration(720) .EUt(16) + + // Fluid Vessel + event.remove({ id: 'create_connected:crafting/kinetics/fluid_vessel' }) + event.shaped('create_connected:fluid_vessel', [ + 'ABA' + ], { + A: '#forge:plates/copper', + B: '#tfcbarrels:barrels' + }).id('tfg:shaped/create_connected/fluid_vessel') } \ No newline at end of file From 2b641b84fbb401b7896c5b6094757b1f9bf188f5 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 23 Oct 2024 12:03:02 +0700 Subject: [PATCH 258/266] copper coils --- .../item/unfinished_copper_coil_block.json | 3 +++ kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/minecraft/recipes.js | 10 ++++---- kubejs/server_scripts/tfg/recipes.js | 21 ++++++++++++++++ kubejs/server_scripts/tfg/tags.js | 24 +++++++++++++++++++ kubejs/startup_scripts/gregtech/items.js | 1 + 6 files changed, 55 insertions(+), 5 deletions(-) create mode 100644 kubejs/assets/tfg/models/item/unfinished_copper_coil_block.json create mode 100644 kubejs/server_scripts/tfg/recipes.js create mode 100644 kubejs/server_scripts/tfg/tags.js diff --git a/kubejs/assets/tfg/models/item/unfinished_copper_coil_block.json b/kubejs/assets/tfg/models/item/unfinished_copper_coil_block.json new file mode 100644 index 000000000..b3218943a --- /dev/null +++ b/kubejs/assets/tfg/models/item/unfinished_copper_coil_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:item/copper_coil_block" +} \ 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 3c4a3d3cd..56f162f29 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -142,6 +142,7 @@ ServerEvents.recipes(event => { registerSophisticatedBackpacksRecipes(event) registerTfceaRecipes(event) registerTFCRecipes(event) + registerTFGRecipes(event) registerTFCGroomingStationRecipes(event) registerToolBeltRecipes(event) registerTreeTapRecipes(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index de70c24ca..8fdde5811 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -3878,21 +3878,21 @@ const registerMinecraftRecipes = (e) => { e.remove({ id: 'create:milling/saddle' }) // Сырая маленькая шкура -> Кожа - e.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) + e.recipes.gtceu.chemical_bath(`tfg:minecraft/leather_1`) .itemInputs('tfc:small_raw_hide') .inputFluids(Fluid.of('tfc:tannin', 300)) .itemOutputs('minecraft:leather') .EUt(4).duration(600) // Сырая средняя шкура -> Кожа - e.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) + e.recipes.gtceu.chemical_bath(`tfg:minecraft/leather_2`) .itemInputs('tfc:medium_raw_hide') .inputFluids(Fluid.of('tfc:tannin', 400)) .itemOutputs('2x minecraft:leather') .EUt(4).duration(700) // Сырая большая шкура -> Кожа - e.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) + e.recipes.gtceu.chemical_bath(`tfg:minecraft/leather_3`) .itemInputs('tfc:large_raw_hide') .inputFluids(Fluid.of('tfc:tannin', 500)) .itemOutputs('3x minecraft:leather') @@ -4262,7 +4262,7 @@ const registerMinecraftRecipes = (e) => { .EUt(7).duration(100) // Unrefined Paper -> Paper - event.recipes.gtceu.assembler('tfg:minecraft/paper_from_unrefined_paper') + e.recipes.gtceu.assembler('tfg:minecraft/paper_from_unrefined_paper') .itemInputs('tfc:unrefined_paper') .circuit(7) .itemOutputs('minecraft:paper') @@ -4312,7 +4312,7 @@ const registerMinecraftRecipes = (e) => { .EUt(30).duration(50) //#endregion - //#region Книга + //#region Книга e.remove({ id: 'gtceu:shaped/book' }) e.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js new file mode 100644 index 000000000..6eeec8cdc --- /dev/null +++ b/kubejs/server_scripts/tfg/recipes.js @@ -0,0 +1,21 @@ +// priority: 0 + +const registerTFGRecipes = (e) => { + + //#region Copper Coil Block + + e.recipes.gtceu.assembler(`tfg:copper_coil_block`) + .itemInputs('8x gtceu:copper_double_wire', '8x #forge:foils/copper') + .inputFluids(Fluid.of('gtceu:tin_alloy', 144)) + .itemOutputs('tfg:copper_coil_block') + .EUt(16).duration(200) + + e.recipes.createSequencedAssembly([ + 'tfg:copper_coil_block', + ], 'gtceu:copper_frame', [ + e.recipes.createDeploying('tfg:unfinished_copper_coil_block', ['tfg:unfinished_copper_coil_block', 'gtceu:copper_double_wire']), + e.recipes.createDeploying('tfg:unfinished_copper_coil_block', ['tfg:unfinished_copper_coil_block', '#forge:foils/copper']), + ]).transitionalItem('tfg:unfinished_copper_coil_block').loops(8).id('tfg:sequenced_assembly/copper_coil_block') + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js new file mode 100644 index 000000000..e67723a3f --- /dev/null +++ b/kubejs/server_scripts/tfg/tags.js @@ -0,0 +1,24 @@ +// priority: 0 + +const registerTFGItemTags = (event) => { + +} + +const registerTFGBlockTags = (event) => { + + +} + +const registerTFGFluidTags = (event) => { + +} + +const registerTFGBiomeTags = (event) => { + + +} + +const registerTFGPlacedFeatures = (event) => { + + +} diff --git a/kubejs/startup_scripts/gregtech/items.js b/kubejs/startup_scripts/gregtech/items.js index 4620fb706..2d6ea7918 100644 --- a/kubejs/startup_scripts/gregtech/items.js +++ b/kubejs/startup_scripts/gregtech/items.js @@ -3,6 +3,7 @@ const registerGregTechItems = (event) => { event.create('tfg:unfinished_vacuum_tube', 'create:sequenced_assembly') event.create('tfg:unfinished_basic_electronic_circuit', 'create:sequenced_assembly') + event.create('tfg:unfinished_copper_coil_block', 'create:sequenced_assembly') // Extrudel Molds event.create('tfg:mining_hammer_head_extruder_mold') From 014a499733a30c9682d7da96d9fcb4c02005108f Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 23 Oct 2024 12:03:15 +0700 Subject: [PATCH 259/266] Update embeddium-options.json --- config/embeddium-options.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/embeddium-options.json b/config/embeddium-options.json index 1456a73f7..5d80ab678 100644 --- a/config/embeddium-options.json +++ b/config/embeddium-options.json @@ -24,7 +24,7 @@ }, "notifications": { "force_disable_donation_prompts": false, - "has_cleared_donation_button": true, - "has_seen_donation_prompt": true + "has_cleared_donation_button": false, + "has_seen_donation_prompt": false } } \ No newline at end of file From 47cf0eb16377db760e29dd3858ef092ba89bf799 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 26 Oct 2024 21:08:08 +0700 Subject: [PATCH 260/266] some quests tweaks --- .../quests/chapters/primitive_age.snbt | 109 ++++- .../ftbquests/quests/chapters/steam_age.snbt | 399 +++++++++++++----- 2 files changed, 373 insertions(+), 135 deletions(-) diff --git a/config/ftbquests/quests/chapters/primitive_age.snbt b/config/ftbquests/quests/chapters/primitive_age.snbt index 73181c5cd..4eb008af0 100644 --- a/config/ftbquests/quests/chapters/primitive_age.snbt +++ b/config/ftbquests/quests/chapters/primitive_age.snbt @@ -2742,7 +2742,11 @@ y: 7.5d } { - dependencies: ["2765DB2E20A745F8"] + dependencies: [ + "2765DB2E20A745F8" + "48AED37B4E20A99A" + ] + dependency_requirement: "one_completed" description: ["{quests.478D0DF94D7495EF.d1}"] id: "478D0DF94D7495EF" subtitle: "{quests.478D0DF94D7495EF.st}" @@ -4863,7 +4867,12 @@ y: 24.0d } { - dependencies: ["2765DB2E20A745F8"] + dependencies: [ + "2765DB2E20A745F8" + "48AED37B4E20A99A" + "39E8CE6A86731567" + ] + dependency_requirement: "one_completed" id: "04D4E196824D53C4" tasks: [{ id: "0121A0A3EFBF3A46" @@ -4967,7 +4976,7 @@ } ] title: "Copper Waxing [WIP]" - x: -8.0d + x: -9.5d y: 0.0d } { @@ -4977,7 +4986,7 @@ title: "Cellar [WIP]" type: "checkmark" }] - x: -7.0d + x: -8.5d y: -1.0d } { @@ -4987,7 +4996,7 @@ title: "Bees [WIP]" type: "checkmark" }] - x: -7.0d + x: -8.5d y: 1.0d } { @@ -4997,7 +5006,7 @@ title: "Greenhouse [WIP]" type: "checkmark" }] - x: -7.0d + x: -8.5d y: 0.0d } { @@ -5127,8 +5136,8 @@ item: "etched:etching_table" type: "item" }] - x: 24.5d - y: 25.5d + x: 8.0d + y: 24.5d } { dependencies: ["6156D157921CC5A8"] @@ -5138,8 +5147,8 @@ item: "etched:album_jukebox" type: "item" }] - x: 23.0d - y: 24.0d + x: 6.5d + y: 23.0d } { dependencies: ["6156D157921CC5A8"] @@ -5149,8 +5158,8 @@ item: "etched:radio" type: "item" }] - x: 26.0d - y: 25.5d + x: 9.5d + y: 24.5d } { dependencies: ["6156D157921CC5A8"] @@ -5160,8 +5169,8 @@ item: "etched:jukebox_minecart" type: "item" }] - x: 23.0d - y: 25.5d + x: 6.5d + y: 24.5d } { dependencies: ["6156D157921CC5A8"] @@ -5171,8 +5180,8 @@ item: "etched:boombox" type: "item" }] - x: 26.0d - y: 24.0d + x: 9.5d + y: 23.0d } { dependencies: ["754CA10FD1725EC6"] @@ -5188,8 +5197,8 @@ } type: "item" }] - x: 24.5d - y: 23.0d + x: 8.0d + y: 22.0d } { dependencies: [ @@ -5203,8 +5212,8 @@ item: "etched:album_cover" type: "item" }] - x: 24.5d - y: 22.0d + x: 8.0d + y: 21.0d } { dependencies: ["38469FBD2B7998C1"] @@ -5214,9 +5223,69 @@ item: "etched:blank_music_disc" type: "item" }] + x: 8.0d + y: 23.0d + } + { + dependencies: ["23DD6D6E78F62757"] + id: "2B862C1ED65D0526" + shape: "gear" + size: 3.0d + tasks: [{ + id: "7DB951FDB7063659" + item: "gtceu:steel_brick_casing" + type: "item" + }] x: 24.5d y: 24.0d } + { + dependencies: ["445E060EF3300A49"] + id: "23DD6D6E78F62757" + tasks: [{ + count: 5L + id: "1C607358F45ABAD6" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:steel_plate" + } + type: "item" + }] + x: 24.5d + y: 22.0d + } + { + dependencies: ["76EF4D00586A8B74"] + description: ["But how? Try to descend to a depth of y = -60 blocks. Or perhaps lower?"] + id: "30C61004FB5FA9AC" + tasks: [{ + dimension: "minecraft:the_nether" + id: "2928FC0BBF500E88" + title: "Visit Nether" + type: "dimension" + }] + x: -5.5d + y: 0.0d + } + { + dependencies: ["30C61004FB5FA9AC"] + description: ["Maybe you need to climb as high as possible? But I'm not sure."] + id: "53C8B91A1A5BBE3E" + tasks: [{ + dimension: "minecraft:overworld" + id: "162808CB268A36CE" + title: "How to escape from Alcatrazzz?" + type: "dimension" + }] + x: -7.0d + y: 0.0d + } ] title: "Primitive Age" } diff --git a/config/ftbquests/quests/chapters/steam_age.snbt b/config/ftbquests/quests/chapters/steam_age.snbt index 7a6f50fc8..937b38540 100644 --- a/config/ftbquests/quests/chapters/steam_age.snbt +++ b/config/ftbquests/quests/chapters/steam_age.snbt @@ -10,58 +10,71 @@ { id: "1C86D83D29134EBE" linked_quest: "253860AD4DF4224C" - x: 5.5d + x: -2.5d y: -6.0d } { id: "09E0E263CC81CD99" linked_quest: "2658E7679CD42ACD" - x: 9.0d - y: 4.5d + shape: "circle" + x: 3.5d + y: 1.0d } { id: "26D1A18BE2F694C4" linked_quest: "6E13B0241CB1D536" - x: 7.5d - y: 3.0d + x: -4.0d + y: -3.0d } { id: "580358D6164B9CEA" linked_quest: "04D4E196824D53C4" - x: 2.5d - y: -1.5d + x: -5.5d + y: 0.0d } { id: "4DFB0BF29099F2A1" linked_quest: "5BBF0B6AED98072E" - x: 2.5d - y: 0.0d + shape: "circle" + x: -6.5d + y: 1.5d } { id: "190A7A8C49F390C2" linked_quest: "478D0DF94D7495EF" - x: 1.0d - y: -4.5d + x: -5.5d + y: -3.0d } { id: "3426BCAE1210DAE4" linked_quest: "3FB3EE093DDC6B56" shape: "gear" size: 3.0d - x: -7.5d + x: -12.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 + shape: "gear" + size: 2.0d + x: -7.5d + y: -9.0d + } + { + id: "53F621640316AE50" + linked_quest: "2B862C1ED65D0526" + shape: "gear" + size: 3.0d + x: -10.0d + y: 5.98333333333332d + } + { + id: "4B34A70CD02F5F2D" + linked_quest: "7B74DB051202E97E" + shape: "circle" + x: -4.0d + y: -1.5d } ] quests: [ @@ -85,7 +98,7 @@ type: "item" }] title: "S is for Sulfur" - x: 5.5d + x: -2.5d y: -4.5d } { @@ -109,7 +122,7 @@ type: "item" }] title: "The First of Many Motors" - x: 7.5d + x: 2.0d y: -3.0d } { @@ -128,7 +141,7 @@ "&l&3Lore:&r&o These drums are actually ported from GregTech 6." ] id: "2B74E56C9E138F18" - shape: "rsquare" + shape: "circle" size: 1.0d subtitle: "Just kidding, tanks for fluids" tasks: [{ @@ -137,8 +150,8 @@ type: "item" }] title: "Armoured Tanks" - x: -9.0d - y: -3.0d + x: -13.5d + y: -3.5d } { dependencies: ["3F087862270F649A"] @@ -171,11 +184,14 @@ } ] title: "Molding" - x: 2.5d - y: -3.0d + x: -1.0d + y: -4.5d } { - dependencies: ["5BBF0B6AED98072E"] + dependencies: [ + "5BBF0B6AED98072E" + "612C0D994EAF0CB6" + ] 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." "" @@ -187,12 +203,12 @@ subtitle: "The Steam Extractor extracts..." tasks: [{ id: "12A46916B1BC17EC" - item: "gtceu:hp_steam_extractor" + item: "gtceu:lp_steam_extractor" type: "item" }] title: "Steam Extractor" - x: 4.0d - y: 0.0d + x: -4.0d + y: 3.0d } { dependencies: [ @@ -226,7 +242,7 @@ } ] title: "Rubbering up" - x: 5.5d + x: -1.0d y: -3.0d } { @@ -251,8 +267,8 @@ type: "item" }] title: "Electronics #1: Resistors" - x: 9.0d - y: 3.0d + x: 2.0d + y: 1.0d } { dependencies: ["3FB3EE093DDC6B56"] @@ -289,30 +305,11 @@ type: "item" }] title: "Fluid Pipes" - x: -7.5d - y: -3.0d + x: -12.5d + y: -2.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"] + dependencies: ["612C0D994EAF0CB6"] 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." "" @@ -324,15 +321,18 @@ subtitle: "The Alloy Smelter makes alloys..." tasks: [{ id: "2F3B195A110E41C2" - item: "gtceu:hp_steam_alloy_smelter" + item: "gtceu:lp_steam_alloy_smelter" type: "item" }] title: "Steam Alloy Smelter" - x: 2.5d - y: 1.5d + x: -5.5d + y: 3.0d } { - dependencies: ["04D4E196824D53C4"] + dependencies: [ + "04D4E196824D53C4" + "7B74DB051202E97E" + ] description: [ "Crafting Vacuum Tubes might make you question your existence. Sorry about that." "" @@ -350,8 +350,8 @@ type: "item" }] title: "Electronics #3: Vacuum Tubes" - x: 4.0d - y: -1.5d + x: -4.0d + y: 0.0d } { dependencies: ["48AED37B4E20A99A"] @@ -372,7 +372,7 @@ type: "item" }] title: "Red Alloy" - x: 4.0d + x: -4.0d y: 1.5d } { @@ -414,7 +414,7 @@ } ] title: "Electronics #4: The Circuit" - x: 9.0d + x: 2.0d y: -1.0d } { @@ -432,7 +432,7 @@ ] icon: "gtceu:potin_normal_fluid_pipe" id: "3C70B0717E9377A4" - shape: "rsquare" + shape: "circle" size: 1.0d subtitle: "...I'm going into battle, and I need only your finest Potin." tasks: [{ @@ -448,11 +448,11 @@ type: "item" }] title: "Potin Seller..." - x: -7.5d - y: -4.5d + x: -12.5d + y: -3.5d } { - dependencies: ["03DBF1961AE21C76"] + dependencies: ["612C0D994EAF0CB6"] description: [ "With the creation of this machine, many recipes that once required you to use a hammer can instead be made here!" "" @@ -468,15 +468,15 @@ subtitle: "The Forge Hammer hammers..." tasks: [{ id: "4F4074D7CE5A61A0" - item: "gtceu:hp_steam_forge_hammer" + item: "gtceu:lp_steam_forge_hammer" type: "item" }] title: "Steam Forge Hammer" - x: 1.0d - y: -1.5d + x: -1.0d + y: 3.0d } { - dependencies: ["03DBF1961AE21C76"] + dependencies: ["612C0D994EAF0CB6"] 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!" "" @@ -492,11 +492,11 @@ subtitle: "The Macerator macerates..." tasks: [{ id: "6DFD6AC8CF31305C" - item: "gtceu:hp_steam_macerator" + item: "gtceu:lp_steam_macerator" type: "item" }] title: "Steam Macerator" - x: -0.5d + x: -2.5d y: 3.0d } { @@ -530,8 +530,8 @@ } ] title: "Electronics #2: Circuit Boards" - x: 5.5d - y: 3.0d + x: -2.5d + y: -3.0d } { dependencies: ["1C50A758A1DE25CB"] @@ -555,7 +555,7 @@ type: "checkmark" }] title: "What is this Mess?!" - x: -0.5d + x: -3.0d y: 4.5d } { @@ -569,7 +569,7 @@ ] icon: "gtceu:steam_grinder" id: "7FF95F1216D104B2" - shape: "square" + shape: "circle" size: 1.0d subtitle: "The Steam Oven's elder brother" tasks: [ @@ -601,11 +601,11 @@ } ] title: "Steam Grinder" - x: 1.0d + x: -2.0d y: 4.5d } { - dependencies: ["011EC2CE0111C9A0"] + dependencies: ["3B8D9846F50DEF34"] description: [ "&o...or little brother. Don't let him know!&r" "" @@ -656,24 +656,24 @@ } ] title: "Steam Oven" - x: -6.0d - y: 4.5d + x: -7.5d + y: -1.5d } { - dependencies: ["03DBF1961AE21C76"] + dependencies: ["612C0D994EAF0CB6"] description: ["The Steam Compressor unlocks some tantalising new recipes that will help you to progress towards Steel."] id: "07415D6305C3B1D2" - shape: "rsquare" + shape: "square" size: 1.0d subtitle: "The Steam Compressor compresses..." tasks: [{ id: "21C99D59F1BE48A3" - item: "gtceu:hp_steam_compressor" + item: "gtceu:lp_steam_compressor" type: "item" }] title: "Steam Compressor" - x: -0.5d - y: -1.5d + x: 0.5d + y: 3.0d } { dependencies: ["48AED37B4E20A99A"] @@ -700,7 +700,7 @@ ] icon: "gtceu:tin_small_item_pipe" id: "539CF1B85725786D" - shape: "rsquare" + shape: "circle" size: 1.0d tasks: [{ id: "158F4EEDC214A3BA" @@ -718,30 +718,30 @@ type: "item" }] title: "Item Pipes" - x: 2.5d + x: -6.5d y: 4.5d } { - dependencies: ["3F087862270F649A"] + dependencies: ["3B8D9846F50DEF34"] id: "011EC2CE0111C9A0" tasks: [{ id: "7A1C685F48E09F6B" item: "gtceu:hp_steam_furnace" type: "item" }] - x: -6.0d - y: 3.0d + x: -7.5d + y: 6.0d } { - dependencies: ["3F087862270F649A"] + dependencies: ["2F44D9034CBEB774"] id: "41F23E44E154C3E9" tasks: [{ id: "22542CDE2F0C0524" item: "gtceu:hp_steam_rock_crusher" type: "item" }] - x: -3.0d - y: 3.0d + x: 2.0d + y: 6.0d } { dependencies: [ @@ -755,12 +755,13 @@ item: "gtceu:glass_dust" type: "item" }] - x: 1.0d - y: -3.0d + x: -5.5d + y: -1.5d } { dependencies: ["3FB3EE093DDC6B56"] id: "7470E713F599B891" + shape: "circle" tasks: [{ id: "0DF1243A3267F636" item: { @@ -770,19 +771,17 @@ "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" + title: "Any Low Pressure Steam Boiler" type: "item" }] - x: -6.0d - y: -3.0d + x: -11.5d + y: -3.5d } { - dependencies: [ - "3FB3EE093DDC6B56" - "445E060EF3300A49" - ] + dependencies: ["2B862C1ED65D0526"] id: "3F087862270F649A" - size: 2.0d + shape: "circle" + size: 1.0d tasks: [{ id: "0BBF678F5A0517D7" item: { @@ -795,8 +794,8 @@ title: "Any High Pressure Boiler" type: "item" }] - x: -4.5d - y: 0.0d + x: -10.0d + y: 9.5d } { dependencies: ["3E82C14AF32AA103"] @@ -807,19 +806,22 @@ item: "gtceu:treated_wood_planks" type: "item" }] - x: -4.5d - y: -5.5d + x: -4.0d + y: -9.0d } { - dependencies: ["0A522CC855BF3FEC"] + dependencies: [ + "0A522CC855BF3FEC" + "55DD22C8ECBEE079" + ] id: "252FD7ED5BF225DD" tasks: [{ id: "5E4B2C29C7893EF8" item: "gtceu:treated_wood_plate" type: "item" }] - x: -4.5d - y: -7.0d + x: -2.5d + y: -9.0d } { dependencies: [ @@ -829,15 +831,182 @@ icon: "create:large_cogwheel" id: "5CB27C93795281AB" shape: "gear" - size: 2.0d + size: 3.0d tasks: [{ id: "0D3B31329089CFE4" item: "create:cogwheel" type: "item" }] title: "The beginning of Create" - x: -0.5d - y: -7.0d + x: 0.5d + y: -9.0d + } + { + dependencies: ["07415D6305C3B1D2"] + description: ["The Steam Compressor unlocks some tantalising new recipes that will help you to progress towards Steel."] + id: "54CA9AF368FCC274" + size: 1.0d + subtitle: "The Steam Compressor compresses..." + tasks: [{ + id: "5CA938E8348E4228" + item: "gtceu:hp_steam_compressor" + type: "item" + }] + title: "Steam Compressor" + x: 0.5d + y: 6.0d + } + { + dependencies: ["1C50A758A1DE25CB"] + 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: "79F8CCB9AAC2418A" + shape: "square" + size: 1.0d + subtitle: "The Macerator macerates..." + tasks: [{ + id: "63E61AE537B5ED1F" + item: "gtceu:hp_steam_macerator" + type: "item" + }] + title: "Steam Macerator" + x: -2.5d + y: 6.0d + } + { + dependencies: ["48AED37B4E20A99A"] + 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: "33B6BA83EA354B24" + shape: "square" + size: 1.0d + subtitle: "The Alloy Smelter makes alloys..." + tasks: [{ + id: "320681036ECB878D" + item: "gtceu:hp_steam_alloy_smelter" + type: "item" + }] + title: "Steam Alloy Smelter" + x: -5.5d + y: 6.0d + } + { + dependencies: ["1436DB89E21264F3"] + 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: "152A238740E6ADA8" + shape: "square" + size: 1.0d + subtitle: "The Steam Extractor extracts..." + tasks: [{ + id: "3167FD92D7FB37B5" + item: "gtceu:hp_steam_extractor" + type: "item" + }] + title: "Steam Extractor" + x: -4.0d + y: 6.0d + } + { + dependencies: ["1931FC6DEAC29646"] + 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: "2AD496393F5F9421" + shape: "square" + size: 1.0d + subtitle: "The Forge Hammer hammers..." + tasks: [{ + id: "08DB1E42BA032AAD" + item: "gtceu:hp_steam_forge_hammer" + type: "item" + }] + title: "Steam Forge Hammer" + x: -1.0d + y: 6.0d + } + { + dependencies: ["3FB3EE093DDC6B56"] + 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: "3E1DF79F85C2AD99" + shape: "gear" + subtitle: "Open me, its important, or not?" + tasks: [{ + id: "635CBC166F9FD406" + title: "Some useful info about steam" + type: "checkmark" + }] + x: -10.0d + y: 0.0d + } + { + dependencies: ["3E1DF79F85C2AD99"] + id: "612C0D994EAF0CB6" + shape: "gear" + size: 3.0d + tasks: [{ + id: "78EB6ABEE40D1867" + item: "gtceu:bronze_machine_casing" + type: "item" + }] + x: -10.0d + y: 3.0d + } + { + dependencies: ["3E1DF79F85C2AD99"] + id: "3B8D9846F50DEF34" + tasks: [{ + id: "5C54AF2AC3307B4A" + item: "gtceu:lp_steam_furnace" + type: "item" + }] + x: -7.5d + y: 0.0d + } + { + dependencies: ["612C0D994EAF0CB6"] + id: "2F44D9034CBEB774" + tasks: [{ + id: "6F2953EC4D8DEF27" + item: "gtceu:lp_steam_rock_crusher" + type: "item" + }] + x: 2.0d + y: 3.0d + } + { + dependencies: ["1C50A758A1DE25CB"] + id: "55DD22C8ECBEE079" + tasks: [{ + id: "5B70E7F9DB1372B0" + item: "gtceu:treated_wood_dust" + type: "item" + }] + x: -2.5d + y: -7.5d } ] subtitle: ["Harness the power of Steam and learn the basics"] From 8235088ef5d1a635dcb667c2af2324a59cce0f7d Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 26 Oct 2024 21:08:11 +0700 Subject: [PATCH 261/266] Update gtceu.yaml --- config/gtceu.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/gtceu.yaml b/config/gtceu.yaml index 1c9213861..c9c9def8f 100644 --- a/config/gtceu.yaml +++ b/config/gtceu.yaml @@ -190,7 +190,7 @@ machines: # Whether Steam Multiblocks should use Steel instead of Bronze. # Default: false - steelSteamMultiblocks: true + steelSteamMultiblocks: false # Whether to enable the cleanroom, required for various recipes. # Default: true From 411f308abc567ad7b3232d33edd0c251d230c450 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 26 Oct 2024 21:08:31 +0700 Subject: [PATCH 262/266] some recipe for kaolinite powder --- kubejs/server_scripts/create/recipes.js | 4 ---- kubejs/server_scripts/tfc/recipes.js | 12 +++++++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index faaf2ba0a..3b82478e5 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -104,10 +104,6 @@ const registerCreateRecipes = (e) => { }) //#endregion - -} - -const dead = () => { // Train Station e.shapeless('2x create:track_station', [ 'create:railway_casing', diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index ceec34b43..b3d2ad5f6 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -3634,9 +3634,19 @@ const registerTFCRecipes = (e) => { //#endregion + //#region Каолинитовая глина -> Порошок каолинита + e.recipes.createMilling('2x tfc:powder/kaolinite', 'tfc:kaolin_clay') + .id(`tfg:milling/tfc/kaolinite_powder`) + + e.recipes.gtceu.macerator('tfg:tfc/kaolinite_powder') + .itemInputs('tfc:kaolin_clay') + .itemOutputs('2x tfc:powder/kaolinite') + .EUt(2).duration(40) + //#endregion + //Fire bricks e.recipes.gtceu.compressor('fire_bricks') - .itemInputs('4x tfc:ceramic/fire_brick') + .itemInputs() .itemOutputs('2x tfc:fire_bricks') .duration(800) .EUt(2) From 549935dac09d6ed9c5832681dcce583d6bc41b39 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 26 Oct 2024 21:14:25 +0700 Subject: [PATCH 263/266] Update embeddium-options.json --- config/embeddium-options.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/embeddium-options.json b/config/embeddium-options.json index 5d80ab678..1456a73f7 100644 --- a/config/embeddium-options.json +++ b/config/embeddium-options.json @@ -24,7 +24,7 @@ }, "notifications": { "force_disable_donation_prompts": false, - "has_cleared_donation_button": false, - "has_seen_donation_prompt": false + "has_cleared_donation_button": true, + "has_seen_donation_prompt": true } } \ No newline at end of file From 28a57d98c854f68ea73726f5ab08dfd5a8388342 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 26 Oct 2024 21:14:31 +0700 Subject: [PATCH 264/266] Update primitive_age.snbt --- config/ftbquests/quests/chapters/primitive_age.snbt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/config/ftbquests/quests/chapters/primitive_age.snbt b/config/ftbquests/quests/chapters/primitive_age.snbt index 4eb008af0..4b4eee9cb 100644 --- a/config/ftbquests/quests/chapters/primitive_age.snbt +++ b/config/ftbquests/quests/chapters/primitive_age.snbt @@ -371,11 +371,7 @@ } { 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\" } }" - ] + description: ["{quests.387DEEADF4922AB3.d1}"] icon: "gtceu:shale_aluminium_ore" id: "387DEEADF4922AB3" subtitle: "{quests.387DEEADF4922AB3.st}" From e2e6cee43e9f8569e4cddc2af03ac0ad31fc07d0 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 26 Oct 2024 22:31:32 +0700 Subject: [PATCH 265/266] Update mods --- mods | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods b/mods index 011bb3cce..b43b5e13e 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit 011bb3ccee340da32b54e94264123c9d281b5929 +Subproject commit b43b5e13e20e447af0cf9b30c9254c64730c95ae From 3c8bf025df096838bca893e3ece0adcd15c9f7dc Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 26 Oct 2024 22:32:28 +0700 Subject: [PATCH 266/266] some fixes --- .../quests/chapters/primitive_age.snbt | 195 ++++++++---------- kubejs/assets/tfg/lang/en_us.json | 2 +- kubejs/assets/tfg/lang/ru_ru.json | 2 +- kubejs/server_scripts/tfc/recipes.js | 53 +++-- kubejs/server_scripts/tfc/tags.js | 8 +- kubejs/startup_scripts/minecraft/constants.js | 35 ++-- kubejs/startup_scripts/tfc/constants.js | 9 + 7 files changed, 158 insertions(+), 146 deletions(-) diff --git a/config/ftbquests/quests/chapters/primitive_age.snbt b/config/ftbquests/quests/chapters/primitive_age.snbt index 4b4eee9cb..979cc3d12 100644 --- a/config/ftbquests/quests/chapters/primitive_age.snbt +++ b/config/ftbquests/quests/chapters/primitive_age.snbt @@ -1732,8 +1732,9 @@ hide_dependency_lines: true id: "3029097F88B8AABF" size: 1.5d + subtitle: "Broke ore using Hammer (Not Mining Hammer)" tasks: [{ - id: "37D21B5266C73385" + id: "0F58D0E86DAC23CD" item: "gtceu:crushed_graphite_ore" type: "item" }] @@ -2229,12 +2230,12 @@ hide_dependency_lines: true id: "73BF0075860E666B" tasks: [{ - id: "54334DA4AC22438E" + id: "0B0CF81DC4968709" 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))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" @@ -2259,32 +2260,29 @@ id: "2DEEDED2F21E60B9" tasks: [ { - id: "024533C5E4B89787" + id: "61FBFAD12DD6486F" 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))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" type: "item" } + { + id: "4A4A9E47E7251680" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfc:ore/small_cassiterite)item(gtceu:tiny_tin_dust)item(gtceu:tiny_cassiterite_sand_dust)item(gtceu:tiny_cassiterite_dust)item(gtceu:raw_tin)item(gtceu:raw_cassiterite)item(gtceu:raw_cassiterite_sand)item(gtceu:rich_raw_tin)item(gtceu:rich_raw_cassiterite)item(gtceu:rich_raw_cassiterite_sand)item(gtceu:poor_raw_tin)item(gtceu:poor_raw_cassiterite)item(gtceu:poor_raw_cassiterite_sand))" + } + } + title: "Any Tin Ore" + type: "item" + } ] title: "Resources for ordinary bronze" x: 18.5d @@ -2295,12 +2293,12 @@ hide_dependency_lines: true id: "566FA805413004CF" tasks: [{ - id: "7E987D9B30125F52" + id: "74026020BB7FD0C8" 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))" + "ftbfiltersystem:filter": "or(item(minecraft:raw_iron)item(tfc:ore/small_hematite)item(tfc:ore/small_magnetite)item(tfc:ore/small_limonite)item(gtceu:tiny_iron_dust)item(gtceu:tiny_hematite_dust)item(gtceu:tiny_goethite_dust)item(gtceu:tiny_magnetite_dust)item(gtceu:tiny_pyrite_dust)item(gtceu:tiny_yellow_limonite_dust)item(gtceu:raw_hematite)item(gtceu:raw_goethite)item(gtceu:raw_pyrite)item(gtceu:raw_yellow_limonite)item(gtceu:poor_raw_iron)item(gtceu:poor_raw_hematite)item(gtceu:poor_raw_goethite)item(gtceu:poor_raw_magnetite)item(gtceu:poor_raw_pyrite)item(gtceu:poor_raw_yellow_limonite)item(gtceu:rich_raw_iron)item(gtceu:rich_raw_hematite)item(gtceu:rich_raw_goethite)item(gtceu:rich_raw_magnetite)item(gtceu:rich_raw_pyrite)item(gtceu:rich_raw_yellow_limonite))" } } title: "Any Iron Ore" @@ -2396,47 +2394,41 @@ subtitle: "Cheap and shiny" tasks: [ { - id: "7EBB6EC50EE8CFA1" + id: "72D482BA2D14A873" 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))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" type: "item" } + { + id: "7EE7D70C8B855FD4" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfc:ore/small_sphalerite)item(gtceu:tiny_zinc_dust)item(gtceu:tiny_sphalerite_dust)item(gtceu:raw_sphalerite)item(gtceu:poor_raw_sphalerite)item(gtceu:rich_raw_sphalerite))" + } + } + title: "Any Zinc Ore" + type: "item" + } + { + id: "0828B00285E5DBD8" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:tiny_bismuth_dust)item(tfc:ore/small_bismuthinite)item(gtceu:raw_bismuth)item(gtceu:rich_raw_bismuth)item(gtceu:poor_raw_bismuth))" + } + } + title: "Any Bismuth Ore" + type: "item" + } ] title: "Resources for Bismuth bronze" x: 18.5d @@ -2459,39 +2451,36 @@ subtitle: "Expensive and black" tasks: [ { - id: "1294B28A98775920" + id: "45C62339992715C9" 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))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" type: "item" } { - id: "755505207091F3E2" + id: "5461C4FA5EAD78F0" 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))" + "ftbfiltersystem:filter": "or(item(tfc:ore/small_native_silver)item(gtceu:tiny_silver_dust)item(gtceu:raw_silver)item(gtceu:rich_raw_silver)item(gtceu:poor_raw_silver))" + } + } + title: "Any Silver Ore" + type: "item" + } + { + id: "0DE4CC2BCDE489C0" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(minecraft:raw_gold)item(tfc:ore/small_native_gold)item(gtceu:poor_raw_gold)item(gtceu:rich_raw_gold)item(gtceu:tiny_gold_dust))" } } title: "Any Gold Ore" @@ -3022,6 +3011,7 @@ dependencies: ["0EB682B44D83D12A"] hide_dependency_lines: true id: "253860AD4DF4224C" + subtitle: "Broke ore using Hammer (Not Mining Hammer)" tasks: [{ id: "6E70D453F693036D" item: "gtceu:crushed_sulfur_ore" @@ -3250,15 +3240,12 @@ type: "item" } { - id: "305EFF0F0ECD2E16" + id: "45979C3F7588F352" 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))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_nickel_dust)item(gtceu:tiny_garnierite_dust)item(gtceu:raw_nickel)item(gtceu:raw_garnierite)item(tfc:ore/small_garnierite)item(gtceu:poor_raw_nickel)item(gtceu:poor_raw_garnierite)item(gtceu:rich_raw_nickel)item(gtceu:rich_raw_garnierite))" } } title: "Any Nickel Ore" @@ -3576,24 +3563,24 @@ id: "483D7FE6554FDC96" tasks: [ { - id: "184806817B6D9921" + id: "7ED98EFD0C27E0FD" 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))" + "ftbfiltersystem:filter": "or(item(minecraft:raw_gold)item(tfc:ore/small_native_gold)item(gtceu:poor_raw_gold)item(gtceu:rich_raw_gold)item(gtceu:tiny_gold_dust))" } } title: "Any Gold Ore" type: "item" } { - id: "3101B42F9E34CDA1" + id: "2A88B5EB303D2265" 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))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" @@ -3620,27 +3607,24 @@ id: "758B2176634789F6" tasks: [ { - id: "763128F1BD1FEB9B" + id: "10F5386F960AE8C8" 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))" + "ftbfiltersystem:filter": "or(item(tfc:ore/small_sphalerite)item(gtceu:tiny_zinc_dust)item(gtceu:tiny_sphalerite_dust)item(gtceu:raw_sphalerite)item(gtceu:poor_raw_sphalerite)item(gtceu:rich_raw_sphalerite))" } } - title: "Any Sphalerite Ore" + title: "Any Zinc Ore" type: "item" } { - id: "34F5CDD35DDE2295" + id: "1F79B37BB871845A" 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))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" @@ -3667,32 +3651,29 @@ id: "0E0C589495AA31E8" tasks: [ { - id: "3E9AC72D1AF2CE1A" + id: "27FEFEA3A46F09FD" 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))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" type: "item" } + { + id: "6897CE0365F602F1" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfc:ore/small_native_silver)item(gtceu:tiny_silver_dust)item(gtceu:raw_silver)item(gtceu:rich_raw_silver)item(gtceu:poor_raw_silver))" + } + } + title: "Any Silver Ore" + type: "item" + } ] title: "Materials for Sterling Silver" x: 30.5d diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index fd35ece85..2ce72c508 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -34,7 +34,7 @@ "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.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. \nTo determine which rock a particular ore will spawn in, just open the explore EMI tabs, on one of them you will find the distribution of ores by dimensions and rocks.", "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.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index ffbf68df0..b2f85564d 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -34,7 +34,7 @@ "quests.387DEEADF4922AB3.t": "Генерация руд в мире TFG", "quests.387DEEADF4922AB3.st": "Куда веселей чем в ванилле", - "quests.387DEEADF4922AB3.d1": "В TerraFirmaGreg руду генерируются интересней чем где либо. \n1. Каждая руда появляется в своей породе. TFC добавляет в мир много разных пород, то есть обычный камень из ваниллы вы нигде не встретите, поэтому руды как и в реальной жизни генерируются только в определенных породах. \n2. Существуют несколько типов рудных жил, такие как: кластер, сфера, труба и несколько редких других, о которых говорить не будем. \n3. Для облегчения жизни игрокам, на поверхности появляются рудные индикаторы, под которыми в большинстве случаев располагается сама жила с рудой. \nTFG содержит небольшое Wiki для этого в таблице Excel. Для того, чтобы перейти по ссылке, выполните задание, после заберите награду и в чате отобразится кнопка по нажатию на которую вас перебросит на таблицу Excel с генерацией руды.", + "quests.387DEEADF4922AB3.d1": "В TerraFirmaGreg руду генерируются интересней чем где либо. \n1. Каждая руда появляется в своей породе. TFC добавляет в мир много разных пород, то есть обычный камень из ваниллы вы нигде не встретите, поэтому руды как и в реальной жизни генерируются только в определенных породах. \n2. Существуют несколько типов рудных жил, такие как: кластер, сфера, труба и несколько редких других, о которых говорить не будем. \n3. Для облегчения жизни игрокам, на поверхности появляются рудные индикаторы, под которыми в большинстве случаев располагается сама жила с рудой. \nЧтобы определить в какой породе спавнится та или иная руда, просто откройте исследуйте вкладки EMI, на одной из них вы найдете распространение руд по измерениям и породам.", "quests.63E6C5684E12828C.st": "Вам нужно пить воду, чтобы не умереть, постарайтсь найти реку или озеро с обычной водой!", "quests.63E6C5684E12828C.d1": "Используйте правую кнопку мыши, чтобы выпить немного воды. \nОсторожно! Если вы выпьете соленой воды у вас появится эффект усиленной жажды и скорее всего вы умрете.", diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index b3d2ad5f6..fc9066693 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -308,12 +308,14 @@ const registerTFCRecipes = (e) => { const processRichRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { const oreItem = ChemicalHelper.get(tagPrefix, material, 1) - if (oreItem.isEmpty()) return - - e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/rich_raw/${material.getName()}`) + if (oreItem.isEmpty()) return + if (tfcProperty != null && outputMaterial != null) { + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/rich_raw/${material.getName()}`) + } + const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) if (crushedItem.isEmpty()) return @@ -327,9 +329,11 @@ const registerTFCRecipes = (e) => { const oreItem = ChemicalHelper.get(tagPrefix, material, 1) if (oreItem.isEmpty()) return - e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/raw/${material.getName()}`) + if (tfcProperty != null && outputMaterial != null) { + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/raw/${material.getName()}`) + } const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) if (crushedItem.isEmpty()) return @@ -343,10 +347,12 @@ const registerTFCRecipes = (e) => { const processPoorRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { const oreItem = ChemicalHelper.get(tagPrefix, material, 1) if (oreItem.isEmpty()) return - - e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/poor_raw/${material.getName()}`) + + if (tfcProperty != null && outputMaterial != null) { + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/poor_raw/${material.getName()}`) + } const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) if (crushedItem.isEmpty()) return @@ -1573,10 +1579,13 @@ const registerTFCRecipes = (e) => { GTMaterialRegistry.getRegisteredMaterials().forEach(material => { const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + const outputMaterial = (tfcProperty == null) ? material : (tfcProperty.getOutputMaterial() == null ? material : tfcProperty.getOutputMaterial()) + + processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) + processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) + processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) if (tfcProperty != null) { - const outputMaterial = (tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial() - // 1. Префикс ассоциируемый с текущим предметом. // 2. Проперти ТФК с нагревом металла и другими полезными проперти. // 3. Материал из которого состоит объект. @@ -1601,9 +1610,6 @@ const registerTFCRecipes = (e) => { processCrushedOre(TagPrefix.crushed, tfcProperty, material, outputMaterial) processCrushedPurifiedOre(TagPrefix.crushedPurified, tfcProperty, material, outputMaterial) processCrushedRefinedOre(TagPrefix.crushedRefined, tfcProperty, material, outputMaterial) - processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) - processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) - processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) // 1. Тип инструмента // 2. Префикс ассоциируемый с текущим предметом. @@ -3395,7 +3401,7 @@ const registerTFCRecipes = (e) => { .id('tfg:smelting/fireclay_brick') // Выпаривание соли - e.recipes.tfc.pot([], Fluid.of('tfc:salt_water', 625), 300, 1000) + e.recipes.tfc.pot([], Fluid.of('tfc:salt_water', 1000), 300, 250) .itemOutput('gtceu:small_salt_dust') .id('tfg:tfc/pot/salt') @@ -3634,6 +3640,16 @@ const registerTFCRecipes = (e) => { //#endregion + //#region Каолинитовая глина + e.shapeless('tfc:kaolin_clay', [ + 'minecraft:clay_ball', + 'gtceu:aluminium_dust', + ['gtceu:fullers_earth_dust', 'gtceu:silicon_dust', 'gtceu:silicon_dioxide_dust'], + ['minecraft:bone_meal', 'gtceu:calcium_dust'], + ['tfg:shale_dust', 'tfg:claystone_dust', 'tfg:limestone_dust', 'tfg:conglomerate_dust', 'tfg:dolomite_dust', 'tfg:chert_dust', 'tfg:chalk_dust'] + ]).id('tfg:tfc/kaolinite_clay') + //#endregion + //#region Каолинитовая глина -> Порошок каолинита e.recipes.createMilling('2x tfc:powder/kaolinite', 'tfc:kaolin_clay') .id(`tfg:milling/tfc/kaolinite_powder`) @@ -3644,6 +3660,7 @@ const registerTFCRecipes = (e) => { .EUt(2).duration(40) //#endregion + //Fire bricks e.recipes.gtceu.compressor('fire_bricks') .itemInputs() diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 677619c10..b0c01a6ee 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -313,7 +313,13 @@ const registerTFCBlockTags = (event) => { event.add('tfc:glass_basin_blocks', 'tfc:white_kaolin_clay') event.add('tfc:glass_pouring_table', 'tfc:white_kaolin_clay') //#endregion - + + //#region Позволяем ТФК магме греть бойлер из Create + global.TFC_MAGMA_BLOCKS.forEach(el => { + event.add('create:passive_boiler_heaters', el) + }) + //#endregion + //#region Удаление тегов и скрытие руд const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index adeddf00c..705b0a659 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -535,23 +535,23 @@ global.MINECRAFT_DISABLED_ITEMS = [ //#endregion //#region Шаблоны брони - 'minecraft:wayfinder_armor_trim_smithing_template', - 'minecraft:netherite_upgrade_smithing_template', - 'minecraft:dune_armor_trim_smithing_template', - 'minecraft:snout_armor_trim_smithing_template', - 'minecraft:shaper_armor_trim_smithing_template', - 'minecraft:coast_armor_trim_smithing_template', - 'minecraft:vex_armor_trim_smithing_template', - 'minecraft:host_armor_trim_smithing_template', - 'minecraft:rib_armor_trim_smithing_template', - 'minecraft:silence_armor_trim_smithing_template', - 'minecraft:spire_armor_trim_smithing_template', - 'minecraft:tide_armor_trim_smithing_template', - 'minecraft:eye_armor_trim_smithing_template', - 'minecraft:raiser_armor_trim_smithing_template', - 'minecraft:wild_armor_trim_smithing_template', - 'minecraft:sentry_armor_trim_smithing_template', - 'minecraft:ward_armor_trim_smithing_template', + // 'minecraft:wayfinder_armor_trim_smithing_template', + // 'minecraft:netherite_upgrade_smithing_template', + // 'minecraft:dune_armor_trim_smithing_template', + // 'minecraft:snout_armor_trim_smithing_template', + // 'minecraft:shaper_armor_trim_smithing_template', + // 'minecraft:coast_armor_trim_smithing_template', + // 'minecraft:vex_armor_trim_smithing_template', + // 'minecraft:host_armor_trim_smithing_template', + // 'minecraft:rib_armor_trim_smithing_template', + // 'minecraft:silence_armor_trim_smithing_template', + // 'minecraft:spire_armor_trim_smithing_template', + // 'minecraft:tide_armor_trim_smithing_template', + // 'minecraft:eye_armor_trim_smithing_template', + // 'minecraft:raiser_armor_trim_smithing_template', + // 'minecraft:wild_armor_trim_smithing_template', + // 'minecraft:sentry_armor_trim_smithing_template', + // 'minecraft:ward_armor_trim_smithing_template', //#endregion //#region Свечи @@ -748,7 +748,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:shears', 'minecraft:lantern', 'minecraft:soul_lantern', - 'minecraft:smithing_table', 'minecraft:smoker', 'minecraft:blast_furnace', 'minecraft:chiseled_bookshelf', diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 07cf47a25..dd0f26f5e 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -1247,3 +1247,12 @@ global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [ { input: 'tfc:plant/cranberry_bush', fluid_amount: 6000, output: '3x tfc:food/cranberry', name: 'cranberry' }, ]; +global.TFC_MAGMA_BLOCKS = [ + 'tfc:rock/magma/granite', + 'tfc:rock/magma/diorite', + 'tfc:rock/magma/gabbro', + 'tfc:rock/magma/rhyolite', + 'tfc:rock/magma/basalt', + 'tfc:rock/magma/andesite', + 'tfc:rock/magma/dacite' +]; \ No newline at end of file