From 3c72e941095b7c447268bbb016668639d6a3f24a Mon Sep 17 00:00:00 2001 From: TomPlop Date: Mon, 28 Jul 2025 15:02:05 -0400 Subject: [PATCH] Adding Nuclear Line on Mars (#1467) * Adding the Nuclear Line CPU Wafer * merge * Revert "merge" This reverts commit b29b5e324f587042a7aad01a49cfdf63b33ab7b4. * revert * Revert "revert" This reverts commit 38376879b37a1150bd84dfa524621c2ffe6350db. * no change weird things happening to me * add fluid textures * Modification of nuclear line * fix conflict for fluids * first balance change * fix conflict with recipes.rocks * Nuclear Line * Add the bromine line and more fixes * Fully added back the bromine line * Add nuclear energy line and more fixes * fix conflit * Add back the recipes change to gtceu for nuclear * revert * fix conflict * One last try * Adjust Reactor rates * Added change to uranium dust commented out until Mars Update * Remove long rod from nuclear pellet --- defaultconfigs/create-server.toml | 1086 ++++++++--------- .../block/fluids/fluid.dense_steam.png | Bin 0 -> 2375 bytes .../block/fluids/fluid.dense_steam.png.mcmeta | 45 + .../block/fluids/fluid.irradiated_steam.png | Bin 0 -> 6687 bytes .../fluids/fluid.irradiated_steam.png.mcmeta | 45 + .../block/fluids/fluid.nuclear_waste.png | Bin 0 -> 28120 bytes .../fluids/fluid.nuclear_waste.png.mcmeta | 87 ++ .../block/fluids/fluid.radioactive_steam.png | Bin 0 -> 2409 bytes .../fluids/fluid.radioactive_steam.png.mcmeta | 45 + .../block/fluids/fluid.radioactive_waste.png | Bin 0 -> 9427 bytes .../fluids/fluid.radioactive_waste.png.mcmeta | 69 ++ .../block/fluids/fluid.uranium_waste.png | Bin 0 -> 25271 bytes .../fluids/fluid.uranium_waste.png.mcmeta | 87 ++ .../block/casings/machine_casing_mars.png | Bin 0 -> 4494 bytes .../casings/machine_casing_mars.png.mcmeta | 5 + .../block/casings/machine_casing_mars_ctm.png | Bin 0 -> 4842 bytes .../machine_casing_stainless_evaporation.png | Bin 0 -> 293 bytes ...ne_casing_stainless_evaporation.png.mcmeta | 5 + ...chine_casing_stainless_evaporation_ctm.png | Bin 0 -> 456 bytes .../tfc/tfc/drinkables/aged_corn_whiskey.json | 24 +- .../tfc/tfc/drinkables/aged_rye_whiskey.json | 24 +- kubejs/server_scripts/gregtech/recipes.js | 33 + .../gregtech/recipes.machines.js | 2 + .../gregtech/recipes.removes.js | 3 + kubejs/server_scripts/tfg/recipes.js | 1 + kubejs/server_scripts/tfg/recipes.nuclear.js | 405 ++++++ kubejs/server_scripts/tfg/recipes.space.js | 7 + kubejs/server_scripts/tfg/tags.js | 6 + kubejs/startup_scripts/gtceu/machines.js | 137 +++ kubejs/startup_scripts/gtceu/materials.js | 6 +- kubejs/startup_scripts/gtceu/recipe_types.js | 49 +- kubejs/startup_scripts/main_startup_script.js | 6 + kubejs/startup_scripts/tfg/blocks.js | 11 + kubejs/startup_scripts/tfg/constants.js | 15 +- kubejs/startup_scripts/tfg/element.js | 13 + kubejs/startup_scripts/tfg/items.js | 1 + kubejs/startup_scripts/tfg/items.nuclear.js | 6 + kubejs/startup_scripts/tfg/materials.js | 54 + .../startup_scripts/tfg/materials.nuclear.js | 251 ++++ 39 files changed, 1945 insertions(+), 583 deletions(-) create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png.mcmeta create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png.mcmeta create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_waste.png create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_waste.png.mcmeta create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.uranium_waste.png create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.uranium_waste.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_mars.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_mars.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_mars_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_ctm.png create mode 100644 kubejs/server_scripts/tfg/recipes.nuclear.js create mode 100644 kubejs/startup_scripts/tfg/element.js create mode 100644 kubejs/startup_scripts/tfg/items.nuclear.js create mode 100644 kubejs/startup_scripts/tfg/materials.nuclear.js diff --git a/defaultconfigs/create-server.toml b/defaultconfigs/create-server.toml index ce9cffa37..0fb3cd5f2 100644 --- a/defaultconfigs/create-server.toml +++ b/defaultconfigs/create-server.toml @@ -1,543 +1,543 @@ - -#. -#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 = false - #. - #Allow any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin. - allowShapelessInMixer = false - #. - #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 Spouts to interact with Casting Tables and Basins from Tinkers' Construct. - allowCastingBySpout = true - #. - #Display vanilla Log-stripping interactions in JEI. - displayLogStrippingRecipes = true - #. - #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 = false - #. - #Allow the standard in-world Shadow Steel recipe. - enableShadowSteelRecipe = false - -#. -#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 = 5 - #. - #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 - #. - #Maximum length in blocks of chain conveyor connections. - #Range: > 5 - maxChainConveyorLength = 32 - #. - #Maximum amount of connections each chain conveyor can have. - #Range: > 1 - maxChainConveyorConnections = 4 - - #. - #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 = 400 - - #. - #Moving Contraptions - [kinetics.contraptions] - #. - #Maximum amount of blocks in a structure movable by Pistons, Bearings or other means. - #Range: > 1 - maxBlocksMoved = 2048 - #. - #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 = 400 - #. - #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 - #. - #Whether the players hitbox should be expanded to the size of the contraption hitbox. - #[Technical] - syncPlayerPickupHitboxWithContraptionHitbox = 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 = 1.0 - #. - #[in Stress Units] - #Minimum stress impact to be considered 'high' - #Range: 0.0 ~ 65535.0 - highStressImpact = 2.0 - #. - #[in Stress Units] - #Minimum added Capacity by sources to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumCapacity = 32.0 - #. - #[in Stress Units] - #Minimum added Capacity by sources to be considered 'high' - #Range: 0.0 ~ 65535.0 - highCapacity = 128.0 - - [kinetics.stressValues] - - #. - #Fine tune the kinetic stats of individual components - [kinetics.stressValues.v2] - large_water_wheel = 16.0 - windmill_bearing = 32.0 - hand_crank = 2.0 - creative_motor = 2097152.0 - water_wheel = 4.0 - copper_valve_handle = 2.0 - steam_engine = 16.0 - - #. - #. - #[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 = 0.25 - mechanical_piston = 0.5 - millstone = 65535.0 - mechanical_bearing = 0.5 - clockwork_bearing = 0.5 - cuckoo_clock = 0.125 - speedometer = 0.0 - copper_backtank = 0.25 - mechanical_saw = 65535.0 - flywheel = 0.0 - encased_chain_drive = 0.0 - clutch = 0.0 - encased_fan = 65535.0 - adjustable_chain_gearshift = 0.0 - mechanical_pump = 65535.0 - crushing_wheel = 65535.0 - mechanical_mixer = 65535.0 - gantry_shaft = 0.0 - rope_pulley = 0.25 - rotation_speed_controller = 0.0 - mechanical_arm = 0.25 - netherite_backtank = 0.25 - andesite_encased_shaft = 65535.0 - mechanical_press = 65535.0 - large_cogwheel = 65535.0 - mechanical_drill = 0.5 - andesite_encased_large_cogwheel = 65535.0 - brass_encased_large_cogwheel = 65535.0 - mysterious_cuckoo_clock = 0.125 - stressometer = 0.0 - shaft = 65535.0 - brass_encased_shaft = 65535.0 - gearshift = 0.0 - turntable = 0.25 - sticky_mechanical_piston = 0.5 - sequenced_gearshift = 0.0 - weighted_ejector = 0.25 - cogwheel = 65535.0 - andesite_encased_cogwheel = 65535.0 - belt = 65535.0 - brass_encased_cogwheel = 65535.0 - gearbox = 0.0 - hose_pulley = 0.25 - elevator_pulley = 0.25 - mechanical_crafter = 0.125 - chain_conveyor = 0.0 - - #. - #[in Stress Units] - #Configure how much stress a source can accommodate for. - [kinetics.stressValues.v2.capacity] - copper_valve_handle = 2.0 - hand_crank = 2.0 - steam_engine = 16.0 - creative_motor = 16384.0 - large_water_wheel = 16.0 - water_wheel = 4.0 - windmill_bearing = 32.0 - -#. -#Create's liquid manipulation tools -[fluids] - #. - #. - #[in Buckets] - #The amount of liquid a tank can hold per block. - #Range: > 1 - fluidTankCapacity = 16 - #. - #[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 = 256 - #. - #[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 = 2000 - #. - #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 = true - #. - #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 display links and their target. - #Range: > 1 - displayLinkRange = 64 - #. - #The total amount of stacks a vault can hold per block in size. - #Range: 1 ~ 2048 - 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 - #. - #Maximum distance in blocks a Package Port can be placed at from its target. - #Range: > 1 - packagePortRange = 5 - #. - #The amount of packages a chain conveyor can carry at a time. - #Range: > 1 - chainConveyorCapacity = 20 - #. - #The amount of ticks a factory gauge waits between requests. - #Range: > 5 - factoryGaugeTimer = 100 - -#. -#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 = 1200 - #. - #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 = 1 - - #. - #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 - + +#. +#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 = false + #. + #Allow any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin. + allowShapelessInMixer = false + #. + #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 Spouts to interact with Casting Tables and Basins from Tinkers' Construct. + allowCastingBySpout = true + #. + #Display vanilla Log-stripping interactions in JEI. + displayLogStrippingRecipes = true + #. + #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 = false + #. + #Allow the standard in-world Shadow Steel recipe. + enableShadowSteelRecipe = false + +#. +#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 = 5 + #. + #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 + #. + #Maximum length in blocks of chain conveyor connections. + #Range: > 5 + maxChainConveyorLength = 32 + #. + #Maximum amount of connections each chain conveyor can have. + #Range: > 1 + maxChainConveyorConnections = 4 + + #. + #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 = 400 + + #. + #Moving Contraptions + [kinetics.contraptions] + #. + #Maximum amount of blocks in a structure movable by Pistons, Bearings or other means. + #Range: > 1 + maxBlocksMoved = 2048 + #. + #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 = 400 + #. + #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 + #. + #Whether the players hitbox should be expanded to the size of the contraption hitbox. + #[Technical] + syncPlayerPickupHitboxWithContraptionHitbox = 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 = 1.0 + #. + #[in Stress Units] + #Minimum stress impact to be considered 'high' + #Range: 0.0 ~ 65535.0 + highStressImpact = 2.0 + #. + #[in Stress Units] + #Minimum added Capacity by sources to be considered 'medium' + #Range: 0.0 ~ 4096.0 + mediumCapacity = 32.0 + #. + #[in Stress Units] + #Minimum added Capacity by sources to be considered 'high' + #Range: 0.0 ~ 65535.0 + highCapacity = 128.0 + + [kinetics.stressValues] + + #. + #Fine tune the kinetic stats of individual components + [kinetics.stressValues.v2] + large_water_wheel = 16.0 + windmill_bearing = 32.0 + hand_crank = 2.0 + creative_motor = 2097152.0 + water_wheel = 4.0 + copper_valve_handle = 2.0 + steam_engine = 16.0 + + #. + #. + #[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 = 0.25 + mechanical_piston = 0.5 + millstone = 65535.0 + mechanical_bearing = 0.5 + clockwork_bearing = 0.5 + cuckoo_clock = 0.125 + speedometer = 0.0 + copper_backtank = 0.25 + mechanical_saw = 65535.0 + flywheel = 0.0 + encased_chain_drive = 0.0 + clutch = 0.0 + encased_fan = 65535.0 + adjustable_chain_gearshift = 0.0 + mechanical_pump = 65535.0 + crushing_wheel = 65535.0 + mechanical_mixer = 65535.0 + gantry_shaft = 0.0 + rope_pulley = 0.25 + rotation_speed_controller = 0.0 + mechanical_arm = 0.25 + netherite_backtank = 0.25 + andesite_encased_shaft = 65535.0 + mechanical_press = 65535.0 + large_cogwheel = 65535.0 + mechanical_drill = 0.5 + andesite_encased_large_cogwheel = 65535.0 + brass_encased_large_cogwheel = 65535.0 + mysterious_cuckoo_clock = 0.125 + stressometer = 0.0 + shaft = 65535.0 + brass_encased_shaft = 65535.0 + gearshift = 0.0 + turntable = 0.25 + sticky_mechanical_piston = 0.5 + sequenced_gearshift = 0.0 + weighted_ejector = 0.25 + cogwheel = 65535.0 + andesite_encased_cogwheel = 65535.0 + belt = 65535.0 + brass_encased_cogwheel = 65535.0 + gearbox = 0.0 + hose_pulley = 0.25 + elevator_pulley = 0.25 + mechanical_crafter = 0.125 + chain_conveyor = 0.0 + + #. + #[in Stress Units] + #Configure how much stress a source can accommodate for. + [kinetics.stressValues.v2.capacity] + copper_valve_handle = 2.0 + hand_crank = 2.0 + steam_engine = 16.0 + creative_motor = 16384.0 + large_water_wheel = 16.0 + water_wheel = 4.0 + windmill_bearing = 32.0 + +#. +#Create's liquid manipulation tools +[fluids] + #. + #. + #[in Buckets] + #The amount of liquid a tank can hold per block. + #Range: > 1 + fluidTankCapacity = 16 + #. + #[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 = 256 + #. + #[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 = 2000 + #. + #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 = true + #. + #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 display links and their target. + #Range: > 1 + displayLinkRange = 64 + #. + #The total amount of stacks a vault can hold per block in size. + #Range: 1 ~ 2048 + 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 + #. + #Maximum distance in blocks a Package Port can be placed at from its target. + #Range: > 1 + packagePortRange = 5 + #. + #The amount of packages a chain conveyor can carry at a time. + #Range: > 1 + chainConveyorCapacity = 20 + #. + #The amount of ticks a factory gauge waits between requests. + #Range: > 5 + factoryGaugeTimer = 100 + +#. +#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 = 1200 + #. + #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 = 1 + + #. + #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/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png new file mode 100644 index 0000000000000000000000000000000000000000..8cca66fc908ee1846f04dc2ce872276ad7fc7113 GIT binary patch literal 2375 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta new file mode 100644 index 000000000..33611385b --- /dev/null +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta @@ -0,0 +1,45 @@ +{ + "animation": { + "frametime": 1, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png new file mode 100644 index 0000000000000000000000000000000000000000..38280013783645c635d8925f345209b4f10de1aa GIT binary patch literal 6687 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta new file mode 100644 index 000000000..33611385b --- /dev/null +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta @@ -0,0 +1,45 @@ +{ + "animation": { + "frametime": 1, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png new file mode 100644 index 0000000000000000000000000000000000000000..ad8a044a80d4060e7bc820857127901860c0fc8d GIT binary patch literal 28120 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ⅆRf0?RKNfAp)9#W;)Z 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 Dd1+L$ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png.mcmeta new file mode 100644 index 000000000..744a3d54c --- /dev/null +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png.mcmeta @@ -0,0 +1,87 @@ +{ + "animation": { + "frametime": 2, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 39, + 38, + 37, + 36, + 35, + 34, + 33, + 32, + 31, + 30, + 29, + 28, + 27, + 26, + 25, + 24, + 23, + 22, + 21, + 20, + 19, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png new file mode 100644 index 0000000000000000000000000000000000000000..608ba1eb246d4d7035cf087829545b0df9ed8fa1 GIT binary patch literal 2409 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
s)o-!KlGg+gx3N6clSG4&bzI4i# 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≈988Wj*NOOXWxx0?c*yh z{TsG$2&B=}i1PYKI~xA+jWc`|w<)NOq3XQ6wL^YygIz6#26JpM0~EF;94j0>Q-WFG zKlBS=0yj4vq#F2OoaV zgLIUA1U{(tT;6J-=K6hkNK5^wBU)Q!$p0x1>o*gymQjmN{6c*HRd_G*vJnaTE@HW^ zUeoxUwtiKF*`La6!3~u-f3!>%zaT{`NL|CU3#^F_V*mPl9*w#(W8*yPV7&ozhZdgfP zecv~z)ABUd<%ir_!;SE-FOPY~ff6AOG)qSdjh^&mjb1lBk<|-vzP7LG_iPZ4xW}uM z;+GM^9%3U{m|%W!55j0ZOG>f{&Aby)(MAZSA%;o!dU0JF1=wPIBz@*2c5 zCof>Y^b-#P$;xsc8Z5E1vvjuj>LEW`S1#7p$$HO-L0qYWyAxccHwvxjEJuRZHq__P zN5c@KKEwepVizWgbgGEeK@8AddhDs!rNTenc+mZvKh)7v$=qe5UZ1SPb!B>6wizrY zME5BMpCgx1oN6)dm8qB4GRf&z>+2|(t8M;?Tn&0D##%PS)A#>1;2fFPuaUw$^ z-z;%KaDo?S*dOtL|2Gf*2a!SYW)RFaCIA2c4rN$LW=%~1DgXcg2mk;800000(o>TF O0000g5F#qJg~{XvM#v8{0|~6Z zTCkcHOSAx^EIdJncDqJZJkK z$(hW|efNFdz2A4=J9%%UCNB&UJtYzd1VQ>lZ5q7)hQB5R!rz&^vZcG_x#&6 z2UMbl@xs{YbyFnmP2>U5tKGt~L)|rf;_&-eWMkRQ?gKM#3~C0u{NlGCH|~8ta90(m z30^7v%kpUfyC-B%2zXDYHPyzvn-qRoePr-*?>}GKlvA|T!~PIiROuJ&?4b(_1Os zg@~-bHPt)1dg?P))EA`OKc4;a@?}@aGmB<_Tozt~#4iW}#_U;1bqmVhAO=op?uAvv z>Liym*5YaKujMeE=LYv1IfBAJ+rbo3} zAp6JSTY)OoxRY;gIy`uD@PqcQ`|6VsNykZ6x*iyqENZM|dP-eRc zNZeKjtUQ4rI@ax==sdt7CXmC}G~yeFj*1b+tPw9!7;u9l0pv1?#ZHi3oNT0v^JukM z92+Bwc9Rfb1ssLAt@$>VbZf+3E(xD`GbTp7E?k~Qyws42B-ot*AtZzZM|EzdP$rHM zA<<5=g-p{f7(&1|jX0O%93+OhTrP=AF0ngvFsWLt#&8)XlcCT9Ws7VaOpo|E3Y_^~A2W@C zd|-u87RD!i#Ghj<55;;UHonE1&gekka3lOjyoYo5Izummfz;aR0)9}vRwL%)CCzr4 zF_Yd$r5PtE6%A0zB$uLuLPek^3Rj|(S}6qzwT#Bqicu)NjpZmC4R{oUOBl$J%W+DE z%WzaKSISTVn4~C05f(H`A-7N}+#*#fEu#=AP6k#bl|MQv9%Y6opiszU0JoqPN=~4J zh2jHIP^dXdVUZJRS|OFoy(oSj$hcI!Ml6%y4=t(r6lbwJts1d`qLGyJhb>0N3eq`> zS52x^z>o>KOeIwlYMC!RFE9f*Sy*vAREkUFDsOi)O)h{)3RVtdrE&n~u;q9g_<12= zHc(lLFH}hO+F>$ef)h}j-D$Mj^EG0gjqu2kW&>PLW{RV<6bImFxJ*IfN>U~_N~1`H ziX@^?oFMU0{&q8CDf(aD{OUoXeRH13uyFh$ugSNh(!omKo9{KB@vbEV@vaJzqJ1f_ zR3R{XuhU#_L&iq0x;88fPh@xev3YHQ|sAvVMw#d{dFslfQNl8f+ zL#mF@S-XXEQBDw-19gO2!TR)Sg+%zKF!Ir0T)BXsAE+1#tMs8_sv*U&p^Pzp*BDMY z8vB_j(O!p9+YIdIv%&2P?uOXNb~q#&4EWdl3{A$bIRt`?4f0s}j>$D9*JCO0Sk7bB zH73_%Dezd%W7YM4lS}mQKm}~@Z;%Tfm-a3hAmC9e(DeI-TEPSUTYY$ECA3U*BranG zf=R*rfN%Hz1qb#xa_;JqruZmr(FBD zKOeO)H zXFr*|Zffwb|H&=X>?Ah1haqm8&TeSFEt^TuBdz!yP4Luj{Uc?>=w(3wlvJSC LC2JevvtRu$OS5(x literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_mars.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars.png.mcmeta new file mode 100644 index 000000000..65c0383d1 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/machine_casing_mars_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_ctm.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..e909e35334a2345175c2253a4775e0be9084d663 GIT binary patch literal 4842 zcmeHKX;c&E8XgD|h#RONF0C<&iZsb&62fF8L6!(n0|*g85gleG5XnXoAmGIc>M5vo zK`Vu8g{vr5P`nmf1>8VUPp`OFD;7801(&*G@qS4F@wDgM<2kqgNKR&Xzh|EBeV_OF zzLUv|2n*@Y7|wtosJ|>UI1-$hmYIF94LYStO)*UwdWuPz zRZ0jlU(rMa3^>Yks%>AMm193qa$H+;vSWVnp)F^&X|TL8u+pLKW&5JK;V++Fm2%Tb8J)cN z_{r=^IgD{rqRfg!PdTUA+5K5n*=IKfHb03ScG+350fOw7s)B+dWI;h)1%Wa)W~~*6 z)=wUJY+lq>mRp~`%TaQBSnFoiO+|UcQpVQkq>D#d&T*5@tts7yGIsT$`@5G9;51fa z`xrUb>A5x6OYgBfJGfp|xlga}8}+zN+}3OtxTQ|baeiZo5q{D z0Yk?wYN>woY{cEo_4cRx4J&-^my#RvMcVGGM=HqeN28A7(u))3ov5zRH{Yy?UQm%5 z-cdI{eopKi?9`00yK_BDnSoRKQ;PYcrRWbqN&5tkDDKL6D!nS&tLRl!=)@ zC91Sy*5jH(ET)PSvu63oVYxntN>YVp8mOquFa?pBOo&L9zl7mu#sGnaGT}_KMy)ks zW--gki-BuPn9E{XA*N(8D@Go{4AL1Wrhp^hz-*~mm4>h+45pufRAQ0AQ#vWYotTwm zGU+icH$6R_lg{Vp42fKxNF?II2p2)v0Kqn9Xid18tu>CZP}n$vDI;M}=}jt~mTBR{ z6LhI2F^dJpnO*s5^m2JOz1G;N0?>nN#`Rnt2j*%t+@4PuP0}<#(wWd-K4DaVb;^yT zjJi|*oIm-Br643{Y}87OW#uEtATE#Vkv{7^x#vBxb$z5%?fH z0_Cy!2|ff{AVm3WluzMofq>+Rgg&^B#U2*bZB#O?(S&OW%0dMq92Ma46)FiK&Lh|; zj|3C~a6pwjl#Sr1(pN~L2qHjwP=p&)z?HbVXI2&}5>UYii3@~6lr2I~kOPd8Y>|jW z*a)8|f?<*rB#=TYm8B0@K!i-pLOAe;NQ4?UDRl;om?g&vW_Z+x5rs-aMVWAmYCK;b zJ|7lMmV@;~;wC&8H&I|V81cbiUku?Zc)l3S!(bsB z7GQ7>ypB{UGyWIavU-?)wnl}jj9~r@Ysj{wqNo(xo$XewvaTg2)4D1!oUoN(#M3BS z!vU9Vh)BY^QvjTc-GvGN}3~XOuH{^D2hn=E<4F1kfXEXlJDVWUONj^#6Ub%YZ`XmKD3Eb5zTXRFSf_;HWau{eK;_~G1C zcIDX9vWh!pg@3#~os^8e`+emyD%KHt;x}-|GJHaD$dg!+9mo zTOu12d`&W@<4s>qANN2A@*oh`w;p|F4qkc7BhcxQVHD&db#+{l?H0b_T}NL!wA2Ni zw2+%vQg`g4-Qq=u%HOm;f(vW=7jOIiA8GfFy?8Oy`*KV29wgo;T~vPX>=B1`+*3#I zN@lknE}}0^Te$F`JvHs82NCCfv^z{-v7&Y)UK{Xqt23uDC#Qg&HO&9>)obrYjeL}P z$2-Coy*mCk(u7w5uU`)KReXHRReY{Se98J4~%Z02b7Get3GluvD$U! z>$z>*Z_X%BD`H+`We&QhXu0jaW_nSZI#z!^d(Z9rwI|p>hw#33I!G5R9j9%MzG>E=(3G^N!h_1+g@cKx6NMCjRy3+)fy)ZRn^t2rd z#^tf&C;5QXR`TG6UtZES8vo;d>5N!1JgITf=)%1G&`se_@4Pq|J^jRk=d|M?w0)If z{;cIJFPHN<)tXluUe!`Du8sR!%AeDAHcx^M|8nZolV8UU626FYvTN`tdJF>}@0iTu!{&wnJ9?))?jPCmVFKW}yGU1*0}&JKZ<_dMIX<`0B$&>y`S~|BCd7 zYu-!3ufOD+n_BVxg-F`|9b}Yr=aqq1o26zu_TspvX`lb31$KpG(y-uNf%9|z3qyDh A<^TWy literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png new file mode 100644 index 0000000000000000000000000000000000000000..da4af96c0dbe6c6a2f8252a73f82930d9b6627bf GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFd9&&;|qtGJeRoRQSxfE_L&zI-z;(vZ* z;lXo-X?*Ex?oL_uKgI9Q-h`{1AA+B$8uUxDB-J++GTDV#lw3-bJAScvO@iBRxmcjw*F+y@v*8EmA%^vbP|K7tDnm{r-UW|WOZ>k literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png.mcmeta new file mode 100644 index 000000000..56d55b4dd --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/machine_casing_stainless_evaporation_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_ctm.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..91321a59f64e8311e0a6c3734ec72d86034fa9ee GIT binary patch literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;90X`wF*RMZ6e*F5YSHH4sEl>34?%a9u%Bdr zmu~%dW>&82wW~l~oCO|{#S9F3N+8U*>e1avKx@=JT^vI+&f8Adn044dpv|9Ee`#~R zg@&v1rSO1-BA3four;>lFiyX)k(Ga`bGuV}&e+O{wR6ksBm~}vCu2iJKy&jrv1pA)X%xc ze*WM5=e3_6F1%Z0dhCXpyx@sPd#pD9IH6-_)ZKsPkuoZi<=>n4xg{4>J<(v<`}oQHwttzE8nX7UYZ3s(5QC?ypUXO@geCyh5y991 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfc/tfc/drinkables/aged_corn_whiskey.json b/kubejs/data/tfc/tfc/drinkables/aged_corn_whiskey.json index fb9caffac..6d66d009e 100644 --- a/kubejs/data/tfc/tfc/drinkables/aged_corn_whiskey.json +++ b/kubejs/data/tfc/tfc/drinkables/aged_corn_whiskey.json @@ -1,13 +1,13 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "ingredient": "tfcagedalcohol:aged_corn_whiskey", - "thirst": 15, - "intoxication": 2000, - "effects": [ - { - "type": "minecraft:haste", - "duration": 6400, - "amplifier": 0 - } - ] +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": "tfcagedalcohol:aged_corn_whiskey", + "thirst": 15, + "intoxication": 2000, + "effects": [ + { + "type": "minecraft:haste", + "duration": 6400, + "amplifier": 0 + } + ] } \ No newline at end of file diff --git a/kubejs/data/tfc/tfc/drinkables/aged_rye_whiskey.json b/kubejs/data/tfc/tfc/drinkables/aged_rye_whiskey.json index bbf9420fc..964129e67 100644 --- a/kubejs/data/tfc/tfc/drinkables/aged_rye_whiskey.json +++ b/kubejs/data/tfc/tfc/drinkables/aged_rye_whiskey.json @@ -1,13 +1,13 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "ingredient": "tfcagedalcohol:aged_rye_whiskey", - "thirst": 15, - "intoxication": 2000, - "effects": [ - { - "type": "minecraft:haste", - "duration": 6400, - "amplifier": 0 - } - ] +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": "tfcagedalcohol:aged_rye_whiskey", + "thirst": 15, + "intoxication": 2000, + "effects": [ + { + "type": "minecraft:haste", + "duration": 6400, + "amplifier": 0 + } + ] } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 17789561a..3994256ef 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1281,4 +1281,37 @@ const registerGTCEURecipes = (event) => { event.shapeless(Item.of('gtceu:matchbox', '{usesLeft:8}'), ['minecraft:paper', '8x gtceu:matches']) .id('tfg:shapeless/matchbox') + + // Nano CPU use Nuclear Tritiated Water COMMENTED UNTIL MARS IS OUT +/* + event.replaceInput({ id: 'gtceu:chemical_reactor/nano_cpu_wafer' }, Fluid.of('gtceu:glowstone'), Fluid.of('gtceu:tritiated_water')) + event.replaceInput({ id: 'gtceu:large_chemical_reactor/nano_cpu_wafer' }, Fluid.of('gtceu:glowstone'), Fluid.of('gtceu:tritiated_water')) + + // Remove Plutonium from centrifuging Uranium dust + + event.remove({ id: 'gtceu:centrifuge/uranium_238_separation' }) + + event.recipes.gtceu.centrifuge('tfg:uranium_238_separation') + .itemInputs('#forge:dusts/uranium') + .chancedOutput('#forge:tiny_dusts/uranium_235', 2300, 0) + .duration(20*40) + .EUt(GTValues.VA[GTValues.HV]) +*/ + // Change the Large Centrifugal Unit to be craftable at EV + + event.remove({ id: 'gtceu:shaped/large_centrifuge' }) + + event.shaped('gtceu:large_centrifuge', [ + 'EFE', + 'ADA', + 'BCB' + ], { + A: '#gtceu:circuits/iv', + B: 'gtceu:ev_electric_motor', + C: 'gtceu:aluminium_single_cable', + D: 'gtceu:ev_centrifuge', + E: 'gtceu:molybdenum_disilicide_spring', + F: 'gtceu:stainless_steel_huge_fluid_pipe' + }).id('tfg:shaped/large_centrifuge') + } diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 07a0dfede..9299fe74c 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -937,6 +937,8 @@ function registerGTCEuMachineRecipes(event) { .EUt(GTValues.VA[GTValues.ZPM]) .circuit(2) + //#endregion + event.recipes.gtceu.mixer('gtceu:chipboard_composite_wax') .itemInputs('2x #tfg:wood_dusts', '1x #forge:wax') diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 31e485a53..646c409f1 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -692,6 +692,9 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:shaped/mortar_grind_steel' }) event.remove({ id: 'gtceu:shaped/mortar_grind_wrought_iron' }) + // Replace by the Heat Exchanger recipe for Mars + event.remove({ id: 'gtceu:fluid_heater/formamide' }) + // Snow Stuffs event.remove({ id: 'gtceu:fluid_solidifier/snow_block' }) diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 4cf6389e9..855d8b072 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -20,5 +20,6 @@ const registerTFGRecipes = (event) => { registerTFGSpaceRecipes(event) registerTFGStoneDustRecipes(event) registerTFGRecyclingRecipes(event) + registerTFGNuclearRecipes(event) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.nuclear.js b/kubejs/server_scripts/tfg/recipes.nuclear.js new file mode 100644 index 000000000..9c0650f12 --- /dev/null +++ b/kubejs/server_scripts/tfg/recipes.nuclear.js @@ -0,0 +1,405 @@ +// priority: 0 + +function registerTFGNuclearRecipes(event) { + + //#region Nuclear Pellet + + event.recipes.gtceu.nuclear_fuel_factory('gtceu:thorium_pellet') + .itemInputs('1x #forge:nuggets/thorium_230', '1x #forge:ingots/thorium_232') + .itemOutputs('#forge:ingots/thorium_pellet') + .duration(20*30) + .EUt(GTValues.V[GTValues.HV]) + + event.recipes.gtceu.nuclear_fuel_factory('gtceu:uranium_pellet') + .inputFluids(Fluid.of('gtceu:uranium_waste', 1000)) + .itemInputs('#forge:nuggets/uranium_235', '1x #forge:ingots/uranium') + .itemOutputs('#forge:ingots/uranium_pellet') + .duration(20*30) + .EUt(GTValues.V[GTValues.HV]) + + event.recipes.gtceu.nuclear_fuel_factory('gtceu:plutonium_pellet') + .itemInputs('1x #forge:ingots/plutonium') + .inputFluids(Fluid.of('gtceu:radon', 10)) + .itemOutputs('#forge:ingots/plutonium_pellet') + .duration(20*30) + .EUt(GTValues.V[GTValues.EV]) + + event.recipes.gtceu.nuclear_fuel_factory('gtceu:tbu-232_pellet') + .inputFluids(Fluid.of('gtceu:nuclear_waste', 32000)) + .itemInputs('#forge:ingots/thorium_232') + .itemOutputs('#forge:ingots/tbu-232_pellet') + .duration(20*30) + .EUt(GTValues.V[GTValues.EV]) + + //#endregion + + //#region Processing Fuels + + event.recipes.gtceu.centrifuge('thorium_isotope') + //.inputFluids(Fluid.of('minecraft:water', 50)) + .itemInputs('9x #forge:dusts/thorium') + .chancedOutput('#forge:dusts/thorium_230', 9000, 0) + .itemOutputs('8x #forge:dusts/thorium_232') + .duration(20*30) + .EUt(GTValues.VA[GTValues.HV]) + + //#endregion + + //#region Mars Water + + event.recipes.gtceu.electrolyzer('mars_water') + .inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) + .outputFluids(Fluid.of('gtceu:heavy_water', 500)) + .itemOutputs('#forge:dusts/ammonium_chloride', '2x #forge:small_dusts/ammonium_chloride') + .duration(20*9) + .EUt(GTValues.VA[GTValues.LV]) + +/* event.recipes.gtceu.electric_blast_furnace('ammonium_chloryde') + .itemInputs('#forge:dusts/ammonium_chloride') + .outputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000)) + .outputFluids(Fluid.of('gtceu:ammonia', 1000)) + .blastFurnaceTemp(4600) + .duration(20*36) + .EUt(GTValues.VA[GTValues.IV])*/ + + // Martian Sludge + + event.recipes.gtceu.chemical_bath('dirty_hexafluorosilicic_acid') + .itemInputs('32x #forge:mars_stone_dusts') + .inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000)) + .outputFluids(Fluid.of('gtceu:dirty_hexafluorosilicic_acid', 1000)) + .duration(20*8) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.centrifuge('martian_sludge') + .inputFluids(Fluid.of('gtceu:dirty_hexafluorosilicic_acid', 1000)) + .outputFluids(Fluid.of('gtceu:martian_sludge', 1000)) + .outputFluids(Fluid.of('gtceu:hydrogen', 1000)) + .outputFluids(Fluid.of('gtceu:fluorine', 1000)) + .duration(20*16) + .EUt(GTValues.VA[GTValues.IV]) + + // Plutonium Process + + event.recipes.gtceu.gas_pressurizer('nuclear_residue') + .inputFluids(Fluid.of('gtceu:martian_sludge', 1000)) + .inputFluids(Fluid.of('gtceu:formamide', 1000)) + .inputFluids(Fluid.of('gtceu:radioactive_waste', 1000)) + .outputFluids(Fluid.of('gtceu:radon', 100)) + .itemOutputs('#forge:dusts/nuclear_residue') + .duration(20*48) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.vacuum_freezer('oxidized_nuclear_residue') + .itemInputs('#forge:dusts/nuclear_residue') + .inputFluids(Fluid.of('gtceu:dioxygen_difluoride', 1000)) + .outputFluids(Fluid.of('minecraft:water', 10)) + .itemOutputs('#forge:dusts/oxidized_nuclear_residue') + .duration(20*5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.centrifuge('refined_nuclear_residue') + .inputFluids(Fluid.of('gtceu:distilled_water', 1000)) + .itemInputs('#forge:dusts/oxidized_nuclear_residue') + .itemOutputs('#forge:dusts/refined_nuclear_residue') + .outputFluids(Fluid.of('gtceu:hydrofluoric_acid', 2000)) + .outputFluids(Fluid.of('gtceu:oxygen', 1000)) + .duration(20*48) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.large_chemical_reactor('dioxygen_difluoride') + .inputFluids(Fluid.of('gtceu:oxygen', 2000)) + .inputFluids(Fluid.of('gtceu:fluorine', 2000)) + .outputFluids(Fluid.of('gtceu:dioxygen_difluoride', 1000)) + .duration(20*48) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.large_chemical_reactor('plutonium_dust') + .itemInputs('#forge:dusts/refined_nuclear_residue') + .inputFluids(Fluid.of('gtceu:hydrogen', 2000)) + .itemOutputs('#forge:dusts/plutonium') + .outputFluids(Fluid.of('gtceu:steam', 1000)) + .duration(20*48) + .EUt(GTValues.VA[GTValues.IV]) + + //#endregion + + //#region Heat Exchanger + + event.recipes.gtceu.heat_exchanger('uranium_steam') + .inputFluids(Fluid.of('minecraft:water', 100)) + .inputFluids(Fluid.of('gtceu:radioactive_steam', 100)) + .inputFluids(Fluid.of('gtceu:ammonium_formate', 100)) + .outputFluids(Fluid.of('gtceu:dense_steam', 100)) + .outputFluids(Fluid.of('gtceu:formamide', 100)) + .duration(20*10) + .EUt(1) + + event.recipes.gtceu.heat_exchanger('plutonium_steam') + .inputFluids(Fluid.of('minecraft:water', 100)) + .inputFluids(Fluid.of('gtceu:irradiated_steam', 100)) + .outputFluids(Fluid.of('gtceu:dense_steam', 100)) + .duration(20*10) + .EUt(1) + + // Heat Exchanger for Energy + + event.recipes.gtceu.heat_exchanger('flibe_cooling') + .inputFluids(Fluid.of('gtceu:hot_flibe', 100)) + .inputFluids(Fluid.of('gtceu:distilled_water', 100)) + .chancedFluidInput(Fluid.of('gtceu:hastelloy_c_276', 100), 5000, 0) + .chancedFluidOutput(Fluid.of('gtceu:flibe', 100), 9500, 0) + .outputFluids(Fluid.of('gtceu:dense_steam', 100)) + .duration(20*10) + .EUt(1) + + //#endregion + + //#region Fission Reactor + + event.recipes.gtceu.fission_reactor('thorium_uranium_waste') + .itemInputs('#forge:bolts/thorium_pellet') + .inputFluids(Fluid.of('minecraft:water', 200)) + .outputFluids(Fluid.of('gtceu:dense_steam', 200)) + .outputFluids(Fluid.of('gtceu:uranium_waste', 20)) + .duration(20*100) + .EUt(32) + + event.recipes.gtceu.fission_reactor('thorium_nuclear_waste') + .itemInputs('#forge:bolts/thorium_pellet') + .inputFluids(Fluid.of('gtceu:distilled_water', 200)) + .outputFluids(Fluid.of('gtceu:dense_steam', 200)) + .outputFluids(Fluid.of('gtceu:nuclear_waste', 10)) + .duration(20*100) + .EUt(32) + + event.recipes.gtceu.fission_reactor('uranium_radioactive') + .itemInputs('#forge:bolts/uranium_pellet') + .inputFluids(Fluid.of('gtceu:heavy_water', 500)) + .outputFluids(Fluid.of('gtceu:radioactive_steam', 500)) + .outputFluids(Fluid.of('gtceu:radioactive_waste', 50)) + .duration(20*100) + .EUt(32) + + event.recipes.gtceu.fission_reactor('plutonium_irradiated') + .itemInputs('#forge:bolts/plutonium_pellet') + .inputFluids(Fluid.of('gtceu:heavy_water', 1000)) + .outputFluids(Fluid.of('gtceu:irradiated_steam', 1000)) + .outputFluids(Fluid.of('gtceu:tritiated_water', 50)) + .duration(20*100) + .EUt(32) + + // Fission Reactor for Energy + + event.recipes.gtceu.fission_reactor('tbu_reactor') + .itemInputs('#forge:bolts/tbu-232_pellet') + .inputFluids(Fluid.of('gtceu:flibe', 1000)) + .outputFluids(Fluid.of('gtceu:hot_flibe', 1000)) + .outputFluids(Fluid.of('gtceu:nuclear_waste', 500)) + .duration(20*100) + .EUt(32) + + //#endregion + + //#region Power Generation + + event.recipes.gtceu.gas_turbine('dense_steam') + .inputFluids(Fluid.of('gtceu:dense_steam', 1)) + .EUt(-32) + .duration(20*2) + + //#endregion + + //#region FLiBe Line + + event.recipes.gtceu.evaporation_tower('raw_rich_brine') + .inputFluids(Fluid.of('tfc:spring_water', 20000)) + .outputFluids(Fluid.of('gtceu:raw_rich_brine', 1000)) + .duration(20*50) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('hydrogen_iodide_to_hot_iodine_brine') + .inputFluids(Fluid.of('gtceu:hydrogen_iodide', 1000)) + .inputFluids(Fluid.of('gtceu:raw_rich_brine', 1000)) + .outputFluids(Fluid.of('gtceu:sodium_potassium', 1000)) + .outputFluids(Fluid.of('gtceu:hot_iodine_brine', 1000)) + .duration(20*24) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('basic_bromine_exhaust_to_hot_iodine_brine') + .inputFluids(Fluid.of('gtceu:basic_bromine_exhaust', 1000)) + .inputFluids(Fluid.of('gtceu:raw_rich_brine', 1000)) + .outputFluids(Fluid.of('gtceu:sodium_potassium', 1000)) + .outputFluids(Fluid.of('gtceu:hot_iodine_brine', 1000)) + .outputFluids(Fluid.of('gtceu:steam', 1000)) + .duration(20*30) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.evaporation_tower('brominated_iodine_vapor') + .inputFluids(Fluid.of('gtceu:hot_iodine_brine', 10000)) + .itemOutputs('#forge:dusts/magnesium_chloride') + .outputFluids(Fluid.of('gtceu:brominated_iodine_vapor', 1000)) + .duration(20*50) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('lithium_carbonate') + .inputFluids(Fluid.of('gtceu:brominated_iodine_vapor', 1000)) + .itemInputs('#forge:dusts/sodium_hydroxide') + .itemOutputs('#forge:dusts/lithium_carbonate') + .outputFluids(Fluid.of('gtceu:basic_bromine_exhaust', 1000)) + .duration(20*54) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('lithium_fluoride') + .inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000)) + .itemInputs('#forge:dusts/lithium_carbonate') + .itemOutputs('#forge:gems/lithium_fluoride') + .outputFluids(Fluid.of('gtceu:carbon_dioxide', 1000)) + .outputFluids(Fluid.of('minecraft:water', 1000)) + .duration(20*36) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tetrafluoroberyllate') + .inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000)) + .itemInputs('#forge:purified_ores/beryllium') + .itemOutputs('#forge:gems/tetrafluoroberyllate') + .outputFluids(Fluid.of('minecraft:water', 1000)) + .duration(20*36) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.alloy_blast_smelter('dirty_flibe') + .inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000)) + .inputFluids(Fluid.of('gtceu:helium', 1000)) + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemInputs('#forge:gems/lithium_fluoride') + .itemInputs('#forge:gems/tetrafluoroberyllate') + .outputFluids(Fluid.of('gtceu:dirty_flibe', 1000)) + .blastFurnaceTemp(3600) + .duration(20*36) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.electrolyzer('flibe') + .inputFluids(Fluid.of('gtceu:dirty_flibe', 1000)) + .outputFluids(Fluid.of('gtceu:flibe', 1000)) + .itemOutputs('#forge:dusts/chromium') + .itemOutputs('gtceu:nickel_dust') + .itemOutputs('gtceu:iron_dust') + .duration(20*36) + .EUt(GTValues.VA[GTValues.IV]) + + //#endregion + + //#region Bromine Line + + event.recipes.gtceu.evaporation_tower('evaporation_brine') + .inputFluids(Fluid.of('tfc:salt_water', 20000)) + .outputFluids(Fluid.of('gtceu:raw_brine', 1000)) + .duration(20*50) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.fluid_heater('heat_brine') + .inputFluids(Fluid.of("gtceu:raw_brine", 1000)) + .outputFluids(Fluid.of("gtceu:hot_brine", 1000)) + .duration(20*600) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.heat_exchanger('heat_brine_nuclear') + .inputFluids(Fluid.of("gtceu:raw_brine", 1000)) + .inputFluids(Fluid.of("gtceu:irradiated_steam", 1000)) + .outputFluids(Fluid.of("gtceu:hot_brine", 1000)) + .outputFluids(Fluid.of("gtceu:dense_steam", 1000)) + .duration(20*100) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('debrominated_brine_raw_brine_mixing') + .inputFluids(Fluid.of("gtceu:raw_brine", 1000)) + .inputFluids(Fluid.of('gtceu:hot_debrominated_brine', 1000)) + .outputFluids(Fluid.of('gtceu:hot_brine', 2000)) + .outputFluids(Fluid.of('gtceu:debrominated_brine', 1000)) + .duration(20*10) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('brine_acidification') + .inputFluids(Fluid.of("gtceu:hot_brine", 2000)) + .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000)) + .outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 2000)) + .outputFluids(Fluid.of('gtceu:hydrogen_iodide', 1000)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('aciditic_bromine_exhaust_heating') + .inputFluids(Fluid.of("gtceu:hot_brine", 1000)) + .inputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000)) + .outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000)) + .outputFluids(Fluid.of('gtceu:steam', 3000)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('brine_chloroination') + .inputFluids(Fluid.of("gtceu:hot_brine", 1000)) + .inputFluids(Fluid.of('gtceu:chlorine', 1000)) + .outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('brine_neutralization') + .inputFluids(Fluid.of("gtceu:hot_alkaline_debrominated_brine", 3000)) + .itemInputs('gtceu:potassium_dust') + .outputFluids(Fluid.of('gtceu:hot_debrominated_brine', 2000)) + .itemOutputs(Item.of('2x gtceu:rock_salt_dust')) + .duration(20*5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.centrifuge('debrominated_brine_decomposition') + .inputFluids(Fluid.of('gtceu:debrominated_brine', 2000)) + .outputFluids(Fluid.of('tfc:salt_water'), 1000) + .duration(20*3) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('brine_filtration') + .inputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000)) + .inputFluids(Fluid.of('gtceu:chlorine', 1000)) + .inputFluids(Fluid.of('gtceu:steam', 1000)) + .outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 1000)) + .outputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 2000)) + .duration(20*15) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('brominated_chlorine_vapor_condensation') + .inputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 1000)) + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000)) + .outputFluids(Fluid.of('minecraft:water', 2000)) + .duration(20*15) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('bromine_vapor_concentration') + .inputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000)) + .inputFluids(Fluid.of('gtceu:steam', 1000)) + .outputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000)) + .outputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.distillery('bromine_distillation_to_chlorine') + .inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 100)) + .outputFluids(Fluid.of('gtceu:chlorine', 50)) + .duration(20*5) + .circuit(1) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.distillery('bromine_distillation_to_bromine') + .inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 40)) + .outputFluids(Fluid.of('gtceu:bromine', 40)) + .duration(20*2) + .circuit(2) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.distillation_tower('bromine_distillation') + .inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000)) + .outputFluids(Fluid.of('gtceu:chlorine', 500)) + .outputFluids(Fluid.of('gtceu:bromine', 1000)) + .duration(20*25) + .EUt(GTValues.VA[GTValues.HV]) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.space.js b/kubejs/server_scripts/tfg/recipes.space.js index 8b1d279e3..da83f5408 100644 --- a/kubejs/server_scripts/tfg/recipes.space.js +++ b/kubejs/server_scripts/tfg/recipes.space.js @@ -48,6 +48,13 @@ function registerTFGSpaceRecipes(event) { .duration(20*60*30) .EUt(16) + event.recipes.gtceu.gas_collector('mars') + .circuit(3) + .outputFluids(Fluid.of('gtceu:carbon_dioxide', 10000)) + .dimension('ad_astra:mars') + .duration(20*10) + .EUt(16) + // Aqueous accumulator let aaCircuit = 1; diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 6979a7bee..75f307d66 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -254,6 +254,12 @@ const registerTFGItemTags = (event) => { event.add('tfc:grass', 'tfg:grass/sangnum_mycelium') // #endregion + // Mars stone dust + + event.add('forge:mars_stone_dusts', 'tfg:venus_stone_dust') + event.add('forge:mars_stone_dusts', 'gtceu:granite_red_dust') + event.add('forge:mars_stone_dusts', 'tfg:mars_stone_dust') + // #region 0.7.19 -> 0.9 conversion event.add('c:hidden_from_recipe_viewers', 'treetap:tap') event.add('c:hidden_from_recipe_viewers', 'tfcea:refrigerator') diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index b8425b0f7..8ec4ef688 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -286,4 +286,141 @@ const registerGTCEuMachines = (event) => { ) .workableCasingModel('tfg:block/casings/machine_casing_iron_desh', 'gtceu:block/multiblock/hpca') + //#region Nuclear Multiblocks + + // Nuclear Fuel Factory + + event.create('nuclear_fuel_factory', 'multiblock') + .rotationState(RotationState.NON_Y_AXIS) + .recipeType('nuclear_fuel_factory') + .recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.ELECTRIC_OVERCLOCK.apply(OverclockingLogic.NON_PERFECT_OVERCLOCK)]) + .appearanceBlock(() => Block.getBlock('gtceu:atomic_casing')) + .pattern(definition => FactoryBlockPattern.start() + .aisle('RLLLR', 'I I', 'I I', 'I I', 'RLLLR') + .aisle('LRRRL', ' KPK ', ' KPK ', ' KPK ', 'LRRRL') + .aisle('LRSRL', ' PCP ', ' PCP ', ' PCP ', 'LRSRL') + .aisle('LRRRL', ' KPK ', ' KPK ', ' KPK ', 'LRRRL') + .aisle('RLXLR', 'I I', 'I I', 'I I', 'RLLLR') + .where('X', Predicates.controller(Predicates.blocks(definition.get()))) + .where('R', Predicates.blocks('gtceu:atomic_casing')) + .where('I', Predicates.blocks('gtceu:stainless_steel_frame')) + .where('G', Predicates.blocks('gtceu:high_temperature_smelting_casing')) + .where('P', Predicates.blocks('gtceu:laminated_glass')) + .where('S', Predicates.blocks(GTBlocks.CASING_ENGINE_INTAKE.get())) + .where('K', Predicates.blocks('gtceu:high_temperature_smelting_casing')) + .where('C', Predicates.blocks(GTBlocks.COIL_RTMALLOY.get())) + .where('L', Predicates.blocks('gtceu:atomic_casing') + .or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)) + .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1)) + .or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setExactLimit(1))) + .where('#', Predicates.air()) + .where(' ', Predicates.any()) + .build() + ) + .workableCasingModel( + 'gtceu:block/casings/gcym/atomic_casing', + 'gtceu:block/machines/fermenter') + + // Nuclear Heat Exchanger + + event.create('heat_exchanger', 'multiblock') + .rotationState(RotationState.NON_Y_AXIS) + .recipeType('heat_exchanger') + .recipeModifiers([GTRecipeModifiers.OC_PERFECT_SUBTICK]) + .appearanceBlock(() => Block.getBlock('gtceu:high_temperature_smelting_casing')) + .pattern(definition => FactoryBlockPattern.start() + .aisle(' ','BBBBBBB','BCCCCCB','BBBBBBB',' ') + .aisle('AAAAAAA','A#####A','BDDDDDB','A#####A','AAAAAAA') + .aisle('AFFFFFA','B#####B','LEEEEEL','B#####B','AFFFFFA') + .aisle('AAAAAAA','A#####A','BDDDDDB','A#####A','AAAAAAA') + .aisle(' ','BBBXBBB','BCCCCCB','BBBMBBB',' ') + .where('X', Predicates.controller(Predicates.blocks(definition.get()))) + .where('A', Predicates.blocks('gtceu:atomic_casing')) + .where('B', Predicates.blocks('gtceu:high_temperature_smelting_casing') + .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1))) + .where('C', Predicates.blocks('gtceu:laminated_glass')) + .where('D', Predicates.blocks(GTBlocks.FIREBOX_TITANIUM.get())) + .where('E', Predicates.blocks(GTBlocks.CASING_TITANIUM_PIPE.get())) + .where('F', Predicates.blocks(GTBlocks.CASING_ENGINE_INTAKE.get())) + .where('L', Predicates.blocks('gtceu:high_temperature_smelting_casing') + .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS_4X).setExactLimit(1)) + .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS_4X).setExactLimit(1))) + .where('M', Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1) + .or(Predicates.blocks('gtceu:high_temperature_smelting_casing'))) + .where('#', Predicates.air()) + .where(' ', Predicates.any()) + .build() + ) + .workableCasingModel( + "gtceu:block/casings/gcym/high_temperature_smelting_casing", + "gtceu:block/machines/fluid_heater") + + // Nuclear Fission Reactor + + event.create('fission_reactor', 'multiblock') + .rotationState(RotationState.NON_Y_AXIS) + .recipeType('fission_reactor') + .recipeModifiers([GTRecipeModifiers.OC_PERFECT_SUBTICK]) + .appearanceBlock(() => Block.getBlock('gtceu:atomic_casing')) + .pattern(definition => FactoryBlockPattern.start() + .aisle('LLLLL','ABCBA','ABCBA','ABCBA','ABCBA','ABCBA','LLLLL') + .aisle('LAAAL','BE#EB','BE#EB','BE#EB','BE#EB','BE#EB','LAAAL') + .aisle('LAAAL','C#D#C','C#D#C','C#D#C','C#D#C','C#D#C','LAAAL') + .aisle('LAAAL','BE#EB','BE#EB','BE#EB','BE#EB','BE#EB','LAAAL') + .aisle('LLXLL','ABCBA','ABCBA','ABCBA','ABCBA','ABCBA','LLLLL') + .where('X', Predicates.controller(Predicates.blocks(definition.get()))) + .where('A', Predicates.blocks('gtceu:high_temperature_smelting_casing')) + .where('B', Predicates.blocks('gtceu:atomic_casing')) + .where('C', Predicates.blocks('gtceu:laminated_glass')) + .where('D', Predicates.blocks(GTBlocks.FIREBOX_TITANIUM.get())) + .where('E', Predicates.blocks('gtceu:titanium_frame')) + .where('F', Predicates.blocks(GTBlocks.CASING_ENGINE_INTAKE.get())) + .where('L', Predicates.blocks('gtceu:atomic_casing').setMinGlobalLimited(10) + .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1)) + .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))) + .where('#', Predicates.air()) + .where(' ', Predicates.any()) + .build() + ) + .workableCasingModel( + "gtceu:block/casings/gcym/atomic_casing", + "gtceu:block/machines/electromagnetic_separator") + + //#endregion + + //#region Evaporation Tower + + event.create('evaporation_tower', 'multiblock') + .rotationState(RotationState.NON_Y_AXIS) + .recipeType('evaporation_tower') + .noRecipeModifier() + .appearanceBlock(() => Block.getBlock('tfg:casings/machine_casing_stainless_evaporation')) + .pattern(definition => FactoryBlockPattern.start() + .aisle('ZBZ','CCC','CCC','CCC',' A ') + .aisle('BAB','C#C','C#C','C#C','AAA') + .aisle('ZXZ','CCC','CCC','CCC',' A ') + .where('X', Predicates.controller(Predicates.blocks(definition.get()))) + .where('A', Predicates.blocks('tfg:casings/machine_casing_stainless_evaporation')) + .where('B', Predicates.blocks('tfg:casings/machine_casing_stainless_evaporation') + .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1))) + .where('C', Predicates.blocks('tfg:casings/machine_casing_stainless_evaporation') + .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))) + .where('Z', Predicates.blocks('gtceu:aluminium_frame')) + .where('#', Predicates.air()) + .where(' ', Predicates.any()) + .build() + ) + .workableCasingModel( + 'gtceu:block/casings/solid/machine_casing_stainless_evaporation', + 'gtceu:block/multiblock/distillation_tower') + } \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index adee62c43..72398f083 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -292,7 +292,11 @@ const registerGTCEuMaterialModification = (event) => { // Change byproducts so you can't get certus from normal quartzite GTMaterials.Quartzite.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.NetherQuartz, GTMaterials.Barite, GTMaterials.NetherQuartz); GTMaterials.CertusQuartz.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.CertusQuartz, GTMaterials.Quartzite, GTMaterials.CertusQuartz); - + + // Change Beryllium to add Chemical Bath recipe and Thorium byproduct + GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Emerald, GTMaterials.Emerald, GTMaterials.Thorium, GTMaterials.Thorium); + GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setWashedIn(GTMaterials.SodiumPersulfate); + // Color Adjustments GTMaterials.BismuthBronze.setMaterialARGB(0x5A966E) GTMaterials.BismuthBronze.setMaterialSecondaryARGB(0x203E2A) diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index cfbf4f01e..bfb360612 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -23,11 +23,44 @@ const registerGTCEuRecipeTypes = (event) => { .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.FIRE) - event.create('large_solar_panel') - .category('generator') - .setEUIO('out') - .setMaxIOSize(2, 0, 2, 1) - .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.COOLING) -} + event.create('large_solar_panel') + .category('generator') + .setEUIO('out') + .setMaxIOSize(2, 0, 2, 1) + .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY) + .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.COOLING) + + event.create('nuclear_fuel_factory') + .category('nuclear_fuel_factory') + .setEUIO('in') + .setMaxIOSize(2, 1, 1, 0) + .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) + .setProgressBar(GuiTextures.ATOMIC_OVERLAY_1, FillDirection.DOWN_TO_UP) + .setSound(GTSoundEntries.MINER) + + event.create('heat_exchanger') + .category('heat_exchanger') + .setEUIO('in') + .setMaxIOSize(0, 0, 4, 4) + .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) + .setProgressBar(GuiTextures.ATOMIC_OVERLAY_1, FillDirection.DOWN_TO_UP) + .setSound(GTSoundEntries.MINER) + + event.create('fission_reactor') + .category('fission_reactor') + .setEUIO('in') + .setMaxIOSize(1, 0, 1, 2) + .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) + .setProgressBar(GuiTextures.ATOMIC_OVERLAY_1, FillDirection.DOWN_TO_UP) + .setSound(GTSoundEntries.MINER) + + event.create('evaporation_tower') + .category('evaporation_tower') + .setEUIO('in') + .setMaxIOSize(0, 1, 1, 6) + .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY) + .setProgressBar(GuiTextures.PROGRESS_BAR_DISTILLATION_TOWER, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.BATH) + +} diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 17f75d1f8..101bb000a 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -54,6 +54,7 @@ GTCEuStartupEvents.registry('gtceu:material', event => { registerGTCEuMaterials(event) registerGreateMaterials(event) registerTFGMaterials(event) + registerTFGNuclearMaterials(event) }) GTCEuStartupEvents.registry('gtceu:material_icon_set', event => { @@ -69,6 +70,11 @@ GTCEuStartupEvents.registry('gtceu:dimension_marker', event => { registerTFGDimensionMarkers(event) }) + +GTCEuStartupEvents.registry("gtceu:element", event => { + registerTFGElement(event) +}) + Platform.mods.primitive_creatures.name = "Primitive Creatures"; Platform.mods.tfg.name = "TerraFirmaGreg"; Platform.mods.kubejs.name = "TerraFirmaGreg"; diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index feab89736..95cdd68fd 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -42,9 +42,20 @@ const registerTFGBlocks = (event) => { .hardness(5) .resistance(6) .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('minecraft:mineable/wrench') .mapColor('color_light_gray') }) + event.create(`tfg:casings/machine_casing_stainless_evaporation`) + .translationKey(`block.tfg.casings.machine_casing_stainless_evaporation`) + .model(`tfg:block/casings/machine_casing_stainless_evaporation`) + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('minecraft:mineable/wrench') + .mapColor('color_light_gray') + //#endregion // #region Decorative vases diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 1404c41ff..7c306fa9a 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -104,14 +104,15 @@ global.MARS_BIOMES = [ * @type {string[]} - Block Names */ global.TFG_MACHINE_CASINGS = [ - //'machine_casing_clean_stainless_steel_desh', - //'machine_casing_desh_ptfe', + 'machine_casing_clean_stainless_steel_desh', + 'machine_casing_desh_ptfe', 'machine_casing_iron_desh', - //'machine_casing_ptfe_desh', - //'machine_casing_stainless_steel_desh', - //'machine_casing_blue_solar_panel', - //'machine_casing_green_solar_panel', - 'machine_casing_red_solar_panel' + 'machine_casing_ptfe_desh', + 'machine_casing_stainless_steel_desh', + 'machine_casing_blue_solar_panel', + 'machine_casing_green_solar_panel', + 'machine_casing_red_solar_panel', + 'machine_casing_mars' ]; /** diff --git a/kubejs/startup_scripts/tfg/element.js b/kubejs/startup_scripts/tfg/element.js new file mode 100644 index 000000000..b71cadcb5 --- /dev/null +++ b/kubejs/startup_scripts/tfg/element.js @@ -0,0 +1,13 @@ +// priority: 0 + +const registerTFGElement = (event) => { + + event.create("thorium_230") + .protons(90) + .neutrons(230) + .symbol("Th²³⁰") + event.create("thorium_232") + .protons(90) + .neutrons(232) + .symbol("Th²³²") +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 8044a06fd..fb074c276 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -5,6 +5,7 @@ const registerTFGItems = (event) => { registerTFGDeprecatedItems(event) registerTFGFoodItems(event) + registerTFGNuclearItems(event) // #region Electronics event.create('tfg:unfinished_electron_tube', 'create:sequenced_assembly') diff --git a/kubejs/startup_scripts/tfg/items.nuclear.js b/kubejs/startup_scripts/tfg/items.nuclear.js new file mode 100644 index 000000000..b7af34d20 --- /dev/null +++ b/kubejs/startup_scripts/tfg/items.nuclear.js @@ -0,0 +1,6 @@ +// priority: 0 + +function registerTFGNuclearItems(event) { + + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 19d5cb83b..c8c2cea83 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -166,4 +166,58 @@ const registerTFGMaterials = (event) => { .secondaryColor(0xe65609) //end region + //#region Bromine Line + + event.create('raw_brine') + .fluid() + .color(0x947a11) + //.secondaryColor(0x81FFF9) + + event.create('hot_brine') + .liquid(320) + .color(0x944611) + + event.create('hot_chlorinated_brominated_brine') + .liquid(320) + .color(0xbf8d5a) + .formula('?Cl') + + event.create('brominated_chlorine_vapor') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) + .color(0xbf8d5a) + .formula('ClBr(H2O)') + + event.create('acidic_bromine_solution') + .liquid(new GTFluidBuilder().attribute(GTFluidAttributes.ACID)) + .color(0xe7b989) + .formula('ClBr') + + event.create('concentrated_bromine_solution') + .liquid() + .color(0x905d29) + .formula('Br2Cl') + + event.create('debrominated_brine') + .liquid() + .color(0xc3874a) + + event.create('acidic_bromine_exhaust') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(293)) + .color(0xec9c4a) + .formula('(H2O)3Cl') + + event.create('hot_alkaline_debrominated_brine') + .liquid() + .color(0xcc6a06) + .formula('?2Cl') + + event.create('hot_debrominated_brine') + .liquid(320) + .color(0xb08e6b) + + event.create('hydrogen_iodide') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(293)) + .color(0x82a6ce) + .formula('HI') + } diff --git a/kubejs/startup_scripts/tfg/materials.nuclear.js b/kubejs/startup_scripts/tfg/materials.nuclear.js new file mode 100644 index 000000000..239002ed4 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials.nuclear.js @@ -0,0 +1,251 @@ +// priority: 0 + +const registerTFGNuclearMaterials = (event) => { + +/* event.create('mysterious_ooze') + .fluid() + .color(0x500bbf) + .fluidTemp(69420) + .dust() + .cableProperties(GTValues.V[GTValues.LV], 69, 0, true) // Voltage, Amperage, EU loss, Is Superconductor. + .gem(2, 4000) + .element(GTElements.C) + .ore(2, 3) + .color(0x7D2DDB) + .iconSet(GTMaterialIconSet.LIGNITE) + .ingot() + .components('1x andesite', '1x iron') + .color(0x839689) + .iconSet(GTMaterialIconSet.DULL) + .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_SMALL_GEAR) +*/ + + //#region Fluid + + event.create('dense_steam') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730)) + .components('2x hydrogen', '1x oxygen') + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('radioactive_steam') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730)) + .components('2x hydrogen', '1x oxygen') + .formula("H20(?)") + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('radioactive_waste') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730)) + .formula("(?)") + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('irradiated_steam') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(4250)) + .formula("(?)") + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('heavy_water') + .fluid() + .components('2x deuterium', '1x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.FINE) + .color(0xB5B9FF) + .secondaryColor(0x81FFF9) + + event.create('uranium_waste') + .liquid(new GTFluidBuilder().customStill().temperature(3850)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.FINE) + .color(0xB5B9FF) + .secondaryColor(0x81FFF9) + + event.create('nuclear_waste') + .liquid(new GTFluidBuilder().customStill().temperature(3850)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .formula('(ThU(?)') + + event.create('dirty_hexafluorosilicic_acid') + .liquid(new GTFluidBuilder().attribute(GTFluidAttributes.ACID)) + //.liquid(320) + .formula('H2SiF6(?)') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xe6fafb) + .secondaryColor(0xb5fdff) + .iconSet(GTMaterialIconSet.getByName('thick_fluid')) + + event.create('martian_sludge') + .liquid(new GTFluidBuilder().temperature(4239)) + .formula('(?)') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xd86f27) + .secondaryColor(0xecd7c9) + .iconSet(GTMaterialIconSet.getByName('bullshit')) + + event.create('dioxygen_difluoride') + .fluid() + .components('2x oxygen', '2x fluorine') + .iconSet(GTMaterialIconSet.FINE) + .color(0xffa500) + .secondaryColor(0xffffff) + + event.create('tritiated_water') + .fluid() + .components('2x tritium', '1x oxygen') + .iconSet(GTMaterialIconSet.FINE) + .color(0xb2c3e7) + + // FLiBe Line + + event.create('raw_rich_brine') + .liquid(new GTFluidBuilder().customStill().temperature(293)) + + event.create('hot_iodine_brine') + .liquid(new GTFluidBuilder().customStill().temperature(293)) + .formula('HIMgCl(?)') + + event.create('brominated_iodine_vapor') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(412)) + .formula('HI(?)') + + event.create('basic_bromine_exhaust') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(406)) + + event.create('dirty_flibe') + .liquid(new GTFluidBuilder().customStill().temperature(293)) + .formula('FLiBe(?)') + + event.create('flibe') + .liquid(new GTFluidBuilder().customStill().temperature(293)) + .formula('FLiBe') + + event.create('hot_flibe') + .liquid(new GTFluidBuilder().customStill().temperature(3293)) + .formula('FLiBe') + + //#endregion + + //#region Dust + + event.create('tfg:mars_stone_dust') + .dust() + .components('2x deuterium', '1x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xE79B07) + .secondaryColor(0x5A4316) + .iconSet(GTMaterialIconSet.ROUGH) + + event.create('tfg:nuclear_residue') + .dust() + .formula('(?)') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x332816) + .secondaryColor(0x674c24) + .iconSet(GTMaterialIconSet.RADIOACTIVE) + + event.create('tfg:oxidized_nuclear_residue') + .dust() + .formula('U?O?(?)') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x286529) + .secondaryColor(0x012702) + .iconSet(GTMaterialIconSet.RADIOACTIVE) + + event.create('tfg:refined_nuclear_residue') + .dust() + .formula('U?(?)') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x82c383) + .secondaryColor('0xffffff') + .iconSet(GTMaterialIconSet.RADIOACTIVE) + + // FLiBe Dusts + + event.create('lithium_carbonate') + .dust() + .components('2x lithium', '1x carbon', '3x oxygen') + .formula('Li2CO3') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xffffff) + .secondaryColor(0xb7b9bd) + .iconSet(GTMaterialIconSet.GLASS) + + event.create('lithium_fluoride') + .gem() + .components('1x lithium', '1x fluorine') + .formula('LiF') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_UNIFICATION) + .color(0xffffff) + .secondaryColor(0xb7b9bd) + .iconSet(GTMaterialIconSet.FLINT) + + event.create('tetrafluoroberyllate') + .gem() + .components('1x beryllium', '4x fluorine') + .formula('BeF4') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_UNIFICATION) + .color(0xdcdee1) + .secondaryColor(0xb7b9bd) + .iconSet(GTMaterialIconSet.OPAL) + + //#endregion + + //#region Ingots + + event.create('thorium_230') + .ingot() + .element(GTElements.get("thorium_230")) + .iconSet(GTMaterialIconSet.RADIOACTIVE) + .color(0x323B2F) + .secondaryColor(0xECECEC) + .radioactiveHazard(1000000) + + event.create("thorium_232") + .ingot() + .element(GTElements.get("thorium_232")) + .iconSet(GTMaterialIconSet.METALLIC) + .color(0x5F694C) + .secondaryColor('0xFFFFFF') + .radioactiveHazard(1000) + + //#endregion + + //#region Fuel Pellet + + event.create('uranium_pellet') + .ingot() + .element(GTElements.U) + .iconSet(GTMaterialIconSet.METALLIC) + .color(0x216614) + .radioactiveHazard(1000000) + .flags(GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.NO_SMELTING) + + event.create('thorium_pellet') + .ingot() + .element(GTElements.Th) + .iconSet(GTMaterialIconSet.METALLIC) + .color(0x631e5a) + .radioactiveHazard(100000) + .flags(GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.NO_SMELTING) + + event.create('plutonium_pellet') + .ingot() + .element(GTElements.Pu) + .iconSet(GTMaterialIconSet.METALLIC) + .color(0xc91414) + .radioactiveHazard(10000000) + .flags(GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.NO_SMELTING) + + event.create('tbu-232_pellet') + .ingot() + .iconSet(GTMaterialIconSet.RADIOACTIVE) + .color(0xaa55ba) + .secondaryColor(0xECECEC) + .radioactiveHazard(10000000) + .flags(GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.NO_SMELTING) + + //#endregion + + }