* changed Caelum to be on the server too, since tfc-caelum is also a server mod * added caelum + tfc-caelum to pakku * fixed stress levels on the rolling mill * fixed lang files for universal circuits * changed early game recipes to use small gears instead of large, to avoid duping, and make cogs easier * Update carryon-common.toml Carry On's config doesn't seem to work with tags (#), so I explicitly added the framedblocks chest and the tfc chests to the whitelist. I also removed storage drawers since they aren't in use. Signed-off-by: NobleWasTaken <137561393+NobleWasTaken@users.noreply.github.com> * - Missed this commit last time oops * Fixed nano legs buff from also removing speed buff, for now * Added recycling recipes for your old molds * lowered recipe speed of bulk washing * Added more details to ore hazards field guide entry * Bump actions/download-artifact in the dependencies group Bumps the dependencies group with 1 update: [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/download-artifact` from 4.2.1 to 4.3.0 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v4.2.1...v4.3.0) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: 4.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies ... Signed-off-by: dependabot[bot] <support@github.com> * will you leave me alone if I submit these, ftbquests? * more create SU adjustments * - Added recipe to separate fertilizer into pure sources, and mix them back together. - Added recipes to sew hides together and cut them apart. * ore basics + hazards field guide entry tweaks * big field guide update! all ore veins are now generated with our tool! * toned down how many sticks were being placed in the nether * remove caelum + tfc caelum #922 * - Added recipe to separate fertilizer into pure sources, and mix them back together. (#927) - Added recipes to sew hides together and cut them apart. * the placeholder programmed circuit recipe is now a stick + wrench, so it doesn't confuse new players as much * updated changelog * changed some create recipes to use bolts instead of nuggets, so they're available earlier * moved surface_kaolin to mechanics category * changed realgar item set * Add README file to server overrides * Fix tips quest issues (#937) * - Fixed supports * fixed some incorrect assembler recipes for create items * improved texture of nether quartz ore + the raw ore block of the quartz material set * greate buffs * remove brick duping * removed treated wood boats * clay decomposition now requires HV * added a potential fix for #944 suggested by ghosti, cleaned up some other abuses of it in tag events so now it's just indicators that still have to use it * fixed tfc tool tags * fluix's displayed formula is now more accurate to its material composition * nerfed stone dust centrifuging, added a basic tape recipe that uses tfc glue * fixes #932 * Allow red/tin alloy double ingot piles, add textures (#948) * Mv quest rework (#920) * Changes for MV Quests * First fix for Progression tab * fixes lang title Signed-off-by: TomPlop <tomdidome@gmail.com> * Changes for LV, fixes for quest categories, adding GT Tips, adding Gregtech energy, rework of Progression tab * fix macerator separator --------- Signed-off-by: TomPlop <tomdidome@gmail.com> * - the other ae2 wireless terminals are now all in late EV - MEGA ae2 stuff now requires naq instead of a singularity * coke and coal are no longer gems, and moss is no longer dirt * fixed some icon sets * the nether now has a gas collector recipe * update changelog * some more ae2 tweaking * better recipe for the universal wireless terminal * swapped colors of nickel and platinum, so nickel more closely matches the tfc textures * doubled capacity of greate shafts! also adjusted the alternator to match * fix: gui_main_menu * pakku update * fix: gui_main_menu 2 * Update mods * removed beneath's cursecoal and sylvite veins, made tfg ones instead so they're added to the field guide * new main menu panorama! * update changelog * update changelog * added death punishment mod + config * updated the greate mixer workaround quest * Rubber processing recipes audit (#949) * Rubber recipe changes - Latex can now be extracted from rubber trees' logs, saplings, leaves via the vacuum chamber (ULV) or extractor(LV) - values: 1000mB per log, 100mB per sapling, 50mB per leaves; Extractor recipes do this in bulk and output 1000mB per operation - Dandelions and goldenrods can, with added sodium hydroxide, be turned into latex in a chem reactor - Sticky resin recipes (from both conifer pitch and latex) require wood ash now instead of sulfur - Latex -> Vulcanized latex recipe now requires sulfur instead of wood ash - Vulcanized latex now becomes raw rubber pulp in a solidifier or vacuum chamber at a rate of 250mB/raw pulp - Latex soaked glove recipe now is a barrel recipe that takes 50 seconds instead of a vat recipe * Correctly set latex soaked gloves recipe to 50 seconds (was 100 seconds in previous commit) * Quest/patchouli book updates - Tried to catch every mention of the old rubber making recipes. * Revert Latex-soaked gloves recipe change as it didn't need to change - Originally I wanted to make vulc latex -> raw rubber a Vat recipe, this isn't the case anymore so there is no reason to change this recipe. * Rebalanced recipe values - Logs now only give 250mB of latex - Increase overall in time required vacuumizing directly into latex (now roughly takes 150 seconds per 1000mB, logs slightly faster) - Gregtech fluid extraction recipes for these have been rebalanced to be around 4x faster and in bulk (roughly 37.5 seconds per 1000mB, logs slightly faster) - Made vacuum chamber recipes use kubejs tag: field for allowing tags in recipe * Lang & Quest updates - Changed rubber ingot quest dependency to be on vacuum chamber instead of extractor - Removed LV circuit quest dependency on rubber (this hasn't required rubber for a while) - Lang changes - fix ambiguous wording, typos, titles too long for book * updated langs * oops, missed quest langs * pushing algo_rithm's lang changes * updated punishment-for-death pakku * update configs * langs * Update CHANGELOG.md * Update mods * CHANGELOG * Update build.yml --------- Signed-off-by: NobleWasTaken <137561393+NobleWasTaken@users.noreply.github.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: TomPlop <tomdidome@gmail.com> Co-authored-by: NobleWasTaken <137561393+NobleWasTaken@users.noreply.github.com> Co-authored-by: Redeix <59435925+Redeix@users.noreply.github.com> Co-authored-by: Redeix <brayden.j.m.ford@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xikaro <55663835+Xikaro@users.noreply.github.com> Co-authored-by: Nebby1999 <nebby131999@gmail.com> Co-authored-by: Nebby <78170922+Nebby1999@users.noreply.github.com> Co-authored-by: AirRice <jpumph2@gmail.com> Co-authored-by: TomPlop <tomdidome@gmail.com> Co-authored-by: Xikaro <os.valerievich@ya.ru>
175 lines
No EOL
6.4 KiB
JavaScript
175 lines
No EOL
6.4 KiB
JavaScript
// priority: 0
|
||
|
||
const generateMixerRecipe = (event, input, fluid_input, output, circuit, fluid_output, duration, EUt, rpm, id) => {
|
||
const recipe = event.recipes.gtceu.mixer(id)
|
||
.itemInputs(input)
|
||
.inputFluids(fluid_input)
|
||
.itemOutputs(output)
|
||
.outputFluids(fluid_output)
|
||
.duration(duration)
|
||
.EUt(EUt)
|
||
|
||
if (circuit != null) {
|
||
recipe.circuit(circuit)
|
||
}
|
||
}
|
||
|
||
const generateCutterRecipe = (event, input, output, duration, EUt, id) => {
|
||
|
||
event.recipes.gtceu.cutter(`tfg:${id}`)
|
||
.itemInputs(input)
|
||
.itemOutputs(output)
|
||
.duration(duration)
|
||
.EUt(EUt)
|
||
}
|
||
|
||
const generateGreenHouseRecipe = (event, input, fluid_amount, output, id) => {
|
||
|
||
// Без удобрения
|
||
event.recipes.gtceu.greenhouse(id)
|
||
.itemInputs(input)
|
||
.circuit(1)
|
||
.inputFluids(Fluid.of('minecraft:water', fluid_amount))
|
||
.itemOutputs(output)
|
||
.chancedOutput(input, 7500, 0)
|
||
.chancedOutput(input, 5000, 0)
|
||
.duration(36000) // 30 mins
|
||
.EUt(72)
|
||
|
||
// С удобрением
|
||
event.recipes.gtceu.greenhouse(`${id}_fertilized`)
|
||
.itemInputs(input)
|
||
.itemInputs('8x gtceu:fertilizer')
|
||
.circuit(2)
|
||
.inputFluids(Fluid.of('minecraft:water', fluid_amount))
|
||
.itemOutputs(output)
|
||
.chancedOutput(input, 8500, 0)
|
||
.chancedOutput(input, 6000, 0)
|
||
.duration(12000) // 10 mins
|
||
.EUt(196)
|
||
}
|
||
|
||
const getFillingNBT = (material, amount) => {
|
||
return {
|
||
tank: {
|
||
FluidName: Fluid.of(material.getFluid()).getId(),
|
||
Amount: amount
|
||
}
|
||
}
|
||
}
|
||
|
||
function generatePlatedBlockRecipe(event, material) {
|
||
// firmaciv plated blocks don't have this property
|
||
let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
|
||
let outputMaterial = (tfcProperty == null || tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial()
|
||
|
||
let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1);
|
||
|
||
let platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1);
|
||
let platedSlab = ChemicalHelper.get(TFGTagPrefix.slabPlated, material, 1);
|
||
let platedStair = ChemicalHelper.get(TFGTagPrefix.stairPlated, material, 1);
|
||
|
||
let tfcMetalName = material.getName();
|
||
if (tfcMetalName == "iron")
|
||
tfcMetalName = "cast_iron";
|
||
|
||
event.recipes.create.item_application(platedBlock, ['#forge:stone_bricks', plateItem])
|
||
.id(`tfg:item_application/${material.getName()}_plated_block`)
|
||
event.recipes.createDeploying(platedBlock, ['#forge:stone_bricks', plateItem])
|
||
.id(`tfg:deploying/${material.getName()}_plated_block`)
|
||
event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_block`)
|
||
.itemInputs('#forge:stone_bricks', plateItem)
|
||
.itemOutputs(platedBlock)
|
||
.circuit(10)
|
||
.duration(50)
|
||
.EUt(GTValues.VA[GTValues.ULV])
|
||
|
||
if (tfcProperty != null) {
|
||
event.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp())
|
||
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
|
||
.id(`tfc:heating/metal/${tfcMetalName}_block`)
|
||
}
|
||
event.recipes.gtceu.macerator(`tfg:${material.getName()}_plated_block`)
|
||
.itemInputs(platedBlock)
|
||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1), 'gtceu:stone_dust')
|
||
.duration(material.getMass())
|
||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||
.EUt(GTValues.VA[GTValues.ULV])
|
||
event.recipes.gtceu.arc_furnace(`tfg:${material.getName()}_plated_block`)
|
||
.itemInputs(platedBlock)
|
||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 1), 'gtceu:ash_dust')
|
||
.duration(material.getMass())
|
||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||
.EUt(GTValues.VA[GTValues.LV])
|
||
|
||
|
||
event.recipes.create.item_application(platedSlab, ['#tfg:brick_slabs', plateItem])
|
||
.id(`tfg:item_application/${material.getName()}_plated_slab`)
|
||
event.recipes.createDeploying(platedSlab, ['#tfg:brick_slabs', plateItem])
|
||
.id(`tfg:deploying/${material.getName()}_plated_slab`)
|
||
event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_slab`)
|
||
.itemInputs('#tfg:brick_slabs', plateItem)
|
||
.itemOutputs(platedSlab)
|
||
.circuit(10)
|
||
.duration(50)
|
||
.EUt(GTValues.VA[GTValues.ULV])
|
||
|
||
if (tfcProperty != null) {
|
||
// Slabs are lossy because it's possible to plate a double slab block with one metal plate
|
||
event.recipes.tfc.heating(platedSlab, tfcProperty.getMeltTemp())
|
||
.resultFluid(Fluid.of(outputMaterial.getFluid(), 72))
|
||
.id(`tfc:heating/metal/${tfcMetalName}_block_slab`)
|
||
}
|
||
event.recipes.gtceu.macerator(`tfg:${material.getName()}_plated_slab`)
|
||
.itemInputs(platedSlab)
|
||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, material, 2), 'gtceu:small_stone_dust')
|
||
.duration(material.getMass())
|
||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||
.EUt(GTValues.VA[GTValues.ULV])
|
||
event.recipes.gtceu.arc_furnace(`tfg:${material.getName()}_plated_slab`)
|
||
.itemInputs(platedSlab)
|
||
.itemOutputs(ChemicalHelper.get(TagPrefix.nugget, material, 4), 'gtceu:small_ash_dust')
|
||
.duration(material.getMass())
|
||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||
.EUt(GTValues.VA[GTValues.LV])
|
||
|
||
|
||
event.recipes.create.item_application(platedStair, ['#tfg:brick_stairs', plateItem])
|
||
.id(`tfg:item_application/${material.getName()}_plated_stair`)
|
||
event.recipes.createDeploying(platedStair, ['#tfg:brick_stairs', plateItem])
|
||
.id(`tfg:deploying/${material.getName()}_plated_stair`)
|
||
event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_stair`)
|
||
.itemInputs('#tfg:brick_stairs', plateItem)
|
||
.itemOutputs(platedStair)
|
||
.circuit(10)
|
||
.duration(50)
|
||
.EUt(GTValues.VA[GTValues.ULV])
|
||
|
||
if (tfcProperty != null) {
|
||
event.recipes.tfc.heating(platedStair, tfcProperty.getMeltTemp())
|
||
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
|
||
.id(`tfc:heating/metal/${tfcMetalName}_block_stairs`)
|
||
}
|
||
event.recipes.gtceu.macerator(`tfg:${material.getName()}_plated_stair`)
|
||
.itemInputs(platedStair)
|
||
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1), 'gtceu:stone_dust')
|
||
.duration(material.getMass())
|
||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||
.EUt(GTValues.VA[GTValues.ULV])
|
||
event.recipes.gtceu.arc_furnace(`tfg:${material.getName()}_plated_stair`)
|
||
.itemInputs(platedStair)
|
||
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 1), 'gtceu:ash_dust')
|
||
.duration(material.getMass())
|
||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||
.EUt(GTValues.VA[GTValues.LV])
|
||
}
|
||
|
||
const $MRM = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.IMaterialRegistryManager')
|
||
|
||
function forEachMaterial(iterator) {
|
||
if (GTMaterialRegistry.getPhase() === $MRM.Phase.CLOSED || GTMaterialRegistry.getPhase() === $MRM.Phase.FROZEN) {
|
||
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
|
||
iterator(material)
|
||
})
|
||
}
|
||
} |