Alpha release: 0.10 (#1285)
* added resource pack for the old create copper textures, reverted the new models of the greate pumps
* I can't remember why I added this
* added back ad astra oxygen loader JEI page, removed greate haunting + ae2 entropy
* corrected average temp in orbits, since spacesuits have ambiental compat now
* nerfed VI centrifuge times
* adjusted recipes of crushing wheels to need a machine hull now
* disabled orbits
* added rock duping recipes for vanilla basalt, added greenhouse recipe for spore blossom
* updated steam n rails, added entityjs
* fix typo on gas tanks
* cleanup
* started moon rabbit entity
* nerfed the steam age fire clay recipe because let's be real
* ah fuck it I'll be nice
* Steam N Rails loottable (#1220)
fix for the conductor
Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com>
* merging langs
* idk entity stuff
* lang keys
* removed ae2-things
* I think that's a better tagline
Signed-off-by: Pyritie <pyritie@gmail.com>
* - Lots of ui updates. And a couple fixes. (#1221)
Co-authored-by: Pyritie <pyritie@gmail.com>
* Update README.md
* added pt_br ore field guide pages
* Changes the greg wood plank and treated wood plank recipes to follow a more realistic processing chain (#1223)
* adds MDF, reworks treated wood and normal wood plate crafting chains
* removes treated wood plank from the minecraft:planks tag
* changed a few create recipes to need bolts instead of screws
* adjusted the water wheel recipe again so it's not quite so evil
* quest tweaks
* fixed the lathe not making gem rods, also lens stuff
* removed the other ad astra material components (for now)
* fixed the vibrating table with rose quartz
* Some small stuff (#1225)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* updated kubejs-tfc
* Delete fabricDefaultResourcePacks.dat
* .gitignore
* .gitignore
* update: config
* Modern markings integration (#1228)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
* - Some more UI tweaks.
- Added modern-markings mod with integration.
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* hid the tfg icon from jei
* more fiddling with the moon rabbit houses. I'm just gonna disable them until I find out what's causing the boxes under them, they look too ugly otherwise
* added a bunch of plants from Better End, tags, recipes, license, credits (#1229)
* convert the nether mushrooms into the new plant block builder type too
* now only the recipes that use 8 inputs actually use 8 fertiliser
* don't need you
* fixed the lightblooms from spawning on top of each other
* I am stupid
* oh yeah, kubejs-tfc fixed this
* nerfed the steam age coke oven brick a little
* fixed ethane quest requiring plant ball route
* the moon and orbits are now silent
* disabled the correct planets
* added earth orbit space station
* unused
* fix ae2 certus quartz compressor recipe warning
* dunno how that happened
* some tidying
* disable steam/combustible/gas generators on other dims?
* updated entityjs, everycomp, moonlight, packetfixer, vintageimprovements
* added missing sand pile models
* comma
* dimension settings, planet renderer, etc
* removes any other integrated create recipes from greate machines
* removed forgiving world, added simply stacked dimensions, added configs (#1233)
* replaced all our water input fluids with a tag, so river water works too
* fixed missing recipes for create deco ladders
* langs
* cheese
* adding greenhouse tier bonuses + fixing the fertilised recipes chanced outputs consistency
* oxygenated climate stuff
* changing some other recipes to use bolts instead of nuggets
* Updated stromatolite textures + some new venus foliage (#1234)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
* - Some more UI tweaks.
- Added modern-markings mod with integration.
* - Updated stromatolite textures
- Added some more WIP venus foliage
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* langs, closes #1231
* these are handled by the decorative plant block builder now
* sea and spring water now also freeze in space
* added recipe to smelt wrought iron ingots back into cast iron in case you need them in that state
* ukranian langs
* ukranian translations for the field guide ore veins
* blacklisting super chests from contraptions
* oops
* moon cheese tags
* Moved some items from tfg-core (#1242)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
* - Some more UI tweaks.
- Added modern-markings mod with integration.
* - Updated stromatolite textures
- Added some more WIP venus foliage
* - Moved some blocks over from tfg-core.
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* ukranian field guide ore vein langs
* Updated textures for tier-1 rocket and food oven. (#1246)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
* - Some more UI tweaks.
- Added modern-markings mod with integration.
* - Updated stromatolite textures
- Added some more WIP venus foliage
* - Moved some blocks over from tfg-core.
* - Updated textures for tier-1 rocket and food oven.
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* changed the moonbase flag to use the new icon
* langs
* 🐇
* Mechanical press (#1243)
* welcome back, mechanical press
* EMI category order
* langs
* quests
* emi categories
* quests
* greate stress settings for the mech press
* I got distracted so I guess these are on this branch now
* removed welding recipes from the pressurizer
* recipe additions and changes for the mech press!
* let's go gambling!
* added flux to the mech press "welding" recipes
* flag changes again
* stops a future version of greate from generating a bender-to-mech-press recipe for double ingots
* fixed the FE cables still being in the loot chests
* desh needs an EBF now
* Updated more textures for ad-astra stuff + new panorama (#1247)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
* - Some more UI tweaks.
- Added modern-markings mod with integration.
* - Updated stromatolite textures
- Added some more WIP venus foliage
* - Moved some blocks over from tfg-core.
* - Updated textures for tier-1 rocket and food oven.
* - Updated textures for more ad-astra stuff + new panorama
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* Crop stuff for biodiesel, works on my machine . (#1248)
* Added the crop stuff I made so far
* I think thiss should be fine?
* I litteraly have no idea what I am doing
* I hope this fixes everything
---------
Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>
* oops we had two fluix blocks
* langs
* sorry, no floor alcohol on the moon
* cleanup of #1248
Related Work Items: #12
* bottle labels can use any wax
* seed oil can be used in lamps now, added recipes to get it early
* missing uses for clean foil packs
* pakku updates, removed entityjs (for now), added ad-astra-3d
* added create factory logistics
* forgot some ore processing forge hammer recipes
* I think that's the ore processing chapter sorted
* ah screw it, orbits
* replace wood dust for carbon in biomass distillation
* langs n quests
* made solars worse on earth
* space food tag
* gave calorie paste a little nutrition
* made the space station quest optional
* changelog
* tweaks and balances after playtesting a bit
* let's give these more fruits
* made these a little more spread out
* some more tweaks
* langs
* Biodiesel Stuff (#1249)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
* - Some more UI tweaks.
- Added modern-markings mod with integration.
* - Updated stromatolite textures
- Added some more WIP venus foliage
* - Moved some blocks over from tfg-core.
* - Updated textures for tier-1 rocket and food oven.
* - Updated textures for more ad-astra stuff + new panorama
* - Biodiesel stuff
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* added bio fuel quests, more biodiesel recipes
* fixes #1240
Related Work Items: #12
* excluded ad astra and advanced peripherals books
* this stupid quest that I hate
* clean up this infinite resources entry
* fixed blockstates
* field guide
* got the oil crops all working!
* langs
* moon bedrock veins
* langs
* buffing air distributor again
* apparently 9 inputs is the maximum, so no flux allowed
* seed oil now lasts as long as soybean oil in a lamp
* oops, greate's update meant all our macerator removals stopped working
* fixes #1203 and some other incorrect/missing food recipes
* Quest changes (#1251)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
* - Some more UI tweaks.
- Added modern-markings mod with integration.
* - Updated stromatolite textures
- Added some more WIP venus foliage
* - Moved some blocks over from tfg-core.
* - Updated textures for tier-1 rocket and food oven.
* - Updated textures for more ad-astra stuff + new panorama
* - Biodiesel stuff
* - Quests re-ordering and some new ones
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* tweaks to default keybinds
* Hide wild crops and forgot to push some quest stuff (#1252)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
* - Some more UI tweaks.
- Added modern-markings mod with integration.
* - Updated stromatolite textures
- Added some more WIP venus foliage
* - Moved some blocks over from tfg-core.
* - Updated textures for tier-1 rocket and food oven.
* - Updated textures for more ad-astra stuff + new panorama
* - Biodiesel stuff
* - Quests re-ordering and some new ones
* - Hide wild crops from emi
* - Hide wild crops from emi
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* pakku update
* it's ok xikaro it's just adding a credit line
Signed-off-by: Pyritie <pyritie@gmail.com>
* Moon rabbit meat stuff (#1254)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
* - Some more UI tweaks.
- Added modern-markings mod with integration.
* - Updated stromatolite textures
- Added some more WIP venus foliage
* - Moved some blocks over from tfg-core.
* - Updated textures for tier-1 rocket and food oven.
* - Updated textures for more ad-astra stuff + new panorama
* - Biodiesel stuff
* - Quests re-ordering and some new ones
* - Hide wild crops from emi
* - Hide wild crops from emi
* - Moon rabbit meat
* - Moon rabbit meat
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* Feature/new molds (#1253)
* Update recipes.js
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Update constants.js
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Update recipes.molds.js
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Add files via upload
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Add files via upload
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Update recipes.materials.js
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Update recipes.materials.js
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
---------
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
Co-authored-by: Pyritie <pyritie@gmail.com>
* delete chisel and bits
* this damn loot table
* removed cast iron tongs
* more unification for #898, also a workaround for #963 maybe?
* quests
* removed power tool recycling recipes because of duping, fixed crafting table spring recipes
* whoops
* changed the repeatable quest to a separate one, so new players still get the books on spawn
* fixed orbit structures
* renamed tfc grooming stations
* removed sunsets in all orbits, cleaned up the dim files
* firmalife update!
* no idea if this is fixed in GT7 or not, but the nano/quark armor has actual armor points now
* rename horse crank to animal crank
* changelog
* updated domum
* wire cutter mold and Hypertube compat (#1258)
* Update constants.js
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Update recipes.molds.js
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Create hypertube.png
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Add files via upload
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Create recipes.js
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Add files via upload
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Add files via upload
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Update main_server_script.js
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Update recipes.js
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
---------
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Add recipe for Bamboo Hopper. Add quest for it too
* species update! also some biome spawn rates of limpets, and adding create hypertubes to pakku
* pakku again
* Machine casings for Tom and moon rabbit meat stuff I forgot to push (#1259)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
* - Some more UI tweaks.
- Added modern-markings mod with integration.
* - Updated stromatolite textures
- Added some more WIP venus foliage
* - Moved some blocks over from tfg-core.
* - Updated textures for tier-1 rocket and food oven.
* - Updated textures for more ad-astra stuff + new panorama
* - Biodiesel stuff
* - Quests re-ordering and some new ones
* - Hide wild crops from emi
* - Hide wild crops from emi
* - Moon rabbit meat
* - Moon rabbit meat
* - Moon rabbit meat textures and casings for tom
* - models
* - oops
* - rocket
* - ooops
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* argh
* whoops
* fiiiiiiine
* fixed unobtainable cobalt brass buzzsaw before mv
* quests
* firmalife quests
* added programmed circuit card
* 🍰🎂
* langs
* hide these species recipes
* unhide these new pearls
* remove ender eye, added vitrified ender pearl
* Added dry ice support for lunchboxes (#1262)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
* - Some more UI tweaks.
- Added modern-markings mod with integration.
* - Updated stromatolite textures
- Added some more WIP venus foliage
* - Moved some blocks over from tfg-core.
* - Updated textures for tier-1 rocket and food oven.
* - Updated textures for more ad-astra stuff + new panorama
* - Biodiesel stuff
* - Quests re-ordering and some new ones
* - Hide wild crops from emi
* - Hide wild crops from emi
* - Moon rabbit meat
* - Moon rabbit meat
* - Moon rabbit meat textures and casings for tom
* - models
* - oops
* - rocket
* - ooops
* - Added dry ice support for lunchboxes
* - Fixed soybean oil quest
* - Added dry ice block
* - Assets for dry ice block
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* fixed amounts in kaolinite chem reaction, added ruby version
* changed combustion recipes to be dimension-limited again
* changelog
* well actually it's not done yet
* create 6 configs
* langs
* fixed some damascus steel stuff still showing up
* fixed the wild rapeseed/sunflowers not dropping their products
* update pakku
* update pakku
* fixed extruder mold recipe
* fucking gregtech
* langs
* orbit dim markers
* Moon quest update (#1266)
* Changes for quests LV MV Energy Chapter
* Fix AE2 and Solar Panel
* Revert HV change
* Feature/hopper retexture (#1267)
* Create bamboo_hopper.png
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Add files via upload
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Create bamboo_hopper.bbmodel
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Add files via upload
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Add files via upload
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
---------
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* langs
* Update hv__high_voltage.snbt (#1268)
Signed-off-by: TomPlop <tomdidome@gmail.com>
* quests, langs, slight change to the vitrified pearl recipe
* Adding Ad Astra block to gt facade (#1269)
Signed-off-by: TomPlop <tomdidome@gmail.com>
* Bronze variant Mortars (#1270)
* Removed infinite lava and fixed refrigerant recipes (#1271)
* - Lots of ui updates. And a couple fixes.
* - New button textures.
- Fixed campfire loot table.
- Made anvil rod recipes easier.
- Added assembler recipes for multiblock tank parts.
* - Added assembler recipes for multiblock tank parts.
* - Updated Changelog
* - Some more UI tweaks.
- Added modern-markings mod with integration.
* - Updated stromatolite textures
- Added some more WIP venus foliage
* - Moved some blocks over from tfg-core.
* - Updated textures for tier-1 rocket and food oven.
* - Updated textures for more ad-astra stuff + new panorama
* - Biodiesel stuff
* - Quests re-ordering and some new ones
* - Hide wild crops from emi
* - Hide wild crops from emi
* - Moon rabbit meat
* - Moon rabbit meat
* - Moon rabbit meat textures and casings for tom
* - models
* - oops
* - rocket
* - ooops
* - Added dry ice support for lunchboxes
* - Fixed soybean oil quest
* - Added dry ice block
* - Assets for dry ice block
* - Removed infinite lava
* - Added circuit to tetrafluoroethylene_from_chloroform recipe
* - Fixed my crack-head math
* - update Changelog
---------
Co-authored-by: Pyritie <pyritie@gmail.com>
* move: screenshots
* move: wiki
* started porting over the hv quest langs
* Adding the Large Solar Panel (#1275)
* Adding the Large Solar Panel
* Update config for Ad Astral Solar increase possible output
* fix conflict
* quarktech stuff works as a space suit, though you'll still need the chestplate (for now)
* langs
* update pakku
* move: title + icon modern
* revert: move sources
* revert: images
* rename: curseforge_gallery
* Adding the LSP Structure (#1276)
Oups
Signed-off-by: TomPlop <tomdidome@gmail.com>
* Adding recipe type for LSP (#1277)
Signed-off-by: TomPlop <tomdidome@gmail.com>
* langs, disabled unused casings
* fixed kaolinite steam machine consistency
* quest tweaks
* fixed naming of casing blocks
* added LSP to space survival chapter
* added HS crushing wheels to HV tab too
* gonna kill this page - lava is no longer infinite, stone dusts are nerfed to be not very good, and the terrariums will be going away in the future
* - Added update banners (#1278)
* Revert "- Added update banners (#1278)"
This reverts commit 5f01d3385c.
* changelog
* EMI categories
* langs
* haha how did that get in there!
* q
* Update README.md (#1282)
Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>
* Merging guns branch (#1283)
* Feature/ulv ev guns (#1280)
* update pakku mods
* mod config stuff
* Port over of current guns
* ae2 gun recipes
* nitrocellulose and other stuff
* more recipes
* gun packs
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* Update pakku-lock.json
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
---------
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* LICENSE
* changed powderbarrel to use lumber instead of wood boards
* lang
* gunpowder unification
* emi categories
---------
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
Co-authored-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
* hid new sophisticated backpack upgrade
* pakku
* added programmed circuit card to ae2 quests
* dump
* Update forge-auto-install.txt
---------
Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com>
Signed-off-by: Pyritie <pyritie@gmail.com>
Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>
Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
Signed-off-by: TomPlop <tomdidome@gmail.com>
Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>
Co-authored-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com>
Co-authored-by: Gustavo <ofoxsmith@outlook.com>
Co-authored-by: Redeix <59435925+Redeix@users.noreply.github.com>
Co-authored-by: Xikaro <os.valerievich@ya.ru>
Co-authored-by: Kayla <66163851+kaylatheegg@users.noreply.github.com>
Co-authored-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>
Co-authored-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
Co-authored-by: Nebby1999 <nebby131999@gmail.com>
Co-authored-by: TomPlop <tomdidome@gmail.com>
Co-authored-by: Nebby <78170922+Nebby1999@users.noreply.github.com>
This commit is contained in:
parent
1bfb5a969b
commit
417fa894ae
1696 changed files with 277884 additions and 17219 deletions
223
kubejs/server_scripts/tfg/data.js
Normal file
223
kubejs/server_scripts/tfg/data.js
Normal file
|
|
@ -0,0 +1,223 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFCDataForTFG(event) {
|
||||
registerTFGHeatData(event);
|
||||
registerTFGItemSize(event);
|
||||
registerTFGSupportData(event);
|
||||
registerTFGFoodData(event);
|
||||
registerTFGFauna(event);
|
||||
registerTFGCropRanges(event);
|
||||
registerTFGFLPlanters(event);
|
||||
}
|
||||
|
||||
|
||||
const registerTFGHeatData = (event) => {
|
||||
event.itemHeat('tfg:latex_soaked_gloves', 1.0, null, null)
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
||||
event.itemHeat(`tfg:decorative_vase/unfired/${color}`, 1.0, null, null)
|
||||
})
|
||||
event.itemHeat('tfg:decorative_vase/unfired', 1.0, null, null)
|
||||
|
||||
event.itemHeat('tfg:sunflower_product', 1.0, null, null)
|
||||
event.itemHeat('tfg:roasted_sunflower_seeds', 1.0, null, null)
|
||||
}
|
||||
|
||||
|
||||
const registerTFGItemSize = (event) => {
|
||||
|
||||
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
||||
event.itemSize(`tfg:decorative_vase/${color}`, 'normal', 'medium', `decorative_vase/${color}`)
|
||||
event.itemSize(`tfg:decorative_vase/unfired/${color}`, 'normal', 'medium', `decorative_vase/unfired/${color}`)
|
||||
})
|
||||
event.itemSize('tfg:decorative_vase', 'normal', 'medium', 'decorative_vase')
|
||||
event.itemSize('tfg:decorative_vase/unfired', 'normal', 'medium', 'decorative_vase/unfired')
|
||||
|
||||
event.itemSize('tfg:fishing_net/wood', 'large', 'medium', 'wood_fishing_net')
|
||||
event.itemSize('tfg:fishing_net/brass', 'large', 'medium', 'brass_fishing_net')
|
||||
event.itemSize('tfg:fishing_net/rose_gold', 'large', 'medium', 'rose_gold_fishing_net')
|
||||
event.itemSize('tfg:fishing_net/sterling_silver', 'large', 'medium', 'sterling_silver_fishing_net')
|
||||
event.itemSize('tfg:fishing_net/invar', 'large', 'medium', 'invar_fishing_net')
|
||||
event.itemSize('tfg:fishing_net/cupronickel', 'large', 'medium', 'cupronickel_fishing_net')
|
||||
event.itemSize('tfg:fishing_net/tin_alloy', 'large', 'medium', 'tin_alloy_fishing_net')
|
||||
event.itemSize('tfg:fishing_net/magnalium', 'large', 'medium', 'magnalium_fishing_net')
|
||||
|
||||
}
|
||||
|
||||
|
||||
//up, down, horizontal
|
||||
const registerTFGSupportData = (event) => {
|
||||
event.support('tfg:light_concrete_support_horizontal', 4, 4, 8, 'light_concrete_support')
|
||||
event.support('tfg:dark_concrete_support_horizontal', 4, 4, 8, 'dark_concrete_support')
|
||||
event.support('tfg:reinforced_light_concrete_support_horizontal', 6, 6, 16, 'reinforced_light_concrete_support')
|
||||
event.support('tfg:reinforced_dark_concrete_support_horizontal', 6, 6, 16, 'reinforced_dark_concrete_support')
|
||||
event.support('tfg:rebar_support_horizontal', 4, 4, 8, 'rebar_support')
|
||||
event.support('tfg:steel_support_horizontal', 6, 6, 16, 'steel_support')
|
||||
|
||||
const other_stone = ['pyroxenite', 'migmatite', 'travertine']
|
||||
const stone_types = global.TFC_STONE_TYPES.concat(other_stone)
|
||||
|
||||
stone_types.forEach(stone => {
|
||||
|
||||
event.support(`tfg:${stone}_support_horizontal`, 2, 2, 4, `${stone}_support`)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const registerTFGFoodData = (event) => {
|
||||
|
||||
// birt has the same stats as chicken
|
||||
|
||||
event.foodItem('tfg:food/raw_birt', food => {
|
||||
food.hunger(4)
|
||||
food.protein(1.5)
|
||||
food.decayModifier(3)
|
||||
})
|
||||
|
||||
event.foodItem('tfg:food/cooked_birt', food => {
|
||||
food.hunger(4)
|
||||
food.saturation(2)
|
||||
food.protein(2.5)
|
||||
food.decayModifier(2.25)
|
||||
})
|
||||
|
||||
event.foodItem('tfg:food/raw_crawlermari', food => {
|
||||
food.hunger(4)
|
||||
food.water(5)
|
||||
food.protein(1.1)
|
||||
food.decayModifier(3)
|
||||
})
|
||||
|
||||
event.foodItem('tfg:food/cooked_crawlermari', food => {
|
||||
food.hunger(4)
|
||||
food.saturation(2)
|
||||
food.protein(2.2)
|
||||
food.decayModifier(2.25)
|
||||
})
|
||||
|
||||
event.foodItem('tfg:food/raw_limpet', food => {
|
||||
food.hunger(4)
|
||||
food.water(5)
|
||||
food.protein(1.2)
|
||||
food.decayModifier(3)
|
||||
})
|
||||
|
||||
event.foodItem('tfg:food/cooked_limpet', food => {
|
||||
food.hunger(5)
|
||||
food.saturation(2)
|
||||
food.protein(2.4)
|
||||
food.decayModifier(2.25)
|
||||
})
|
||||
|
||||
global.FOOD_FRUIT.forEach(fruit => {
|
||||
event.foodItem(`tfg:food/freeze_dried/${fruit.name}`, food => {
|
||||
food.hunger(4)
|
||||
food.saturation(fruit.saturation)
|
||||
food.water(0)
|
||||
food.fruit(fruit.fruit)
|
||||
food.decayModifier(fruit.decay)
|
||||
})
|
||||
})
|
||||
|
||||
event.foodItem('tfg:food/calorie_paste', food => {
|
||||
food.hunger(6)
|
||||
food.saturation(4)
|
||||
food.decayModifier(4.5)
|
||||
food.grain(0.1)
|
||||
food.vegetables(0.2)
|
||||
food.protein(0.2)
|
||||
})
|
||||
|
||||
event.foodItem('tfg:food/meal_bag', food => {
|
||||
food.type('dynamic')
|
||||
})
|
||||
|
||||
event.foodItem('tfg:roasted_sunflower_seeds', food => {
|
||||
food.hunger(4)
|
||||
food.decayModifier(0.5)
|
||||
food.grain(0.1)
|
||||
food.saturation(0.5)
|
||||
})
|
||||
|
||||
event.foodItem('tfg:sunflower_product', food => {
|
||||
food.decayModifier(0.5)
|
||||
})
|
||||
|
||||
event.foodItem('tfg:food/raw_moon_rabbit', food => {
|
||||
food.hunger(4)
|
||||
food.protein(2.0)
|
||||
food.decayModifier(3)
|
||||
})
|
||||
|
||||
event.foodItem('tfg:food/cooked_moon_rabbit', food => {
|
||||
food.hunger(6)
|
||||
food.saturation(2.5)
|
||||
food.protein(5)
|
||||
food.decayModifier(2.25)
|
||||
})
|
||||
}
|
||||
|
||||
const registerTFGFauna = (event) => {
|
||||
|
||||
//event.fauna(climate => { }, fauna => { fauna.chance(0) }, 'tfg:moon_rabbit')
|
||||
}
|
||||
|
||||
const registerTFGCropRanges = (event) => {
|
||||
|
||||
event.climateRange(climate => {
|
||||
climate.minHydration(20)
|
||||
climate.maxHydration(80)
|
||||
climate.minTemperature(5)
|
||||
climate.maxTemperature(40)
|
||||
climate.hydrationWiggle(7.5)
|
||||
climate.temperatureWiggle(5.5)
|
||||
}, 'tfg:sunflower')
|
||||
|
||||
event.climateRange(climate => {
|
||||
climate.minHydration(10)
|
||||
climate.maxHydration(60)
|
||||
climate.minTemperature(-5)
|
||||
climate.maxTemperature(25)
|
||||
climate.hydrationWiggle(7.5)
|
||||
climate.temperatureWiggle(1.5)
|
||||
}, 'tfg:rapeseed')
|
||||
}
|
||||
|
||||
const registerTFGFLPlanters = (event) => {
|
||||
|
||||
event.firmalifePlantable(
|
||||
'tfg:sunflower_seeds',
|
||||
'large',
|
||||
10,
|
||||
3,
|
||||
0.15,
|
||||
'tfg:sunflower_seeds',
|
||||
'tfg:sunflower_product',
|
||||
'nitrogen',
|
||||
[
|
||||
'tfg:block/crop/sunflower_greenhouse_0',
|
||||
'tfg:block/crop/sunflower_greenhouse_1',
|
||||
'tfg:block/crop/sunflower_greenhouse_2',
|
||||
'tfg:block/crop/sunflower_greenhouse_3'
|
||||
],
|
||||
null
|
||||
)
|
||||
|
||||
event.firmalifePlantable(
|
||||
'tfg:rapeseed_seeds',
|
||||
'large',
|
||||
10,
|
||||
3,
|
||||
0.15,
|
||||
'tfg:rapeseed_seeds',
|
||||
'tfg:rapeseed_product',
|
||||
'phosphorous',
|
||||
[
|
||||
'tfg:block/crop/rapeseed_greenhouse_0',
|
||||
'tfg:block/crop/rapeseed_greenhouse_1',
|
||||
'tfg:block/crop/rapeseed_greenhouse_2',
|
||||
'tfg:block/crop/rapeseed_greenhouse_3'
|
||||
],
|
||||
null
|
||||
)
|
||||
}
|
||||
|
|
@ -80,4 +80,12 @@ function registerTFGLoots(event) {
|
|||
);
|
||||
})
|
||||
});
|
||||
|
||||
//#region Blocks
|
||||
|
||||
event.addBlockLootModifier('minecraft:campfire')
|
||||
.removeLoot(Ingredient.all)
|
||||
.addLoot('minecraft:campfire')
|
||||
|
||||
//#endregion
|
||||
};
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
function registerTFGCollapseRecipes(event) {
|
||||
|
||||
// #region Nether
|
||||
event.recipes.tfc.collapse('minecraft:cobbled_deepslate', 'minecraft:deepslate')
|
||||
event.recipes.tfc.collapse('minecraft:cobbled_deepslate', 'tfg:rock/hardened_deepslate')
|
||||
event.recipes.tfc.collapse('minecraft:blackstone', 'minecraft:blackstone')
|
||||
|
|
@ -13,8 +14,44 @@ function registerTFGCollapseRecipes(event) {
|
|||
event.recipes.tfc.collapse('minecraft:cobbled_deepslate', '#forge:ores_in_ground/deepslate')
|
||||
event.recipes.tfc.collapse('minecraft:blackstone', '#forge:ores_in_ground/pyroxenite')
|
||||
event.recipes.tfc.collapse('minecraft:dripstone_block', '#forge:ores_in_ground/dripstone')
|
||||
|
||||
|
||||
|
||||
event.recipes.tfc.landslide('tfg:ash_pile', 'tfg:ash_pile')
|
||||
event.recipes.tfc.landslide('minecraft:cobbled_deepslate', 'minecraft:cobbled_deepslate')
|
||||
// #endregion Nether
|
||||
|
||||
// #region Space
|
||||
event.recipes.tfc.collapse('ad_astra:moon_cobblestone', 'ad_astra:moon_stone')
|
||||
event.recipes.tfc.collapse('ad_astra:moon_cobblestone', 'tfg:rock/hardened_moon_stone')
|
||||
event.recipes.tfc.landslide('ad_astra:moon_cobblestone', 'ad_astra:moon_cobblestone')
|
||||
event.recipes.tfc.collapse('ad_astra:moon_cobblestone', '#forge:ores_in_ground/moon_stone')
|
||||
event.recipes.tfc.landslide('ad_astra:moon_sand', 'ad_astra:moon_sand')
|
||||
|
||||
event.recipes.tfc.collapse('ad_astra:moon_deepslate', 'ad_astra:moon_deepslate')
|
||||
event.recipes.tfc.collapse('ad_astra:moon_deepslate', 'tfg:rock/hardened_moon_deepslate')
|
||||
event.recipes.tfc.collapse('ad_astra:moon_deepslate', '#forge:ores_in_ground/moon_deepslate')
|
||||
|
||||
event.recipes.tfc.collapse('ad_astra:mars_cobblestone', 'ad_astra:mars_stone')
|
||||
event.recipes.tfc.collapse('ad_astra:mars_cobblestone', 'tfg:rock/hardened_mars_stone')
|
||||
event.recipes.tfc.landslide('ad_astra:mars_cobblestone', 'ad_astra:mars_cobblestone')
|
||||
event.recipes.tfc.collapse('ad_astra:mars_cobblestone', '#forge:ores_in_ground/mars_stone')
|
||||
event.recipes.tfc.landslide('ad_astra:mars_sand', 'ad_astra:mars_sand')
|
||||
|
||||
event.recipes.tfc.collapse('ad_astra:venus_cobblestone', 'ad_astra:venus_stone')
|
||||
event.recipes.tfc.collapse('ad_astra:venus_cobblestone', 'tfg:rock/hardened_venus_stone')
|
||||
event.recipes.tfc.landslide('ad_astra:venus_cobblestone', 'ad_astra:venus_cobblestone')
|
||||
event.recipes.tfc.collapse('ad_astra:venus_cobblestone', '#forge:ores_in_ground/venus_stone')
|
||||
event.recipes.tfc.landslide('ad_astra:venus_sand', 'ad_astra:venus_sand')
|
||||
|
||||
event.recipes.tfc.collapse('ad_astra:mercury_cobblestone', 'ad_astra:mercury_stone')
|
||||
event.recipes.tfc.collapse('ad_astra:mercury_cobblestone', 'tfg:rock/hardened_mercury_stone')
|
||||
event.recipes.tfc.landslide('ad_astra:mercury_cobblestone', 'ad_astra:mercury_cobblestone')
|
||||
event.recipes.tfc.collapse('ad_astra:mercury_cobblestone', '#forge:ores_in_ground/mercury_stone')
|
||||
event.recipes.tfc.landslide('ad_astra:mercury_sand', 'ad_astra:mercury_sand')
|
||||
|
||||
event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', 'ad_astra:glacio_stone')
|
||||
event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', 'tfg:rock/hardened_glacio_stone')
|
||||
event.recipes.tfc.landslide('ad_astra:glacio_cobblestone', 'ad_astra:glacio_cobblestone')
|
||||
event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', '#forge:ores_in_ground/glacio_stone')
|
||||
event.recipes.tfc.landslide('ad_astra:glacio_sand', 'ad_astra:glacio_sand')
|
||||
// #endregion
|
||||
}
|
||||
|
|
@ -3,28 +3,19 @@
|
|||
function registerTFGConvertingRecipes(event) {
|
||||
|
||||
event.shapeless("afc:tree_tap", "treetap:tap")
|
||||
event.shapeless("tfg:mv_food_refrigerator", "tfcea:refrigerator")
|
||||
|
||||
event.shapeless('greate:steel_cogwheel', 'create:cogwheel')
|
||||
|
||||
event.shapeless('greate:large_steel_cogwheel', 'create:large_cogwheel')
|
||||
|
||||
event.shapeless('greate:steel_shaft', 'create:shaft')
|
||||
|
||||
event.shapeless('greate:steel_crushing_wheel', 'create:crushing_wheel')
|
||||
|
||||
event.shapeless('greate:steel_encased_fan', 'create:encased_fan')
|
||||
|
||||
event.shapeless('greate:steel_gearbox', 'create:gearbox')
|
||||
|
||||
event.shapeless('greate:steel_mechanical_mixer', 'create:mechanical_mixer')
|
||||
|
||||
event.shapeless('greate:steel_mechanical_saw', 'create:mechanical_saw')
|
||||
|
||||
event.shapeless('greate:steel_mechanical_pump', 'create:mechanical_pump')
|
||||
|
||||
event.shapeless('greate:rubber_belt_connector', 'create:belt_connector')
|
||||
|
||||
event.shapeless('greate:steel_vertical_gearbox', 'create:vertical_gearbox')
|
||||
event.shapeless('greate:rubber_belt_connector', 'create:belt_connector')
|
||||
|
||||
event.shapeless('create:zinc_ingot', 'gtceu:zinc_ingot')
|
||||
event.shapeless('create:brass_ingot', 'gtceu:brass_ingot')
|
||||
|
|
|
|||
875
kubejs/server_scripts/tfg/recipes.food.js
Normal file
875
kubejs/server_scripts/tfg/recipes.food.js
Normal file
|
|
@ -0,0 +1,875 @@
|
|||
// priority: 0
|
||||
/**
|
||||
* @param {Internal.RecipesEventJS} event
|
||||
*/
|
||||
function registerTFGFoodRecipes(event) {
|
||||
|
||||
const $ISPRecipeLogic = Java.loadClass("su.terrafirmagreg.core.common.data.tfgt.machine.trait.ISPOutputRecipeLogic")
|
||||
const $SizedIngredient = Java.loadClass("com.gregtechceu.gtceu.api.recipe.ingredient.SizedIngredient")
|
||||
const Sized = (ing, amount) => $SizedIngredient.create(ing, amount)
|
||||
|
||||
/**
|
||||
* @typedef {Object} FoodRecipeData
|
||||
* @property {number?} circuit
|
||||
* @property {Internal.GTRecipeComponents$FluidIngredientJS_[]?} fluidInputs
|
||||
* @property {Internal.FluidStackJS[]?} fluidOutputs
|
||||
* @property {(string | [string, Internal.Ingredient])[]?} itemInputs
|
||||
* @property {string[]?} itemOutputs Ingredient outputs - first output is replaced with ISP output if defined
|
||||
* @property {Internal.ItemStackProviderJS?} itemOutputProvider ItemStackProvider which provides the recipe output.
|
||||
*
|
||||
* **NOTE:** TFC Ingredients do not support item counts higher than 1. Do `Sized(TFCIngredient('item:item'), count)` instead of `TFCIngredient('[count]x item:item')`
|
||||
*/
|
||||
|
||||
//#region Helper funcs
|
||||
|
||||
/**
|
||||
* @param {"food_oven"|"food_processor"} type
|
||||
* @param {string} id
|
||||
* @param {string} duration
|
||||
* @param {string} EUt
|
||||
* @param {FoodRecipeData} data
|
||||
*/
|
||||
function registerFoodRecipe(type, id, duration, EUt, text, data) {
|
||||
if (data.itemInputs === undefined) data.itemInputs = []
|
||||
if (data.itemOutputs === undefined) data.itemOutputs = []
|
||||
if (data.fluidInputs === undefined) data.fluidInputs = []
|
||||
if (data.fluidOutputs === undefined) data.fluidOutputs = []
|
||||
let gregInputs = [], inputs= []
|
||||
let outputFirstIndex = (data.itemOutputProvider === undefined) ? 0 : 1
|
||||
data.itemInputs.forEach(item => {
|
||||
if (typeof item === "string") {
|
||||
gregInputs.push(item)
|
||||
|
||||
const match = item.match(/^(\d+)\s*x\s*/i);
|
||||
let count = 1
|
||||
if (match) {
|
||||
count = parseInt(match[1]);
|
||||
item = item.slice(match[0].length);
|
||||
}
|
||||
inputs.push($SizedIngredient.create(item, count))
|
||||
} else {
|
||||
gregInputs.push(item[0])
|
||||
inputs.push(item[1])
|
||||
}
|
||||
})
|
||||
|
||||
$ISPRecipeLogic.RegisterRecipeData(type + "/" + id, inputs, (data.itemOutputProvider === undefined) ? null : data.itemOutputProvider.asCanonClass(), data.itemOutputs.slice(outputFirstIndex).map(i => Item.of(i)))
|
||||
|
||||
let r = event.recipes.gtceu[type](id)
|
||||
.duration(duration)
|
||||
.EUt(EUt)
|
||||
|
||||
if (data.circuit) r.circuit(data.circuit)
|
||||
if (data.itemOutputs.length > 0) r.itemOutputs(data.itemOutputs)
|
||||
if (data.itemInputs.length > 0) r.itemInputs(data.itemInputs)
|
||||
if (data.fluidInputs.length > 0) r.inputFluids(data.fluidInputs);
|
||||
if (data.fluidOutputs.length > 0) r.outputFluids(data.fluidOutputs);
|
||||
if (text != "") r.addDataString("action", text);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} id
|
||||
* @param {number} duration
|
||||
* @param {EUt} EUt
|
||||
* @param {FoodRecipeData} data
|
||||
*/
|
||||
const processorRecipe = (id, duration, EUt, data) => registerFoodRecipe("food_processor", id, duration, EUt, "", data)
|
||||
|
||||
/**
|
||||
* @param {string} id
|
||||
* @param {number} duration
|
||||
* @param {EUt} EUt
|
||||
* @param {FoodRecipeData} data
|
||||
* @param {string} text
|
||||
*/
|
||||
const processorRecipeText = (id, duration, EUt, text, data) => registerFoodRecipe("food_processor", id, duration, EUt, text, data)
|
||||
|
||||
/**
|
||||
* @param {string} id
|
||||
* @param {string} input
|
||||
* @param {string} out
|
||||
* @param {Internal.FluidIngredient?} fluid
|
||||
* @param {boolean?} isFirmaDynamic
|
||||
*/
|
||||
function cookingRecipe(id, input, out, fluid, isFirmaDynamic) {
|
||||
return registerFoodRecipe("food_oven", id, 300, 32, "", {
|
||||
itemInputs: [input],
|
||||
itemOutputs: [out],
|
||||
fluidInputs: (fluid === undefined) ? [] : [fluid],
|
||||
itemInputs: [input],
|
||||
itemOutputProvider: (isFirmaDynamic) ? TFC.isp.of(out).firmaLifeCopyDynamicFood() : TFC.isp.of(out).copyFood().addTrait("firmalife:oven_baked")
|
||||
})
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region ================= Meat cooking =================
|
||||
|
||||
global.TFC_MEAT_RECIPE_COMPONENTS.forEach(item => {
|
||||
cookingRecipe(item.name, item.input, item.output)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
//#region ================= TFC Grains =================
|
||||
|
||||
global.TFC_GRAINS.forEach(grain => {
|
||||
|
||||
// Raw crop to grain
|
||||
processorRecipe(`${grain}_grain`, 100, 8, {
|
||||
circuit: 30,
|
||||
itemInputs: [`tfc:food/${grain}`],
|
||||
itemOutputs: [`tfc:food/${grain}_grain`],
|
||||
itemOutputProvider: TFC.isp.of(`tfc:food/${grain}_grain`).copyOldestFood()
|
||||
})
|
||||
|
||||
// Grain to flour
|
||||
processorRecipe(`${grain}_flour`, 100, 8, {
|
||||
circuit: 31,
|
||||
itemInputs: [`tfc:food/${grain}_grain`],
|
||||
itemOutputs: [`2x tfc:food/${grain}_flour`],
|
||||
itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_flour`).copyOldestFood()
|
||||
})
|
||||
|
||||
// Flatbread dough
|
||||
processorRecipe(`${grain}_flatbread_dough`, 300, 8, {
|
||||
itemInputs: [`tfc:food/${grain}_flour`],
|
||||
itemOutputs: [`2x tfc:food/${grain}_dough`],
|
||||
circuit: 1,
|
||||
itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_dough`).copyFood()
|
||||
}).inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
|
||||
|
||||
// Firmalife dough
|
||||
processorRecipe(`${grain}_dough`, 300, 16, {
|
||||
itemInputs: [`tfc:food/${grain}_flour`, `#tfc:sweetener`],
|
||||
itemOutputs: [`4x firmalife:food/${grain}_dough`],
|
||||
circuit: 1,
|
||||
fluidInputs: [Fluid.of('firmalife:yeast_starter', 200)],
|
||||
itemOutputProvider: TFC.isp.of(`4x firmalife:food/${grain}_dough`).copyFood()
|
||||
})
|
||||
|
||||
// Bread baking
|
||||
cookingRecipe(`${grain}_flatbread`, `tfc:food/${grain}_dough`, `firmalife:food/${grain}_flatbread`)
|
||||
cookingRecipe(`${grain}_bread`, `firmalife:food/${grain}_dough`, `tfc:food/${grain}_bread`)
|
||||
|
||||
processorRecipe(`${grain}_bread_slice`, 10, 8, {
|
||||
circuit: 1,
|
||||
itemInputs: [`tfc:food/${grain}_bread`],
|
||||
itemOutputs: [`2x firmalife:food/${grain}_slice`],
|
||||
itemOutputProvider: TFC.isp.of(`2x firmalife:food/${grain}_slice`).copyOldestFood()
|
||||
})
|
||||
|
||||
//Sandwich making
|
||||
|
||||
let breadTypes = [["bread", `tfc:food/${grain}_bread`], ["flatbread", `firmalife:food/${grain}_flatbread`], ["slice", `firmalife:food/${grain}_slice`]]
|
||||
breadTypes.forEach((type) => {
|
||||
processorRecipe(`${grain}_${type[0]}_sandwich`, 100, 16, {
|
||||
circuit: 3,
|
||||
itemInputs: [`2x ${type[1]}`, "3x #tfc:foods/usable_in_sandwich"],
|
||||
itemOutputs: [`2x tfc:food/${grain}_bread_sandwich`],
|
||||
itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_sandwich`).meal(
|
||||
(food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [
|
||||
(portion) => portion.ingredient(Ingredient.of('#tfc:sandwich_bread')).nutrientModifier(0.5).saturationModifier(0.5).waterModifier(0.5),
|
||||
(portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8),
|
||||
])
|
||||
})
|
||||
|
||||
//Note: Jam needs to be first in the recipe code or else it will consider it as the usable_in_jam_sandwhich ingredients.
|
||||
//1 Jam
|
||||
processorRecipe(`${grain}_${type[0]}_jam_sandwich_1`, 100, 16, {
|
||||
circuit: 4,
|
||||
itemInputs: [`2x ${type[1]}`, '#tfc:foods/preserves', '2x #tfc:foods/usable_in_jam_sandwich_2'],
|
||||
itemOutputs: [`2x tfc:food/${grain}_bread_jam_sandwich`, 'tfc:empty_jar'],
|
||||
itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_jam_sandwich`).meal(
|
||||
(food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [
|
||||
(portion) => portion.ingredient(Ingredient.of('#tfc:sandwich_bread')).nutrientModifier(0.5).saturationModifier(0.5).waterModifier(0.5),
|
||||
(portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8),
|
||||
]),
|
||||
})
|
||||
|
||||
//2 Jam
|
||||
processorRecipe(`${grain}_${type[0]}_jam_sandwich_2`, 100, 16, {
|
||||
circuit: 4,
|
||||
itemInputs: [`2x ${type[1]}`, '2x #tfc:foods/preserves', '1x #tfc:foods/usable_in_jam_sandwich_2'],
|
||||
itemOutputs: [`2x tfc:food/${grain}_bread_jam_sandwich`, '2x tfc:empty_jar'],
|
||||
itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_jam_sandwich`).meal(
|
||||
(food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [
|
||||
(portion) => portion.ingredient(Ingredient.of('#tfc:sandwich_bread')).nutrientModifier(0.5).saturationModifier(0.5).waterModifier(0.5),
|
||||
(portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8),
|
||||
]),
|
||||
})
|
||||
|
||||
//3 Jam
|
||||
processorRecipe(`${grain}_${type[0]}_jam_sandwich_3`, 100, 16, {
|
||||
circuit: 4,
|
||||
itemInputs: [`2x ${type[1]}`, '3x #tfc:foods/preserves'],
|
||||
itemOutputs: [`2x tfc:food/${grain}_bread_jam_sandwich`, '3x tfc:empty_jar'],
|
||||
itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_jam_sandwich`).meal(
|
||||
(food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [
|
||||
(portion) => portion.ingredient(Ingredient.of('#tfc:sandwich_bread')).nutrientModifier(0.5).saturationModifier(0.5).waterModifier(0.5),
|
||||
(portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8),
|
||||
]),
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region ================= Firmalife =================
|
||||
|
||||
global.FIRMALIFE_COOKING_RECIPE_COMPONENTS.forEach(item => {
|
||||
cookingRecipe(item.name, item.input, item.output, undefined, true)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
//#region ================= Dairy =================
|
||||
|
||||
global.TFC_CURDS_AND_CHEESES.forEach(item => {
|
||||
|
||||
processorRecipe(`${item.curd}_curd`, 1200, 16, {
|
||||
itemOutputs: [item.curd],
|
||||
fluidInputs: [Fluid.of(item.input_fluid, 1000)],
|
||||
itemOutputProvider: TFC.isp.of(item.curd).resetFood()
|
||||
})
|
||||
|
||||
processorRecipe(`${item.cheese1}_cheese_wheel_1`, 8000, 16, {
|
||||
itemInputs: [`3x ${item.curd}`],
|
||||
itemOutputs: [`firmalife:${item.cheese1}_wheel`],
|
||||
fluidInputs: [Fluid.of('tfc:salt_water', 750)],
|
||||
itemOutputProvider: TFC.isp.of(`firmalife:${item.cheese1}_wheel`).copyOldestFood()
|
||||
})
|
||||
|
||||
processorRecipe(`${item.cheese2}_cheese_wheel_2`, 1000, 16, {
|
||||
circuit: 2,
|
||||
itemInputs: [`3x ${item.curd}`, `6x tfc:powder/salt`],
|
||||
itemOutputs: [`firmalife:${item.cheese2}_wheel`],
|
||||
itemOutputProvider: TFC.isp.of(`firmalife:${item.cheese2}_wheel`).copyOldestFood()
|
||||
})
|
||||
|
||||
processorRecipe(`${item.cheese1}_cheese_cutting_1`, 100, 8, {
|
||||
itemInputs: [`firmalife:${item.cheese1}_wheel`],
|
||||
itemOutputs: [`4x firmalife:food/${item.cheese1}`],
|
||||
itemOutputProvider: TFC.isp.of(`4x firmalife:food/${item.cheese1}`).copyOldestFood()
|
||||
})
|
||||
|
||||
processorRecipe(`${item.cheese2}_cheese_cutting_2`, 100, 8, {
|
||||
itemInputs: [`firmalife:${item.cheese2}_wheel`],
|
||||
itemOutputs: [`4x firmalife:food/${item.cheese2}`],
|
||||
itemOutputProvider: TFC.isp.of(`4x firmalife:food/${item.cheese2}`).copyOldestFood()
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
// Milks
|
||||
|
||||
processorRecipe(`white_chocolate_blend`, 300, 16, {
|
||||
circuit: 3,
|
||||
itemInputs: ['2x firmalife:food/cocoa_butter', '#tfc:sweetener'],
|
||||
itemOutputs: ['2x firmalife:food/white_chocolate_blend'],
|
||||
itemOutputProvider: TFC.isp.of('2x firmalife:food/white_chocolate_blend').resetFood(),
|
||||
}).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
|
||||
|
||||
processorRecipe(`dark_chocolate_blend`, 300, 16, {
|
||||
circuit: 2,
|
||||
itemInputs: ['2x firmalife:food/cocoa_powder', '#tfc:sweetener'],
|
||||
itemOutputs: ['2x firmalife:food/dark_chocolate_blend'],
|
||||
itemOutputProvider: TFC.isp.of('2x firmalife:food/dark_chocolate_blend').resetFood(),
|
||||
}).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
|
||||
|
||||
processorRecipe(`milk_chocolate_blend`, 300, 16, {
|
||||
circuit: 1,
|
||||
itemInputs: ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener'],
|
||||
itemOutputs: ['2x firmalife:food/milk_chocolate_blend'],
|
||||
itemOutputProvider: TFC.isp.of('2x firmalife:food/milk_chocolate_blend').resetFood(),
|
||||
}).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
|
||||
|
||||
// TODO: this has nutrition dynamically set in the pot recipe, can we do that here?
|
||||
processorRecipe(`egg_noodles`, 50, 8, {
|
||||
circuit: 6,
|
||||
itemInputs: ["#tfc:foods/flour", 'tfc:powder/salt', '#forge:eggs'],
|
||||
itemOutputs: ['firmalife:food/raw_egg_noodles'],
|
||||
itemOutputProvider: TFC.isp.of("firmalife:food/raw_egg_noodles").copyOldestFood(),
|
||||
}).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
|
||||
|
||||
processorRecipe(`rice_noodles`, 50, 8, {
|
||||
itemInputs: ["tfc:food/rice_flour", 'tfc:food/maize_flour', 'tfc:powder/salt'],
|
||||
itemOutputs: ['2x firmalife:food/raw_rice_noodles'],
|
||||
itemOutputProvider: TFC.isp.of('2x firmalife:food/raw_rice_noodles').copyOldestFood()
|
||||
}).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
|
||||
|
||||
// No ISP needed here
|
||||
event.recipes.gtceu.fermenter(`tfg:fermenter/cream`)
|
||||
.inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
|
||||
.outputFluids(Fluid.of('firmalife:cream'))
|
||||
.circuit(6)
|
||||
.duration(1200)
|
||||
.EUt(24)
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region ================= Food preservation =================
|
||||
|
||||
const smoking_meats = Ingredient.of('#tfc:foods/raw_meats').itemIds;
|
||||
const brining_veg = Ingredient.of('#firmalife:foods/pizza_ingredients').itemIds;
|
||||
const drying_fruits = Ingredient.of('#tfc:foods/fruits').itemIds;
|
||||
const drying_recipes = [
|
||||
{input: 'firmalife:food/soy_mixture', output: 'firmalife:food/tofu'},
|
||||
{input: 'tfc:food/soybean', output: 'firmalife:food/dehydrated_soybeans'},
|
||||
{input: 'firmalife:plant/vanilla', output: 'firmalife:spice/vanilla'},
|
||||
{input: 'firmalife:cinnamon_bark', output: 'firmalife:spice/cinnamon'},
|
||||
{input: 'firmalife:food/white_chocolate_blend', output: 'firmalife:food/white_chocolate'},
|
||||
{input: 'firmalife:food/milk_chocolate_blend', output: 'firmalife:food/milk_chocolate'},
|
||||
{input: 'firmalife:food/dark_chocolate_blend', output: 'firmalife:food/dark_chocolate'}
|
||||
];
|
||||
|
||||
const brining_ingredients = smoking_meats.concat(brining_veg);
|
||||
|
||||
brining_ingredients.forEach(item => {
|
||||
processorRecipeText(`${item.replace(/:/g, "/")}/brining`, 200, 16, "tfg.food_recipe.brining", {
|
||||
circuit: 5,
|
||||
itemInputs: [item],
|
||||
itemOutputs: [item],
|
||||
fluidInputs: [Fluid.of("tfc:brine", 100)],
|
||||
itemOutputProvider: TFC.isp.copyInput().addTrait('tfc:brined')
|
||||
})
|
||||
})
|
||||
|
||||
smoking_meats.forEach(item => {
|
||||
processorRecipeText(`${item.replace(/:/g, "/")}/smoking`, 200, 16, "tfg.food_recipe.smoking", {
|
||||
circuit: 6,
|
||||
itemInputs: [item],
|
||||
itemOutputs: [item],
|
||||
fluidInputs: [Fluid.of('gtceu:wood_gas', 50)],
|
||||
itemOutputProvider: TFC.isp.copyInput().addTrait("firmalife:smoked")
|
||||
})
|
||||
})
|
||||
|
||||
drying_fruits.forEach(item => {
|
||||
processorRecipeText(`${item.replace(/:/g, "/")}/drying`, 200, 16, "tfg.food_recipe.drying", {
|
||||
circuit: 6,
|
||||
itemInputs: [item],
|
||||
itemOutputs: [item],
|
||||
fluidInputs: [Fluid.of('gtceu:nitrogen', 100)],
|
||||
itemOutputProvider: TFC.isp.copyInput().addTrait("firmalife:dried")
|
||||
})
|
||||
})
|
||||
|
||||
drying_recipes.forEach(item => {
|
||||
processorRecipeText(`${item.input.replace(/:/g, "/")}/drying`, 200, 16, "tfg.food_recipe.drying", {
|
||||
circuit: 6,
|
||||
itemInputs: [item.input],
|
||||
itemOutputs: [item.output],
|
||||
fluidInputs: [Fluid.of('gtceu:nitrogen', 100)],
|
||||
itemOutputProvider: TFC.isp.of(item.output).copyOldestFood()
|
||||
})
|
||||
})
|
||||
|
||||
global.FOOD_FRUIT.forEach(fruit => {
|
||||
processorRecipeText(`${fruit.name}/drying`, 100, 120, "tfg.food_recipe.freeze_drying", {
|
||||
circuit: 7,
|
||||
itemInputs: [fruit.id, 'tfg:foil_pack', 'tfg:dry_ice'],
|
||||
itemOutputs: [`tfg:food/freeze_dried/${fruit.name}`],
|
||||
itemOutputProvider: TFC.isp.of(`tfg:food/freeze_dried/${fruit.name}`).copyOldestFood().removeTrait('firmalife:dried').addTrait('tfg:freeze_dried')
|
||||
})
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Meal Bags
|
||||
//1 Input
|
||||
processorRecipeText('meal_bag/1', 100, 120, "tfg.food_recipe.freeze_drying", {
|
||||
circuit: 10,
|
||||
itemInputs: ['1x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'],
|
||||
itemOutputs: ['2x tfg:food/meal_bag'],
|
||||
itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal(
|
||||
(food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [
|
||||
(portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8),
|
||||
]).addTrait('tfg:freeze_dried')
|
||||
})
|
||||
|
||||
//2 Input
|
||||
processorRecipeText('meal_bag/2', 100, 120, "tfg.food_recipe.freeze_drying", {
|
||||
circuit: 11,
|
||||
itemInputs: ['2x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'],
|
||||
itemOutputs: ['2x tfg:food/meal_bag'],
|
||||
itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal(
|
||||
(food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [
|
||||
(portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8),
|
||||
]).addTrait('tfg:freeze_dried')
|
||||
})
|
||||
|
||||
//3 Input
|
||||
processorRecipeText('meal_bag/3', 100, 120, "tfg.food_recipe.freeze_drying", {
|
||||
circuit: 12,
|
||||
itemInputs: ['3x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'],
|
||||
itemOutputs: ['2x tfg:food/meal_bag'],
|
||||
itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal(
|
||||
(food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [
|
||||
(portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8),
|
||||
]).addTrait('tfg:freeze_dried')
|
||||
})
|
||||
|
||||
//4 Input
|
||||
processorRecipeText('meal_bag/4', 100, 120, "tfg.food_recipe.freeze_drying", {
|
||||
circuit: 13,
|
||||
itemInputs: ['4x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'],
|
||||
itemOutputs: ['2x tfg:food/meal_bag'],
|
||||
itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal(
|
||||
(food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [
|
||||
(portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8),
|
||||
]).addTrait('tfg:freeze_dried')
|
||||
})
|
||||
|
||||
//5 Input
|
||||
processorRecipeText('meal_bag/5', 100, 120, "tfg.food_recipe.freeze_drying", {
|
||||
circuit: 14,
|
||||
itemInputs: ['5x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'],
|
||||
itemOutputs: ['2x tfg:food/meal_bag'],
|
||||
itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal(
|
||||
(food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [
|
||||
(portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8),
|
||||
]).addTrait('tfg:freeze_dried')
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region ================= Misc =================
|
||||
|
||||
global.TFC_JAMS.forEach(name => {
|
||||
processorRecipe(`${name}_jam`, 200, 8, {
|
||||
circuit: 15,
|
||||
itemInputs: [`4x tfc:food/${name}`, "#tfg:sugars", "#tfc:empty_jar_with_lid"],
|
||||
itemOutputs: [`4x tfc:jar/${name}`],
|
||||
itemOutputProvider: TFC.isp.of(`4x tfc:jar/${name}`).copyFood()
|
||||
}).inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
|
||||
|
||||
processorRecipe(`${name}_jam_no_seal`, 200, 8, {
|
||||
circuit: 16,
|
||||
itemInputs: [`4x tfc:food/${name}`, "#tfg:sugars", "tfc:empty_jar"],
|
||||
itemOutputs: [`4x tfc:jar/${name}_unsealed`],
|
||||
itemOutputProvider: TFC.isp.of(`4x tfc:jar/${name}_unsealed`).copyFood()
|
||||
}).inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
|
||||
})
|
||||
|
||||
cookingRecipe("pasta", "firmalife:food/raw_egg_noodles", "firmalife:food/cooked_pasta")
|
||||
.inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
|
||||
|
||||
cookingRecipe("corn_tortilla", "firmalife:food/masa", "firmalife:food/corn_tortilla")
|
||||
|
||||
cookingRecipe("boiled_egg", "#firmalife:foods/raw_eggs", "tfc:food/boiled_egg")
|
||||
.inputFluids(JsonIO.of({ amount: 200, value: { tag: "tfg:clean_water" }}))
|
||||
|
||||
cookingRecipe("cooked_rice", "tfc:food/rice_grain", "tfc:food/cooked_rice")
|
||||
.inputFluids(JsonIO.of({ amount: 200, value: { tag: "tfg:clean_water" }}))
|
||||
|
||||
processorRecipe("pasta_tomato_sauce", 60, 8, {
|
||||
itemInputs: ["firmalife:food/cooked_pasta", "firmalife:food/tomato_sauce"],
|
||||
itemOutputs: ["firmalife:food/pasta_with_tomato_sauce"],
|
||||
itemOutputProvider: TFC.isp.of('firmalife:food/pasta_with_tomato_sauce').copyFood()
|
||||
})
|
||||
|
||||
processorRecipe('firmalife_masa', 300, 2, {
|
||||
circuit: 3,
|
||||
itemInputs: ["firmalife:food/masa_flour"],
|
||||
itemOutputs: ["2x firmalife:food/masa"],
|
||||
itemOutputProvider: TFC.isp.of("2x firmalife:food/masa").copyFood()
|
||||
}).inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
|
||||
|
||||
processorRecipe("tortilla_chips", 40, 16, {
|
||||
itemInputs: ["firmalife:food/taco_shell", "tfc:powder/salt"],
|
||||
itemOutputs: ["firmalife:food/tortilla_chips"],
|
||||
itemOutputProvider: TFC.isp.of("firmalife:food/tortilla_chips").copyFood()
|
||||
})
|
||||
|
||||
processorRecipe("tomato_sauce_mix", 600, 8, {
|
||||
itemInputs: ['tfc:food/tomato', 'tfc:powder/salt', 'tfc:food/garlic'],
|
||||
itemOutputs: ['5x firmalife:food/tomato_sauce_mix'],
|
||||
itemOutputProvider: TFC.isp.of('5x firmalife:food/tomato_sauce_mix').copyOldestFood(),
|
||||
})
|
||||
|
||||
processorRecipe("tomato_sauce_from_mix", 200, 8, {
|
||||
itemInputs: ['firmalife:food/tomato_sauce_mix'],
|
||||
itemOutputs: ['firmalife:food/tomato_sauce'],
|
||||
itemOutputProvider: TFC.isp.of('firmalife:food/tomato_sauce').copyOldestFood(),
|
||||
}).inputFluids(JsonIO.of({ amount: 200, value: { tag: "tfg:clean_water" }}))
|
||||
|
||||
processorRecipe("olive_paste", 60, 8, {
|
||||
itemInputs: ['tfc:food/olive'],
|
||||
itemOutputs: ['2x tfc:olive_paste'],
|
||||
itemOutputProvider: TFC.isp.of('2x tfc:olive_paste'),
|
||||
})
|
||||
|
||||
processorRecipe("soybean_paste", 60, 8, {
|
||||
itemInputs: ['firmalife:food/dehydrated_soybeans'],
|
||||
itemOutputs: ['firmalife:food/soybean_paste'],
|
||||
itemOutputProvider: TFC.isp.of('firmalife:food/soybean_paste').copyOldestFood(),
|
||||
})
|
||||
|
||||
processorRecipeText('calorie_paste', 100, 512, "tfg.food_recipe.freeze_drying", {
|
||||
circuit: 8,
|
||||
itemInputs: ['firmalife:food/soybean_paste', 'tfg:foil_pack', '2x gtceu:small_meat_dust', 'tfg:dry_ice'],
|
||||
itemOutputs: ['tfg:food/calorie_paste'],
|
||||
fluidInputs: [Fluid.of('gtceu:fermented_biomass', 40)],
|
||||
itemOutputProvider: TFC.isp.of('tfg:food/calorie_paste').copyOldestFood().addTrait('tfg:freeze_dried'),
|
||||
})
|
||||
|
||||
// Vinegar
|
||||
processorRecipe('vinegar_alcohol', 600, 32, {
|
||||
circuit: 5,
|
||||
itemInputs: ['#tfc:foods/fruits'],
|
||||
fluidOutputs: [Fluid.of('tfc:vinegar', 250)],
|
||||
})
|
||||
.inputFluids(JsonIO.of({
|
||||
amount: 250,
|
||||
value: {
|
||||
tag: "tfc:alcohols"
|
||||
}
|
||||
}))
|
||||
|
||||
processorRecipe("pizza_no_extra", 600, 16, {
|
||||
itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese"],
|
||||
itemOutputs: ["firmalife:food/raw_pizza"],
|
||||
itemOutputProvider: TFC.isp.of("firmalife:food/raw_pizza").meal(
|
||||
(food) => food.hunger(4).saturation(1).grain(1).dairy(0.25).decayModifier(4.5),
|
||||
[(portion) => portion.nutrientModifier(0.8).waterModifier(0.8).saturationModifier(0.8)]
|
||||
)
|
||||
})
|
||||
|
||||
processorRecipe("pizza_1_extra", 600, 16, {
|
||||
circuit: 1,
|
||||
itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "#firmalife:foods/pizza_ingredients"],
|
||||
itemOutputs: ["firmalife:food/raw_pizza"],
|
||||
itemOutputProvider: TFC.isp.of("firmalife:food/raw_pizza").meal(
|
||||
(food) => food.hunger(4).saturation(1).grain(1).dairy(0.25).decayModifier(4.5),
|
||||
[(portion) => portion.nutrientModifier(0.8).waterModifier(0.8).saturationModifier(0.8)]
|
||||
)
|
||||
})
|
||||
|
||||
processorRecipe("pizza_2_extra", 600, 16, {
|
||||
circuit: 2,
|
||||
itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "2x #firmalife:foods/pizza_ingredients"],
|
||||
itemOutputs: ["firmalife:food/raw_pizza"],
|
||||
itemOutputProvider: TFC.isp.of("firmalife:food/raw_pizza").meal(
|
||||
(food) => food.hunger(4).saturation(1).grain(1).dairy(0.25).decayModifier(4.5),
|
||||
[(portion) => portion.nutrientModifier(0.8).waterModifier(0.8).saturationModifier(0.8)]
|
||||
)
|
||||
})
|
||||
|
||||
processorRecipe("pizza_dough_olive_oil", 300, 16, {
|
||||
itemInputs: ['firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt'],
|
||||
itemOutputs: ['4x firmalife:food/pizza_dough'],
|
||||
itemOutputProvider: TFC.isp.of("4x firmalife:food/pizza_dough").copyOldestFood()
|
||||
})
|
||||
|
||||
processorRecipe("pizza_dough_soybean_oil", 300, 16, {
|
||||
itemInputs: ['firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt'],
|
||||
itemOutputs: ['4x firmalife:food/pizza_dough'],
|
||||
itemOutputProvider: TFC.isp.of("4x firmalife:food/pizza_dough").copyOldestFood()
|
||||
}).inputFluids(JsonIO.of({ amount: 100, value: { tag: "firmalife:oils" }}))
|
||||
|
||||
processorRecipe("vanilla_ice_cream", 300, 16, {
|
||||
itemInputs: ['firmalife:ice_shavings', '#tfc:sweetener', 'firmalife:spice/vanilla'],
|
||||
itemOutputs: ['2x firmalife:food/vanilla_ice_cream'],
|
||||
fluidInputs: [Fluid.of('firmalife:cream', 1000)],
|
||||
itemOutputProvider: TFC.isp.of("2x firmalife:food/vanilla_ice_cream").resetFood()
|
||||
})
|
||||
|
||||
processorRecipe("chocolate_ice_cream", 300, 16, {
|
||||
itemInputs: ['firmalife:food/vanilla_ice_cream'],
|
||||
itemOutputs: ['firmalife:food/chocolate_ice_cream'],
|
||||
fluidInputs: [Fluid.of('firmalife:chocolate', 1000)],
|
||||
itemOutputProvider: TFC.isp.of("firmalife:food/chocolate_ice_cream").resetFood()
|
||||
})
|
||||
|
||||
processorRecipe("strawberry_ice_cream", 300, 16, {
|
||||
itemInputs: ['firmalife:food/vanilla_ice_cream', '2x tfc:food/strawberry'],
|
||||
itemOutputs: ['firmalife:food/strawberry_ice_cream'],
|
||||
itemOutputProvider: TFC.isp.of("firmalife:food/strawberry_ice_cream").resetFood()
|
||||
})
|
||||
|
||||
processorRecipe("cookie_dough_ice_cream", 300, 16, {
|
||||
itemInputs: [`firmalife:food/vanilla_ice_cream`, `firmalife:food/chocolate_chip_cookie_dough`],
|
||||
itemOutputs: [`2x firmalife:food/cookie_dough_ice_cream`],
|
||||
itemOutputProvider: TFC.isp.of("firmalife:food/cookie_dough_ice_cream").resetFood()
|
||||
})
|
||||
|
||||
processorRecipe("butter", 300, 16, {
|
||||
itemInputs: ["tfc:powder/salt"],
|
||||
itemOutputs: ["firmalife:food/butter"],
|
||||
fluidInputs: [Fluid.of('firmalife:cream', 1000)],
|
||||
itemOutputProvider: TFC.isp.of('firmalife:food/butter').resetFood()
|
||||
})
|
||||
|
||||
processorRecipe("pie_dough", 300, 16, {
|
||||
circuit: 2,
|
||||
itemInputs: ['#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour'],
|
||||
itemOutputs: ['firmalife:food/pie_dough'],
|
||||
itemOutputProvider: TFC.isp.of('firmalife:food/pie_dough').copyOldestFood()
|
||||
}).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" }}))
|
||||
|
||||
processorRecipe("pumpkin_pie_dough", 300, 16, {
|
||||
circuit: 2,
|
||||
itemInputs: ['#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour'],
|
||||
itemOutputs: ['firmalife:food/pumpkin_pie_dough'],
|
||||
itemOutputProvider: TFC.isp.of('firmalife:food/pumpkin_pie_dough').copyOldestFood()
|
||||
}).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" }}))
|
||||
|
||||
processorRecipe("raw_pumpkin_pie", 20, 8, {
|
||||
itemInputs: ["firmalife:food/pumpkin_pie_dough", "firmalife:pie_pan"],
|
||||
itemOutputs: ["firmalife:raw_pumpkin_pie"],
|
||||
itemOutputProvider: TFC.isp.of("firmalife:food/raw_pumpkin_pie").copyFood()
|
||||
})
|
||||
|
||||
processorRecipe("cookie_dough", 300, 16, {
|
||||
itemInputs: ['#tfc:sweetener', '#forge:eggs', 'firmalife:food/butter', '#tfc:foods/flour', "firmalife:spice/vanilla"],
|
||||
itemOutputs: ['4x firmalife:food/cookie_dough'],
|
||||
itemOutputProvider: TFC.isp.of('4x firmalife:food/cookie_dough').copyOldestFood()
|
||||
})
|
||||
|
||||
processorRecipe("chocolate_chip_cookie_dough", 300, 16, {
|
||||
itemInputs: ['4x firmalife:food/cookie_dough', '#firmalife:foods/chocolate'],
|
||||
itemOutputs: ['4x firmalife:food/chocolate_chip_cookie_dough'],
|
||||
itemOutputProvider: TFC.isp.of('4x firmalife:food/chocolate_chip_cookie_dough').copyOldestFood()
|
||||
})
|
||||
|
||||
processorRecipe("hardtack_dough", 300, 16, {
|
||||
itemInputs: ['tfc:powder/salt', '#tfc:foods/flour'],
|
||||
itemOutputs: ['4x firmalife:food/hardtack_dough'],
|
||||
itemOutputProvider: TFC.isp.of('4x firmalife:food/hardtack_dough').copyOldestFood()
|
||||
}).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" }}))
|
||||
|
||||
processorRecipe("yeast_starter", 1200, 8, {
|
||||
circuit: 1,
|
||||
fluidInputs: [Fluid.of('firmalife:yeast_starter', 100)],
|
||||
fluidOutputs: [Fluid.of('firmalife:yeast_starter', 600)],
|
||||
itemInputs: ['#tfc:foods/flour'],
|
||||
})
|
||||
|
||||
processorRecipe("yeast_starter_from_water", 7200, 8, {
|
||||
circuit: 10,
|
||||
fluidOutputs: [Fluid.of('firmalife:yeast_starter', 600)],
|
||||
itemInputs: ['#tfc:foods/fruits'],
|
||||
}).inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
|
||||
|
||||
processorRecipe("cocoa_dust", 100, 4, {
|
||||
itemInputs: ["firmalife:food/roasted_cocoa_beans"],
|
||||
itemOutputs: ["gtceu:cocoa_dust"],
|
||||
itemOutputProvider: TFC.isp.of("gtceu:cocoa_dust")
|
||||
})
|
||||
|
||||
processorRecipe("red_grapes", 50, 8, {
|
||||
itemInputs: ["firmalife:food/red_grapes"],
|
||||
itemOutputs: ["firmalife:food/smashed_red_grapes"],
|
||||
itemOutputProvider: TFC.isp.of('firmalife:food/smashed_red_grapes').copyOldestFood()
|
||||
})
|
||||
|
||||
processorRecipe("white_grapes", 50, 8, {
|
||||
itemInputs: ["firmalife:food/white_grapes"],
|
||||
itemOutputs: ["firmalife:food/smashed_white_grapes"],
|
||||
itemOutputProvider: TFC.isp.of('firmalife:food/smashed_white_grapes').copyOldestFood()
|
||||
})
|
||||
|
||||
processorRecipe("cured_maize", 300, 8, {
|
||||
itemInputs: ["tfc:food/maize_grain"],
|
||||
itemOutputs: ["firmalife:food/cured_maize"],
|
||||
itemOutputProvider: TFC.isp.of('firmalife:food/cured_maize').copyOldestFood()
|
||||
})
|
||||
|
||||
processorRecipe("soy_mixture", 300, 8, {
|
||||
itemInputs: ["tfc:food/soybean", 'tfc:powder/salt'],
|
||||
itemOutputs: ["firmalife:food/soy_mixture"],
|
||||
itemOutputProvider: TFC.isp.of('firmalife:food/soy_mixture').copyOldestFood()
|
||||
}).inputFluids(JsonIO.of({ amount: 50, value: { tag: "tfg:clean_water" }}))
|
||||
|
||||
// Cakes
|
||||
|
||||
processorRecipe("cake_base", 300, 8, {
|
||||
circuit: 4,
|
||||
itemInputs: ["#forge:eggs", "2x #tfg:sugars", "2x #tfc:foods/flour"],
|
||||
itemOutputs: ["createaddition:cake_base"],
|
||||
itemOutputProvider: TFC.isp.of("createaddition:cake_base").copyOldestFood()
|
||||
}).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
|
||||
|
||||
cookingRecipe("baked_cake_base", "createaddition:cake_base", "createaddition:cake_base_baked")
|
||||
|
||||
processorRecipe("vanilla_cake", 300, 8, {
|
||||
itemInputs: ['createaddition:cake_base_baked', '3x tfc:food/strawberry', 'firmalife:spice/vanilla'],
|
||||
fluidInputs: [Fluid.of("tfcchannelcasting:white_chocolate", 400)],
|
||||
itemOutputs: ["tfc:cake"]
|
||||
})
|
||||
|
||||
processorRecipe("milk_chocolate_cake", 300, 8, {
|
||||
itemInputs: ['createaddition:cake_base_baked', '3x tfc:food/cherry', 'firmalife:food/cocoa_powder'],
|
||||
fluidInputs: [Fluid.of("tfcchannelcasting:milk_chocolate", 400)],
|
||||
itemOutputs: ["createaddition:chocolate_cake"]
|
||||
})
|
||||
|
||||
processorRecipe("dark_chocolate_cake", 300, 8, {
|
||||
itemInputs: ['createaddition:cake_base_baked', '3x tfc:food/cherry', 'firmalife:food/cocoa_powder'],
|
||||
fluidInputs: [Fluid.of("tfcchannelcasting:dark_chocolate", 400)],
|
||||
itemOutputs: ["createaddition:chocolate_cake"]
|
||||
})
|
||||
|
||||
processorRecipe("maple_honey_cake", 300, 8, {
|
||||
itemInputs: ['createaddition:cake_base_baked', '4x firmalife:raw_honey'],
|
||||
fluidInputs: [Fluid.of("afc:maple_syrup", 1000)],
|
||||
itemOutputs: ["createaddition:honey_cake"]
|
||||
})
|
||||
|
||||
processorRecipe("birch_honey_cake", 300, 8, {
|
||||
itemInputs: ['createaddition:cake_base_baked', '4x firmalife:raw_honey'],
|
||||
fluidInputs: [Fluid.of("afc:birch_syrup", 1000)],
|
||||
itemOutputs: ["createaddition:honey_cake"]
|
||||
})
|
||||
|
||||
processorRecipe("birtday_cake", 300, GTValues.VA[GTValues.HV], {
|
||||
itemInputs: ['createaddition:cake_base', '4x species:birt_egg', '4x tfc:food/blueberry', '2x minecraft:chorus_fruit', 'gtceu:blue_alloy_single_wire'],
|
||||
fluidInputs: [Fluid.of('gtceu:helium_3', 50)],
|
||||
itemOutputs: ["species:birtday_cake"]
|
||||
})
|
||||
|
||||
// These don't need the ISP handling, they're just here to keep all the food recipes together
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:tfc/olive_oil_water')
|
||||
.inputFluids(Fluid.of('water', 200))
|
||||
.itemInputs('1x tfc:olive_paste')
|
||||
.outputFluids(Fluid.of('tfc:olive_oil_water', 200))
|
||||
.duration(200)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.distillery('tfg:tfc/olive_oil')
|
||||
.inputFluids(Fluid.of('tfc:olive_oil_water', 250))
|
||||
.outputFluids(Fluid.of('tfc:olive_oil', 50))
|
||||
.duration(600)
|
||||
.EUt(28)
|
||||
|
||||
event.recipes.gtceu.fermenter('soybean_oil')
|
||||
.itemInputs('firmalife:food/soybean_paste')
|
||||
.inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
|
||||
.outputFluids(Fluid.of('firmalife:soybean_oil', 250))
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.duration(600)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/curdled_milk')
|
||||
.inputFluids(Fluid.of('minecraft:milk', 2000))
|
||||
.itemInputs('firmalife:rennet')
|
||||
.outputFluids(Fluid.of('tfc:curdled_milk', 2000))
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/curdled_yak_milk')
|
||||
.inputFluids(Fluid.of('firmalife:yak_milk', 2000))
|
||||
.itemInputs('firmalife:rennet')
|
||||
.outputFluids(Fluid.of('firmalife:curdled_yak_milk', 2000))
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:fermenter/curdled_goat_milk')
|
||||
.inputFluids(Fluid.of('firmalife:goat_milk', 2000))
|
||||
.itemInputs('firmalife:rennet')
|
||||
.outputFluids(Fluid.of('firmalife:curdled_goat_milk', 2000))
|
||||
.duration(2400)
|
||||
.EUt(16)
|
||||
|
||||
// GT cocoa dust compat
|
||||
event.recipes.gtceu.macerator('firmalife:food/cocoa_powder')
|
||||
.itemInputs('gtceu:cocoa_dust')
|
||||
.itemOutputs('4x firmalife:food/cocoa_powder')
|
||||
.duration(100)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.tfc.quern('4x firmalife:food/cocoa_powder', 'gtceu:cocoa_dust')
|
||||
.id(`tfg:quern/cocoa_powder`)
|
||||
|
||||
event.recipes.tfc.quern('gtceu:cocoa_dust', 'firmalife:food/roasted_cocoa_beans')
|
||||
.id('tfg:quern/cocoa_dust');
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Heating recipes for new foods
|
||||
|
||||
event.recipes.tfc.heating('tfg:food/raw_birt', 200)
|
||||
.resultItem(TFC.isp.of('tfg:food/cooked_birt').copyFood())
|
||||
|
||||
event.recipes.tfc.heating('tfg:food/raw_crawlermari', 200)
|
||||
.resultItem(TFC.isp.of('tfg:food/cooked_crawlermari').copyFood())
|
||||
|
||||
event.recipes.tfc.heating('tfg:food/raw_limpet', 200)
|
||||
.resultItem(TFC.isp.of('tfg:food/cooked_limpet').copyFood())
|
||||
|
||||
event.recipes.tfc.heating('tfg:sunflower_product', 200)
|
||||
.resultItem(TFC.isp.of('tfg:roasted_sunflower_seeds').copyFood())
|
||||
|
||||
event.recipes.tfc.heating('tfg:food/raw_moon_rabbit', 200)
|
||||
.resultItem(TFC.isp.of('tfg:food/cooked_moon_rabbit').copyFood())
|
||||
|
||||
//#endregion
|
||||
|
||||
// Food processing machine recipes
|
||||
event.remove({id: 'gtceu:shaped/mv_food_refrigerator'})
|
||||
event.remove({id: 'gtceu:shaped/hv_food_refrigerator'})
|
||||
event.remove({id: 'gtceu:shaped/ev_food_refrigerator'})
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/mv_food_refrigerator')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Copper, 2),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Bronze, 1),
|
||||
'2x gtceu:mv_electric_pump',
|
||||
'gtceu:mv_hermetic_casing',
|
||||
'#gtceu:circuits/mv'
|
||||
)
|
||||
.inputFluids(Fluid.of('tfg:chlorodifluoromethane', 6000))
|
||||
.itemOutputs('1x tfg:mv_food_refrigerator')
|
||||
.duration(200)
|
||||
.circuit(7)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/hv_food_refrigerator')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Gold, 2),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Steel, 1),
|
||||
'2x gtceu:hv_electric_pump',
|
||||
'gtceu:hv_hermetic_casing',
|
||||
'#gtceu:circuits/hv'
|
||||
)
|
||||
.inputFluids(Fluid.of('tfg:1_1_1_2_tetrafluoroethane', 6000))
|
||||
.itemOutputs('1x tfg:hv_food_refrigerator')
|
||||
.duration(200)
|
||||
.circuit(7)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/ev_food_refrigerator')
|
||||
.itemInputs(
|
||||
ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Aluminium, 2),
|
||||
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2),
|
||||
ChemicalHelper.get(TagPrefix.rotor, GTMaterials.StainlessSteel, 1),
|
||||
'2x gtceu:ev_electric_pump',
|
||||
'gtceu:ev_hermetic_casing',
|
||||
'#gtceu:circuits/ev'
|
||||
)
|
||||
.inputFluids(Fluid.of('tfg:isobutane', 6000))
|
||||
.itemOutputs('1x tfg:ev_food_refrigerator')
|
||||
.duration(200)
|
||||
.circuit(7)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
// Tweaks to the machine crafts that are more annoying to do in java
|
||||
event.replaceInput({id: 'gtceu:shaped/lv_food_processor'}, 'gtceu:lv_electric_piston', 'gtceu:steel_whisk')
|
||||
event.replaceInput({id: 'gtceu:shaped/mv_food_processor'}, 'gtceu:mv_electric_piston', 'gtceu:aluminium_whisk')
|
||||
event.replaceInput({id: 'gtceu:shaped/hv_food_processor'}, 'gtceu:hv_electric_piston', 'gtceu:stainless_steel_whisk')
|
||||
event.replaceInput({id: 'gtceu:shaped/ev_food_processor'}, 'gtceu:ev_electric_piston', 'gtceu:titanium_whisk')
|
||||
|
||||
event.replaceInput({id: 'gtceu:shaped/lv_food_oven'}, 'gtceu:lv_electric_piston', '#tfg:metal_bars')
|
||||
event.replaceInput({id: 'gtceu:shaped/mv_food_oven'}, 'gtceu:mv_electric_piston', '#tfg:metal_bars')
|
||||
event.replaceInput({id: 'gtceu:shaped/hv_food_oven'}, 'gtceu:hv_electric_piston', '#tfg:metal_bars')
|
||||
event.replaceInput({id: 'gtceu:shaped/ev_food_oven'}, 'gtceu:ev_electric_piston', '#tfg:metal_bars')
|
||||
|
||||
event.replaceInput({id: 'gtceu:shaped/mv_food_refrigerator'}, 'gtceu:mv_machine_hull', 'gtceu:mv_hermetic_casing')
|
||||
event.replaceInput({id: 'gtceu:shaped/hv_food_refrigerator'}, 'gtceu:hv_machine_hull', 'gtceu:hv_hermetic_casing')
|
||||
event.replaceInput({id: 'gtceu:shaped/ev_food_refrigerator'}, 'gtceu:ev_machine_hull', 'gtceu:ev_hermetic_casing')
|
||||
}
|
||||
|
|
@ -14,4 +14,9 @@ const registerTFGRecipes = (event) => {
|
|||
registerTFGSupportRecipes(event)
|
||||
registerTFGFishingNetsRecipes(event)
|
||||
registerTFGConvertingRecipes(event)
|
||||
registerTFGFoodRecipes(event)
|
||||
registerTFGSpaceRecipes(event)
|
||||
registerTFGStoneDustRecipes(event)
|
||||
registerTFGRecyclingRecipes(event)
|
||||
|
||||
}
|
||||
|
|
@ -124,7 +124,7 @@ function registerTFGMiscellaneousRecipes(event) {
|
|||
.outputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000))
|
||||
.duration(300)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
|
||||
//Scaffolding Frame
|
||||
event.shaped('tfg:scaffolding_frame',
|
||||
[
|
||||
|
|
@ -136,7 +136,7 @@ function registerTFGMiscellaneousRecipes(event) {
|
|||
A: '#forge:rods/wood',
|
||||
B: '#forge:cloth'
|
||||
}).id('tfg:shaped/scaffolding_frame');
|
||||
|
||||
|
||||
//Airship Hull
|
||||
event.shaped('tfg:airship_hull', [
|
||||
'A B',
|
||||
|
|
@ -155,17 +155,15 @@ function registerTFGMiscellaneousRecipes(event) {
|
|||
.EUt(GTValues.VA[GTValues.ULV]);
|
||||
|
||||
//Airship Balloon
|
||||
event.recipes.tfc.damage_inputs_shaped_crafting(
|
||||
event.shaped('tfg:airship_balloon', [
|
||||
'ABA',
|
||||
'BCB',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:string',
|
||||
B: 'immersive_aircraft:sail',
|
||||
C: 'tfc:bone_needle'
|
||||
})
|
||||
).id('tfg:shaped/airship_balloon')
|
||||
// TODO: Add the needle back here once #963 is fixed
|
||||
event.shaped('tfg:airship_balloon', [
|
||||
'ABA',
|
||||
'BAB',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:string',
|
||||
B: 'immersive_aircraft:sail'
|
||||
}).id('tfg:shaped/airship_balloon')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/airship_balloon')
|
||||
.itemInputs('4x immersive_aircraft:sail', '4x #forge:string')
|
||||
|
|
@ -254,7 +252,7 @@ function registerTFGMiscellaneousRecipes(event) {
|
|||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('tfg:ice')
|
||||
.inputFluids(Fluid.of('minecraft:water', 144))
|
||||
.inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" } }))
|
||||
.notConsumable('gtceu:block_casting_mold')
|
||||
.itemOutputs('minecraft:ice')
|
||||
.duration(200)
|
||||
|
|
@ -262,7 +260,20 @@ function registerTFGMiscellaneousRecipes(event) {
|
|||
|
||||
event.shapeless('4x firmalife:ice_shavings', ['#forge:dusts/ice', '#forge:tools/hammers'])
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:ice_slush_from_dry_ice')
|
||||
.itemInputs('1x tfg:dry_ice')
|
||||
.inputFluids( JsonIO.of({ amount: 8000, value: { tag: "tfc:water" }}))
|
||||
.outputFluids(Fluid.of('gtceu:ice', 8000))
|
||||
.duration(80)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
// Cooling water
|
||||
event.recipes.tfc.barrel_sealed(250)
|
||||
.inputItem('1x tfg:dry_ice')
|
||||
.inputFluid(Fluid.of('minecraft:water', 5000))
|
||||
.outputFluid(Fluid.of('gtceu:ice', 5000))
|
||||
.id('tfg:barrel/cooling_water_0')
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.inputItem('1x #forge:dusts/ice')
|
||||
.inputFluid(Fluid.of('minecraft:water', 144))
|
||||
|
|
@ -381,68 +392,6 @@ function registerTFGMiscellaneousRecipes(event) {
|
|||
).id(`universal_circuits_${tier}`);
|
||||
});
|
||||
|
||||
// Air collector (move this to space stuff later)
|
||||
event.recipes.gtceu.gas_collector('nether')
|
||||
.circuit(2)
|
||||
.outputFluids(Fluid.of('gtceu:air', 10000))
|
||||
.dimension('minecraft:the_nether')
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('water_overworld')
|
||||
.circuit(1)
|
||||
.dimension('minecraft:overworld')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
.addDataString("fluidA", "minecraft:water")
|
||||
.addDataString("fluidB", "minecraft:water")
|
||||
.outputFluids(Fluid.of("minecraft:water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('water_nether')
|
||||
.circuit(2)
|
||||
.dimension('minecraft:the_nether')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
.addDataString("fluidA", "minecraft:water")
|
||||
.addDataString("fluidB", "minecraft:water")
|
||||
.outputFluids(Fluid.of("minecraft:water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('sea_water_overworld')
|
||||
.circuit(3)
|
||||
.dimension('minecraft:overworld')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.addDataString("fluidA", "tfc:salt_water")
|
||||
.addDataString("fluidB", "tfc:salt_water")
|
||||
.outputFluids(Fluid.of("tfc:salt_water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('sea_water_nether')
|
||||
.circuit(4)
|
||||
.dimension('minecraft:the_nether')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.addDataString("fluidA", "tfc:salt_water")
|
||||
.addDataString("fluidB", "tfc:salt_water")
|
||||
.outputFluids(Fluid.of("tfc:salt_water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('lava_overworld')
|
||||
.circuit(5)
|
||||
.dimension('minecraft:overworld')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
.addDataString("fluidA", "minecraft:lava")
|
||||
.addDataString("fluidB", "minecraft:lava")
|
||||
.outputFluids(Fluid.of("minecraft:lava", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('lava_nether')
|
||||
.circuit(6)
|
||||
.dimension('minecraft:the_nether')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
.addDataString("fluidA", "minecraft:lava")
|
||||
.addDataString("fluidB", "minecraft:lava")
|
||||
.outputFluids(Fluid.of("minecraft:lava", 1000))
|
||||
|
||||
|
||||
event.shapeless('1x tfg:armor_stand_arms', [
|
||||
'minecraft:armor_stand'
|
||||
|
|
@ -453,20 +402,20 @@ function registerTFGMiscellaneousRecipes(event) {
|
|||
]).id(`tfg:shapeless/armor_stand`)
|
||||
|
||||
event.recipes.tfc.sewing(
|
||||
'1x tfg:piglin_disguise',
|
||||
[
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 1, 0, 0, 0, 1, 1, 0,
|
||||
0, 1, 1, 1, 0, 1, 1, 1, 0,
|
||||
0, 0, 1, 1, 0, 1, 1, 0, 0,
|
||||
0, 0, 1, 1, 0, 1, 1, 0, 0
|
||||
], [
|
||||
1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 0, 1, 0, 0, 1, 0, 1,
|
||||
1, -1, 0, 0, 0, 0, -1, 1,
|
||||
1, -1, 0, 0, 0, 0, -1, 1
|
||||
]
|
||||
).id('tfg:sewing/piglin_disguise')
|
||||
'1x tfg:piglin_disguise',
|
||||
[
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 1, 0, 0, 0, 1, 1, 0,
|
||||
0, 1, 1, 1, 0, 1, 1, 1, 0,
|
||||
0, 0, 1, 1, 0, 1, 1, 0, 0,
|
||||
0, 0, 1, 1, 0, 1, 1, 0, 0
|
||||
], [
|
||||
1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 0, 1, 0, 0, 1, 0, 1,
|
||||
1, -1, 0, 0, 0, 0, -1, 1,
|
||||
1, -1, 0, 0, 0, 0, -1, 1
|
||||
]
|
||||
).id('tfg:sewing/piglin_disguise')
|
||||
|
||||
//trowel
|
||||
event.shaped('tfg:trowel', [
|
||||
|
|
@ -480,10 +429,320 @@ function registerTFGMiscellaneousRecipes(event) {
|
|||
D: '#forge:tools/screwdrivers'
|
||||
}).id('tfg:shaped/trowel')
|
||||
|
||||
event.recipes.gtceu.assembler('tfg:assembler/trowel')
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.plate, GTMaterials.Invar, 2), '1x #forge:screws', '1x #tfc:lumber')
|
||||
.itemOutputs('1x tfg:trowel')
|
||||
.duration(40)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
event.recipes.gtceu.assembler('tfg:assembler/trowel')
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.plate, GTMaterials.Invar, 2), '1x #forge:screws', '1x #tfc:lumber')
|
||||
.itemOutputs('1x tfg:trowel')
|
||||
.duration(40)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
// Food related
|
||||
event.recipes.gtceu.forming_press('tfg:forming_press/foil_pack')
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.foil, GTMaterials.Aluminium, 1), ChemicalHelper.get(TagPrefix.foil, GTMaterials.Polyethylene, 1))
|
||||
.itemOutputs('1x tfg:foil_pack')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/dry_ice')
|
||||
.inputFluids(Fluid.of('gtceu:carbon_dioxide', 1000))
|
||||
.notConsumable('gtceu:block_casting_mold')
|
||||
.itemOutputs('2x tfg:dry_ice')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/dry_ice')
|
||||
.inputFluids(Fluid.of('gtceu:carbon_dioxide', 1000))
|
||||
.notConsumable('gtceu:block_casting_mold')
|
||||
.itemOutputs('10x tfg:dry_ice')
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/decompress_dry_ice')
|
||||
.outputFluids(Fluid.of('gtceu:carbon_dioxide', 100))
|
||||
.itemInputs('1x tfg:dry_ice')
|
||||
.duration(20)
|
||||
.circuit(4)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.mixer('tfg:clean_foil_pack')
|
||||
.itemInputs('1x tfg:used_foil_pack')
|
||||
.inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" } }))
|
||||
.itemOutputs('1x tfg:clean_foil_pack')
|
||||
.duration(200)
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.ore_washer('tfg:ore_washer/distilled/clean_foil_pack')
|
||||
.itemInputs('1x tfg:used_foil_pack')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 10))
|
||||
.itemOutputs('1x tfg:clean_foil_pack')
|
||||
.duration(200)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.custom({
|
||||
type: "ae2:transform",
|
||||
circumstance: {
|
||||
type: "fluid",
|
||||
tag: "tfc:water"
|
||||
},
|
||||
ingredients: [
|
||||
{ item: 'tfg:used_foil_pack' }],
|
||||
result: { item: 'tfg:clean_foil_pack' }
|
||||
}).id('tfg:ae_transform/clean_foil_pack')
|
||||
|
||||
event.recipes.greate.splashing(['tfg:clean_foil_pack'], 'tfg:used_foil_pack')
|
||||
.id('tfg:splashing/clean_foil_pack')
|
||||
|
||||
event.shapeless('1x tfg:used_foil_pack', [
|
||||
'tfg:food/calorie_paste'
|
||||
]).id('tfg:shapeless/emptying/calorie_paste')
|
||||
|
||||
event.shapeless('1x tfg:used_foil_pack', [
|
||||
'tfg:food/meal_bag'
|
||||
]).id('tfg:shapeless/emptying/meal_bag')
|
||||
|
||||
global.FOOD_FRUIT.forEach(fruit => {
|
||||
event.shapeless('1x tfg:used_foil_pack', [
|
||||
`tfg:food/freeze_dried/${fruit.name}`
|
||||
]).id(`tfg:shapeless/emptying/freeze_dried/${fruit.name}`)
|
||||
})
|
||||
|
||||
// Refrigerants
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/chlorodifluoromethane')
|
||||
.inputFluids(Fluid.of('gtceu:chloroform', 1000), Fluid.of('gtceu:hydrofluoric_acid', 2000))
|
||||
.outputFluids(Fluid.of('tfg:chlorodifluoromethane', 1000), Fluid.of('gtceu:hydrochloric_acid', 2000))
|
||||
.duration(480)
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/breakdown/chlorodifluoromethane')
|
||||
.inputFluids(Fluid.of('tfg:chlorodifluoromethane', 200))
|
||||
.outputFluids(Fluid.of('gtceu:tetrafluoroethylene', 100), Fluid.of('gtceu:hydrochloric_acid', 200))
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/acetylene')
|
||||
.inputFluids(Fluid.of('gtceu:methane', 2000), Fluid.of('gtceu:oxygen', 3000))
|
||||
.outputFluids(Fluid.of('tfg:acetylene', 1000), Fluid.of('minecraft:water', 3000))
|
||||
.circuit(4)
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/1_1_1_2_tetrafluoroethane')
|
||||
.inputFluids(Fluid.of('tfg:acetylene', 1000), Fluid.of('gtceu:chlorine', 4000), Fluid.of('gtceu:hydrofluoric_acid', 4000))
|
||||
.outputFluids(Fluid.of('tfg:1_1_1_2_tetrafluoroethane', 1000), Fluid.of('gtceu:hydrochloric_acid', 4000))
|
||||
.circuit(4)
|
||||
.duration(480)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.cracker('tfg:cracker/isobutane')
|
||||
.inputFluids(Fluid.of('gtceu:butane', 4000))
|
||||
.outputFluids(Fluid.of('tfg:isobutane', 1000), Fluid.of('gtceu:lpg', 3000))
|
||||
.circuit(4)
|
||||
.duration(2400)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
// Biofuels
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`seed_oil_alcohol_biodiesel`)
|
||||
.inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:alcohols" } }))
|
||||
.inputFluids(Fluid.of('gtceu:seed_oil', 6000))
|
||||
.outputFluids(Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`olive_oil_alcohol_biodiesel`)
|
||||
.inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:alcohols" } }))
|
||||
.inputFluids(Fluid.of('tfc:olive_oil', 4000))
|
||||
.outputFluids(Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`soybean_oil_alcohol_biodiesel`)
|
||||
.inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:alcohols" } }))
|
||||
.inputFluids(Fluid.of('firmalife:soybean_oil', 4000))
|
||||
.outputFluids(Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`fish_oil_alcohol_biodiesel`)
|
||||
.inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:alcohols" } }))
|
||||
.inputFluids(Fluid.of('gtceu:fish_oil', 6000))
|
||||
.outputFluids(Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`olive_oil_ethanol_biodiesel`)
|
||||
.inputFluids(Fluid.of('tfc:olive_oil', 4000), Fluid.of('gtceu:ethanol', 1000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`olive_oil_methanol_biodiesel`)
|
||||
.inputFluids(Fluid.of('tfc:olive_oil', 4000), Fluid.of('gtceu:methanol', 1000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`soybean_oil_ethanol_biodiesel`)
|
||||
.inputFluids(Fluid.of('firmalife:soybean_oil', 4000), Fluid.of('gtceu:ethanol', 1000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor(`soybean_oil_methanol_biodiesel`)
|
||||
.inputFluids(Fluid.of('firmalife:soybean_oil', 4000), Fluid.of('gtceu:methanol', 1000))
|
||||
.itemInputs('#forge:tiny_dusts/sodium_hydroxide')
|
||||
.outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000))
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.extractor(`rapeseed_oil`)
|
||||
.itemInputs('tfg:rapeseed_product')
|
||||
.outputFluids(Fluid.of('gtceu:seed_oil', 600))
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.extractor(`sunflower_oil`)
|
||||
.itemInputs('tfg:sunflower_product')
|
||||
.outputFluids(Fluid.of('gtceu:seed_oil', 350))
|
||||
.duration(20 * 30)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.inputs('tfg:rapeseed_product', Fluid.of('minecraft:water', 100))
|
||||
.outputFluid(Fluid.of('gtceu:seed_oil', 250))
|
||||
.id('tfg:barrel/rapeseed_to_oil')
|
||||
|
||||
event.recipes.tfc.barrel_sealed(1000)
|
||||
.inputs('tfg:sunflower_product', Fluid.of('minecraft:water', 100))
|
||||
.outputFluid(Fluid.of('gtceu:seed_oil', 120))
|
||||
.id('tfg:barrel/sunflower_to_oil')
|
||||
|
||||
// Not-ender pearl stuff
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('kaolinite')
|
||||
.itemInputs('5x #tfg:aluminium_oxide', '2x #forge:dusts/silicon')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 6000), Fluid.of('gtceu:chlorine', 8000))
|
||||
.itemOutputs('17x tfc:powder/kaolinite')
|
||||
.outputFluids(Fluid.of('gtceu:hydrochloric_acid', 8000))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.chemical_reactor('kaolinite_ruby')
|
||||
.itemInputs('6x #forge:dusts/ruby', '2x #forge:dusts/silicon')
|
||||
.inputFluids(Fluid.of('gtceu:distilled_water', 6000), Fluid.of('gtceu:chlorine', 8000))
|
||||
.itemOutputs('17x tfc:powder/kaolinite', '1x #forge:dusts/chromium')
|
||||
.outputFluids(Fluid.of('gtceu:hydrochloric_acid', 8000))
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.pyrolyse_oven('vitrified_ender_dust')
|
||||
.itemInputs('#forge:ender_pearls', '2x tfc:powder/kaolinite', '4x #forge:insulation_t1')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 100))
|
||||
.itemOutputs('tfg:vitrified_pearl')
|
||||
.chancedOutput('gtceu:ash_dust', 2500, 0)
|
||||
.duration(20 * 10)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_dynamite')
|
||||
.itemInputs('4x #forge:dusts/vitrified_pearl', '2x gtceu:dynamite')
|
||||
.itemOutputs('3x tfg:vitrified_pearl')
|
||||
.chancedOutput('#forge:dusts/dark_ash', 2500, 0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_powderbarrel')
|
||||
.itemInputs('4x #forge:dusts/vitrified_pearl', '8x gtceu:powderbarrel')
|
||||
.itemOutputs('3x tfg:vitrified_pearl')
|
||||
.chancedOutput('#forge:dusts/dark_ash', 2500, 0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_tnt')
|
||||
.itemInputs('4x #forge:dusts/vitrified_pearl', '4x minecraft:tnt')
|
||||
.itemOutputs('3x tfg:vitrified_pearl')
|
||||
.chancedOutput('#forge:dusts/dark_ash', 2500, 0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_itnt')
|
||||
.itemInputs('4x #forge:dusts/vitrified_pearl', 'gtceu:industrial_tnt')
|
||||
.itemOutputs('3x tfg:vitrified_pearl')
|
||||
.chancedOutput('#forge:dusts/dark_ash', 2500, 0)
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
event.recipes.gtceu.macerator('vitrified_ender_pearl')
|
||||
.itemInputs('tfg:vitrified_pearl')
|
||||
.itemOutputs('#forge:dusts/vitrified_pearl')
|
||||
.duration(40)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
// Have to redo all these because .replaceInput doesn't work for some reason!!
|
||||
|
||||
event.shaped('gtceu:mv_field_generator', [
|
||||
'ABA',
|
||||
'CDC',
|
||||
'ABA'
|
||||
], {
|
||||
A: '#forge:quadruple_wires/magnesium_diboride',
|
||||
B: '#forge:plates/aluminium',
|
||||
C: '#gtceu:circuits/mv',
|
||||
D: 'tfg:vitrified_pearl'
|
||||
}).id('gtceu:shaped/field_generator_mv')
|
||||
|
||||
event.recipes.gtceu.assembler('field_generator_mv')
|
||||
.itemInputs('tfg:vitrified_pearl', '2x #forge:plates/aluminium', '2x #gtceu:circuits/mv', '4x #forge:quadruple_wires/magnesium_diboride')
|
||||
.itemOutputs('gtceu:mv_field_generator')
|
||||
.duration(100)
|
||||
.EUt(30)
|
||||
|
||||
event.shaped('gtceu:hv_emitter', [
|
||||
'ABC',
|
||||
'BDB',
|
||||
'CBA'
|
||||
], {
|
||||
A: '#forge:single_cables/gold',
|
||||
B: '#forge:rods/chromium',
|
||||
C: '#gtceu:circuits/hv',
|
||||
D: 'tfg:vitrified_pearl'
|
||||
}).id('gtceu:shaped/emitter_hv')
|
||||
|
||||
event.recipes.gtceu.assembler('emitter_hv')
|
||||
.itemInputs('tfg:vitrified_pearl', '4x #forge:rods/chromium', '2x #gtceu:circuits/hv', '2x #forge:single_cables/gold')
|
||||
.itemOutputs('gtceu:hv_emitter')
|
||||
.circuit(1)
|
||||
.duration(100)
|
||||
.EUt(30)
|
||||
|
||||
event.shaped('gtceu:hv_sensor', [
|
||||
'A B',
|
||||
'AC ',
|
||||
'DAA'
|
||||
], {
|
||||
A: '#forge:plates/stainless_steel',
|
||||
B: 'tfg:vitrified_pearl',
|
||||
C: '#forge:rods/chromium',
|
||||
D: '#gtceu:circuits/hv',
|
||||
}).id('gtceu:shaped/sensor_hv')
|
||||
|
||||
event.recipes.gtceu.assembler('sensor_hv')
|
||||
.itemInputs('tfg:vitrified_pearl', '#forge:rods/chromium', '#gtceu:circuits/hv', '4x #forge:plates/stainless_steel')
|
||||
.itemOutputs('gtceu:hv_sensor')
|
||||
.duration(100)
|
||||
.EUt(30)
|
||||
|
||||
// Temporary
|
||||
event.recipes.gtceu.chemical_bath('quantum_eye')
|
||||
.itemInputs('tfg:vitrified_pearl')
|
||||
.inputFluids(Fluid.of('gtceu:radon', 250))
|
||||
.itemOutputs('gtceu:quantum_eye')
|
||||
.duration(24 * 20)
|
||||
.EUt(480)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -222,6 +222,55 @@ function registerTFGMoldRecipes(event) {
|
|||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:fish_hook_extruder_mold', [
|
||||
'f ',
|
||||
' S ',
|
||||
' h'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:whisk_extruder_mold', [
|
||||
'f h',
|
||||
' S ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:screwdriver_tip_extruder_mold', [
|
||||
'f ',
|
||||
' S ',
|
||||
' h '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:wrench_tip_extruder_mold', [
|
||||
'f ',
|
||||
'hS ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:wire_cutter_head_extruder_mold', [
|
||||
' ',
|
||||
'hS ',
|
||||
'f '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
let steelIngots = ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4);
|
||||
let steelDusts = ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4);
|
||||
|
|
@ -291,4 +340,4 @@ function registerTFGMoldRecipes(event) {
|
|||
// .id(`tfg:shapeless/vessel_cleaning/${vessel.replace(":", "/")}`);
|
||||
// });
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,8 +110,9 @@ function registerTFGPapermakingRecipes(event) {
|
|||
//Beat thermochemically treated hardwood dust into soaked unrefined paper
|
||||
event.recipes.tfc.anvil('tfg:soaked_unrefined_paper', 'gtceu:thermochemically_treated_hardwood_dust', ['hit_last', 'hit_last', 'hit_last'])
|
||||
.id('tfg:anvil/soaked_unrefined_paper')
|
||||
event.recipes.createDeploying(Item.of('tfg:soaked_unrefined_paper').withChance(0.8), ['gtceu:thermochemically_treated_hardwood_dust', '#forge:tools/hammers'])
|
||||
.id('tfg:pressing/soaked_unrefined_paper')
|
||||
event.recipes.greate.pressing(Item.of('tfg:soaked_unrefined_paper'), 'gtceu:thermochemically_treated_hardwood_dust')
|
||||
.recipeTier(0)
|
||||
.id('greate:pressing/soaked_unrefined_paper')
|
||||
event.custom({
|
||||
type: "firmalife:stomping",
|
||||
ingredient: {
|
||||
|
|
|
|||
379
kubejs/server_scripts/tfg/recipes.recycling.js
Normal file
379
kubejs/server_scripts/tfg/recipes.recycling.js
Normal file
|
|
@ -0,0 +1,379 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGRecyclingRecipes(event) {
|
||||
|
||||
//MV Refrigerator
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/mv_food_refrigerator')
|
||||
.itemInputs('tfg:mv_food_refrigerator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 5),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Bronze, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Cupronickel, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Polyethylene, 2)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 5)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/mv_food_refrigerator')
|
||||
.itemInputs('tfg:mv_food_refrigerator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 5),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Bronze, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Cupronickel, 4),
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Ash, 2)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 5)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//HV Refrigerator
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/hv_food_refrigerator')
|
||||
.itemInputs('tfg:hv_food_refrigerator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 7),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Polytetrafluoroethylene, 4)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 8)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/hv_food_refrigerator')
|
||||
.itemInputs('tfg:hv_food_refrigerator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 7),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 4),
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Ash, 4)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 8)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//EV Refrigerator
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/ev_food_refrigerator')
|
||||
.itemInputs('tfg:ev_food_refrigerator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 10),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Kanthal, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 3)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 8)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/ev_food_refrigerator')
|
||||
.itemInputs('tfg:ev_food_refrigerator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 10),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Kanthal, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 3)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 8)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//LV Food Processor
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/lv_food_processor')
|
||||
.itemInputs('tfg:lv_food_processor')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 7),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Tin, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Bronze, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 2)
|
||||
)
|
||||
.duration(GTMaterials.Steel.getMass() * 7)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/lv_food_processor')
|
||||
.itemInputs('tfg:lv_food_processor')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 7),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Tin, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Bronze, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 2)
|
||||
)
|
||||
.duration(GTMaterials.Steel.getMass() * 7)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//MV Food Processor
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/mv_food_processor')
|
||||
.itemInputs('tfg:mv_food_processor')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Cupronickel, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 3),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.SiliconeRubber, 3)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 6)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/mv_food_processor')
|
||||
.itemInputs('tfg:mv_food_processor')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Cupronickel, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 3),
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Ash, 3)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 6)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//HV Food Processor
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/hv_food_processor')
|
||||
.itemInputs('tfg:hv_food_processor')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 7),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.SiliconeRubber, 3)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 7)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/hv_food_processor')
|
||||
.itemInputs('tfg:hv_food_processor')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 7),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 6),
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Ash, 3)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 7)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//EV Food Processor
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/ev_food_processor')
|
||||
.itemInputs('tfg:ev_food_processor')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 9),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Kanthal, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 9)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/ev_food_processor')
|
||||
.itemInputs('tfg:ev_food_processor')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 9),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Kanthal, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 9)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//LV Food Oven
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/lv_food_oven')
|
||||
.itemInputs('tfg:lv_food_oven')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Tin, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Iron, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 7)
|
||||
)
|
||||
.duration(GTMaterials.Steel.getMass() * 8)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/lv_food_oven')
|
||||
.itemInputs('tfg:lv_food_oven')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Tin, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Iron, 4),
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Ash, 7)
|
||||
)
|
||||
.duration(GTMaterials.Steel.getMass() * 8)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//MV Food Oven
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/mv_food_oven')
|
||||
.itemInputs('tfg:mv_food_oven')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 9),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Cupronickel, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 1)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 9)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/mv_food_oven')
|
||||
.itemInputs('tfg:mv_food_oven')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 9),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Cupronickel, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 1)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 9)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//HV Food Oven
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/hv_food_oven')
|
||||
.itemInputs('tfg:hv_food_oven')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 8),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Kanthal, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 3)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 8)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/hv_food_oven')
|
||||
.itemInputs('tfg:hv_food_oven')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 8),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Kanthal, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 3)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 8)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//EV Food Oven
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/ev_food_oven')
|
||||
.itemInputs('tfg:ev_food_oven')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 10),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 5),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Kanthal, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Nichrome, 2)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 10)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/ev_food_oven')
|
||||
.itemInputs('tfg:ev_food_oven')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 10),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 5),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Kanthal, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Nichrome, 2)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 10)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//LV Food Oven
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/lv_aqueous_accumulator')
|
||||
.itemInputs('tfg:lv_aqueous_accumulator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Bronze, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Tin, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 2)
|
||||
)
|
||||
.duration(GTMaterials.Steel.getMass() * 4)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/lv_aqueous_accumulator')
|
||||
.itemInputs('tfg:lv_aqueous_accumulator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Bronze, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Tin, 6),
|
||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Ash, 2)
|
||||
)
|
||||
.duration(GTMaterials.Steel.getMass() * 4)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//MV Food Oven
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/mv_aqueous_accumulator')
|
||||
.itemInputs('tfg:mv_aqueous_accumulator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 5),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Bronze, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Cupronickel, 2)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 5)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/mv_aqueous_accumulator')
|
||||
.itemInputs('tfg:mv_aqueous_accumulator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 5),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Bronze, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Cupronickel, 2)
|
||||
)
|
||||
.duration(GTMaterials.Aluminium.getMass() * 5)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//HV Food Oven
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/hv_aqueous_accumulator')
|
||||
.itemInputs('tfg:hv_aqueous_accumulator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Gold, 1)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 6)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/hv_aqueous_accumulator')
|
||||
.itemInputs('tfg:hv_aqueous_accumulator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Gold, 1)
|
||||
)
|
||||
.duration(GTMaterials.StainlessSteel.getMass() * 6)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
|
||||
//EV Food Oven
|
||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/ev_aqueous_accumulator')
|
||||
.itemInputs('tfg:ev_aqueous_accumulator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 6),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Kanthal, 2),
|
||||
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 1)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 6)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
|
||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/ev_aqueous_accumulator')
|
||||
.itemInputs('tfg:ev_aqueous_accumulator')
|
||||
.itemOutputs(
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 6),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Kanthal, 2),
|
||||
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 1)
|
||||
)
|
||||
.duration(GTMaterials.Titanium.getMass() * 6)
|
||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
}
|
||||
|
|
@ -10,7 +10,20 @@ function registerTFGRockRecipes(event) {
|
|||
{ loose: 'tfg:loose/deepslate', block: 'minecraft:cobbled_deepslate' },
|
||||
{ loose: 'beneath:blackstone_pebble', block: 'minecraft:blackstone' },
|
||||
{ loose: 'tfg:brick/deepslate', block: '4x minecraft:deepslate_bricks' },
|
||||
{ loose: 'tfg:loose/dripstone', block: 'minecraft:dripstone_block' }
|
||||
{ loose: 'tfg:loose/dripstone', block: 'minecraft:dripstone_block' },
|
||||
{ loose: 'tfg:loose/moon_stone', block: 'ad_astra:moon_cobblestone' },
|
||||
{ loose: 'tfg:brick/moon_stone', block: '4x ad_astra:moon_stone_bricks' },
|
||||
{ loose: 'tfg:loose/moon_deepslate', block: 'ad_astra:moon_deepslate' },
|
||||
{ loose: 'tfg:loose/mars_stone', block: 'ad_astra:mars_cobblestone' },
|
||||
{ loose: 'tfg:brick/mars_stone', block: '4x ad_astra:mars_stone_bricks' },
|
||||
{ loose: 'tfg:loose/venus_stone', block: 'ad_astra:venus_cobblestone' },
|
||||
{ loose: 'tfg:brick/venus_stone', block: '4x ad_astra:venus_stone_bricks' },
|
||||
{ loose: 'tfg:loose/mercury_stone', block: 'ad_astra:mercury_cobblestone' },
|
||||
{ loose: 'tfg:brick/mercury_stone', block: '4x ad_astra:mercury_stone_bricks' },
|
||||
{ loose: 'tfg:loose/glacio_stone', block: 'ad_astra:glacio_cobblestone' },
|
||||
{ loose: 'tfg:brick/glacio_stone', block: '4x ad_astra:glacio_stone_bricks' },
|
||||
{ loose: 'tfg:brick/permafrost', block: '4x ad_astra:permafrost_bricks' },
|
||||
{ loose: 'minecraft:popped_chorus_fruit', block: '4x minecraft:purpur_block' }
|
||||
]
|
||||
|
||||
GLUEING_TOGETHER.forEach(x => {
|
||||
|
|
@ -35,7 +48,13 @@ function registerTFGRockRecipes(event) {
|
|||
// loose to bricks
|
||||
|
||||
const LOOSE_TO_BRICKS = [
|
||||
{ loose: 'tfg:loose/deepslate', brick: 'tfg:brick/deepslate' }
|
||||
{ loose: 'tfg:loose/deepslate', brick: 'tfg:brick/deepslate' },
|
||||
{ loose: 'tfg:loose/moon_stone', brick: 'tfg:brick/moon_stone' },
|
||||
{ loose: 'tfg:loose/mars_stone', brick: 'tfg:brick/mars_stone' },
|
||||
{ loose: 'tfg:loose/venus_stone', brick: 'tfg:brick/venus_stone' },
|
||||
{ loose: 'tfg:loose/mercury_stone', brick: 'tfg:brick/mercury_stone' },
|
||||
{ loose: 'tfg:loose/glacio_stone', brick: 'tfg:brick/glacio_stone' },
|
||||
{ loose: 'tfg:loose/permafrost', brick: 'tfg:brick/permafrost' }
|
||||
]
|
||||
|
||||
LOOSE_TO_BRICKS.forEach(x => {
|
||||
|
|
@ -59,7 +78,26 @@ function registerTFGRockRecipes(event) {
|
|||
{ raw: 'minecraft:deepslate_tiles', polished: 'minecraft:chiseled_deepslate' },
|
||||
{ raw: 'minecraft:polished_blackstone_bricks', polished: 'minecraft:chiseled_polished_blackstone' },
|
||||
{ raw: 'minecraft:basalt', polished: 'minecraft:smooth_basalt' },
|
||||
{ raw: 'minecraft:smooth_basalt', polished: 'minecraft:polished_basalt' }
|
||||
{ raw: 'minecraft:smooth_basalt', polished: 'minecraft:polished_basalt' },
|
||||
{ raw: 'ad_astra:moon_stone', polished: 'ad_astra:polished_moon_stone' },
|
||||
{ raw: 'ad_astra:moon_stone_bricks', polished: 'ad_astra:chiseled_moon_stone_bricks' },
|
||||
{ raw: 'ad_astra:mars_stone', polished: 'ad_astra:polished_mars_stone' },
|
||||
{ raw: 'ad_astra:mars_stone_bricks', polished: 'ad_astra:chiseled_mars_stone_bricks' },
|
||||
{ raw: 'ad_astra:venus_stone', polished: 'ad_astra:polished_venus_stone' },
|
||||
{ raw: 'ad_astra:venus_stone_bricks', polished: 'ad_astra:chiseled_venus_stone_bricks' },
|
||||
{ raw: 'ad_astra:venus_sandstone', polished: 'ad_astra:venus_sandstone_bricks' },
|
||||
{ raw: 'ad_astra:mercury_stone', polished: 'ad_astra:polished_mercury_stone' },
|
||||
{ raw: 'ad_astra:mercury_stone_bricks', polished: 'ad_astra:chiseled_mercury_stone_bricks' },
|
||||
{ raw: 'ad_astra:glacio_stone', polished: 'ad_astra:polished_glacio_stone' },
|
||||
{ raw: 'ad_astra:glacio_stone_bricks', polished: 'ad_astra:chiseled_glacio_stone_bricks' },
|
||||
{ raw: 'ad_astra:conglomerate', polished: 'ad_astra:polished_conglomerate' },
|
||||
{ raw: 'ad_astra:permafrost', polished: 'ad_astra:polished_permafrost' },
|
||||
{ raw: 'ad_astra:permafrost_bricks', polished: 'ad_astra:chiseled_permafrost_bricks' },
|
||||
{ raw: 'ad_astra:chiseled_permafrost_bricks', polished: 'ad_astra:permafrost_tiles' },
|
||||
{ raw: 'ae2:sky_stone_block', polished: 'ae2:smooth_sky_stone_block' },
|
||||
{ raw: 'ae2:smooth_sky_stone_block', polished: 'ae2:sky_stone_brick' },
|
||||
{ raw: 'ae2:sky_stone_brick', polished: 'ae2:sky_stone_small_brick' },
|
||||
{ raw: 'gtceu:certus_quartz_block', polished: 'ae2:cut_quartz_block' },
|
||||
]
|
||||
|
||||
RAW_TO_POLISHED.forEach(x => {
|
||||
|
|
@ -87,7 +125,14 @@ function registerTFGRockRecipes(event) {
|
|||
|
||||
const CRACKING = [
|
||||
{ raw: 'minecraft:deepslate_bricks', cracked: 'minecraft:cracked_deepslate_bricks' },
|
||||
{ raw: 'minecraft:deepslate_tiles', cracked: 'minecraft:cracked_deepslate_tiles' }
|
||||
{ raw: 'minecraft:deepslate_tiles', cracked: 'minecraft:cracked_deepslate_tiles' },
|
||||
{ raw: 'ad_astra:moon_stone_bricks', cracked: 'ad_astra:cracked_moon_stone_bricks' },
|
||||
{ raw: 'ad_astra:mars_stone_bricks', cracked: 'ad_astra:cracked_mars_stone_bricks' },
|
||||
{ raw: 'ad_astra:venus_stone_bricks', cracked: 'ad_astra:cracked_venus_stone_bricks' },
|
||||
{ raw: 'ad_astra:venus_sandstone_bricks', cracked: 'ad_astra:cracked_venus_sandstone_bricks' },
|
||||
{ raw: 'ad_astra:mercury_stone_bricks', cracked: 'ad_astra:cracked_mercury_stone_bricks' },
|
||||
{ raw: 'ad_astra:glacio_stone_bricks', cracked: 'ad_astra:cracked_glacio_stone_bricks' },
|
||||
{ raw: 'ad_astra:permafrost_bricks', cracked: 'ad_astra:cracked_permafrost_bricks' }
|
||||
]
|
||||
|
||||
CRACKING.forEach(x => {
|
||||
|
|
@ -100,6 +145,10 @@ function registerTFGRockRecipes(event) {
|
|||
.itemOutputs(x.cracked)
|
||||
.duration(12)
|
||||
.EUt(8)
|
||||
|
||||
event.recipes.greate.pressing(x.cracked, x.raw)
|
||||
.recipeTier(1)
|
||||
.id(`greate:pressing/${x.raw}_to_${x.cracked}`.replace(/:/g, '_'))
|
||||
})
|
||||
|
||||
// forge hammer
|
||||
|
|
@ -109,7 +158,27 @@ function registerTFGRockRecipes(event) {
|
|||
{ raw: 'minecraft:cobbled_deepslate', hammered: 'tfc:sand/black' },
|
||||
{ raw: 'minecraft:blackstone', hammered: 'tfc:sand/black' },
|
||||
{ raw: 'beneath:crackrack', hammered: 'tfc:sand/pink' },
|
||||
{ raw: 'minecraft:dripstone_block', hammered: 'tfc:sand/brown' }
|
||||
{ raw: 'minecraft:dripstone_block', hammered: 'tfc:sand/brown' },
|
||||
|
||||
{ raw: 'ad_astra:moon_stone', hammered: 'ad_astra:moon_cobblestone' },
|
||||
{ raw: 'tfg:rock/hardened_moon_stone', hammered: 'ad_astra:moon_cobblestone' },
|
||||
{ raw: 'ad_astra:moon_cobblestone', hammered: 'ad_astra:moon_sand' },
|
||||
{ raw: 'ad_astra:moon_deepslate', hammered: 'ad_astra:moon_sand' },
|
||||
{ raw: 'tfg:rock/hardened_moon_deepslate', hammered: 'ad_astra:moon_sand' },
|
||||
{ raw: 'ad_astra:mars_stone', hammered: 'ad_astra:mars_cobblestone' },
|
||||
{ raw: 'tfg:rock/hardened_mars_stone', hammered: 'ad_astra:mars_cobblestone' },
|
||||
{ raw: 'ad_astra:mars_cobblestone', hammered: 'ad_astra:mars_sand' },
|
||||
{ raw: 'ad_astra:venus_stone', hammered: 'ad_astra:venus_cobblestone' },
|
||||
{ raw: 'tfg:rock/hardened_venus_stone', hammered: 'ad_astra:venus_cobblestone' },
|
||||
{ raw: 'ad_astra:venus_cobblestone', hammered: 'ad_astra:venus_sand' },,
|
||||
{ raw: 'ad_astra:mercury_stone', hammered: 'ad_astra:mercury_cobblestone' },
|
||||
{ raw: 'tfg:rock/hardened_mercury_stone', hammered: 'ad_astra:mercury_cobblestone' },
|
||||
{ raw: 'ad_astra:mercury_cobblestone', hammered: 'tfc:sand/red' },
|
||||
{ raw: 'ad_astra:glacio_stone', hammered: 'ad_astra:glacio_cobblestone' },
|
||||
{ raw: 'tfg:rock/hardened_glacio_stone', hammered: 'ad_astra:glacio_cobblestone' },
|
||||
{ raw: 'ad_astra:glacio_cobblestone', hammered: 'tfc:sand/white' },
|
||||
{ raw: 'ad_astra:conglomerate', hammered: 'tfc:rock/gravel/conglomerate' },
|
||||
{ raw: 'ad_astra:permafrost', hammered: 'tfg:loose/permafrost' }
|
||||
]
|
||||
|
||||
HAMMERING.forEach(x => {
|
||||
|
|
@ -118,39 +187,48 @@ function registerTFGRockRecipes(event) {
|
|||
.itemOutputs(x.hammered)
|
||||
.duration(12)
|
||||
.EUt(8)
|
||||
|
||||
event.recipes.greate.pressing(x.hammered, x.raw)
|
||||
.recipeTier(1)
|
||||
.id(`greate:pressing/${x.raw}_to_${x.hammered}`.replace(/:/g, '_'))
|
||||
})
|
||||
|
||||
// slabs, stairs, walls
|
||||
|
||||
const CUTTER = [
|
||||
// #region Nether
|
||||
{
|
||||
raw: 'minecraft:cobbled_deepslate',
|
||||
stair: 'minecraft:cobbled_deepslate_stairs',
|
||||
slab: 'minecraft:cobbled_deepslate_slab',
|
||||
wall: 'minecraft:cobbled_deepslate_wall',
|
||||
dust: 'gtceu:deepslate_dust',
|
||||
loose: 'tfg:loose/deepslate'
|
||||
loose: 'tfg:loose/deepslate',
|
||||
stonecutting: false
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:polished_deepslate',
|
||||
stair: 'minecraft:polished_deepslate_stairs',
|
||||
slab: 'minecraft:polished_deepslate_slab',
|
||||
wall: 'minecraft:polished_deepslate_wall',
|
||||
dust: 'gtceu:deepslate_dust'
|
||||
dust: 'gtceu:deepslate_dust',
|
||||
stonecutting: false
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:deepslate_bricks',
|
||||
stair: 'minecraft:deepslate_brick_stairs',
|
||||
slab: 'minecraft:deepslate_brick_slab',
|
||||
wall: 'minecraft:deepslate_brick_wall',
|
||||
dust: 'gtceu:deepslate_dust'
|
||||
dust: 'gtceu:deepslate_dust',
|
||||
stonecutting: false
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:deepslate_tiles',
|
||||
stair: 'minecraft:deepslate_tile_stairs',
|
||||
slab: 'minecraft:deepslate_tile_slab',
|
||||
wall: 'minecraft:deepslate_tile_wall',
|
||||
dust: 'gtceu:deepslate_dust'
|
||||
dust: 'gtceu:deepslate_dust',
|
||||
stonecutting: false
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:blackstone',
|
||||
|
|
@ -158,34 +236,307 @@ function registerTFGRockRecipes(event) {
|
|||
slab: 'minecraft:blackstone_slab',
|
||||
wall: 'minecraft:blackstone_wall',
|
||||
dust: 'gtceu:blackstone_dust',
|
||||
loose: 'beneath:blackstone_pebble'
|
||||
loose: 'beneath:blackstone_pebble',
|
||||
stonecutting: false
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:polished_blackstone',
|
||||
stair: 'minecraft:polished_blackstone_stairs',
|
||||
slab: 'minecraft:polished_blackstone_slab',
|
||||
wall: 'minecraft:polished_blackstone_wall',
|
||||
dust: 'gtceu:blackstone_dust'
|
||||
dust: 'gtceu:blackstone_dust',
|
||||
stonecutting: false
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:polished_blackstone_bricks',
|
||||
stair: 'minecraft:polished_blackstone_brick_stairs',
|
||||
slab: 'minecraft:polished_blackstone_brick_slab',
|
||||
wall: 'minecraft:polished_blackstone_brick_wall',
|
||||
dust: 'gtceu:blackstone_dust'
|
||||
dust: 'gtceu:blackstone_dust',
|
||||
stonecutting: false
|
||||
},
|
||||
// #endregion
|
||||
// #region Space
|
||||
{
|
||||
raw: 'ad_astra:moon_cobblestone',
|
||||
stair: 'ad_astra:moon_cobblestone_stairs',
|
||||
slab: 'ad_astra:moon_cobblestone_slab',
|
||||
dust: 'tfg:moon_stone_dust',
|
||||
loose: 'tfg:loose/moon_stone',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:mars_cobblestone',
|
||||
stair: 'ad_astra:mars_cobblestone_stairs',
|
||||
slab: 'ad_astra:mars_cobblestone_slab',
|
||||
dust: 'tfg:mars_stone_dust',
|
||||
loose: 'tfg:loose/mars_stone',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:venus_cobblestone',
|
||||
stair: 'ad_astra:venus_cobblestone_stairs',
|
||||
slab: 'ad_astra:venus_cobblestone_slab',
|
||||
dust: 'tfg:venus_stone_dust',
|
||||
loose: 'tfg:loose/venus_stone',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:mercury_cobblestone',
|
||||
stair: 'ad_astra:mercury_cobblestone_stairs',
|
||||
slab: 'ad_astra:mercury_cobblestone_slab',
|
||||
dust: 'tfg:mercury_stone_dust',
|
||||
loose: 'tfg:loose/mercury_stone',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:glacio_cobblestone',
|
||||
stair: 'ad_astra:glacio_cobblestone_stairs',
|
||||
slab: 'ad_astra:glacio_cobblestone_slab',
|
||||
dust: 'tfg:glacio_stone_dust',
|
||||
loose: 'tfg:loose/glacio_stone',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:moon_stone',
|
||||
stair: 'ad_astra:moon_stone_stairs',
|
||||
slab: 'ad_astra:moon_stone_slab',
|
||||
dust: 'tfg:moon_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:mars_stone',
|
||||
stair: 'ad_astra:mars_stone_stairs',
|
||||
slab: 'ad_astra:mars_stone_slab',
|
||||
dust: 'tfg:mars_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:venus_stone',
|
||||
stair: 'ad_astra:venus_stone_stairs',
|
||||
slab: 'ad_astra:venus_stone_slab',
|
||||
dust: 'tfg:venus_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:mercury_stone',
|
||||
stair: 'ad_astra:mercury_stone_stairs',
|
||||
slab: 'ad_astra:mercury_stone_slab',
|
||||
dust: 'tfg:mercury_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:glacio_stone',
|
||||
stair: 'ad_astra:glacio_stone_stairs',
|
||||
slab: 'ad_astra:glacio_stone_slab',
|
||||
dust: 'tfg:glacio_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:venus_sandstone_bricks',
|
||||
stair: 'ad_astra:venus_sandstone_brick_stairs',
|
||||
slab: 'ad_astra:venus_sandstone_brick_slab',
|
||||
dust: '4x gtceu:venus_sand',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:moon_stone_bricks',
|
||||
stair: 'ad_astra:moon_stone_brick_stairs',
|
||||
slab: 'ad_astra:moon_stone_brick_slab',
|
||||
wall: 'ad_astra:moon_stone_brick_wall',
|
||||
dust: 'tfg:moon_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:mars_stone_bricks',
|
||||
stair: 'ad_astra:mars_stone_brick_stairs',
|
||||
slab: 'ad_astra:mars_stone_brick_slab',
|
||||
wall: 'ad_astra:mars_stone_brick_wall',
|
||||
dust: 'tfg:mars_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:venus_stone_bricks',
|
||||
stair: 'ad_astra:venus_stone_brick_stairs',
|
||||
slab: 'ad_astra:venus_stone_brick_slab',
|
||||
wall: 'ad_astra:venus_stone_brick_wall',
|
||||
dust: 'tfg:venus_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:mercury_stone_bricks',
|
||||
stair: 'ad_astra:mercury_stone_brick_stairs',
|
||||
slab: 'ad_astra:mercury_stone_brick_slab',
|
||||
wall: 'ad_astra:mercury_stone_brick_wall',
|
||||
dust: 'tfg:mercury_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:glacio_stone_bricks',
|
||||
stair: 'ad_astra:glacio_stone_brick_stairs',
|
||||
slab: 'ad_astra:glacio_stone_brick_slab',
|
||||
wall: 'ad_astra:glacio_stone_brick_wall',
|
||||
dust: 'tfg:glacio_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:permafrost_bricks',
|
||||
stair: 'ad_astra:permafrost_brick_stairs',
|
||||
slab: 'ad_astra:permafrost_brick_slab',
|
||||
wall: 'ad_astra:permafrost_brick_wall',
|
||||
dust: 'gtceu:ice_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:chiseled_moon_stone_bricks',
|
||||
stair: 'ad_astra:chiseled_moon_stone_stairs',
|
||||
slab: 'ad_astra:chiseled_moon_stone_slab',
|
||||
dust: 'tfg:moon_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:chiseled_mars_stone_bricks',
|
||||
stair: 'ad_astra:chiseled_mars_stone_stairs',
|
||||
slab: 'ad_astra:chiseled_mars_stone_slab',
|
||||
dust: 'tfg:mars_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:chiseled_venus_stone_bricks',
|
||||
stair: 'ad_astra:chiseled_venus_stone_stairs',
|
||||
slab: 'ad_astra:chiseled_venus_stone_slab',
|
||||
dust: 'tfg:venus_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:chiseled_mercury_stone_bricks',
|
||||
stair: 'ad_astra:chiseled_mercury_stone_stairs',
|
||||
slab: 'ad_astra:chiseled_mercury_stone_slab',
|
||||
dust: 'tfg:mercury_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:chiseled_glacio_stone_bricks',
|
||||
stair: 'ad_astra:chiseled_glacio_stone_stairs',
|
||||
slab: 'ad_astra:chiseled_glacio_stone_slab',
|
||||
dust: 'tfg:glacio_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:chiseled_permafrost_bricks',
|
||||
stair: 'ad_astra:chiseled_permafrost_brick_stairs',
|
||||
slab: 'ad_astra:chiseled_permafrost_brick_slab',
|
||||
dust: 'gtceu:ice_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:polished_moon_stone',
|
||||
stair: 'ad_astra:polished_moon_stone_stairs',
|
||||
slab: 'ad_astra:polished_moon_stone_slab',
|
||||
dust: 'tfg:moon_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:polished_mars_stone',
|
||||
stair: 'ad_astra:polished_mars_stone_stairs',
|
||||
slab: 'ad_astra:polished_mars_stone_slab',
|
||||
dust: 'tfg:mars_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:polished_venus_stone',
|
||||
stair: 'ad_astra:polished_venus_stone_stairs',
|
||||
slab: 'ad_astra:polished_venus_stone_slab',
|
||||
dust: 'tfg:venus_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:polished_mercury_stone',
|
||||
stair: 'ad_astra:polished_mercury_stone_stairs',
|
||||
slab: 'ad_astra:polished_mercury_stone_slab',
|
||||
dust: 'tfg:mercury_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:polished_glacio_stone',
|
||||
stair: 'ad_astra:polished_glacio_stone_stairs',
|
||||
slab: 'ad_astra:polished_glacio_stone_slab',
|
||||
dust: 'tfg:glacio_stone_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ad_astra:polished_permafrost',
|
||||
stair: 'ad_astra:polished_permafrost_stairs',
|
||||
slab: 'ad_astra:polished_permafrost_slab',
|
||||
dust: 'gtceu:ice_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ae2:sky_stone_block',
|
||||
stair: 'ae2:sky_stone_stairs',
|
||||
slab: 'ae2:sky_stone_slab',
|
||||
wall: 'ae2:sky_stone_wall',
|
||||
dust: 'ae2:sky_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ae2:smooth_sky_stone_block',
|
||||
stair: 'ae2:smooth_sky_stone_stairs',
|
||||
slab: 'ae2:smooth_sky_stone_slab',
|
||||
wall: 'ae2:smooth_sky_stone_wall',
|
||||
dust: 'ae2:sky_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ae2:sky_stone_brick',
|
||||
stair: 'ae2:sky_stone_brick_stairs',
|
||||
slab: 'ae2:sky_stone_brick_slab',
|
||||
wall: 'ae2:sky_stone_brick_wall',
|
||||
dust: 'ae2:sky_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ae2:sky_stone_small_brick',
|
||||
stair: 'ae2:sky_stone_small_brick_stairs',
|
||||
slab: 'ae2:sky_stone_small_brick_slab',
|
||||
wall: 'ae2:sky_stone_small_brick_wall',
|
||||
dust: 'ae2:sky_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'ae2:fluix_block',
|
||||
stair: 'ae2:fluix_stairs',
|
||||
slab: 'ae2:fluix_slab',
|
||||
wall: 'ae2:fluix_wall',
|
||||
dust: 'ae2:fluix_dust',
|
||||
stonecutting: true
|
||||
},
|
||||
{
|
||||
raw: 'minecraft:purpur_block',
|
||||
stair: 'minecraft:purpur_stairs',
|
||||
slab: 'minecraft:purpur_slab',
|
||||
dust: null,
|
||||
stonecutting: true
|
||||
}
|
||||
// #endregion
|
||||
]
|
||||
|
||||
CUTTER.forEach(x => {
|
||||
if ("stair" in x) {
|
||||
event.recipes.tfc.chisel(x.stair, x.raw, 'stair')
|
||||
|
||||
event.recipes.gtceu.macerator(`macerate_${x.stair}`.replace(/:/g, '_'))
|
||||
.itemInputs(x.stair)
|
||||
.itemOutputs(x.dust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
if (x.stonecutting) {
|
||||
event.stonecutting(x.stair, x.raw).id(`${x.raw}_to_${x.stair}`.replace(/:/g, '_'))
|
||||
}
|
||||
|
||||
if (x.dust != null) {
|
||||
event.recipes.gtceu.macerator(`macerate_${x.stair}`.replace(/:/g, '_'))
|
||||
.itemInputs(x.stair)
|
||||
.itemOutputs(x.dust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
}
|
||||
|
||||
if ("loose" in x) {
|
||||
event.shapeless(`3x ${x.loose}`, [x.stair])
|
||||
|
|
@ -193,27 +544,39 @@ function registerTFGRockRecipes(event) {
|
|||
}
|
||||
if ("slab" in x) {
|
||||
event.recipes.tfc.chisel(x.slab, x.raw, 'slab').extraDrop(x.slab)
|
||||
|
||||
if (x.stonecutting) {
|
||||
event.stonecutting(`2x ${x.slab}`, x.raw).id(`${x.raw}_to_${x.slab}`.replace(/:/g, '_'))
|
||||
}
|
||||
|
||||
event.recipes.gtceu.macerator(`macerate_${x.slab}`.replace(/:/g, '_'))
|
||||
.itemInputs(`2x ${x.slab}`)
|
||||
.itemOutputs(x.dust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
if (x.dust != null) {
|
||||
event.recipes.gtceu.macerator(`macerate_${x.slab}`.replace(/:/g, '_'))
|
||||
.itemInputs(`2x ${x.slab}`)
|
||||
.itemOutputs(x.dust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
}
|
||||
|
||||
if ("loose" in x) {
|
||||
event.shapeless(`2x ${x.loose}`, [x.slab])
|
||||
}
|
||||
}
|
||||
if ("wall" in x) {
|
||||
event.recipes.tfc.chisel(x.wall, x.slab, 'smooth')
|
||||
event.recipes.tfc.chisel(x.wall, x.raw, 'smooth')
|
||||
|
||||
if (x.stonecutting) {
|
||||
event.stonecutting(x.wall, x.raw).id(`${x.raw}_to_${x.wall}`.replace(/:/g, '_'))
|
||||
}
|
||||
|
||||
event.recipes.gtceu.macerator(`macerate_${x.wall}`.replace(/:/g, '_'))
|
||||
.itemInputs(x.wall)
|
||||
.itemOutputs(x.dust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
if (x.dust != null) {
|
||||
event.recipes.gtceu.macerator(`macerate_${x.wall}`.replace(/:/g, '_'))
|
||||
.itemInputs(x.wall)
|
||||
.itemOutputs(x.dust)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||
}
|
||||
}
|
||||
|
||||
if ("loose" in x) {
|
||||
|
|
@ -221,9 +584,42 @@ function registerTFGRockRecipes(event) {
|
|||
}
|
||||
})
|
||||
|
||||
// pillars
|
||||
|
||||
const PILLARS = [
|
||||
{ raw: 'ad_astra:moon_stone_bricks', pillar: 'ad_astra:moon_pillar' },
|
||||
{ raw: 'ad_astra:mars_stone_bricks', pillar: 'ad_astra:mars_pillar' },
|
||||
{ raw: 'ad_astra:venus_stone_bricks', pillar: 'ad_astra:venus_pillar' },
|
||||
{ raw: 'ad_astra:mercury_stone_bricks', pillar: 'ad_astra:mercury_pillar' },
|
||||
{ raw: 'ad_astra:glacio_stone_bricks', pillar: 'ad_astra:glacio_pillar' },
|
||||
{ raw: 'ad_astra:permafrost_bricks', pillar: 'ad_astra:permafrost_pillar' },
|
||||
{ raw: 'minecraft:purpur_block', pillar: 'minecraft:purpur_pillar' }
|
||||
]
|
||||
|
||||
PILLARS.forEach(x => {
|
||||
event.shaped(`2x ${x.pillar}`, [
|
||||
'A',
|
||||
'A'
|
||||
], {
|
||||
A: x.raw
|
||||
})
|
||||
|
||||
event.stonecutting(x.pillar, x.raw).id(`${x.raw}_to_${x.pillar}`.replace(/:/g, '_'))
|
||||
})
|
||||
|
||||
// macerating
|
||||
|
||||
const MACERATOR = [
|
||||
{ block: 'minecraft:deepslate', dust: 'gtceu:deepslate_dust' },
|
||||
{ block: 'minecraft:dripstone_block', dust: 'tfg:dripstone_dust' }
|
||||
{ block: 'minecraft:dripstone_block', dust: 'tfg:dripstone_dust' },
|
||||
{ block: 'ad_astra:moon_stone', dust: 'tfg:moon_stone_dust' },
|
||||
{ block: 'ad_astra:moon_deepslate', dust: 'tfg:moon_deepslate_dust' },
|
||||
{ block: 'ad_astra:mars_stone', dust: 'tfg:mars_stone_dust' },
|
||||
{ block: 'ad_astra:venus_stone', dust: 'tfg:venus_stone_dust' },
|
||||
{ block: 'ad_astra:mercury_stone', dust: 'tfg:mercury_stone_dust' },
|
||||
{ block: 'ad_astra:glacio_stone', dust: 'tfg:glacio_stone_dust' },
|
||||
{ block: 'ad_astra:permafrost', dust: 'gtceu:ice_dust' },
|
||||
{ block: 'ae2:sky_stone', dust: 'ae2:sky_dust' }
|
||||
]
|
||||
|
||||
MACERATOR.forEach(x => {
|
||||
|
|
@ -241,7 +637,8 @@ function registerTFGRockRecipes(event) {
|
|||
'minecraft:deepslate',
|
||||
'minecraft:cobbled_deepslate',
|
||||
'minecraft:blackstone',
|
||||
'minecraft:dripstone_block'
|
||||
'minecraft:dripstone_block',
|
||||
'minecraft:basalt'
|
||||
]
|
||||
|
||||
ROCK_DUPING.forEach(x => {
|
||||
|
|
@ -252,6 +649,63 @@ function registerTFGRockRecipes(event) {
|
|||
.EUt(7)
|
||||
})
|
||||
|
||||
event.recipes.gtceu.rock_breaker('tfg:moon_stone')
|
||||
.notConsumable('ad_astra:moon_stone')
|
||||
.itemOutputs('ad_astra:moon_stone')
|
||||
.duration(16)
|
||||
.EUt(7)
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.rock_breaker('tfg:moon_deepslate')
|
||||
.notConsumable('ad_astra:moon_deepslate')
|
||||
.itemOutputs('ad_astra:moon_deepslate')
|
||||
.duration(16)
|
||||
.EUt(7)
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.rock_breaker('tfg:glacio_stone')
|
||||
.notConsumable('ad_astra:glacio_stone')
|
||||
.itemOutputs('ad_astra:glacio_stone')
|
||||
.duration(16)
|
||||
.EUt(7)
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.rock_breaker('tfg:mars_stone')
|
||||
.notConsumable('ad_astra:mars_stone')
|
||||
.itemOutputs('ad_astra:mars_stone')
|
||||
.duration(16)
|
||||
.EUt(7)
|
||||
.dimension('ad_astra:mars')
|
||||
|
||||
event.recipes.gtceu.rock_breaker('tfg:venus_stone')
|
||||
.notConsumable('ad_astra:venus_stone')
|
||||
.itemOutputs('ad_astra:venus_stone')
|
||||
.duration(16)
|
||||
.EUt(7)
|
||||
.dimension('ad_astra:venus')
|
||||
|
||||
event.recipes.gtceu.rock_breaker('tfg:mercury_stone')
|
||||
.notConsumable('ad_astra:mercury_stone')
|
||||
.itemOutputs('ad_astra:mercury_stone')
|
||||
.duration(16)
|
||||
.EUt(7)
|
||||
.dimension('ad_astra:mercury')
|
||||
// #endregion
|
||||
|
||||
// #region sandstone
|
||||
|
||||
event.recipes.gtceu.compressor('tfg:venus_sandstone')
|
||||
.itemInputs('4x ad_astra:venus_sand')
|
||||
.itemOutputs('ad_astra:venus_sandstone')
|
||||
.duration(40*20)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.compressor('tfg:permafrost')
|
||||
.itemInputs('4x tfg:loose/permafrost')
|
||||
.itemOutputs('ad_astra:permafrost')
|
||||
.duration(40*20)
|
||||
.EUt(2)
|
||||
|
||||
// #endregion
|
||||
|
||||
//#region Magma Blocks
|
||||
|
|
@ -259,18 +713,18 @@ function registerTFGRockRecipes(event) {
|
|||
event.remove({id: 'greate:splashing/obsidian'})
|
||||
|
||||
//magma block + stone group
|
||||
const magma_blocks = [
|
||||
{magma: 'minecraft:magma_block', rock: 'minecraft:blackstone'},
|
||||
{magma: 'tfc:rock/magma/granite', rock: 'tfc:rock/raw/granite'},
|
||||
{magma: 'tfc:rock/magma/diorite', rock: 'tfc:rock/raw/diorite'},
|
||||
{magma: 'tfc:rock/magma/gabbro', rock: 'tfc:rock/raw/gabbro'},
|
||||
{magma: 'tfc:rock/magma/rhyolite', rock: 'tfc:rock/raw/rhyolite'},
|
||||
{magma: 'tfc:rock/magma/basalt', rock: 'tfc:rock/raw/basalt'},
|
||||
{magma: 'tfc:rock/magma/andesite', rock: 'tfc:rock/raw/andesite'},
|
||||
{magma: 'tfc:rock/magma/dacite', rock: 'tfc:rock/raw/dacite'}
|
||||
const MAGMA_BLOCKS = [
|
||||
{ magma: 'minecraft:magma_block', rock: 'minecraft:blackstone' },
|
||||
{ magma: 'tfc:rock/magma/granite', rock: 'tfc:rock/raw/granite' },
|
||||
{ magma: 'tfc:rock/magma/diorite', rock: 'tfc:rock/raw/diorite' },
|
||||
{ magma: 'tfc:rock/magma/gabbro', rock: 'tfc:rock/raw/gabbro' },
|
||||
{ magma: 'tfc:rock/magma/rhyolite', rock: 'tfc:rock/raw/rhyolite' },
|
||||
{ magma: 'tfc:rock/magma/basalt', rock: 'tfc:rock/raw/basalt' },
|
||||
{ magma: 'tfc:rock/magma/andesite', rock: 'tfc:rock/raw/andesite' },
|
||||
{ magma: 'tfc:rock/magma/dacite', rock: 'tfc:rock/raw/dacite' }
|
||||
];
|
||||
|
||||
magma_blocks.forEach(block => {
|
||||
MAGMA_BLOCKS.forEach(block => {
|
||||
|
||||
event.recipes.gtceu.fluid_solidifier(`tfg:gtceu/fluid_solidifier/${block.magma}`.replace(/:/g, '/'))
|
||||
.itemInputs(`1x ${block.rock}`)
|
||||
|
|
|
|||
248
kubejs/server_scripts/tfg/recipes.space.js
Normal file
248
kubejs/server_scripts/tfg/recipes.space.js
Normal file
|
|
@ -0,0 +1,248 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGSpaceRecipes(event) {
|
||||
|
||||
// TODO: Change these to work on any dim as long as they're in an oxygenated area?
|
||||
|
||||
const allowedCombustibleDims = [
|
||||
{
|
||||
dimension: "minecraft:the_nether",
|
||||
type: "dimension"
|
||||
},
|
||||
{
|
||||
dimension: "minecraft:overworld",
|
||||
type: "dimension"
|
||||
}
|
||||
]
|
||||
|
||||
event.findRecipes({ type: "gtceu:large_boiler" }).forEach(recipe => {
|
||||
recipe.json.add("recipeConditions", allowedCombustibleDims)
|
||||
})
|
||||
event.findRecipes({ type: "gtceu:steam_boiler" }).forEach(recipe => {
|
||||
recipe.json.add("recipeConditions", allowedCombustibleDims)
|
||||
})
|
||||
event.findRecipes({ type: "gtceu:combustion_generator" }).forEach(recipe => {
|
||||
recipe.json.add("recipeConditions", allowedCombustibleDims)
|
||||
})
|
||||
event.findRecipes({ type: "gtceu:gas_turbine" }).forEach(recipe => {
|
||||
recipe.json.add("recipeConditions", allowedCombustibleDims)
|
||||
})
|
||||
|
||||
// Air collector
|
||||
|
||||
event.recipes.gtceu.gas_collector('nether')
|
||||
.circuit(2)
|
||||
.outputFluids(Fluid.of('gtceu:air', 10000))
|
||||
.dimension('minecraft:the_nether')
|
||||
.duration(200)
|
||||
.EUt(16)
|
||||
|
||||
event.recipes.gtceu.gas_collector('moon')
|
||||
.circuit(3)
|
||||
.outputFluids(Fluid.of('gtceu:argon', 1))
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20*60*30)
|
||||
.EUt(16)
|
||||
|
||||
// Aqueous accumulator
|
||||
|
||||
let aaCircuit = 1;
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('water_overworld')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('minecraft:overworld')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
.addDataString("fluidA", "minecraft:water")
|
||||
.outputFluids(Fluid.of("minecraft:water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('sea_water_overworld')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('minecraft:overworld')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VA[GTValues.ULV])
|
||||
.addDataString("fluidA", "tfc:salt_water")
|
||||
.outputFluids(Fluid.of("tfc:salt_water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('lava_overworld')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('minecraft:overworld')
|
||||
.duration(20*15)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
.addDataString("fluidA", "minecraft:lava")
|
||||
.outputFluids(Fluid.of("minecraft:lava", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('water_nether')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('minecraft:the_nether')
|
||||
.duration(20*2)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
.addDataString("fluidA", "minecraft:water")
|
||||
.outputFluids(Fluid.of("minecraft:water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('sea_water_nether')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('minecraft:the_nether')
|
||||
.duration(20*2)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.addDataString("fluidA", "tfc:salt_water")
|
||||
.outputFluids(Fluid.of("tfc:salt_water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('lava_nether')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('minecraft:the_nether')
|
||||
.duration(20)
|
||||
.EUt(GTValues.VHA[GTValues.LV])
|
||||
.addDataString("fluidA", "minecraft:lava")
|
||||
.outputFluids(Fluid.of("minecraft:lava", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('water_moon')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VHA[GTValues.MV])
|
||||
.addDataString("fluidA", "minecraft:water")
|
||||
.outputFluids(Fluid.of("minecraft:water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('sea_water_moon')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('ad_astra:moon')
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.addDataString("fluidA", "tfc:salt_water")
|
||||
.outputFluids(Fluid.of("tfc:salt_water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('water_orbit')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('ad_astra:earth_orbit')
|
||||
.dimension('ad_astra:moon_orbit')
|
||||
.dimension('ad_astra:mars_orbit')
|
||||
.dimension('ad_astra:venus_orbit')
|
||||
.dimension('ad_astra:mercury_orbit')
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VHA[GTValues.MV])
|
||||
.addDataString("fluidA", "minecraft:water")
|
||||
.outputFluids(Fluid.of("minecraft:water", 1000))
|
||||
|
||||
event.recipes.gtceu.aqueous_accumulator('sea_water_orbit')
|
||||
.circuit(aaCircuit++)
|
||||
.dimension('ad_astra:earth_orbit')
|
||||
.dimension('ad_astra:moon_orbit')
|
||||
.dimension('ad_astra:mars_orbit')
|
||||
.dimension('ad_astra:venus_orbit')
|
||||
.dimension('ad_astra:mercury_orbit')
|
||||
.duration(20*5)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.addDataString("fluidA", "tfc:salt_water")
|
||||
.outputFluids(Fluid.of("tfc:salt_water", 1000))
|
||||
|
||||
// Plants
|
||||
|
||||
// Chorus
|
||||
event.recipes.gtceu.greenhouse('tfg:chorus')
|
||||
.itemInputs('8x tfg:lunar_chorus_flower')
|
||||
.itemOutputs('64x minecraft:chorus_fruit')
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 7500, 1000)
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 5000, 1000)
|
||||
.duration(36000) // 30 mins
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.greenhouse('tfg:chorus_helium')
|
||||
.itemInputs('8x tfg:lunar_chorus_flower')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 2000))
|
||||
.itemOutputs('64x minecraft:chorus_fruit')
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 8500, 1000)
|
||||
.chancedOutput('8x tfg:lunar_chorus_flower', 6000, 1000)
|
||||
.duration(12000) // 10 mins
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
// Replace the built-in greg one to add a circuit
|
||||
event.recipes.gtceu.fermenter('fermented_biomass')
|
||||
.inputFluids(Fluid.of('gtceu:biomass', 100))
|
||||
.outputFluids(Fluid.of('gtceu:fermented_biomass', 100))
|
||||
.circuit(1)
|
||||
.duration(150)
|
||||
.EUt(2)
|
||||
|
||||
event.recipes.gtceu.fermenter('tfg:chorus')
|
||||
.itemInputs('minecraft:chorus_fruit')
|
||||
.inputFluids(Fluid.of('gtceu:biomass', 20))
|
||||
.chancedOutput('ae2:ender_dust', 100, 100)
|
||||
.outputFluids(Fluid.of('gtceu:nitrogen', 1000))
|
||||
.circuit(2)
|
||||
.duration(5 * 20)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
// Lightblooms
|
||||
event.recipes.gtceu.greenhouse('tfg:lightbloom')
|
||||
.itemInputs('8x minecraft:twisting_vines')
|
||||
.itemOutputs('16x minecraft:twisting_vines')
|
||||
.chancedOutput('minecraft:pearlescent_froglight', 2500, 1000)
|
||||
.chancedOutput('minecraft:verdant_froglight', 2500, 1000)
|
||||
.chancedOutput('minecraft:ochre_froglight', 2500, 1000)
|
||||
.duration(36000) // 30 mins
|
||||
.circuit(1)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.greenhouse('tfg:lightbloom_helium')
|
||||
.itemInputs('8x minecraft:twisting_vines')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 2000))
|
||||
.itemOutputs('16x minecraft:twisting_vines')
|
||||
.chancedOutput('minecraft:pearlescent_froglight', 3500, 1000)
|
||||
.chancedOutput('minecraft:verdant_froglight', 3500, 1000)
|
||||
.chancedOutput('minecraft:ochre_froglight', 3500, 1000)
|
||||
.duration(12000) // 30 mins
|
||||
.circuit(2)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.dimension('ad_astra:moon')
|
||||
|
||||
event.recipes.gtceu.brewery('biomass_from_twisting_vines')
|
||||
.itemInputs('minecraft:twisting_vines')
|
||||
.inputFluids(JsonIO.of({ amount: 20, value: { tag: "tfg:clean_water" }}))
|
||||
.outputFluids(Fluid.of('gtceu:biomass', 20))
|
||||
.duration(50)
|
||||
.EUt(3)
|
||||
|
||||
// Space suit gases
|
||||
|
||||
event.recipes.gtceu.compressor('compressed_nitrox')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 8000), Fluid.of('gtceu:oxygen', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_nitrox', 1000))
|
||||
.circuit(1)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.compressor('compressed_heliox')
|
||||
.inputFluids(Fluid.of('gtceu:helium', 8000), Fluid.of('gtceu:oxygen', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_heliox', 1000))
|
||||
.circuit(1)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.compressor('compressed_heliox_3')
|
||||
.inputFluids(Fluid.of('gtceu:helium_3', 8000), Fluid.of('gtceu:oxygen', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_heliox_3', 1000))
|
||||
.circuit(1)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.compressor('compressed_trimix')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 5000), Fluid.of('gtceu:oxygen', 3000), Fluid.of('gtceu:helium', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_trimix', 1000))
|
||||
.circuit(2)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.compressor('compressed_trimix_3')
|
||||
.inputFluids(Fluid.of('gtceu:nitrogen', 5000), Fluid.of('gtceu:oxygen', 3000), Fluid.of('gtceu:helium_3', 2000))
|
||||
.outputFluids(Fluid.of('tfg:compressed_trimix_3', 1000))
|
||||
.circuit(2)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
}
|
||||
267
kubejs/server_scripts/tfg/recipes.stone_dusts.js
Normal file
267
kubejs/server_scripts/tfg/recipes.stone_dusts.js
Normal file
|
|
@ -0,0 +1,267 @@
|
|||
// priority: 0
|
||||
|
||||
function registerTFGStoneDustRecipes(event) {
|
||||
|
||||
event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_blackstone' })
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__diorite')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diorite, 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Clay, 1), 4500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Mirabilite, 1), 2000, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 5))
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__marble')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Marble, 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcite, 1), 6000, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 1500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 12))
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__andesite')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Andesite, 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Asbestos, 1), 6000, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Saltpeter, 1), 2000, 500)
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__basalt')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Basalt, 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Flint, 1), 5000, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Olivine, 1), 1500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcite, 1), 1500, 500)
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__granite')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Granite, 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Redrock, 1), 2000, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 5))
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__deepslate')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Deepslate, 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Biotite, 1), 2000, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Olivine, 1), 3500, 700)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 12))
|
||||
|
||||
event.recipes.gtceu.centrifuge('blackstone_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Blackstone, 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Graphite, 1), 3500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 4500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Gold, 1), 3500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 16))
|
||||
|
||||
// TFC
|
||||
|
||||
event.recipes.gtceu.centrifuge('gabbro_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('gabbro'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnetite, 1), 2500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Rutile, 1), 1500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 500)
|
||||
|
||||
event.recipes.gtceu.centrifuge('shale_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('shale'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 6500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 16))
|
||||
|
||||
event.recipes.gtceu.centrifuge('claystone_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('claystone'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Clay, 1), 3000, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 3500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Bauxite, 1), 2500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 5))
|
||||
|
||||
event.recipes.gtceu.centrifuge('limestone_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('limestone'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 5500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 36))
|
||||
|
||||
event.recipes.gtceu.centrifuge('conglomerate_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('conglomerate'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 3500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.TricalciumPhosphate, 1), 3500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 5))
|
||||
|
||||
event.recipes.gtceu.centrifuge('dolomite_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dolomite'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 6500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 5500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 16))
|
||||
|
||||
event.recipes.gtceu.centrifuge('chert_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('chert'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Redrock, 1), 5500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 24))
|
||||
|
||||
event.recipes.gtceu.centrifuge('chalk_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('chalk'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 6500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Carbon, 1), 3500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 12))
|
||||
|
||||
event.recipes.gtceu.centrifuge('rhyolite_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('rhyolite'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Tantalite, 1), 1500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 500)
|
||||
|
||||
event.recipes.gtceu.centrifuge('dacite_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dacite'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 6500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 5500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Kyanite, 1), 3500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 12))
|
||||
|
||||
event.recipes.gtceu.centrifuge('slate_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('slate'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sapphire, 1), 1500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 24))
|
||||
|
||||
event.recipes.gtceu.centrifuge('phyllite_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('phyllite'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Quartzite, 1), 5500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumChloride, 1), 1500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 5))
|
||||
|
||||
event.recipes.gtceu.centrifuge('schist_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('schist'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Mica, 1), 6500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Talc, 1), 5500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 12))
|
||||
|
||||
event.recipes.gtceu.centrifuge('gneiss_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('gneiss'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Quartzite, 1), 6500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Biotite, 1), 3500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 5))
|
||||
|
||||
event.recipes.gtceu.centrifuge('dripstone_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(480)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dripstone'), 1))
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumCarbonate, 1), 8500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumHydroxide, 1), 1500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 12))
|
||||
|
||||
// Ad astra
|
||||
|
||||
event.recipes.gtceu.centrifuge('moon_stone_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(10 * 20)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('moon_stone'), 1))
|
||||
.chancedOutput('ae2:sky_dust', 5000, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Ilmenite, 1), 1000, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnetite, 1), 2000, 500)
|
||||
.outputFluids(Fluid.of('gtceu:helium_3', 200))
|
||||
|
||||
event.recipes.gtceu.centrifuge('moon_deepslate_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(10 * 20)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('moon_deepslate'), 1))
|
||||
.chancedOutput('ae2:sky_dust', 5000, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 2000, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Olivine, 1), 1500, 500)
|
||||
.outputFluids(Fluid.of('gtceu:helium_3', 200))
|
||||
|
||||
event.recipes.gtceu.centrifuge('glacio_stone_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
.duration(10 * 20)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('glacio_stone'), 1))
|
||||
.chancedOutput('ae2:sky_dust', 3000, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 4000, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Potassium, 1), 4000, 500)
|
||||
.outputFluids(Fluid.of('gtceu:oxygen', 50), Fluid.of('gtceu:helium_3', 300))
|
||||
|
||||
// AE2
|
||||
|
||||
event.recipes.gtceu.centrifuge('sky_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.duration(100)
|
||||
.itemInputs('ae2:sky_dust')
|
||||
.itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CertusQuartz, 1), 4500, 500)
|
||||
|
||||
// Create
|
||||
|
||||
event.recipes.gtceu.centrifuge('asurine_dust_separation')
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.duration(100)
|
||||
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('asurine'), 1))
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.CertusQuartz, 1), 4500, 500)
|
||||
.chancedOutput(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Zinc, 1), 3500, 500)
|
||||
|
||||
// Misc dust
|
||||
|
||||
event.recipes.gtceu.centrifuge('gtceu:quartz_sand_separation')
|
||||
.EUt(30)
|
||||
.duration(60)
|
||||
.itemInputs('2x gtceu:quartz_sand_dust')
|
||||
.itemOutputs('gtceu:quartzite_dust')
|
||||
.chancedOutput('#forge:dust/nether_quartz', 2000, 200)
|
||||
}
|
||||
|
|
@ -146,19 +146,6 @@ function registerTFGTerrariumRecipes(event) {
|
|||
}).id('tfg:shaped/end_crystal')
|
||||
|
||||
// chorus fruit
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:chorus_fruit_uranium')
|
||||
.itemInputs('#tfc:foods/fruits', 'gtceu:uranium_235_dust')
|
||||
.itemOutputs('minecraft:chorus_fruit', 'gtceu:uranium_dust')
|
||||
.duration(500)
|
||||
.EUt(480)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:chorus_fruit_plutonium')
|
||||
.itemInputs('#tfc:foods/fruits', 'gtceu:plutonium_241_dust')
|
||||
.itemOutputs('minecraft:chorus_fruit', 'gtceu:plutonium_dust')
|
||||
.duration(200)
|
||||
.EUt(480)
|
||||
|
||||
event.recipes.gtceu.large_chemical_reactor('tfg:kovarex')
|
||||
.itemInputs('40x gtceu:uranium_235_dust', '5x gtceu:uranium_dust')
|
||||
|
|
@ -193,7 +180,7 @@ function registerTFGTerrariumRecipes(event) {
|
|||
'B',
|
||||
'C'
|
||||
], {
|
||||
A: 'minecraft:ender_eye',
|
||||
A: 'tfg:vitrified_pearl',
|
||||
B: 'minecraft:cyan_carpet',
|
||||
C: 'minecraft:end_stone'
|
||||
}).id('tfg:shaped/artificial_end_portal_frame')
|
||||
|
|
|
|||
|
|
@ -26,6 +26,14 @@ function registerFacadeWhitelistTags(event) {
|
|||
'#simplylight:any_lamp_off',
|
||||
'#minecraft:planks',
|
||||
'#minecraft:logs',
|
||||
|
||||
'#tfg:ad_astra_iron_blocks',
|
||||
'#tfg:ad_astra_steel_blocks',
|
||||
'#tfg:ad_astra_desh_blocks',
|
||||
'#tfg:ad_astra_ostrum_blocks',
|
||||
'#tfg:ad_astra_calorite_blocks',
|
||||
'#tfg:ad_astra_etrium_blocks',
|
||||
|
||||
//rnr shingles
|
||||
'rnr:ceramic_roof',
|
||||
'rnr:terracotta_roof',
|
||||
|
|
@ -113,8 +121,10 @@ function registerFacadeWhitelistTags(event) {
|
|||
'create:dark_oak_window',
|
||||
'create:mangrove_window',
|
||||
'create:ornate_iron_window',
|
||||
'create_connected:cherry_window',
|
||||
'create_connected:bamboo_window',
|
||||
'create:industrial_iron_window',
|
||||
'create:weathered_iron_window',
|
||||
'create:cherry_window',
|
||||
'create:bamboo_window',
|
||||
'createdeco:andesite_window',
|
||||
'createdeco:copper_window',
|
||||
'createdeco:iron_window',
|
||||
|
|
@ -134,108 +144,50 @@ function registerFacadeWhitelistTags(event) {
|
|||
'createdeco:zinc_sheet_metal'
|
||||
];
|
||||
|
||||
const mc_colors =
|
||||
[
|
||||
'white',
|
||||
'orange',
|
||||
'magenta',
|
||||
'light_blue',
|
||||
'yellow',
|
||||
'lime',
|
||||
'pink',
|
||||
'gray',
|
||||
'light_gray',
|
||||
'cyan',
|
||||
'purple',
|
||||
'blue',
|
||||
'brown',
|
||||
'green',
|
||||
'red',
|
||||
'black'
|
||||
]
|
||||
|
||||
const wood_types_tfc =
|
||||
[
|
||||
'acacia',
|
||||
'ash',
|
||||
'aspen',
|
||||
'birch',
|
||||
'blackwood',
|
||||
'chestnut',
|
||||
'douglas_fir',
|
||||
'hickory',
|
||||
'kapok',
|
||||
'mangrove',
|
||||
'maple',
|
||||
'oak',
|
||||
'palm',
|
||||
'pine',
|
||||
'rosewood',
|
||||
'sequoia',
|
||||
'spruce',
|
||||
'sycamore',
|
||||
'white_cedar',
|
||||
'willow'
|
||||
]
|
||||
|
||||
const wood_types_afc =
|
||||
[
|
||||
'baobao',
|
||||
'eucalyptus',
|
||||
'mahogany',
|
||||
'heavea',
|
||||
'tualang',
|
||||
'teak',
|
||||
'cypress',
|
||||
'fig',
|
||||
'ironwood',
|
||||
'ipe'
|
||||
]
|
||||
|
||||
const createdeco_bricks_fm =
|
||||
[
|
||||
'pearl_bricks',
|
||||
'verdant_bricks',
|
||||
'red_bricks',
|
||||
'dean_bricks',
|
||||
'umber_bricks',
|
||||
'dusk_bricks',
|
||||
'blue_bricks',
|
||||
'scarlet_bricks'
|
||||
'pearl_bricks',
|
||||
'verdant_bricks',
|
||||
'red_bricks',
|
||||
'dean_bricks',
|
||||
'umber_bricks',
|
||||
'dusk_bricks',
|
||||
'blue_bricks',
|
||||
'scarlet_bricks'
|
||||
]
|
||||
|
||||
const gtceu_stonelike_fm =
|
||||
[
|
||||
'light_concrete',
|
||||
'dark_concrete',
|
||||
'red_granite',
|
||||
'marble'
|
||||
'light_concrete',
|
||||
'dark_concrete',
|
||||
'red_granite',
|
||||
'marble'
|
||||
]
|
||||
|
||||
const create_copper_fm =
|
||||
[
|
||||
'copper',
|
||||
'exposed_copper',
|
||||
'weathered_copper',
|
||||
'oxidized_copper'
|
||||
'copper',
|
||||
'exposed_copper',
|
||||
'weathered_copper',
|
||||
'oxidized_copper'
|
||||
]
|
||||
|
||||
const create_rock_types_fm =
|
||||
[
|
||||
'granite',
|
||||
'diorite',
|
||||
'andesite',
|
||||
'calcite',
|
||||
'dripstone',
|
||||
'deepslate',
|
||||
'limestone'
|
||||
//'ochrum',
|
||||
//'scoria',
|
||||
//'scorchia',
|
||||
//'veridium'
|
||||
//'tuff',
|
||||
//'asurine',
|
||||
//'crimsite',
|
||||
'granite',
|
||||
'diorite',
|
||||
'andesite',
|
||||
'calcite',
|
||||
'dripstone',
|
||||
'deepslate',
|
||||
'limestone'
|
||||
//'ochrum',
|
||||
//'scoria',
|
||||
//'scorchia',
|
||||
//'veridium'
|
||||
//'tuff',
|
||||
//'asurine',
|
||||
//'crimsite',
|
||||
]
|
||||
|
||||
//misc blocks
|
||||
|
|
@ -267,7 +219,7 @@ function registerFacadeWhitelistTags(event) {
|
|||
});
|
||||
|
||||
//gtceu misc colored blocks
|
||||
mc_colors.forEach(facade_material => {
|
||||
global.MINECRAFT_DYE_NAMES.forEach(facade_material => {
|
||||
event.add('tfg:whitelisted/facades', 'gtceu:' + facade_material + '_metal_sheet')
|
||||
event.add('tfg:whitelisted/facades', 'gtceu:' + facade_material + '_large_metal_sheet')
|
||||
event.add('tfg:whitelisted/facades', 'gtceu:' + facade_material + '_studs')
|
||||
|
|
@ -296,7 +248,7 @@ function registerFacadeWhitelistTags(event) {
|
|||
});
|
||||
|
||||
//rnr shingles
|
||||
wood_types_tfc.concat(wood_types_afc).forEach(facade_material => {
|
||||
global.TFC_WOOD_TYPES.concat(global.AFC_WOOD_TYPES).forEach(facade_material => {
|
||||
event.add('tfg:whitelisted/facades', 'rnr:wood/shingles/' + facade_material)
|
||||
});
|
||||
|
||||
|
|
@ -315,10 +267,10 @@ function registerFacadeWhitelistTags(event) {
|
|||
});
|
||||
|
||||
//everycomp windows
|
||||
wood_types_tfc.forEach(facade_material => {
|
||||
global.TFC_WOOD_TYPES.forEach(facade_material => {
|
||||
event.add('tfg:whitelisted/facades', 'everycomp:c/tfc/' + facade_material + '_window')
|
||||
});
|
||||
wood_types_afc.forEach(facade_material => {
|
||||
global.AFC_WOOD_TYPES.forEach(facade_material => {
|
||||
event.add('tfg:whitelisted/facades', 'everycomp:c/afc/' + facade_material + '_window')
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,14 @@ const registerTFGItemTags = (event) => {
|
|||
|
||||
registerTFGTrimTags(event)
|
||||
registerFacadeWhitelistTags(event)
|
||||
|
||||
//crop stuff
|
||||
event.add('tfc:seeds', 'tfg:sunflower_seeds')
|
||||
event.add('tfc:seeds', 'tfg:rapeseed_seeds')
|
||||
event.add('tfc:foods', 'tfg:roasted_sunflower_seeds')
|
||||
event.add('tfc:compost_greens_high', 'tfg:rapeseed_product')
|
||||
event.add('tfc:compost_greens_high', 'tfg:sunflower_product')
|
||||
event.add('tfg:water_breathing_ingredients', 'tfg:rapeseed_product')
|
||||
event.add('tfg:night_vision_ingredients', 'tfg:sunflower_product')
|
||||
//temporary hidden items
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfg:geyser_source_small')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfg:geyser_source')
|
||||
|
|
@ -38,7 +45,6 @@ const registerTFGItemTags = (event) => {
|
|||
event.add('tfc:usable_on_tool_rack', 'tfg:trowel')
|
||||
|
||||
// #region Paper from wood
|
||||
|
||||
event.add('tfg:hardwood_strips', 'tfg:hardwood_strip')
|
||||
event.add('tfg:hardwood_strips', 'tfg:soaked_hardwood_strip')
|
||||
//Adding any of these dusts to the forge dusts/wood tag will make it so you can craft softwood pulp using hardwood pulp. which is not ok.
|
||||
|
|
@ -68,7 +74,6 @@ const registerTFGItemTags = (event) => {
|
|||
//#endregion
|
||||
|
||||
// #region Medicines
|
||||
|
||||
event.add('tfg:antipoison_ingredients', 'tfc:plant/blood_lily')
|
||||
event.add('tfg:antipoison_ingredients', 'tfc:plant/pistia')
|
||||
event.add('tfg:antipoison_ingredients', 'tfc:powder/bismuthinite')
|
||||
|
|
@ -131,28 +136,83 @@ const registerTFGItemTags = (event) => {
|
|||
event.add('tfg:luck_ingredients', 'tfc:plant/heather')
|
||||
// #endregion
|
||||
|
||||
//region Airplane Upgrades
|
||||
// Airplane Upgrades
|
||||
global.AIRCRAFT_UPGRADES.forEach(value => {
|
||||
event.add('immersive_aircraft:upgrades', `tfg:${value}`);
|
||||
})
|
||||
|
||||
// #endregion
|
||||
|
||||
// Universal Circuits
|
||||
|
||||
global.UNIVERSAL_CIRCUIT_TIERS.forEach(tier => { event.add(`gtceu:circuits/${tier}`, `tfg:${tier}_universal_circuit`); })
|
||||
|
||||
// #endregion
|
||||
// Crafting components
|
||||
event.add('tfg:aluminium_oxide', '#forge:dusts/bauxite')
|
||||
event.add('tfg:aluminium_oxide', '#forge:dusts/sapphire')
|
||||
event.add('tfg:aluminium_oxide', '#forge:dusts/green_sapphire')
|
||||
|
||||
// Use either cast or wrought iron
|
||||
event.add('forge:double_iron_ingots', '#forge:double_ingots/iron')
|
||||
event.add('forge:double_iron_ingots', '#forge:double_ingots/wrought_iron')
|
||||
event.add('tfg:any_iron_double_ingot', '#forge:double_ingots/iron')
|
||||
event.add('tfg:any_iron_double_ingot', '#forge:double_ingots/wrought_iron')
|
||||
|
||||
event.add('tfg:any_iron_plate', '#forge:double_plates/iron')
|
||||
event.add('tfg:any_iron_plate', '#forge:double_plates/wrought_iron')
|
||||
|
||||
event.add('tfg:any_bronze_frame', '#forge:frames/bronze')
|
||||
event.add('tfg:any_bronze_frame', '#forge:frames/bismuth_bronze')
|
||||
event.add('tfg:any_bronze_frame', '#forge:frames/black_bronze')
|
||||
|
||||
//#region Food
|
||||
const RAW_MEATS = [
|
||||
'tfg:food/raw_birt',
|
||||
'tfg:food/raw_crawlermari',
|
||||
'tfg:food/raw_limpet'
|
||||
]
|
||||
RAW_MEATS.forEach(meat => {
|
||||
event.add('tfc:foods', meat)
|
||||
event.add('tfc:foods/meats', meat)
|
||||
event.add('tfc:foods/raw_meats', meat)
|
||||
})
|
||||
|
||||
const COOKED_MEATS = [
|
||||
'tfg:food/cooked_birt',
|
||||
'tfg:food/cooked_crawlermari',
|
||||
'tfg:food/cooked_limpet'
|
||||
]
|
||||
COOKED_MEATS.forEach(meat => {
|
||||
event.add('tfc:foods', meat)
|
||||
event.add('tfc:foods/meats', meat)
|
||||
event.add('tfc:foods/cooked_meats', meat)
|
||||
})
|
||||
|
||||
//jam sandwhich stuff
|
||||
const usable_in_jam_sandwich = Ingredient.of('#tfc:foods/usable_in_jam_sandwich').itemIds.toArray().map(String);
|
||||
const preserves = Ingredient.of('#tfc:foods/preserves').itemIds.toArray().map(String);
|
||||
|
||||
const usable_in_jam_sandwich_2 = usable_in_jam_sandwich.filter(item => !preserves.includes(item));
|
||||
|
||||
usable_in_jam_sandwich_2.forEach(item => {
|
||||
event.add('tfc:foods/usable_in_jam_sandwich_2', item);
|
||||
});
|
||||
|
||||
//meal bags
|
||||
event.add('tfg:foil_packs', 'tfg:foil_pack');
|
||||
event.add('tfg:foil_packs', 'tfg:clean_foil_pack')
|
||||
event.add('tfg:foods/usable_in_meal_bag', '#tfc:foods/meats');
|
||||
event.add('tfg:foods/usable_in_meal_bag', '#tfc:foods/grains');
|
||||
event.add('tfg:foods/usable_in_meal_bag', '#tfc:foods/vegetables');
|
||||
event.add('tfg:foods/usable_in_meal_bag', '#tfc:foods/fruits');
|
||||
event.add('tfg:foods/usable_in_meal_bag', '#tfc:foods/dairy');
|
||||
event.add('tfg:foods/usable_in_meal_bag', 'tfc:food/cooked_egg');
|
||||
event.add('tfg:foods/usable_in_meal_bag', 'tfc:food/boiled_egg');
|
||||
//#endregion
|
||||
|
||||
// #region Space blocks
|
||||
event.add('tfg:moon_plants', 'tfg:lunar_roots')
|
||||
event.add('tfg:moon_plants', 'tfg:lunar_sprouts')
|
||||
// #endregion
|
||||
|
||||
// #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')
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:zinc_ingot')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:brass_ingot')
|
||||
|
|
@ -247,14 +307,18 @@ const registerTFGItemTags = (event) => {
|
|||
event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_silver')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_silver')
|
||||
event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_silver')
|
||||
|
||||
//#endregion
|
||||
}
|
||||
|
||||
const registerTFGBlockTags = (event) => {
|
||||
|
||||
event.add('minecraft:mineable/shovel', 'tfg:ash_pile')
|
||||
//crop stuff
|
||||
event.add('tfc:crops', 'tfg:rapeseed')
|
||||
event.add('tfc:mineable_with_sharp_tool', 'tfg:rapeseed')
|
||||
|
||||
event.add('tfc:crops', 'tfg:sunflower')
|
||||
event.add('tfc:mineable_with_sharp_tool','tfg:sunflower')
|
||||
// #region Nether blocks
|
||||
|
||||
event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_deepslate')
|
||||
|
|
@ -277,15 +341,6 @@ const registerTFGBlockTags = (event) => {
|
|||
event.add('tfc:rock/hardened', 'tfg:rock/hardened_dripstone')
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Space blocks (TODO: undo these when merging space into dev!)
|
||||
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfg:lunar_roots')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfg:lunar_sprouts')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfg:lunar_chorus_plant')
|
||||
event.add('c:hidden_from_recipe_viewers', 'tfg:lunar_chorus_flower')
|
||||
|
||||
// #endregion
|
||||
}
|
||||
|
||||
const registerTFGFluidTags = (event) => {
|
||||
|
|
@ -307,6 +362,14 @@ const registerTFGFluidTags = (event) => {
|
|||
event.add('tfc:usable_in_wooden_bucket', 'tfg:conifer_pitch')
|
||||
event.add('tfc:usable_in_red_steel_bucket', 'tfg:conifer_pitch')
|
||||
event.add('tfc:usable_in_blue_steel_bucket', 'tfg:conifer_pitch')
|
||||
|
||||
event.add('tfg:clean_water', 'minecraft:water')
|
||||
event.add('tfg:clean_water', 'tfc:river_water')
|
||||
event.add('tfg:clean_water', 'tfc:spring_water')
|
||||
|
||||
global.BREATHABLE_COMPRESSED_AIRS.forEach(x => {
|
||||
event.add('tfg:breathable_compressed_air', x)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -365,8 +428,23 @@ const registerTFGBiomeTags = (event) => {
|
|||
// #endregion
|
||||
}
|
||||
|
||||
|
||||
// Other space decoration is in ad_astra/tags.js
|
||||
const registerTFGPlacedFeatures = (event) => {
|
||||
|
||||
// #region Earth biomes
|
||||
|
||||
event.add('tfc:in_biome/surface_decoration/ocean', 'tfg:earth/rose_quartz/rose_quartz')
|
||||
event.add('tfc:in_biome/surface_decoration/ocean_reef', 'tfg:earth/rose_quartz/rose_quartz')
|
||||
event.add('tfc:in_biome/surface_decoration/deep_ocean', 'tfg:earth/rose_quartz/rose_quartz')
|
||||
event.add('tfc:in_biome/surface_decoration/deep_ocean_trench', 'tfg:earth/rose_quartz/rose_quartz')
|
||||
event.add('tfc:in_biome/surface_decoration/shore', 'tfg:earth/rose_quartz/rose_quartz')
|
||||
event.add('tfc:in_biome/surface_decoration/tidal_flats', 'tfg:earth/rose_quartz/rose_quartz')
|
||||
event.add('tfc:in_biome/surface_decoration/lowlands', 'tfg:earth/rose_quartz/rose_quartz')
|
||||
event.add('tfc:in_biome/surface_decoration/salt_marsh', 'tfg:earth/rose_quartz/rose_quartz')
|
||||
event.add('tfc:in_biome/surface_decoration/plains', 'tfg:earth/rose_quartz/rose_quartz')
|
||||
event.add('tfc:in_biome/surface_decoration/lake', 'tfg:earth/rose_quartz/rose_quartz')
|
||||
|
||||
// #endregion
|
||||
|
||||
registerTFGOreVeinFeatures(event);
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ const registerTFGOreVeinFeatures = (event) => {
|
|||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_topaz')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_apatite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_basaltic_sands')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_bauxite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_beryllium')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_bismuthinite')
|
||||
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_cassiterite')
|
||||
|
|
@ -64,16 +63,15 @@ const registerTFGOreVeinFeatures = (event) => {
|
|||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_bauxite')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_beryllium')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_desh')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_diopside')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_enstatite')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_fayalite')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_garnierite')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_graphite')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_lubricant')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_magnetite')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_manganese')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_mica')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_molybdenum')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_monazite')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_olivine')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_plutonium')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_pyrolusite')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_quartz')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_redstone')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_saltpeter')
|
||||
|
|
@ -81,6 +79,8 @@ const registerTFGOreVeinFeatures = (event) => {
|
|||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_scheelite')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_sheldonite')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_silver')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_sphalerite')
|
||||
event.add('tfg:moon_veins', 'tfg:moon/vein/moon_topaz')
|
||||
|
||||
// #endregion
|
||||
|
||||
|
|
@ -90,7 +90,6 @@ const registerTFGOreVeinFeatures = (event) => {
|
|||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_anthracite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_apatite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_basaltic_sands')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_bauxite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_beryllium')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_cassiterite')
|
||||
event.add('tfg:nether_veins', 'tfg:nether/vein/nether_copper')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue