merged from upstream

This commit is contained in:
illuc 2026-02-17 22:42:19 +02:00
commit d86b4816d7
1836 changed files with 67562 additions and 25471 deletions

View file

@ -68,7 +68,6 @@ global.CREATE_DISABLED_ITEMS = [
'create:creative_fluid_tank',
'create:unprocessed_obsidian_sheet',
'create:creative_motor',
'create:wooden_bracket',
'create:red_sand_paper',
'create:empty_blaze_burner',
'create:minecart_contraption',

View file

@ -6,10 +6,26 @@ function registerCreateMaterials(event) {
event.create('asurine')
.color(0x7DB8D1)
.secondaryColor(0x4C5D7B)
.components('1x certus_quartz', '1x olivine', '1x zinc')
.dust()
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
event.create('ochrum')
.color(0xB6995E)
.secondaryColor(0x865840)
.components('1x quartzite', '1x hematite', '1x gold')
.dust()
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
event.create('crimsite')
.color(0xA0504B)
.secondaryColor(0x7D2F3B)
.dust()
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
event.create('veridium')
.color(0x4F957C)
.secondaryColor(0x2A5C4A)
.dust()
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
}

View file

@ -17,7 +17,6 @@ global.CREATE_CONNECTED_DISABLED_ITEMS = [
'create_connected:cross_connector',
'create_connected:andesite_encased_cross_connector',
'create_connected:brass_encased_cross_connector',
'create_connected:kinetic_bridge',
'create_connected:kinetic_battery',
'create_connected:charged_kinetic_battery'
]

View file

@ -1,4 +1,4 @@
// priority: -100
// priority: 0
"use strict";
/** @global */

View file

@ -11,5 +11,7 @@ global.EXTENDED_AE2_DISABLED_ITEMS = [
'expatternprovider:ex_charger',
'expatternprovider:caner',
'expatternprovider:circuit_cutter',
'expatternprovider:silicon_block'
'expatternprovider:silicon_block',
'expatternprovider:ex_crafting_terminal', // Allow to use an anvil so we remove it as it's pretty useless
'expatternprovider:wireless_hub' // I will add this one back one day (maybe IV or LuV)
]

View file

@ -38,7 +38,13 @@ global.FIRMALIFE_DISABLED_ITEMS = [
'firmalife:bucket/chocolate',
'firmalife:bucket/fruity_fluid',
'firmalife:bucket/metal/chromium',
'firmalife:bucket/metal/stainless_steel'
'firmalife:bucket/metal/stainless_steel',
// Unimplemented
'firmalife:food/frothy_coconut',
'firmalife:cinnamon_bark',
'firmalife:spice/cinnamon',
'firmalife:spice/ground_cinnamon'
];
global.FIRMALIFE_HIDED_ITEMS = [
@ -101,13 +107,12 @@ global.FIRMALIFE_JAMS = [
]
global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [
{ input: 'firmalife:plant/cocoa_sapling', fluid_amount: 8000, output: '3x firmalife:food/cocoa_beans', name: 'cocoa_beans' },
{ input: 'firmalife:plant/fig_sapling', fluid_amount: 8000, output: '3x firmalife:food/fig', name: 'fig' }
];
global.FIRMALIFE_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [
{ input: 'firmalife:plant/pineapple_bush', fluid_amount: 6000, output: '3x firmalife:food/pineapple', name: 'pineapple' },
{ input: 'firmalife:plant/nightshade_bush', fluid_amount: 6000, output: '3x firmalife:food/nightshade_berry', name: 'nightshade' }
{ input: 'firmalife:plant/cocoa_sapling', output: 'firmalife:food/cocoa_beans', leaves: 'firmalife:plant/cocoa_leaves' },
{ input: 'firmalife:plant/fig_sapling', output: 'firmalife:food/fig', leaves: 'firmalife:plant/fig_leaves' },
{ input: 'firmalife:plant/pineapple_bush', output: 'firmalife:food/pineapple'},
{ input: 'firmalife:plant/nightshade_bush', output: 'firmalife:food/nightshade_berry'},
{ input: 'firmalife:seeds/red_grape', output: 'firmalife:food/red_grapes'},
{ input: 'firmalife:seeds/white_grape', output: 'firmalife:food/white_grapes'}
];
global.FIRMALIFE_COOKING_RECIPE_COMPONENTS = [
@ -122,7 +127,6 @@ global.FIRMALIFE_COOKING_RECIPE_COMPONENTS = [
{ input: 'firmalife:food/filled_pie', output: 'firmalife:food/cooked_pie', name: 'cooked_pie' },
{ input: 'firmalife:food/cocoa_beans', output: 'firmalife:food/roasted_cocoa_beans', name: 'roasted_cocoa_beans' },
{ input: 'firmalife:food/raw_pumpkin_pie', output: 'minecraft:pumpkin_pie', name: 'pumpkin_pie' },
{ input: 'tfc:food/soybean', output: 'firmalife:food/dehydrated_soybeans', name: 'dehydrated_soybeans' },
{ input: 'firmalife:food/raw_lasagna', output: 'firmalife:food/cooked_lasagna', name: 'cooked_lasagna' },
{ input: 'firmalife:food/bacon', output: 'firmalife:food/cooked_bacon', name: 'cooked_bacon' },
{ input: '#firmalife:foods/slices', output: 'firmalife:food/toast', name: 'toast' }

View file

@ -34,6 +34,9 @@ global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([
"gtceu:darmstadtium_alloy",
"gtceu:neutronium_alloy",
"greate:rubber_window",
"greate:rubber_window_pane",
"gtceu:neutronium_whisk",
"greate:polyethylene_belt_connector",
"greate:polytetrafluoroethylene_belt_connector",
@ -115,6 +118,8 @@ global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([
"greate:neutronium_vertical_gearbox",
// Adding these here because they're greate's fault
"create:andesite_alloy",
"create:andesite_alloy_block",
"greate:andesite_alloy_bucket",
"greate:andesite_alloy_ring",
"greate:tiny_andesite_alloy_dust",

View file

@ -25,6 +25,14 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([
"gtceu:lp_steam_solar_boiler",
"gtceu:charcoal_pile_igniter",
// Fishers
"gtceu:lv_fisher",
"gtceu:mv_fisher",
"gtceu:hv_fisher",
"gtceu:ev_fisher",
"gtceu:iv_fisher",
"gtceu:luv_fisher",
// Примитивная помпа (Primitive Pump)
"gtceu:infinite_water_cover",
"gtceu:ender_item_link_cover",
@ -162,6 +170,17 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([
"gtceu:molten_black_bronze_bucket",
"gtceu:molten_bismuth_bronze_bucket",
"gtceu:molten_rose_gold_bucket",
"gtceu:molten_sterling_silver_bucket",
"gtceu:molten_stainless_steel_bucket",
"gtceu:molten_manganese_phosphide_bucket",
"gtceu:molten_vanadium_steel_bucket",
"gtceu:molten_gallium_arsenide_bucket",
"gtceu:molten_hsla_steel_bucket",
"gtceu:molten_rocket_alloy_t2_bucket",
"gtceu:molten_desh_bucket",
"tfg:molten_weak_blue_steel_bucket",
"tfg:molten_weak_red_steel_bucket",
//armor
"gtceu:bronze_helmet",
@ -178,26 +197,23 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([
"gtceu:titanium_boots",
// Sculk
"gtceu:tiny_echo_shard_dust",
"gtceu:small_echo_shard_dust",
"gtceu:echo_shard_dust",
"gtceu:echo_shard_block",
"gtceu:echo_shard_plate",
"gtceu:echo_shard_rod",
"gtceu:chipped_echo_shard_gem",
"gtceu:flawed_echo_shard_gem",
"gtceu:flawless_echo_shard_gem",
"gtceu:exquisite_echo_shard_gem",
"gtceu:echo_shard_plate",
"gtceu:echo_shard_rod",
"gtceu:echo_shard_block",
"gtceu:tiny_sculk_dust",
"gtceu:small_sculk_dust",
"gtceu:sculk_dust",
"gtceu:tiny_echo_shard_dust",
"gtceu:small_echo_shard_dust",
"gtceu:echo_shard_dust",
// Ender eye
"gtceu:ender_eye_plate",
"gtceu:ender_eye_block",
"gtceu:ender_eye_dust",
"gtceu:small_ender_eye_dust",
"gtceu:ender_eye_plate",
"gtceu:tiny_ender_eye_dust",
"gtceu:small_ender_eye_dust",
"gtceu:ender_eye_dust",
// Marble
"gtceu:marble",
@ -212,30 +228,48 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([
"gtceu:hv_bedrock_ore_miner",
"gtceu:ev_bedrock_ore_miner",
// Plutonium ores
"gtceu:raw_plutonium",
"gtceu:poor_raw_plutonium",
"gtceu:rich_raw_plutonium",
"gtceu:raw_plutonium_block",
"gtceu:refined_plutonium_ore",
"gtceu:purified_plutonium_ore",
"gtceu:crushed_plutonium_ore",
"gtceu:impure_plutonium_dust",
"gtceu:pure_plutonium_dust",
"gtceu:plutonium_surface_rock",
// (Normal) thorium bits
"gtceu:thorium_nugget",
"gtceu:thorium_ingot",
"gtceu:thorium_block",
"gtceu:thorium_plate",
"gtceu:double_thorium_plate",
"gtceu:thorium_rod",
"gtceu:thorium_bucket",
// Replaced with our own
"gtceu:paracetamol_pill",
"gtceu:rad_away_pill"
"gtceu:rad_away_pill",
// GT gets upset if you try to remove the dust property from these
"gtceu:blackstone_dust",
"gtceu:small_blackstone_dust",
"gtceu:tiny_blackstone_dust",
"gtceu:basalt_dust",
"gtceu:small_basalt_dust",
"gtceu:tiny_basalt_dust",
"gtceu:granite_dust",
"gtceu:small_granite_dust",
"gtceu:tiny_granite_dust",
"gtceu:marble_dust",
"gtceu:small_marble_dust",
"gtceu:tiny_marble_dust",
"gtceu:diorite_dust",
"gtceu:small_diorite_dust",
"gtceu:tiny_diorite_dust",
"gtceu:netherrack_dust",
"gtceu:small_netherrack_dust",
"gtceu:tiny_netherrack_dust",
"gtceu:granite_red_dust",
"gtceu:small_granite_red_dust",
"gtceu:tiny_granite_red_dust",
"gtceu:deepslate_dust",
"gtceu:small_deepslate_dust",
"gtceu:tiny_deepslate_dust",
"gtceu:andesite_dust",
"gtceu:small_andesite_dust",
"gtceu:tiny_andesite_dust",
"gtceu:tuff_dust",
"gtceu:small_tuff_dust",
"gtceu:tiny_tuff_dust",
"gtceu:endstone_dust",
"gtceu:small_endstone_dust",
"gtceu:tiny_endstone_dust"
]);
//#endregion
@ -392,7 +426,10 @@ global.ORE_BEARING_STONES = /** @type {const} */ ([
"mars_stone",
"venus_stone",
"mercury_stone",
"glacio_stone"
"glacio_stone",
"red_granite",
"flavolite",
"sandy_jadestone"
]);
//#endregion
@ -415,7 +452,13 @@ global.ADD_CIRCUIT = /** @type {const} */ ([
{ recipeId: "gtceu:large_chemical_reactor/acetic_acid_from_methanol", circuitNumber: 1 },
{ recipeId: "gtceu:chemical_reactor/butraldehyde", circuitNumber: 5 },
{ recipeId: "gtceu:large_chemical_reactor/butraldehyde", circuitNumber: 5 }
{ recipeId: "gtceu:large_chemical_reactor/butraldehyde", circuitNumber: 5 },
{ recipeId: "gtceu:chemical_reactor/saltpeter", circuitNumber: 2 },
{ recipeId: "gtceu:large_chemical_reactor/saltpeter", circuitNumber: 2 },
{ recipeId: "gtceu:chemical_reactor/biphenyl_from_toluene", circuitNumber: 2 },
{ recipeId: "gtceu:large_chemical_reactor/biphenyl_from_toluene", circuitNumber: 2 },
]);
//#endregion
@ -433,3 +476,69 @@ global.GTCEU_SUPERCONDUCTORS = /** @type {const} */ ([
{ name: "ruthenium_trinium_americium_neutronate", materialId: "RutheniumTriniumAmericiumNeutronate" }
]);
//#endregion
//#region Concrete Blocks
/**
* Concrete block groups keyed by type [type, ids].
*
* @global
* @type {Record<string, (string[] & { name: string })>}
*/
global.GTCEU_CONCRETE_BLOCKS = (() => {
/**
* Attach a name to an array of concrete block item IDs.
* @param {string} name
* @param {string[]} items
* @returns {string[] & { name: string }}
*/
function group(name, items) {
items.name = name;
return items;
}
return {
light_concrete: group('light_concrete', [
'gtceu:light_concrete',
'gtceu:light_concrete_cobblestone',
'gtceu:mossy_light_concrete_cobblestone',
'gtceu:polished_light_concrete',
'gtceu:light_concrete_bricks',
'gtceu:cracked_light_concrete_bricks',
'gtceu:mossy_light_concrete_bricks',
'gtceu:chiseled_light_concrete',
'gtceu:light_concrete_tile',
'gtceu:light_concrete_small_tile',
'gtceu:light_concrete_windmill_a',
'gtceu:light_concrete_windmill_b',
'gtceu:small_light_concrete_bricks',
'gtceu:square_light_concrete_bricks'
]),
dark_concrete: group('dark_concrete', [
'gtceu:dark_concrete',
'gtceu:dark_concrete_cobblestone',
'gtceu:mossy_dark_concrete_cobblestone',
'gtceu:polished_dark_concrete',
'gtceu:dark_concrete_bricks',
'gtceu:cracked_dark_concrete_bricks',
'gtceu:mossy_dark_concrete_bricks',
'gtceu:chiseled_dark_concrete',
'gtceu:dark_concrete_tile',
'gtceu:dark_concrete_small_tile',
'gtceu:dark_concrete_windmill_a',
'gtceu:dark_concrete_windmill_b',
'gtceu:small_dark_concrete_bricks',
'gtceu:square_dark_concrete_bricks'
]),
titanium_concrete: group('titanium_concrete', [
'tfg:titanium_concrete',
'tfg:polished_titanium_concrete',
'tfg:titanium_concrete_tile',
'tfg:titanium_concrete_tile_small',
'tfg:titanium_concrete_bricks',
'tfg:titanium_concrete_bricks_small',
'tfg:titanium_concrete_bricks_square'
])
};
})();
//#endregion

View file

@ -3,6 +3,7 @@
const registerGTCEuMachines = (event) => {
const CoilWorkableElectricMultiblockMachine = Java.loadClass("com.gregtechceu.gtceu.api.machine.multiblock.CoilWorkableElectricMultiblockMachine")
const $Tags = Java.loadClass("dev.latvian.mods.kubejs.util.Tags")
//#region Large Solar Panels
@ -87,31 +88,7 @@ const registerGTCEuMachines = (event) => {
.aisle(" S S ", " S S ", " S S ", " CCCCCCC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " S S ", " S S ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " S S ", " S S ", " CCCCCCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.where("A", Predicates.blocks('gtceu:light_concrete')
.or(Predicates.blocks('gtceu:polished_light_concrete'))
.or(Predicates.blocks('gtceu:light_concrete_bricks'))
.or(Predicates.blocks('gtceu:cracked_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:mossy_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:chiseled_light_concrete'))
.or(Predicates.blocks('gtceu:light_concrete_tile'))
.or(Predicates.blocks('gtceu:light_concrete_small_tile'))
.or(Predicates.blocks('gtceu:light_concrete_windmill_a'))
.or(Predicates.blocks('gtceu:light_concrete_windmill_b'))
.or(Predicates.blocks('gtceu:small_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:square_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:dark_concrete'))
.or(Predicates.blocks('gtceu:polished_dark_concrete'))
.or(Predicates.blocks('gtceu:dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:cracked_dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:mossy_dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:chiseled_dark_concrete'))
.or(Predicates.blocks('gtceu:dark_concrete_tile'))
.or(Predicates.blocks('gtceu:dark_concrete_small_tile'))
.or(Predicates.blocks('gtceu:dark_concrete_windmill_a'))
.or(Predicates.blocks('gtceu:dark_concrete_windmill_b'))
.or(Predicates.blocks('gtceu:small_dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:square_dark_concrete_bricks'))
)
.where("A", Predicates.blockTag($Tags.block("tfg:gtceu_concrete_blocks")))
.where("B", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.TungstenSteel)))
.where("S", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.Aluminium)))
.where("C", Predicates.blocks("tfg:casings/machine_casing_green_solar_panel"))
@ -173,31 +150,7 @@ const registerGTCEuMachines = (event) => {
.aisle(" A A ", " A A ", " S S ", " S S ", " S S ", " CCCCCCC ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " A A ", " S S ", " S S ", " S S ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " A A ", " S S ", " S S ", " S S ", " CCCCCCCCC ", " ", " ", " ", " ", " ", " ", " ")
.where("A", Predicates.blocks('gtceu:light_concrete')
.or(Predicates.blocks('gtceu:polished_light_concrete'))
.or(Predicates.blocks('gtceu:light_concrete_bricks'))
.or(Predicates.blocks('gtceu:cracked_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:mossy_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:chiseled_light_concrete'))
.or(Predicates.blocks('gtceu:light_concrete_tile'))
.or(Predicates.blocks('gtceu:light_concrete_small_tile'))
.or(Predicates.blocks('gtceu:light_concrete_windmill_a'))
.or(Predicates.blocks('gtceu:light_concrete_windmill_b'))
.or(Predicates.blocks('gtceu:small_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:square_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:dark_concrete'))
.or(Predicates.blocks('gtceu:polished_dark_concrete'))
.or(Predicates.blocks('gtceu:dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:cracked_dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:mossy_dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:chiseled_dark_concrete'))
.or(Predicates.blocks('gtceu:dark_concrete_tile'))
.or(Predicates.blocks('gtceu:dark_concrete_small_tile'))
.or(Predicates.blocks('gtceu:dark_concrete_windmill_a'))
.or(Predicates.blocks('gtceu:dark_concrete_windmill_b'))
.or(Predicates.blocks('gtceu:small_dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:square_dark_concrete_bricks'))
)
.where("A", Predicates.blockTag($Tags.block("tfg:gtceu_concrete_blocks")))
.where("B", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.RhodiumPlatedPalladium)))
.where("S", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.StainlessSteel)))
.where("C", Predicates.blocks("tfg:casings/machine_casing_red_solar_panel"))
@ -254,6 +207,7 @@ const registerGTCEuMachines = (event) => {
.or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
.or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1))
.or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setMaxGlobalLimited(1)))
.where('#', Predicates.air())
@ -273,9 +227,9 @@ const registerGTCEuMachines = (event) => {
.appearanceBlock(() => Block.getBlock('gtceu:high_temperature_smelting_casing'))
.pattern(definition => FactoryBlockPattern.start()
.aisle(' ','BBBBBBB','BCCCCCB','BBBBBBB',' ')
.aisle('AAAAAAA','A#####A','BDDDDDB','A#####A','AAAAAAA')
.aisle('AAAAAAA','A#####A','ZDDDDDZ','A#####A','AAAAAAA')
.aisle('AFFFFFA','B#####B','LEEEEEL','B#####B','AFFFFFA')
.aisle('AAAAAAA','A#####A','BDDDDDB','A#####A','AAAAAAA')
.aisle('AAAAAAA','A#####A','ZDDDDDZ','A#####A','AAAAAAA')
.aisle(' ','BBBXBBB','BCCCCCB','BBBMBBB',' ')
.where('X', Predicates.controller(Predicates.blocks(definition.get())))
.where('A', Predicates.blocks('gtceu:atomic_casing'))
@ -290,6 +244,9 @@ const registerGTCEuMachines = (event) => {
.or(Predicates.abilities(PartAbility.EXPORT_FLUIDS_4X).setExactLimit(1)))
.where('M', Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)
.or(Predicates.blocks('gtceu:high_temperature_smelting_casing')))
.where('Z', Predicates.blocks('gtceu:high_temperature_smelting_casing')
.or(Predicates.abilities(PartAbility.IMPORT_FLUIDS_4X).setMaxGlobalLimited(2))
.or(Predicates.abilities(PartAbility.EXPORT_FLUIDS_4X).setMaxGlobalLimited(2)))
.where('#', Predicates.air())
.where(' ', Predicates.any())
.build()
@ -427,7 +384,7 @@ const registerGTCEuMachines = (event) => {
.or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1)))
.where('C', Predicates.blocks('gtceu:solid_machine_casing')
.or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setPreviewCount(2))
.or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.INPUT_ENERGY).setMinGlobalLimited(1).setMaxGlobalLimited(2).setPreviewCount(2))
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1).setPreviewCount(1)))
.where('D', Predicates.blocks('create:metal_girder'))
.where('E', Predicates.blocks('gtceu:steam_machine_casing'))

View file

@ -9,6 +9,7 @@ const registerGTCEuMaterialModification = (event) => {
const $INGOT_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.IngotProperty')
const $DUST_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.DustProperty');
const $BLAST_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty')
const $FLUID_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidProperty')
const $ITEM_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.ItemPipeProperties')
const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties')
const $HAZARD_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.HazardProperty')
@ -17,6 +18,7 @@ const registerGTCEuMaterialModification = (event) => {
const $MATERIAL_FLAGS = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.info.MaterialFlags')
const $FluidStorageKeys = Java.loadClass('com.gregtechceu.gtceu.api.fluids.store.FluidStorageKeys')
const $FluidBuilder = Java.loadClass('com.gregtechceu.gtceu.api.fluids.FluidBuilder');
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
@ -26,10 +28,8 @@ const registerGTCEuMaterialModification = (event) => {
HAS_TFC_ARMOR,
HAS_TFC_UTILITY,
CAN_BE_UNMOLDED,
GENERATE_BELL,
GENERATE_DOUBLE_INGOTS,
HAS_SMALL_TFC_ORE,
HAS_SMALL_NATIVE_TFC_ORE,
GENERATE_DUSTY_ORES,
} = TFGMaterialFlags
@ -48,7 +48,8 @@ const registerGTCEuMaterialModification = (event) => {
GENERATE_FOIL,
GENERATE_FINE_WIRE,
NO_ORE_PROCESSING_TAB,
NO_ORE_SMELTING
NO_ORE_SMELTING,
DISABLE_DECOMPOSITION
} = $MATERIAL_FLAGS
const metalTooling = [
@ -78,7 +79,11 @@ const registerGTCEuMaterialModification = (event) => {
GTToolType.DRILL_IV,
GTToolType.SCREWDRIVER,
GTToolType.SCREWDRIVER_LV,
GTToolType.SCREWDRIVER_HV,
GTToolType.SCREWDRIVER_IV,
GTToolType.CHAINSAW_LV,
GTToolType.CHAINSAW_HV,
GTToolType.CHAINSAW_IV,
GTToolType.WRENCH,
GTToolType.WRENCH_LV,
GTToolType.WRENCH_HV,
@ -86,7 +91,9 @@ const registerGTCEuMaterialModification = (event) => {
GTToolType.CROWBAR,
]
/* TFC Проперти для материалов */
GTMaterials.Clay.addFlags(DISABLE_DECOMPOSITION);
GTMaterials.Brick.addFlags(DISABLE_DECOMPOSITION);
// TFC_PROPERTY = (forging temp, welding temp, melt temp, material, tier, percent of material)
// OR = (forging temp, welding temp, melt temp, tier)
@ -103,6 +110,8 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.BlackSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(891, 1188, 1485, 5));
GTMaterials.BlueSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6));
GTMaterials.RedSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6));
GTMaterials.get('tfg:weak_blue_steel').setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6));
GTMaterials.get('tfg:weak_red_steel').setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6));
GTMaterials.Gold.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(636, 848, 1060, 1));
GTMaterials.Bismuth.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(162, 216, 270, 1));
@ -116,12 +125,13 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Iron.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3));
GTMaterials.Hematite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90));
GTMaterials.YellowLimonite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90));
GTMaterials.Limonite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90));
GTMaterials.Magnetite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90));
GTMaterials.Pyrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90));
GTMaterials.Goethite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90));
GTMaterials.BasalticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90));
GTMaterials.GraniticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90));
GTMaterials.BasalticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80));
GTMaterials.GraniticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80));
GTMaterials.VanadiumMagnetite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80));
GTMaterials.Malachite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90));
GTMaterials.Tetrahedrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90));
@ -130,7 +140,7 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Bornite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90));
GTMaterials.Cassiterite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(648, 864, 230, GTMaterials.Tin, 1, 100));
GTMaterials.CassiteriteSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 230, GTMaterials.Tin, 1, 85));
GTMaterials.CassiteriteSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 230, GTMaterials.Tin, 1, 80));
GTMaterials.Sphalerite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 420, GTMaterials.Zinc, 1, 90));
GTMaterials.Garnierite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1453, GTMaterials.Nickel, 1, 100));
GTMaterials.Pentlandite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1453, GTMaterials.Nickel, 1, 85));
@ -153,26 +163,7 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Pollucite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 25))
GTMaterials.Gold.addFlags(GENERATE_BELL);
GTMaterials.Brass.addFlags(GENERATE_BELL);
GTMaterials.Bronze.addFlags(GENERATE_BELL);
//
//
// /* Имеют двойные слитки */
GTMaterials.Iron.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Gold.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Bismuth.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Brass.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Nickel.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.RoseGold.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Silver.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Tin.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Zinc.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_BOLT_SCREW);
GTMaterials.SterlingSilver.addFlags(GENERATE_DOUBLE_INGOTS);
//#region Generate Dusty Ores for Infinite Ores
// Generate Dusty Ores for Infinite Ores
GTMaterials.Goethite.addFlags(GENERATE_DUSTY_ORES);
GTMaterials.Diamond.addFlags(GENERATE_DUSTY_ORES);
GTMaterials.CertusQuartz.addFlags(GENERATE_DUSTY_ORES);
@ -188,9 +179,7 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Uraninite.addFlags(GENERATE_DUSTY_ORES);
GTMaterials.Hematite.addFlags(GENERATE_DUSTY_ORES);
//#endregion
//
// /* Castable stuff */
// Castable stuff
GTMaterials.Copper.addFlags(CAN_BE_UNMOLDED);
GTMaterials.BismuthBronze.addFlags(CAN_BE_UNMOLDED);
GTMaterials.BlackBronze.addFlags(CAN_BE_UNMOLDED);
@ -207,8 +196,9 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.RedAlloy.addFlags(CAN_BE_UNMOLDED);
GTMaterials.Lead.addFlags(CAN_BE_UNMOLDED);
GTMaterials.Potin.addFlags(CAN_BE_UNMOLDED);
//
// /* Имеют инструменты, броню TFC, двойные слитки */
GTMaterials.Iron.addFlags(CAN_BE_UNMOLDED);
// TFC tool tiers
GTMaterials.Copper.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY);
GTMaterials.BismuthBronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY);
GTMaterials.Bronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY);
@ -218,25 +208,34 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.BlackSteel.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_ROTOR, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY);
GTMaterials.RedSteel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY);
GTMaterials.BlueSteel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY);
//
// /* Имеют маленькие куски руды TFC */
// TFC ores
GTMaterials.Bismuth.addFlags(HAS_SMALL_TFC_ORE);
GTMaterials.Cassiterite.addFlags(HAS_SMALL_TFC_ORE);
GTMaterials.Garnierite.addFlags(HAS_SMALL_TFC_ORE);
GTMaterials.Hematite.addFlags(HAS_SMALL_TFC_ORE);
GTMaterials.YellowLimonite.addFlags(HAS_SMALL_TFC_ORE);
GTMaterials.Limonite.addFlags(HAS_SMALL_TFC_ORE);
GTMaterials.Magnetite.addFlags(HAS_SMALL_TFC_ORE);
GTMaterials.Malachite.addFlags(HAS_SMALL_TFC_ORE);
GTMaterials.Sphalerite.addFlags(HAS_SMALL_TFC_ORE);
GTMaterials.Tetrahedrite.addFlags(HAS_SMALL_TFC_ORE);
GTMaterials.Chromite.addFlags(HAS_SMALL_TFC_ORE);
//
// /* Имеют маленькие чистые куски руды TFC */
GTMaterials.Copper.addFlags(HAS_SMALL_NATIVE_TFC_ORE);
GTMaterials.Gold.addFlags(HAS_SMALL_NATIVE_TFC_ORE);
GTMaterials.Silver.addFlags(HAS_SMALL_NATIVE_TFC_ORE);
//
// /* Имеют двойные слитки */
GTMaterials.Copper.addFlags(HAS_SMALL_TFC_ORE);
GTMaterials.Gold.addFlags(HAS_SMALL_TFC_ORE);
GTMaterials.Silver.addFlags(HAS_SMALL_TFC_ORE);
// Other materials that are compatible with TFC
GTMaterials.Iron.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Gold.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Bismuth.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Brass.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Nickel.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.RoseGold.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Silver.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Tin.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Zinc.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_BOLT_SCREW);
GTMaterials.SterlingSilver.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.RedAlloy.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_SMALL_GEAR);
GTMaterials.TinAlloy.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Lead.addFlags(GENERATE_DOUBLE_INGOTS);
@ -244,8 +243,8 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Potin.addFlags(GENERATE_DOUBLE_INGOTS, );
GTMaterials.Cobalt.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.CobaltBrass.addFlags(GENERATE_DOUBLE_INGOTS, HAS_GT_TOOL);
//
// /* Superconductors */
// Superconductors
GTMaterials.ManganesePhosphide.addFlags(GENERATE_FINE_WIRE);
GTMaterials.MagnesiumDiboride.addFlags(GENERATE_FINE_WIRE);
GTMaterials.MercuryBariumCalciumCuprate.addFlags(GENERATE_FINE_WIRE);
@ -255,15 +254,28 @@ const registerGTCEuMaterialModification = (event) => {
//GTMaterials.UraniumRhodiumDinaquadide.addFlags();
//GTMaterials.EnrichedNaquadahTriniumEuropiumDuranide.addFlags();
GTMaterials.RutheniumTriniumAmericiumNeutronate.addFlags(GENERATE_FINE_WIRE);
//
// /* Другое (Other) */
// TODO: Exception needs to check the wizardry
// Ores
GTMaterials.Bismuth.setProperty(PropertyKey.ORE, new $ORE_PROPERTY());
GTMaterials.EXT2_METAL.forEach(tag => GTMaterials.Bismuth.addFlags(tag))
GTMaterials.Borax.setProperty(PropertyKey.ORE, new $ORE_PROPERTY());
let rose_quartz = $GreateMaterials.RoseQuartz;
rose_quartz.setProperty(PropertyKey.ORE, new $ORE_PROPERTY());
rose_quartz.getProperty(PropertyKey.ORE).setOreByProducts(rose_quartz, GTMaterials.Redstone, rose_quartz);
// Change byproducts so you can't get certus from normal quartzite
GTMaterials.Quartzite.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.NetherQuartz, GTMaterials.Barite, GTMaterials.NetherQuartz);
GTMaterials.CertusQuartz.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.CertusQuartz, GTMaterials.Quartzite, GTMaterials.CertusQuartz);
// Change Beryllium to add Chemical Bath recipe and Thorium byproduct
GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Emerald, GTMaterials.Emerald, GTMaterials.Thorium, GTMaterials.Thorium);
GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setWashedIn(GTMaterials.SodiumPersulfate);
// Remove old stone dusts
GTMaterials.GraniticMineralSand.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.get('tfg:igneous_felsic'), GTMaterials.Magnetite, GTMaterials.Magnetite);
GTMaterials.BasalticMineralSand.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.get('tfg:igneous_mafic'), GTMaterials.Magnetite, GTMaterials.Magnetite);
// Other flags
GTMaterials.CertusQuartz.addFlags(GENERATE_ROD);
GTMaterials.NetherQuartz.addFlags(GENERATE_ROD);
@ -274,25 +286,29 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Wood.addFlags(GENERATE_SMALL_GEAR);
GTMaterials.Brass.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING);
GTMaterials.BlackBronze.addFlags(GENERATE_SMALL_GEAR);
GTMaterials.BismuthBronze.addFlags(GENERATE_SMALL_GEAR);
GTMaterials.BlackBronze.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING);
GTMaterials.BismuthBronze.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING);
GTMaterials.Nickel.addFlags(GENERATE_ROD, GENERATE_LONG_ROD);
GTMaterials.Zinc.addFlags(GENERATE_LONG_ROD);
GTMaterials.BlackSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW);
GTMaterials.BlueSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW);
GTMaterials.BlueSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW, GENERATE_SPRING, GENERATE_SMALL_GEAR, GENERATE_FOIL);
GTMaterials.RedSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW, GENERATE_FOIL);
GTMaterials.WroughtIron.addFlags(GENERATE_ROTOR, GENERATE_SPRING, GENERATE_SMALL_GEAR);
GTMaterials.Copper.addFlags(GENERATE_BOLT_SCREW);
GTMaterials.DamascusSteel.addFlags(GENERATE_BOLT_SCREW);
GTMaterials.Duranium.addFlags(GENERATE_BOLT_SCREW);
GTMaterials.Magnalium.addFlags(GENERATE_GEAR);
GTMaterials.Cupronickel.addFlags(GENERATE_BOLT_SCREW, GENERATE_RING);
GTMaterials.BlackBronze.addFlags(GENERATE_ROTOR)
GTMaterials.BismuthBronze.addFlags(GENERATE_ROTOR)
GTMaterials.Ultimet.addFlags(GENERATE_ROTOR)
GTMaterials.CobaltBrass.addFlags(GENERATE_ROTOR)
GTMaterials.Magnalium.addFlags(GENERATE_ROTOR)
GTMaterials.VanadiumSteel.addFlags(GENERATE_ROTOR)
GTMaterials.HSLASteel.addFlags(GENERATE_BOLT_SCREW, GENERATE_DENSE)
@ -301,26 +317,33 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.TinAlloy.addFlags(GENERATE_RING);
GTMaterials.SterlingSilver.addFlags(GENERATE_RING);
GTMaterials.IronMagnetic.addFlags(GENERATE_PLATE)
GTMaterials.Bismuth.addFlags(GENERATE_PLATE, GENERATE_ROD, GENERATE_BOLT_SCREW);
GTMaterials.IronMagnetic.addFlags(GENERATE_PLATE);
GTMaterials.Silicon.addFlags(GENERATE_DENSE);
GTMaterials.RTMAlloy.addFlags(GENERATE_DENSE, GENERATE_SPRING);
GTMaterials.Lead.addFlags(GENERATE_DENSE);
GTMaterials.Beryllium.addFlags(GENERATE_DENSE);
GTMaterials.MaragingSteel300.addFlags(GENERATE_DENSE);
GTMaterials.Quartzite.addFlags(GENERATE_ROD);
GTMaterials.TreatedWood.addFlags(GENERATE_LONG_ROD);
GTMaterials.Cadmium.addFlags(GENERATE_PLATE);
GTMaterials.Cadmium.setProperty(PropertyKey.INGOT, new $INGOT_PROPERTY());
// Hide ore processing tab for plutonium
GTMaterials.Plutonium239.addFlags(GENERATE_ROD, NO_ORE_PROCESSING_TAB, NO_ORE_SMELTING)
GTMaterials.Plutonium239.addFlags(GENERATE_ROD, GENERATE_LONG_ROD, NO_ORE_PROCESSING_TAB, NO_ORE_SMELTING)
GTMaterials.Thorium.addFlags(NO_ORE_SMELTING)
// Unhiding elements
GTMaterials.Zirconium.setProperty(PropertyKey.DUST, new $DUST_PROPERTY());
GTMaterials.Zirconium.setProperty(PropertyKey.INGOT, new $INGOT_PROPERTY());
GTMaterials.Zirconium.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4200, 'mid', GTValues.VA[GTValues.EV], 1300, GTValues.VA[GTValues.HV], 14.7*20));
GTMaterials.Zirconium.addFlags(GENERATE_FINE_WIRE, GENERATE_PLATE, NO_ORE_SMELTING);
GTMaterials.Zirconium.addFlags(GENERATE_FINE_WIRE, GENERATE_PLATE, GENERATE_DENSE, NO_ORE_SMELTING);
// Tools
GTMaterials.Stone.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(1.2, 1.0, 8, 1, [
GTToolType.AXE,
@ -336,9 +359,10 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.BlackSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6.5, 4.5, 1228, 3, metalTooling).build());
// Cast iron tools don't make sense but gregtech shits itself if they're missing,
// so I'm just giving them terrible terrible stats
GTMaterials.Iron.getProperties().removeProperty(PropertyKey.TOOL);
GTMaterials.Iron.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.5, 1.0, 20, 2, [GTToolType.PICKAXE]).build());
// Hide netherite too
GTMaterials.Netherite.getProperty(PropertyKey.TOOL).removeTypes(metalTooling);
GTMaterials.Netherite.getProperties().removeProperty(PropertyKey.TOOL);
for (let material of GTCEuAPI.materialManager.getRegisteredMaterials()) {
let toolProperty = material.getProperty(PropertyKey.TOOL);
@ -356,6 +380,9 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.BlackBronze.getProperties().removeProperty(PropertyKey.BLAST);
GTMaterials.BlackBronze.getProperties().removeProperty(PropertyKey.ITEM_PIPE);
GTMaterials.BlackBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false));
// Rose Gold & Sterling Silver
GTMaterials.RoseGold.getProperties().removeProperty(PropertyKey.BLAST);
GTMaterials.SterlingSilver.getProperties().removeProperty(PropertyKey.BLAST);
// Red steel fluid pipe - same flow rate as aluminium, bad heat tolerance (same as PE) but can do cryo
GTMaterials.RedSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(370, 75, true, false, true, false));
// Blue steel fluid pipe - same flow rate as aluminium, same temp tolerance as tungsten
@ -382,13 +409,15 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.RedSteel.getProperty(PropertyKey.BLAST).setBlastTemperature(1000)
GTMaterials.BlueSteel.getProperty(PropertyKey.BLAST).setBlastTemperature(1000)
// Change byproducts so you can't get certus from normal quartzite
GTMaterials.Quartzite.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.NetherQuartz, GTMaterials.Barite, GTMaterials.NetherQuartz);
GTMaterials.CertusQuartz.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.CertusQuartz, GTMaterials.Quartzite, GTMaterials.CertusQuartz);
// Change Beryllium to add Chemical Bath recipe and Thorium byproduct
GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Emerald, GTMaterials.Emerald, GTMaterials.Thorium, GTMaterials.Thorium);
GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setWashedIn(GTMaterials.SodiumPersulfate);
// BLAST property
let zirconium_diboride = TFGHelpers.getMaterial('zirconium_diboride');
zirconium_diboride.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4500, "high", GTValues.VA[GTValues.EV], 2700, GTValues.VA[GTValues.HV], 12.5*20));
// Remove properties
GTMaterials.Glass.getProperties().removeProperty(PropertyKey.GEM)
GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.INGOT)
GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.FLUID)
GTMaterials.Plutonium239.getProperties().removeProperty(PropertyKey.ORE)
// Color Adjustments
GTMaterials.BismuthBronze.setMaterialARGB(0x5A966E)
@ -401,7 +430,6 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.RedSteel.setMaterialSecondaryARGB(0xE12323)
GTMaterials.BlueSteel.setMaterialARGB(0xA0B6EC)
GTMaterials.BlueSteel.setMaterialSecondaryARGB(0x2B5CD8)
GTMaterials.Bismuth.setMaterialARGB(0x66847E)
GTMaterials.Bismuth.setMaterialSecondaryARGB(0x25465B)
GTMaterials.Iron.setMaterialARGB(0x503d32)
@ -418,8 +446,8 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Cobalt.setMaterialSecondaryARGB(0x1D2688)
GTMaterials.CertusQuartz.setMaterialARGB(0xB8D8FC)
GTMaterials.CertusQuartz.setMaterialSecondaryARGB(0xADCCEF)
GTMaterials.Vanadium.setMaterialARGB(0xD8D4E7)
GTMaterials.Vanadium.setMaterialSecondaryARGB(0x7E988F)
GTMaterials.Vanadium.setMaterialARGB(0xA7AAC6)
GTMaterials.Vanadium.setMaterialSecondaryARGB(0xC4EFE6)
GTMaterials.Brass.setMaterialSecondaryARGB(0x791905)
GTMaterials.Aluminium.setMaterialARGB(0xb6e5ff)
GTMaterials.Aluminium.setMaterialSecondaryARGB(0x7ca29b)
@ -442,27 +470,25 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Rhenium.setMaterialSecondaryARGB(0x9ccbd6)
GTMaterials.Diamond.setMaterialARGB(0x4AEDD9)
GTMaterials.Diamond.setMaterialSecondaryARGB(0x1AAAA7)
GTMaterials.Boron.setMaterialARGB(0x75BD8D)
GTMaterials.Boron.setMaterialSecondaryARGB(0x013A15)
GTMaterials.Americium.setMaterialARGB(0x284D7B)
// Fluids
global.MINECRAFT_DYE_NAMES.forEach(colorName => {
let material = GTMaterials.get(`gtceu:${colorName}_dye`);
let property = material.getProperty(PropertyKey.FLUID);
property.getStorage().store($FluidStorageKeys.LIQUID, () => Fluid.of(`tfc:${colorName}_dye`).fluid, null);
});
let lyeFluidProperty = new $FLUID_PROPERTY();
lyeFluidProperty.getStorage().store($FluidStorageKeys.LIQUID, () => Fluid.of('tfc:lye').fluid, null);
GTMaterials.SodiumHydroxide.setProperty(PropertyKey.FLUID, lyeFluidProperty);
let rose_quartz = $GreateMaterials.RoseQuartz;
rose_quartz.setProperty(PropertyKey.ORE, new $ORE_PROPERTY());
rose_quartz.getProperty(PropertyKey.ORE).setOreByProducts(rose_quartz, GTMaterials.Redstone, rose_quartz);
rose_quartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz'))
let zirconium_diboride = TFGHelpers.getMaterial('zirconium_diboride');
zirconium_diboride.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4500, "high", GTValues.VA[GTValues.EV], 2700, GTValues.VA[GTValues.HV], 12.5*20));
// Components and formulas
GTMaterials.CertusQuartz.setComponents('1x unknown', '1x silicon', '2x oxygen')
GTMaterials.Glowstone.setComponents('1x gold', '1x redstone')
GTMaterials.GraniteRed.setComponents([])
GTMaterials.GraniteRed.setFormula("?")
GTMaterials.Thorium.setFormula('ThO2')
GTMaterials.Americium.setFormula('Am²⁴³')
GTMaterials.Caesium.setFormula('Cs¹³³')
}

View file

@ -1,73 +1,74 @@
const registerGTCEuRecipeTypes = (event) => {
const $EnergyIO = Java.loadClass("com.gregtechceu.gtceu.api.capability.recipe.IO")
event.create('large_solar_panel')
.category('generator')
.setEUIO('out')
.setEUIO($EnergyIO.OUT)
.setMaxIOSize(2, 0, 2, 1)
.setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.COOLING)
event.create('large_solar_panel_tier2')
.category('generator')
.setEUIO('out')
.setEUIO($EnergyIO.OUT)
.setMaxIOSize(2, 0, 2, 1)
.setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.COOLING)
event.create('large_solar_panel_tier3')
.category('generator')
.setEUIO('out')
.setEUIO($EnergyIO.OUT)
.setMaxIOSize(2, 0, 2, 1)
.setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.COOLING)
event.create('nuclear_fuel_factory')
.category('nuclear_fuel_factory')
.setEUIO('in')
.setMaxIOSize(6, 1, 1, 0)
.setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1)
.setProgressBar(GuiTextures.PROGRESS_BAR_LATHE, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.CUT)
/*
event.create('nuclear_fuel_factory')
.category('nuclear_fuel_factory')
.setEUIO($EnergyIO.IN)
.setMaxIOSize(6, 1, 1, 1)
.setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1)
.setProgressBar(GuiTextures.PROGRESS_BAR_LATHE, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.CUT)
*/
event.create('heat_exchanger')
.category('heat_exchanger')
.setEUIO('in')
.setEUIO($EnergyIO.IN)
.setMaxIOSize(1, 0, 3, 3)
.setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1)
.setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.TURBINE)
/* Just keeping it in case we got mod issues
event.create('fission_reactor')
.category('fission_reactor')
.setEUIO('in')
.setMaxIOSize(1, 0, 1, 2)
.setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1)
.setProgressBar(GuiTextures.PROGRESS_BAR_FUSION, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.ARC)
*/
/* Just keeping it in case we got mod issues
event.create('fission_reactor')
.category('fission_reactor')
.setEUIO($EnergyIO.IN)
.setMaxIOSize(1, 0, 1, 2)
.setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1)
.setProgressBar(GuiTextures.PROGRESS_BAR_FUSION, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.ARC)
*/
event.create('ostrum_harvester')
.category('ostrum_harvester')
.setEUIO('in')
.setMaxIOSize(0, 1, 1, 0)
.category('ostrum_harvester')
.setEUIO($EnergyIO.IN)
.setMaxIOSize(0, 1, 1, 0)
.setSlotOverlay(false, false, GuiTextures.EXTRACTOR_OVERLAY)
.setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.TURBINE)
.setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.TURBINE)
event.create('moon_dust_harvester')
.category('moon_dust_harvester')
.setEUIO('in')
.setMaxIOSize(1, 1, 0, 0)
.category('moon_dust_harvester')
.setEUIO($EnergyIO.IN)
.setMaxIOSize(1, 1, 0, 0)
.setSlotOverlay(false, false, GuiTextures.DUST_OVERLAY)
.setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.TURBINE)
.setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.TURBINE)
event.create('coal_liquefaction_tower')
.category('coal_liquefaction_tower')
.setEUIO('in')
.setMaxIOSize(2, 0, 3, 3)
.category('coal_liquefaction_tower')
.setEUIO($EnergyIO.IN)
.setMaxIOSize(2, 0, 3, 3)
.setSlotOverlay(false, false, GuiTextures.HEATING_OVERLAY_1)
.setProgressBar(GuiTextures.PROGRESS_BAR_ARC_FURNACE, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.COMBUSTION)
.setProgressBar(GuiTextures.PROGRESS_BAR_ARC_FURNACE, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.COMBUSTION)
}

View file

@ -23,6 +23,7 @@ ItemEvents.modification(event => {
registerGTCEuItemModifications(event)
registerMinecraftItemModifications(event)
registerSNSItemModifications(event)
registerTFGItemModifications(event)
})
StartupEvents.registry('fluid', event => {
@ -44,7 +45,6 @@ GTCEuStartupEvents.registry('gtceu:machine', event => {
GTCEuStartupEvents.registry('gtceu:tag_prefix', event => {
registerAE2TagPrefixes(event)
registerGTCEuTagPrefixes(event)
registerTFCTagPrefixes(event)
registerTFGTagPrefixes(event)
})

View file

@ -525,6 +525,7 @@ global.MINECRAFT_DISABLED_ITEMS = [
'minecraft:warped_fungus_on_a_stick',
'minecraft:carrot_on_a_stick',
'minecraft:carrot',
'minecraft:melon',
'minecraft:pumpkin',
'minecraft:suspicious_stew',
'minecraft:mycelium',

View file

@ -315,6 +315,7 @@ global.TFC_DISABLED_ITEMS = /** @type {const} */ ([
"tfc:ore/borax",
"tfc:ore/bituminous_coal",
"tfc:ore/lignite",
"tfc:ore/sylvite",
// Axles
"tfc:wood/axle/acacia",
@ -787,58 +788,58 @@ global.TFC_JAMS = /** @type {const} */ ([
]);
global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = /** @type {const} */ ([
{ input: "tfc:plant/cherry_sapling", fluid_amount: 8000, output: "32x tfc:food/cherry", name: "cherry" },
{ input: "tfc:plant/green_apple_sapling", fluid_amount: 8000, output: "32x tfc:food/green_apple", name: "green_apple" },
{ input: "tfc:plant/lemon_sapling", fluid_amount: 8000, output: "32x tfc:food/lemon", name: "lemon" },
{ input: "tfc:plant/olive_sapling", fluid_amount: 8000, output: "32x tfc:food/olive", name: "olive" },
{ input: "tfc:plant/orange_sapling", fluid_amount: 8000, output: "32x tfc:food/orange", name: "orange" },
{ input: "tfc:plant/peach_sapling", fluid_amount: 8000, output: "32x tfc:food/peach", name: "peach" },
{ input: "tfc:plant/plum_sapling", fluid_amount: 8000, output: "32x tfc:food/plum", name: "plum" },
{ input: "tfc:plant/red_apple_sapling", fluid_amount: 8000, output: "32x tfc:food/red_apple", name: "red_apple" },
{ input: "tfc:plant/banana_sapling", fluid_amount: 8000, output: "32x tfc:food/banana", name: "banana" }
{ input: "tfc:plant/cherry_sapling", output: "tfc:food/cherry", leaves: "tfc:plant/cherry_leaves" },
{ input: "tfc:plant/green_apple_sapling", output: "tfc:food/green_apple", leaves: "tfc:plant/green_apple_leaves" },
{ input: "tfc:plant/lemon_sapling", output: "tfc:food/lemon", leaves: "tfc:plant/lemon_leaves" },
{ input: "tfc:plant/olive_sapling", output: "tfc:food/olive", leaves: "tfc:plant/olive_leaves" },
{ input: "tfc:plant/orange_sapling", output: "tfc:food/orange", leaves: "tfc:plant/orange_leaves" },
{ input: "tfc:plant/peach_sapling", output: "tfc:food/peach", leaves: "tfc:plant/peach_leaves" },
{ input: "tfc:plant/plum_sapling", output: "tfc:food/plum", leaves: "tfc:plant/plum_leaves" },
{ input: "tfc:plant/red_apple_sapling", output: "tfc:food/red_apple", leaves: "tfc:plant/red_apple_leaves" },
{ input: "tfc:plant/banana_sapling", output: "tfc:food/banana" }
]);
global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = /** @type {const} */ ([
{ input: "8x tfc:seeds/barley", fluid_amount: 4000, output: "24x tfc:food/barley", name: "barley" },
{ input: "8x tfc:seeds/oat", fluid_amount: 4000, output: "24x tfc:food/oat", name: "oat" },
{ input: "8x tfc:seeds/rye", fluid_amount: 4000, output: "24x tfc:food/rye", name: "rye" },
{ input: "8x tfc:seeds/maize", fluid_amount: 4000, output: "24x tfc:food/maize", name: "maize" },
{ input: "8x tfc:seeds/wheat", fluid_amount: 4000, output: "24x tfc:food/wheat", name: "wheat" },
{ input: "8x tfc:seeds/rice", fluid_amount: 4000, output: "24x tfc:food/rice", name: "rice" },
{ input: "8x tfc:seeds/beet", fluid_amount: 4000, output: "24x tfc:food/beet", name: "beet" },
{ input: "8x tfc:seeds/cabbage", fluid_amount: 4000, output: "24x tfc:food/cabbage", name: "cabbage" },
{ input: "8x tfc:seeds/carrot", fluid_amount: 4000, output: "24x tfc:food/carrot", name: "carrot" },
{ input: "8x tfc:seeds/green_bean", fluid_amount: 4000, output: "24x tfc:food/green_bean", name: "green_bean" },
{ input: "8x tfc:seeds/garlic", fluid_amount: 4000, output: "24x tfc:food/garlic", name: "garlic" },
{ input: "8x tfc:seeds/potato", fluid_amount: 4000, output: "24x tfc:food/potato", name: "potato" },
{ input: "8x tfc:seeds/onion", fluid_amount: 4000, output: "24x tfc:food/onion", name: "onion" },
{ input: "8x tfc:seeds/soybean", fluid_amount: 4000, output: "24x tfc:food/soybean", name: "soybean" },
{ input: "8x tfc:seeds/squash", fluid_amount: 4000, output: "24x tfc:food/squash", name: "squash" },
{ input: "8x tfc:seeds/sugarcane", fluid_amount: 4000, output: "24x tfc:food/sugarcane", name: "sugarcane" },
{ input: "8x tfc:seeds/tomato", fluid_amount: 4000, output: "24x tfc:food/tomato", name: "tomato" },
{ input: "8x tfc:seeds/jute", fluid_amount: 4000, output: "24x tfc:jute", name: "jute" },
{ input: "8x tfc:seeds/papyrus", fluid_amount: 4000, output: "24x tfc:papyrus", name: "papyrus" },
{ input: "8x tfc:seeds/pumpkin", fluid_amount: 4000, output: "24x tfc:pumpkin", name: "pumpkin" },
{ input: "8x tfc:seeds/melon", fluid_amount: 4000, output: "24x tfc:melon", name: "melon" },
{ input: "8x tfc:seeds/red_bell_pepper", fluid_amount: 4000, output: "24x tfc:food/red_bell_pepper", name: "red_bell_pepper" },
{ input: "8x tfc:seeds/yellow_bell_pepper", fluid_amount: 4000, output: "24x tfc:food/yellow_bell_pepper", name: "yellow_bell_pepper" },
{ input: "8x tfg:sunflower_seeds", fluid_amount: 4000, output: "24x tfg:sunflower_product", name: "sunflower" },
{ input: "8x tfg:rapeseed_seeds", fluid_amount: 4000, output: "24x tfg:rapeseed_product", name: "rapeseed" },
{ input: "8x tfg:flax_seeds", fluid_amount: 4000, output: "24x tfg:flax_product", name: "flax" }
{ input: "tfc:seeds/barley", output: "tfc:food/barley"},
{ input: "tfc:seeds/oat", output: "tfc:food/oat"},
{ input: "tfc:seeds/rye", output: "tfc:food/rye"},
{ input: "tfc:seeds/maize", output: "tfc:food/maize"},
{ input: "tfc:seeds/wheat", output: "tfc:food/wheat"},
{ input: "tfc:seeds/rice", output: "tfc:food/rice"},
{ input: "tfc:seeds/beet", output: "tfc:food/beet"},
{ input: "tfc:seeds/cabbage", output: "tfc:food/cabbage"},
{ input: "tfc:seeds/carrot", output: "tfc:food/carrot"},
{ input: "tfc:seeds/green_bean", output: "tfc:food/green_bean"},
{ input: "tfc:seeds/garlic", output: "tfc:food/garlic"},
{ input: "tfc:seeds/potato", output: "tfc:food/potato"},
{ input: "tfc:seeds/onion", output: "tfc:food/onion"},
{ input: "tfc:seeds/soybean", output: "tfc:food/soybean"},
{ input: "tfc:seeds/squash", output: "tfc:food/squash"},
{ input: "tfc:seeds/sugarcane", output: "tfc:food/sugarcane"},
{ input: "tfc:seeds/tomato", output: "tfc:food/tomato"},
{ input: "tfc:seeds/jute", output: "tfc:jute"},
{ input: "tfc:seeds/papyrus", output: "tfc:papyrus"},
{ input: "tfc:seeds/pumpkin", output: "tfc:pumpkin"},
{ input: "tfc:seeds/melon", output: "tfc:melon"},
{ input: "tfc:seeds/red_bell_pepper", output: "tfc:food/red_bell_pepper"},
{ input: "tfc:seeds/yellow_bell_pepper", output: "tfc:food/yellow_bell_pepper"},
{ input: "tfg:sunflower_seeds", output: "tfg:sunflower_product"},
{ input: "tfg:rapeseed_seeds", output: "tfg:rapeseed_product"},
{ input: "tfg:flax_seeds", output: "tfg:flax_product"}
]);
global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = /** @type {const} */ ([
{ input: "tfc:plant/snowberry_bush", fluid_amount: 6000, output: "3x tfc:food/snowberry", name: "snowberry" },
{ input: "tfc:plant/bunchberry_bush", fluid_amount: 6000, output: "3x tfc:food/bunchberry", name: "bunchberry" },
{ input: "tfc:plant/gooseberry_bush", fluid_amount: 6000, output: "3x tfc:food/gooseberry", name: "gooseberry" },
{ input: "tfc:plant/cloudberry_bush", fluid_amount: 6000, output: "3x tfc:food/cloudberry", name: "cloudberry" },
{ input: "tfc:plant/strawberry_bush", fluid_amount: 6000, output: "3x tfc:food/strawberry", name: "strawberry" },
{ input: "tfc:plant/wintergreen_berry_bush", fluid_amount: 6000, output: "3x tfc:food/wintergreen_berry", name: "wintergreen_berry" },
{ input: "tfc:plant/blackberry_bush", fluid_amount: 6000, output: "3x tfc:food/blackberry", name: "blackberry" },
{ input: "tfc:plant/raspberry_bush", fluid_amount: 6000, output: "3x tfc:food/raspberry", name: "raspberry" },
{ input: "tfc:plant/blueberry_bush", fluid_amount: 6000, output: "3x tfc:food/blueberry", name: "blueberry" },
{ input: "tfc:plant/elderberry_bush", fluid_amount: 6000, output: "3x tfc:food/elderberry", name: "elderberry" },
{ input: "tfc:plant/cranberry_bush", fluid_amount: 6000, output: "3x tfc:food/cranberry", name: "cranberry" }
{ input: "tfc:plant/snowberry_bush", output: "tfc:food/snowberry"},
{ input: "tfc:plant/bunchberry_bush", output: "tfc:food/bunchberry"},
{ input: "tfc:plant/gooseberry_bush", output: "tfc:food/gooseberry"},
{ input: "tfc:plant/cloudberry_bush", output: "tfc:food/cloudberry"},
{ input: "tfc:plant/strawberry_bush", output: "tfc:food/strawberry"},
{ input: "tfc:plant/wintergreen_berry_bush", output: "tfc:food/wintergreen_berry"},
{ input: "tfc:plant/blackberry_bush", output: "tfc:food/blackberry"},
{ input: "tfc:plant/raspberry_bush", output: "tfc:food/raspberry"},
{ input: "tfc:plant/blueberry_bush", output: "tfc:food/blueberry"},
{ input: "tfc:plant/elderberry_bush", output: "tfc:food/elderberry"},
{ input: "tfc:plant/cranberry_bush", output: "tfc:food/cranberry"}
]);
global.TFC_MILKS = /** @type {const} */ ([
@ -866,18 +867,18 @@ global.TFC_CURDS_AND_CHEESES = /** @type {const} */ ([
salted_cheese: "firmalife:food/chevre", salted_wheel: "firmalife:chevre_wheel"
},
{
id: "ox", milk: "tfc_gurman:ox_milk", curdled_fluid: "tfc_gurman:curdled_ox_milk", curd: "tfc_gurman:ox_curd",
unsalted_cheese: "tfc_gurman:ox_brinza_slice", unsalted_wheel: "tfc_gurman:ox_brinza_wheel",
id: "ox", milk: "tfc_gourmet:ox_milk", curdled_fluid: "tfc_gourmet:curdled_ox_milk", curd: "tfc_gourmet:ox_curd",
unsalted_cheese: "tfc_gourmet:ox_brinza_slice", unsalted_wheel: "tfc_gourmet:ox_brinza_wheel",
salted_cheese: null, salted_wheel: null
},
{
id: "sheep", milk: "tfc_gurman:sheep_milk", curdled_fluid: "tfc_gurman:curdled_sheep_milk", curd: "tfc_gurman:sheep_curd",
unsalted_cheese: "tfc_gurman:sheep_brinza_slice", unsalted_wheel: "tfc_gurman:sheep_brinza_wheel",
id: "sheep", milk: "tfc_gourmet:sheep_milk", curdled_fluid: "tfc_gourmet:curdled_sheep_milk", curd: "tfc_gourmet:sheep_curd",
unsalted_cheese: "tfc_gourmet:sheep_brinza_slice", unsalted_wheel: "tfc_gourmet:sheep_brinza_wheel",
salted_cheese: null, salted_wheel: null
},
{
id: "alpaca", milk: "tfc_gurman:alpaca_milk", curdled_fluid: "tfc_gurman:curdled_alpaca_milk", curd: "tfc_gurman:alpaca_curd",
unsalted_cheese: "tfc_gurman:alpaca_brinza_slice", unsalted_wheel: "tfc_gurman:alpaca_brinza_wheel",
id: "alpaca", milk: "tfc_gourmet:alpaca_milk", curdled_fluid: "tfc_gourmet:curdled_alpaca_milk", curd: "tfc_gourmet:alpaca_curd",
unsalted_cheese: "tfc_gourmet:alpaca_brinza_slice", unsalted_wheel: "tfc_gourmet:alpaca_brinza_wheel",
salted_cheese: null, salted_wheel: null
}
]);
@ -953,6 +954,38 @@ global.TFC_EQUIPMENT_METALS = /** @type {const} */ ([
"blue_steel"
]);
global.TFC_METALS = /** @type {const} */ ([
"copper",
"bismuth_bronze",
"bronze",
"black_bronze",
"wrought_iron",
"steel",
"black_steel",
"red_steel",
"blue_steel",
"bismuth",
"brass",
"gold",
"rose_gold",
"silver",
"sterling_silver",
"nickel",
"zinc",
"tin",
"cast_iron"
]);
global.TFC_DOUGHS = /** @type {const} */ ([
"barley",
"maize",
"oat",
"rye",
"rice",
"wheat"
]);
global.TFC_BIOMES = /** @type {const} */ ([
'tfc:badlands',
'tfc:canyons',

View file

@ -0,0 +1,7 @@
"use strict";
function registerTFGAquaponicsItems(event) {
event.create('tfg:flora_pellets')
.tag('tfc:compost_greens_low')
};

View file

@ -0,0 +1,34 @@
// priority: 0
"use strict";
const registerTFGAquaponicsMaterials = (event) => {
/* event.create('mysterious_ooze')
.liquid(new GTFluidBuilder().temperature(293))
.gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(293))
.color(0x500bbf)
.fluidTemp(69420)
.dust()
.cableProperties(GTValues.V[GTValues.LV], 69, 0, true) // Voltage, Amperage, EU loss, Is Superconductor.
.gem(2, 4000)
.element(GTElements.C)
.ore(2, 3)
.color(0x7D2DDB)
.iconSet(GTMaterialIconSet.LIGNITE)
.ingot()
.components('1x andesite', '1x iron')
.color(0x839689)
.iconSet(GTMaterialIconSet.DULL)
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_SMALL_GEAR)
*/
// Nitrate Fluids
event.create('tfg:nitrate_rich_water')
.liquid(new GTFluidBuilder().customStill().temperature(310))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION);
event.create('tfg:nitrate_rich_semiheavy_ammoniacal_water')
.liquid(new GTFluidBuilder().customStill().temperature(310))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION);
}

View file

@ -112,4 +112,11 @@ const registerTFGBiolineMaterials = (event) => {
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
//#endregion
//#region Green Stuff
event.create('tfg:chloroplasts')
.liquid(new GTFluidBuilder().customStill().temperature(310))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
//#endregion
}

View file

@ -10,6 +10,7 @@ function registerTFGCasingBlocks(event) {
.hardness(5)
.resistance(6)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.tagBoth('tfg:casings')
.mapColor('color_light_gray')
})
@ -20,14 +21,15 @@ function registerTFGCasingBlocks(event) {
.hardness(5)
.resistance(6)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.tagBoth('tfg:casings')
.mapColor('color_light_gray')
event.create('tfg:casings/machine_casing_vacuum_engine_intake', 'gtceu:active')
.simple('tfg:block/casings/machine_casing_vacuum_engine_intake')
event.create('tfg:casings/machine_casing_vacuum_engine_intake', 'gtceu:active')
.translationKey('block.tfg.casings.machine_casing_vacuum_engine_intake')
.soundType('metal')
.resistance(6).hardness(5)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.tagBoth('tfg:casings')
.requiresTool(true)
.mapColor('color_light_gray')
@ -38,6 +40,7 @@ function registerTFGCasingBlocks(event) {
.hardness(5)
.resistance(6)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.tagBoth('tfg:casings')
.mapColor('color_red')
event.create('tfg:casings/machine_casing_bioculture_glass')
@ -47,6 +50,8 @@ function registerTFGCasingBlocks(event) {
.hardness(5)
.resistance(6)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.tagBoth('tfc:mineable_with_glass_saw')
.tagBoth('tfg:casings')
.mapColor('color_orange')
.defaultTranslucent()
@ -57,11 +62,12 @@ function registerTFGCasingBlocks(event) {
.resistance(6)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.mapColor('color_light_gray')
.activeOffset(1.6, 2, 1.6)
.activeVelocity(0, 0, 0)
.activeParticle('minecraft:landing_lava')
.activeCount(10)
.activeForced(false)
.activeParticles(a => a
.range(1.6, 2, 1.6)
.velocity(0, 0, 0)
.particle('minecraft:landing_lava')
.count(10)
.forced(false))
event.create('tfg:casings/bioculture_rotor_secondary', 'gtceu:active')
.translationKey('block.tfg.casings.bioculture_rotor_secondary')
@ -78,6 +84,7 @@ function registerTFGCasingBlocks(event) {
.hardness(5)
.resistance(6)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.tagBoth('tfg:casings')
.mapColor('color_light_gray')
event.create('tfg:casings/heat_pipe_casing')
@ -87,6 +94,7 @@ function registerTFGCasingBlocks(event) {
.hardness(5)
.resistance(6)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.tagBoth('tfg:casings')
.mapColor('color_black')
event.create('tfg:sample_rack', 'tfg:active_cardinal')
@ -103,6 +111,7 @@ function registerTFGCasingBlocks(event) {
.soundType('copper')
.hardness(5)
.resistance(6)
.lightLevel(0.8)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.mapColor('color_light_gray')
.notSolid()
@ -114,8 +123,160 @@ function registerTFGCasingBlocks(event) {
.hardness(5)
.resistance(6)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.tagBoth('tfg:casings')
.mapColor('color_brown')
event.create('tfg:cultivation_monitor', 'tfg:active_cardinal')
.soundType('copper')
.hardness(5)
.resistance(6)
.lightLevel(0.8)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.mapColor('color_light_gray')
.notSolid()
.noCollision()
.renderType('cutout')
.opaque(false);
event.create('tfg:egh_planter', 'tfg:active_particle_emitter')
.translationKey('block.tfg.egh_planter')
.soundType('copper')
.hardness(5)
.resistance(6)
.notSolid()
.activeLight(12)
.inactiveLight(0)
.renderType('cutout')
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.mapColor('grass')
.activeParticles(a => a
.range(0.2, 0.0, 0.2)
.velocity(0.0, 0.0, 0.0)
.position(0.5, -0.1, 0.5)
.count(1)
.particle('minecraft:dripping_water')
.forced(false))
.hasTicker(true)
.emitDelay(200)
.tagBlock('tfc:tree_grows_on')
.tagBlock('tfc:bush_plantable_on')
.tagBlock('tfc:wild_crop_grows_on')
.tagBlock('tfc:spreading_fruit_grows_on')
.tagBlock('tfc:grass_plantable_on')
.tagBlock('tfc:creeping_plantable_on')
.tagBlock('minecraft:mushroom_grow_block')
.tagBlock('minecraft:bamboo_plantable_on')
.tagBoth('tfc:farmland');
event.create('tfg:grow_light', 'tfg:active_particle_emitter')
.translationKey('block.tfg.grow_light')
.soundType('copper')
.hardness(5)
.resistance(6)
.notSolid()
.box(0, 12, 0, 16, 16, 16, true)
.activeLight(12)
.inactiveLight(0)
.renderType('cutout')
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.mapColor('grass')
.activeParticles(a => a
.range(0.2, 0.0, 0.2)
.velocity(0.0, 0.0, 0.0)
.position(0.5, 0.5, 0.5)
.count(1)
.particle('minecraft:dripping_water')
.forced(false))
.hasTicker(true)
.emitDelay(200);
event.create('tfg:pisciculture_core', 'tfg:active_particle_emitter')
.translationKey('block.tfg.pisciculture_core')
.soundType('copper')
.hardness(5)
.resistance(6)
.activeLight(12)
.inactiveLight(0)
.renderType('cutout')
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.activeParticles(a => a
.particle('tfg:fish_school')
.position(0.5, 1.5, 0.5)
.range(0.0, 2.0, 0.0)
.velocity(0.0, 0.0, 0.0)
.count(5)
.forced(false))
.activeParticles(a => a
.particle('minecraft:current_down')
.position(0.0, 3.8, 0.0)
.range(5.0, 0.0, 5.0)
.velocity(0.0, 0.1, 0.0)
.count(5)
.forced(false))
.activeParticles(a => a
.particle('minecraft:current_down')
.position(0.0, 3.8, 0.0)
.range(0.5, 0.0, 0.5)
.velocity(0.0, 0.1, 0.0)
.count(5)
.forced(false))
.hasTicker(true)
.emitDelay(20);
event.create('tfg:casings/machine_casing_egh', 'gtceu:active')
.translationKey('block.tfg.casings.machine_casing_egh')
.soundType('metal')
.hardness(5)
.resistance(6)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.tagBoth('tfg:casings')
.mapColor('color_light_gray');
/**
* @type {string[]} - Tier names of greenhouse casings.
*/
const greenhouse_tiers = ['treated_wood', 'copper', 'iron', 'stainless'];
greenhouse_tiers.forEach(tier => {
for (let i = 0; i <= 4; i++) {
let r = event.create(`tfg:casings/greenhouse/${tier}_greenhouse_casing_${i}`)
.translationKey(`block.tfg.casings.greenhouse.${tier}_greenhouse_casing_${i}`)
.hardness(0.3)
.resistance(0.3)
.soundType('glass')
.requiresTool(true)
.tagBoth('tfg:casings')
.tagBoth('tfc:mineable_with_glass_saw')
.tagBoth('firmalife:greenhouse')
.tagBoth('firmalife:greenhouse_full_walls')
.tagBoth('tfg:all_greenhouse_casings')
// Exception of shame V
if (tier === 'stainless') {
r.tagBoth(`firmalife:${tier}_steel_greenhouse`)
r.tagBoth(`tfg:${tier}_steel_greenhouse_casings`)
r.tagBlock(`firmalife:all_${tier}_steel_greenhouse`)
} else {
r.tagBoth(`firmalife:${tier}_greenhouse`)
r.tagBoth(`tfg:${tier}_greenhouse_casings`)
r.tagBlock(`firmalife:all_${tier}_greenhouse`)
};
if (tier === 'treated_wood') {
r.tagBlock('minecraft:mineable/axe')
} else {
r.tagBlock('minecraft:mineable/pickaxe')
};
if (i > 2) {
r.defaultTranslucent()
} else {
r.defaultCutout()
};
};
});
event.create('tfg:casings/test_casing')
.soundType('copper')
.hardness(5)

View file

@ -7,6 +7,7 @@ const registerTFGCrops = (event) => {
event.create('tfg:sunflower', 'tfc:double_crop')
.translationKey('block.tfg.sunflower')
.mapColor('plant')
.soundType('crop')
.nutrient('nitrogen')
.stages(4)
@ -40,6 +41,7 @@ const registerTFGCrops = (event) => {
.tagItem('c:hidden_from_recipe_viewers')
event.create('tfg:rapeseed', 'tfc:double_crop')
.mapColor('plant')
.translationKey('block.tfg.rapeseed')
.soundType('crop')
.nutrient('phosphorous')
@ -67,6 +69,7 @@ const registerTFGCrops = (event) => {
.tagItem('c:hidden_from_recipe_viewers')
event.create('tfg:flax', 'tfc:double_crop')
.mapColor('plant')
.translationKey('block.tfg.flax')
.soundType('crop')
.nutrient('nitrogen')
@ -103,6 +106,7 @@ const registerTFGCrops = (event) => {
// Mars Crops
event.create('betterend:amber_root', 'tfc:crop')
.mapColor('color_orange')
.soundType('crop')
.nutrient('phosphorous')
.stages(3)
@ -134,6 +138,7 @@ const registerTFGCrops = (event) => {
event.create('betterend:blossom_berry', 'tfc:crop')
.mapColor('color_pink')
.soundType('crop')
.nutrient('potassium')
.stages(3)
@ -165,6 +170,7 @@ const registerTFGCrops = (event) => {
event.create('betterend:cave_pumpkin')
.mapColor('color_red')
.soundType('cherry_wood')
.tagBlock('minecraft:mineable/axe')
.tagBlock('minecraft:mineable/hoe')
@ -176,6 +182,7 @@ const registerTFGCrops = (event) => {
.notSolid()
event.create('betterend:cave_pumpkin_plant', 'tfc:spreading_crop')
.mapColor('plant')
.soundType('crop')
.nutrient('nitrogen')
.stages(3)
@ -207,6 +214,7 @@ const registerTFGCrops = (event) => {
event.create('betterend:chorus_mushroom', 'tfc:crop')
.mapColor('color_purple')
.translationKey('block.betterend.chorus_mushroom')
.soundType('nether_wart')
.nutrient('phosphorous')
@ -244,6 +252,7 @@ const registerTFGCrops = (event) => {
event.create('betterend:shadow_berry', 'tfc:crop')
.mapColor('color_blue')
.soundType('crop')
.box(2, 0, 2, 14, 3, 14)
.nutrient('potassium')
@ -278,6 +287,7 @@ const registerTFGCrops = (event) => {
event.create('betterend:bolux_mushroom', 'tfc:crop')
.mapColor('color_orange')
.soundType('nether_wart')
.box(2, 0, 2, 14, 5, 14)
.nutrient('phosphorous')

View file

@ -6,10 +6,8 @@ const registerTFGBlocks = (event) => {
registerTFGCrops(event)
registerTFGVaseBlocks(event)
registerTFGSupportBlocks(event)
registerTFGAqueductBlocks(event)
registerTFGRockBlocks(event)
registerTFGVanillaStoneBlocks(event)
registerTFGSupportBlocks(event)
registerTFGWorldGenTrees(event)
registerTFGWorldGenBeneathDecoBlocks(event)

View file

@ -25,39 +25,6 @@ global.AIRCRAFT_UPGRADES = [
"titanium_hull_reinforcement"
]
/**
* @type {string[]} - Item IDs
*/
global.EXTRATERRESTRIAL_RAW_ROCKS = [
'minecraft:deepslate',
'minecraft:blackstone',
'minecraft:dripstone_block',
'ad_astra:moon_stone',
'ad_astra:moon_deepslate',
'ad_astra:mars_stone',
'ad_astra:venus_stone',
'ad_astra:mercury_stone',
'ad_astra:glacio_stone',
'gtceu:red_granite',
'beneath:crackrack'
]
/**
* @type {string[]} - Item IDs
*/
global.EXTRATERRESTRIAL_HARDENED_ROCKS = [
'tfg:rock/hardened_moon_stone',
'tfg:rock/hardened_moon_deepslate',
'tfg:rock/hardened_mars_stone',
'tfg:rock/hardened_venus_stone',
'tfg:rock/hardened_mercury_stone',
'tfg:rock/hardened_glacio_stone',
'tfg:rock/hardened_red_granite',
'tfg:rock/hardened_deepslate',
'tfg:rock/hardened_blackstone',
'tfg:rock/hardened_dripstone',
'tfg:rock/hardened_crackrack'
]
/**
* @type {string[]} - Stone Names
@ -192,116 +159,24 @@ global.FOOD_FRUIT = [
{name: 'shadow_berry', id: 'betterend:shadow_berry_cooked', saturation: 1, water: 5, fruit: 1.5, decay: 2 }
];
global.STONE_CHARACS = { // Sets of stone block properties used for block registry.
deepslate: { sound: 'deepslate', type: "metamorphic", mapColor: 'terracotta_grey' },
blackstone: { sound: 'stone', type: "igneous_intrusive", mapColor: 'color_black' },
dripstone: { sound: 'dripstone_block', type: "sedimentary", mapColor: 'terracotta_brown' },
crackrack: { sound: 'netherrack', type: "igneous_intrusive", mapColor: 'crimson_stem' },
nether: { sound: 'nether_bricks', type: "igneous_intrusive", mapColor: 'nether' },
moon: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_cyan' },
moon_deepslate: { sound: 'deepslate', type: "igneous_intrusive", mapColor: 'terracotta_blue' },
mars: { sound: 'stone', type: "sedimentary", mapColor: 'terracotta_orange' },
venus: { sound: 'stone', type: "igneous_extrusive", mapColor: 'terracotta_yellow' },
mercury: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_purple' },
glacio: { sound: 'stone', type: "igneous_extrusive", mapColor: 'terracotta_light_blue' },
permafrost: { sound: 'stone', type: null, mapColor: 'snow' },
red_granite: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_red' },
reconstituted: { sound: 'stone', type: null, mapColor: 'stone' },
light_concrete: { sound: 'stone', type: null, mapColor: 'color_light_gray' },
dark_concrete: { sound: 'stone', type: null, mapColor: 'color_gray' }
}
/** @type {Hammering[]} */
global.HAMMERING = [ // Crushing relationships for manual block hammering, create press hammering and gtceu forge hammer crushing.
// Beneath
{ raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 7 },
{ raw: 'tfg:rock/hardened_deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 7 },
{ raw: 'minecraft:cobbled_deepslate', hammered: 'tfg:rock/gravel_deepslate', duration: 10, eu: 7 },
{ raw: 'tfg:rock/mossy_cobble_deepslate', hammered: 'tfg:rock/gravel_deepslate', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_deepslate', hammered: 'tfc:sand/black', duration: 70, eu: 16 },
{ raw: 'minecraft:blackstone', hammered: 'tfg:rock/cobble_blackstone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/hardened_blackstone', hammered: 'tfg:rock/cobble_blackstone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/cobble_blackstone', hammered: 'tfg:rock/gravel_blackstone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/mossy_cobble_blackstone', hammered: 'tfg:rock/gravel_blackstone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_blackstone', hammered: 'tfc:sand/black', duration: 70, eu: 16 },
{ raw: 'minecraft:dripstone_block', hammered: 'tfg:rock/cobble_dripstone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/hardened_dripstone', hammered: 'tfg:rock/cobble_dripstone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/cobble_dripstone', hammered: 'tfg:rock/gravel_dripstone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/mossy_cobble_dripstone', hammered: 'tfg:rock/gravel_dripstone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_dripstone', hammered: 'tfc:sand/brown', duration: 70, eu: 16 },
{ raw: 'beneath:crackrack', hammered: 'tfg:rock/cobble_crackrack', duration: 10, eu: 7 },
{ raw: 'tfg:rock/cobble_crackrack', hammered: 'tfg:rock/gravel_crackrack', duration: 10, eu: 7 },
{ raw: 'tfg:rock/mossy_cobble_crackrack', hammered: 'tfg:rock/gravel_crackrack', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_crackrack', hammered: 'tfc:sand/pink', duration: 70, eu: 16 },
{ raw: 'minecraft:basalt', hammered: 'tfc:rock/cobble/basalt', duration: 10, eu: 7 },
// Moon
{ raw: 'ad_astra:moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/hardened_moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 7 },
{ raw: 'ad_astra:moon_cobblestone', hammered: 'tfg:rock/gravel_moon', duration: 10, eu: 7 },
{ raw: 'tfg:rock/mossy_cobble_moon', hammered: 'tfg:rock/gravel_moon', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_moon', hammered: 'ad_astra:moon_sand', duration: 70, eu: 16 },
{ raw: 'ad_astra:moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 7 },
{ raw: 'tfg:rock/hardened_moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 7 },
{ raw: 'tfg:rock/cobble_moon_deepslate', hammered: 'tfg:rock/gravel_moon_deepslate', duration: 10, eu: 7 },
{ raw: 'tfg:rock/mossy_cobble_moon_deepslate', hammered: 'tfg:rock/gravel_moon_deepslate', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_moon_deepslate', hammered: 'ad_astra:moon_sand', duration: 10, eu: 16 },
{ raw: 'ad_astra:glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/hardened_glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 7 },
{ raw: 'ad_astra:glacio_cobblestone', hammered: 'tfg:rock/gravel_glacio', duration: 10, eu: 7 },
{ raw: 'tfg:rock/mossy_cobble_glacio', hammered: 'tfg:rock/gravel_glacio', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_glacio', hammered: 'tfc:sand/white', duration: 70, eu: 16 },
// Mars
{ raw: 'ad_astra:mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/hardened_mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 7 },
{ raw: 'ad_astra:mars_cobblestone', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 7 },
{ raw: 'tfg:rock/mossy_cobble_mars', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_mars', hammered: 'ad_astra:mars_sand', duration: 70, eu: 16 },
{ raw: 'minecraft:red_sandstone', hammered: '4x minecraft:red_sand', duration: 10, eu: 16 },
{ raw: 'gtceu:red_granite', hammered: 'gtceu:red_granite_cobblestone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/hardened_red_granite', hammered: 'gtceu:red_granite_cobblestone', duration: 10, eu: 7 },
{ raw: 'gtceu:red_granite_cobblestone', hammered: 'tfg:rock/gravel_red_granite', duration: 10, eu: 7 },
{ raw: 'gtceu:mossy_red_granite_cobblestone', hammered: 'tfg:rock/gravel_red_granite', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_red_granite', hammered: 'minecraft:red_sand', duration: 70, eu: 16 },
// Venus
{ raw: 'ad_astra:venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/hardened_venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 7 },
{ raw: 'ad_astra:venus_cobblestone', hammered: 'tfg:rock/gravel_venus', duration: 10, eu: 7 },
{ raw: 'tfg:rock/mossy_cobble_venus', hammered: 'tfg:rock/gravel_venus', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_venus', hammered: 'ad_astra:venus_sand', duration: 70, eu: 16 },
{ raw: 'ad_astra:venus_sandstone', hammered: '4x ad_astra:venus_sand', duration: 70, eu: 16 },
// Mercury
{ raw: 'ad_astra:mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 7 },
{ raw: 'tfg:rock/hardened_mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 7 },
{ raw: 'ad_astra:mercury_cobblestone', hammered: 'tfg:rock/gravel_mercury', duration: 10, eu: 7 },
{ raw: 'tfg:rock/mossy_cobble_mercury', hammered: 'tfg:rock/gravel_mercury', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_mercury', hammered: 'tfc:sand/red', duration: 70, eu: 16 },
// Europa
{ raw: 'ad_astra:permafrost', hammered: 'tfg:rock/cobble_permafrost', duration: 10, eu: 7 },
{ raw: 'tfg:rock/cobble_permafrost', hammered: 'tfg:rock/gravel_permafrost', duration: 10, eu: 7 },
{ raw: 'tfg:rock/mossy_cobble_permafrost', hammered: 'tfg:rock/gravel_permafrost', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_permafrost', hammered: '4x gtceu:ice_dust', duration: 70, eu: 16 },
// Misc
{ raw: 'ad_astra:conglomerate', hammered: 'tfc:rock/gravel/conglomerate', duration: 10, eu: 7 },
{ raw: 'minecraft:stone', hammered: 'minecraft:cobblestone', duration: 10, eu: 7 }
]
{ raw: 'minecraft:basalt', hammered: 'tfc:rock/cobble/basalt', duration: 10, eu: 7 },
{ raw: 'tfg:rock/gravel_permafrost', hammered: '4x gtceu:ice_dust', duration: 70, eu: 16 },
// TODO: make a big sand/sandstone table like the rock table?
{ raw: 'minecraft:red_sandstone', hammered: '4x minecraft:red_sand', duration: 10, eu: 16 },
{ raw: 'ad_astra:venus_sandstone', hammered: '4x ad_astra:venus_sand', duration: 70, eu: 16 },
{ raw: 'tfg:sandstone/raw/fluorapatite/blue', hammered: '4x tfg:sand/fluorapatite/blue', duration: 70, eu: 16 },
{ raw: 'tfg:sandstone/raw/fluorapatite/green', hammered: '4x tfg:sand/fluorapatite/green', duration: 70, eu: 16 },
{ raw: 'tfg:sandstone/raw/fluorapatite/brown', hammered: '4x tfg:sand/fluorapatite/brown', duration: 70, eu: 16 },
{ raw: 'tfg:sandstone/raw/fluorapatite/orange', hammered: '4x tfg:sand/fluorapatite/orange', duration: 70, eu: 16 },
{ raw: 'tfg:sandstone/raw/fluorapatite/white', hammered: '4x tfg:sand/fluorapatite/white', duration: 70, eu: 16 },
{ raw: 'tfg:sandstone/raw/fluorapatite/yellow', hammered: '4x tfg:sand/fluorapatite/yellow', duration: 70, eu: 16 },
{ raw: '#tfg:moon_gravel', hammered: 'ad_astra:moon_sand', duration: 70, eu: 16 },
{ raw: '#tfg:mars_gravel', hammered: 'ad_astra:mars_sand', duration: 70, eu: 16 },
{ raw: '#tfg:venus_gravel', hammered: 'ad_astra:venus_sand', duration: 70, eu: 16 },
{ raw: '#tfg:hematitic_gravel', hammered: 'minecraft:red_sand', duration: 70, eu: 16 },
]
global.COOLING_FOODS = [
'firmalife:food/vanilla_ice_cream',
@ -355,3 +230,41 @@ global.SPICES = [
{ plant: 'firmalife:plant/oregano', product: 'tfg:spice/oregano_leaves' },
{ plant: 'firmalife:plant/pimento', product: 'tfg:spice/allspice' }
];
/**
* @typedef {Object} FishIndex
* @property {string} id - Fish mob ID.
* @property {string} item - Fish Item ID.
* @property {string} parent - Bucket of Fish Item ID.
* @property {string|null} dimension - Dimension ID (null for any).
*/
/** @type {FishIndex[]} - Index of fish mobs for pisciculture */
global.FISH_INDEX = [
{ id: 'tfc:bluegill', item: 'tfc:food/bluegill', parent: 'tfc:bucket/bluegill', dimension: null },
{ id: 'tfc:crappie', item: 'tfc:food/crappie', parent: 'tfc:bucket/crappie', dimension: null },
{ id: 'tfc:lake_trout', item: 'tfc:food/lake_trout', parent: 'tfc:bucket/lake_trout', dimension: null },
{ id: 'tfc:largemouth_bass', item: 'tfc:food/largemouth_bass', parent: 'tfc:bucket/largemouth_bass', dimension: null },
{ id: 'tfc:rainbow_trout', item: 'tfc:food/rainbow_trout', parent: 'tfc:bucket/rainbow_trout', dimension: null },
{ id: 'tfc:salmon', item: 'tfc:food/salmon', parent: 'tfc:bucket/salmon', dimension: null },
{ id: 'tfc:smallmouth_bass', item: 'tfc:food/smallmouth_bass', parent: 'tfc:bucket/smallmouth_bass', dimension: null },
{ id: 'tfc:cod', item: 'tfc:food/cod', parent: 'tfc:bucket/cod', dimension: null },
{ id: 'tfc:tropical_fish', item: 'tfc:food/tropical_fish', parent: 'tfc:bucket/tropical_fish', dimension: null },
{ id: 'tfc:pufferfish', item: 'minecraft:pufferfish', parent: 'tfc:bucket/pufferfish', dimension: null },
{ id: 'wan_ancient_beasts:toxlacanth', item: 'wan_ancient_beasts:toxlacanth', parent: 'wan_ancient_beasts:toxlacanth_bucket', dimension: 'ad_astra:mars' }
];
/**
* @type {string[]} - Saws unable to silk harvest ice
*/
global.ICE_SAW_BLACKLIST = [
"gtceu:damascus_steel_saw",
"gtceu:steel_saw",
"gtceu:bronze_saw",
"gtceu:bismuth_bronze_saw",
"gtceu:copper_saw",
"gtceu:cobalt_brass_saw",
"gtceu:black_steel_saw",
"gtceu:black_bronze_saw",
"gtceu:wrought_iron_saw",
"gtceu:invar_saw"
]

View file

@ -4,10 +4,42 @@ const registerTFGElement = (event) => {
event.create("thorium_230")
.protons(90)
.neutrons(230)
.neutrons(140)
.symbol("Th²³⁰")
event.create("thorium_232")
.protons(90)
.neutrons(232)
.neutrons(142)
.symbol("Th²³²")
event.create("boron_10")
.protons(5)
.neutrons(6)
.symbol("B¹⁰")
event.create("americium_241")
.protons(95)
.neutrons(146)
.symbol("Am²⁴¹")
event.create("neptunium_237")
.protons(93)
.neutrons(144)
.symbol("Np²³⁷")
event.create("californium_252")
.protons(98)
.neutrons(154)
.symbol("Ca²⁵²")
event.create("unknown")
.protons(75)
.neutrons(75)
.symbol("?")
event.create("caesium_137")
.protons(55)
.neutrons(82)
.symbol("Cs¹³⁷")
}

View file

@ -28,5 +28,10 @@ const registerTFGFluids = (event) => {
.noBlock()
// Venus
event.create('tfg:supercritical_co2')
.thinTexture(0x3deb96)
.bucketColor(0x08733f)
.temperature(236)
.noBlock()
}

View file

@ -37,6 +37,11 @@ function registerTFGIconSets(event) {
event.create('nether_quartz').parent('quartz')
// Looks like VI vanadium
event.create('noodle').parent('metallic')
// Looks like ad astra ostrum
event.create('cereal_box').parent('bright')
// Credits to Flare from the Cosmic Frontiers team
event.create('chonky').parent('shiny')
}
@ -69,7 +74,7 @@ function modifyTFGIconSets(event) {
GTMaterials.Garnierite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_garnierite'))
GTMaterials.Nickel.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_garnierite'))
GTMaterials.Hematite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_hematite'))
GTMaterials.YellowLimonite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_limonite'))
GTMaterials.Limonite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_limonite'))
GTMaterials.Magnetite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_magnetite'))
GTMaterials.Malachite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_malachite'))
GTMaterials.Copper.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_copper'))
@ -91,7 +96,6 @@ function modifyTFGIconSets(event) {
GTMaterials.BlackBronze.setMaterialIconSet(GTMaterialIconSet.SHINY)
GTMaterials.Potin.setMaterialIconSet(GTMaterialIconSet.SHINY)
GTMaterials.Cupronickel.setMaterialIconSet(GTMaterialIconSet.SHINY)
GTMaterials.ManganesePhosphide.setMaterialIconSet(GTMaterialIconSet.DULL)
GTMaterials.Osmium.setMaterialIconSet(GTMaterialIconSet.DULL)
GTMaterials.Invar.setMaterialIconSet(GTMaterialIconSet.DULL)
@ -141,14 +145,29 @@ function modifyTFGIconSets(event) {
GTMaterials.Electrotine.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_garnierite'))
GTMaterials.Bauxite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_borax'))
// Superconductors get noodle
GTMaterials.ManganesePhosphide.setMaterialIconSet(GTMaterialIconSet.getByName('noodle'))
GTMaterials.MagnesiumDiboride.setMaterialIconSet(GTMaterialIconSet.getByName('noodle'))
GTMaterials.MercuryBariumCalciumCuprate.setMaterialIconSet(GTMaterialIconSet.getByName('noodle'))
GTMaterials.UraniumTriplatinum.setMaterialIconSet(GTMaterialIconSet.getByName('noodle'))
GTMaterials.SamariumIronArsenicOxide.setMaterialIconSet(GTMaterialIconSet.getByName('noodle'))
GTMaterials.IndiumTinBariumTitaniumCuprate.setMaterialIconSet(GTMaterialIconSet.getByName('noodle'))
GTMaterials.UraniumRhodiumDinaquadide.setMaterialIconSet(GTMaterialIconSet.getByName('noodle'))
GTMaterials.EnrichedNaquadahTriniumEuropiumDuranide.setMaterialIconSet(GTMaterialIconSet.getByName('noodle'))
GTMaterials.RutheniumTriniumAmericiumNeutronate.setMaterialIconSet(GTMaterialIconSet.getByName('noodle'))
// Not a superconductor but it's where the icon comes from in the first place
GTMaterials.Vanadium.setMaterialIconSet(GTMaterialIconSet.getByName('noodle'))
// All naquadah/neutronium/zirconium materials get chonky
GTMaterials.Naquadah.setMaterialIconSet(GTMaterialIconSet.getByName('chonky'))
GTMaterials.NaquadahEnriched.setMaterialIconSet(GTMaterialIconSet.getByName('chonky'))
GTMaterials.Naquadria.setMaterialIconSet(GTMaterialIconSet.getByName('chonky'))
GTMaterials.UraniumRhodiumDinaquadide.setMaterialIconSet(GTMaterialIconSet.getByName('chonky'))
GTMaterials.EnrichedNaquadahTriniumEuropiumDuranide.setMaterialIconSet(GTMaterialIconSet.getByName('chonky'))
GTMaterials.NaquadahAlloy.setMaterialIconSet(GTMaterialIconSet.getByName('chonky'))
GTMaterials.Neutronium.setMaterialIconSet(GTMaterialIconSet.getByName('chonky'))
GTMaterials.RutheniumTriniumAmericiumNeutronate.setMaterialIconSet(GTMaterialIconSet.getByName('chonky'))
GTMaterials.Zirconium.setMaterialIconSet(GTMaterialIconSet.getByName('chonky'))
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
$GreateMaterials.RoseQuartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz'))
}

View file

@ -21,6 +21,7 @@ function registerTFGFoodItems(event) {
ctx.player.give('tfg:used_foil_pack')
}))
.texture('tfg:item/food/meal_bag')
.tag('tfc:foods')
.tag('tfg:space_food')
// Birt
@ -60,6 +61,7 @@ function registerTFGFoodItems(event) {
event.create(`tfg:food/freeze_dried/${fruit.name}`)
.translationKey(`item.tfg.food.freeze_dried/${fruit.name}`)
.texture(`tfg:item/food/freeze_dried_${fruit.name}`)
.tag('tfc:foods')
.tag('tfg:space_food')
.food(food => food.hunger(4).saturation(1)
.eaten(ctx => {
@ -75,6 +77,7 @@ function registerTFGFoodItems(event) {
ctx.player.give('tfg:used_foil_pack')
}))
.texture('tfg:item/food/calorie_paste')
.tag('tfc:foods')
.tag('tfg:space_food')
// Sunflower seeds
@ -90,7 +93,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/raw_moon_rabbit')
.translationKey('item.tfg.food.raw_moon_rabbit')
.texture('tfg:item/food/raw_moon_rabbit')
.food(food => food.hunger(2).saturation(2)
.food(food => food.hunger(2).saturation(1)
.effect('minecraft:hunger', 100, 0, 1))
.tag('tfc:foods')
.tag('tfc:foods/meats')
@ -99,7 +102,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/cooked_moon_rabbit')
.translationKey('item.tfg.food.cooked_moon_rabbit')
.texture('tfg:item/food/cooked_moon_rabbit')
.food(food => food.hunger(4).saturation(8))
.food(food => food.hunger(4).saturation(2))
.tag('tfc:foods')
.tag('tfc:foods/meats')
.tag('tfc:foods/cooked_meats')
@ -108,7 +111,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/raw_glacian_mutton')
.translationKey('item.tfg.food.raw_glacian_mutton')
.texture('tfg:item/food/raw_glacian_mutton')
.food(food => food.hunger(2).saturation(2)
.food(food => food.hunger(2).saturation(1)
.effect('minecraft:hunger', 100, 0, 1))
.tag('tfc:foods')
.tag('tfc:foods/meats')
@ -117,7 +120,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/cooked_glacian_mutton')
.translationKey('item.tfg.food.cooked_glacian_mutton')
.texture('tfg:item/food/cooked_glacian_mutton')
.food(food => food.hunger(5).saturation(8))
.food(food => food.hunger(5).saturation(2))
.tag('tfc:foods')
.tag('tfc:foods/meats')
.tag('tfc:foods/cooked_meats')
@ -135,7 +138,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/cooked_sniffer_beef')
.translationKey('item.tfg.food.cooked_sniffer_beef')
.texture('tfg:item/food/cooked_sniffer_beef')
.food(food => food.hunger(8).saturation(9))
.food(food => food.hunger(8).saturation(4))
.tag('tfc:foods')
.tag('tfc:foods/meats')
.tag('tfc:foods/cooked_meats')
@ -153,7 +156,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/cooked_wraptor')
.translationKey('item.tfg.food.cooked_wraptor')
.texture('tfg:item/food/cooked_wraptor')
.food(food => food.hunger(6).saturation(8))
.food(food => food.hunger(6).saturation(4))
.tag('tfc:foods')
.tag('tfc:foods/meats')
.tag('tfc:foods/cooked_meats')
@ -189,7 +192,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/cooked_walker_steak')
.translationKey('item.tfg.food.cooked_walker_steak')
.texture('tfg:item/food/cooked_walker_steak')
.food(food => food.hunger(8).saturation(10))
.food(food => food.hunger(8).saturation(4))
.tag('tfc:foods')
.tag('tfc:foods/meats')
.tag('tfc:foods/cooked_meats')
@ -198,7 +201,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/raw_glider_wings')
.translationKey('item.tfg.food.raw_glider_wings')
.texture('tfg:item/food/raw_glider_wings')
.food(food => food.hunger(1).saturation(1)
.food(food => food.hunger(1).saturation(2)
.effect('minecraft:hunger', 100, 0, 1))
.tag('tfc:foods')
.tag('tfc:foods/meats')
@ -207,7 +210,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/cooked_glider_wings')
.translationKey('item.tfg.food.cooked_glider_wings')
.texture('tfg:item/food/cooked_glider_wings')
.food(food => food.hunger(2).saturation(3))
.food(food => food.hunger(2).saturation(4))
.tag('tfc:foods')
.tag('tfc:foods/meats')
.tag('tfc:foods/cooked_meats')
@ -225,7 +228,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/cooked_whole_soarer')
.translationKey('item.tfg.food.cooked_whole_soarer')
.texture('tfg:item/food/cooked_whole_soarer')
.food(food => food.hunger(6).saturation(6))
.food(food => food.hunger(6).saturation(4))
.tag('tfc:foods')
.tag('tfc:foods/meats')
.tag('tfc:foods/cooked_meats')
@ -243,7 +246,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/cooked_crusher_meat')
.translationKey('item.tfg.food.cooked_crusher_meat')
.texture('tfg:item/food/cooked_crusher_meat')
.food(food => food.hunger(5).saturation(6))
.food(food => food.hunger(5).saturation(4))
.tag('tfc:foods')
.tag('tfc:foods/meats')
.tag('tfc:foods/cooked_meats')
@ -261,7 +264,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/cooked_goober_meat')
.translationKey('item.tfg.food.cooked_goober_meat')
.texture('tfg:item/food/cooked_goober_meat')
.food(food => food.hunger(3).saturation(9))
.food(food => food.hunger(3).saturation(4))
.tag('tfc:foods')
.tag('tfc:foods/meats')
.tag('tfc:foods/cooked_meats')
@ -291,7 +294,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/cooked_stickastackatick')
.translationKey('item.tfg.food.cooked_stickastackatick')
.parentModel('tfg:item/food/cooked_stickastackatick')
.food(food => food.hunger(2).saturation(5)
.food(food => food.hunger(2).saturation(2)
.eaten(ctx => {
ctx.player.give('minecraft:stick')
}))
@ -312,7 +315,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/cooked_cruncher_ribs')
.translationKey('item.tfg.food.cooked_cruncher_ribs')
.texture('tfg:item/food/cooked_cruncher_ribs')
.food(food => food.hunger(10).saturation(14))
.food(food => food.hunger(10).saturation(4))
.tag('tfc:foods')
.tag('tfc:foods/meats')
.tag('tfc:foods/cooked_meats')
@ -330,7 +333,7 @@ function registerTFGFoodItems(event) {
event.create('tfg:food/cooked_surfer_steak')
.translationKey('item.tfg.food.cooked_surfer_steak')
.texture('tfg:item/food/cooked_surfer_steak')
.food(food => food.hunger(8).saturation(8))
.food(food => food.hunger(8).saturation(4))
.tag('tfc:foods')
.tag('tfc:foods/meats')
.tag('tfc:foods/cooked_meats')

View file

@ -18,6 +18,7 @@ const registerTFGItems = (event) => {
registerTFGBiotechItems(event);
registerTFGWeaponItems(event);
registerTFGRockItems(event);
registerTFGAquaponicsItems(event);
event.create('tfg:terra_firma_greg')
.tag('c:hidden_from_recipe_viewers')
@ -48,7 +49,16 @@ const registerTFGItems = (event) => {
event.create('tfg:zpm_universal_circuit')
event.create('tfg:uv_universal_circuit')
event.create('tfg:uhv_universal_circuit')
// Add item for BTX Fuel
event.create('tfg:catalyser_pt_re_zsm')
.texture('tfg:item/btx/catalyser_zsm')
event.create('tfg:used_catalyser')
.texture('tfg:item/btx/used_catalyser')
event.create('tfg:loaded_resin')
.texture('tfg:item/btx/loaded_resin')
// Temporary
event.create('gtceu:rose_quartz_dust').texture('tfg:item/deprecated')
@ -69,17 +79,111 @@ const registerTFGItems = (event) => {
event.create('gtceu:rose_quartz_lens').texture('tfg:item/deprecated')
event.create('gtceu:rose_quartz_plate').texture('tfg:item/deprecated')
// Add item for BTX Fuel
event.create('tfg:catalyser_pt_re_zsm')
.translationKey('item.tfg.catalyser_pt_re_zsm')
.texture('tfg:item/btx/catalyser_zsm')
event.create('tfg:used_catalyser')
.translationKey('item.tfg.used_catalyser')
.texture('tfg:item/btx/used_catalyser')
event.create('tfg:loaded_resin')
.translationKey('item.tfg.loaded_resin')
.texture('tfg:item/btx/loaded_resin')
// Thanks gurman
event.create('tfc_gurman:raw_margarita_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:margarita_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_pepperoni_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:pepperoni_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_hawaiian_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:hawaiian_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_four_cheeses_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:four_cheeses_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_four_meats_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:four_meats_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_neapolitano_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:neapolitano_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_placinda').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:placinda').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:ramen_with_bacon').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:ramen_with_beef').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:ramen_with_camelidae').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:ramen_with_chevon').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:plant_mix').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:adjika').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:adjika_bread').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:porridge').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:porridge_with_honey').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:porridge_with_fruits').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:pasta_with_adjika').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:zama').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:mamaliga').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:ox_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:sheep_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:alpaca_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:ox_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:sheep_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:alpaca_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:ox_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:sheep_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:alpaca_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:fried_rice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:curry').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:pho').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:hummus').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:greek_salad').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:tzatziki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:falafel').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:dolma').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:goulash').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:risotto').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_lavash_wrap').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:lavash_wrap').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_pelmeni').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:pelmeni').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_vareniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:vareniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_oladyi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:oladyi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_syrniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:syrniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:sliced_cabbage').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:sauerkraut').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_khachapuri').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:khachapuri').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_chebureki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:chebureki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:dried_mint_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:dried_chamomile_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:dried_rosehip_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:dried_nettle_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:borscht').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:schi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:solyanka').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_kiev_cutlets').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:kiev_cutlets').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:okroshka').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:spaghetti_bolognese').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:pasta_carbonara').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:tiramisu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_croissants').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:croissants').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:ratatouille').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_quiche').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:quiche').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:bouillabaisse').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_crepes').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:crepes').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_bratwurst').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:bratwurst').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_tonkatsu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:tonkatsu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_takoyaki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:takoyaki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:kimchi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_bulgogi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:bulgogi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:raw_tandoori_chicken').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:tandoori_chicken').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:biryani').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:fresh_onion_soup_bread').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:lent_soup').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:gazpacho').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:kharcho').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:kholodnik').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:shurpa').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:fish_soup_tomato').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:pea_soup').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:minestrone').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:fish_soup').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
event.create('tfc_gurman:fresh_onion_soup').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods');
}

View file

@ -54,8 +54,8 @@ function registerTFGWorldGenMarsDecoBlocks(event) {
.soundType('crop')
.box(1, 0, 1, 15, 2, 15)
.mapColor('color_light_blue')
.tagItem('tfg:mars_plants')
.tagItem('forge:mushrooms')
.tagBoth('tfg:mars_plants')
.tagBoth('forge:mushrooms')
.tagBlock('tfg:do_not_destroy_in_space')
.tagBlock('minecraft:replaceable')
.tagBlock('tfc:can_be_ice_piled')
@ -65,7 +65,7 @@ function registerTFGWorldGenMarsDecoBlocks(event) {
.soundType('crop')
.box(0, 0, 0, 16, 1, 16)
.mapColor('color_cyan')
.tagItem('tfg:mars_plants')
.tagBoth('tfg:mars_plants')
.tagBlock('tfg:do_not_destroy_in_space')
.tagBlock('minecraft:replaceable')
.tagBlock('tfc:can_be_ice_piled')
@ -74,30 +74,30 @@ function registerTFGWorldGenMarsDecoBlocks(event) {
event.create('betterend:aurant_polypore', 'tfg:attached_decorative_plant')
.soundType('nether_wart')
.tagItem('tfg:mars_plants')
.tagItem('forge:mushrooms')
.tagBoth('tfg:mars_plants')
.tagBoth('forge:mushrooms')
.tagBlock('minecraft:replaceable')
.tagBlock('tfg:do_not_destroy_in_space')
event.create('betterend:purple_polypore', 'tfg:attached_decorative_plant')
.soundType('nether_wart')
.tagItem('tfg:mars_plants')
.tagItem('forge:mushrooms')
.tagBoth('tfg:mars_plants')
.tagBoth('forge:mushrooms')
.tagBlock('minecraft:replaceable')
.tagBlock('tfg:do_not_destroy_in_space')
event.create('betterend:filalux_wings', 'tfg:attached_decorative_plant')
.soundType('nether_wart')
.allowVertical(true)
.tagItem('tfg:mars_plants')
.tagItem('forge:mushrooms')
.tagBoth('tfg:mars_plants')
.tagBoth('forge:mushrooms')
.tagBlock('minecraft:replaceable')
.tagBlock('tfg:do_not_destroy_in_space')
event.create('betterend:bulb_moss', 'tfg:attached_decorative_plant')
.soundType('crop')
.lootItem('tfc:straw')
.tagItem('tfg:mars_plants')
.tagBoth('tfg:mars_plants')
.tagBlock('minecraft:replaceable')
.tagBlock('tfg:do_not_destroy_in_space')
@ -116,7 +116,7 @@ function registerTFGWorldGenMarsDecoBlocks(event) {
.tagBlock('tfg:do_not_destroy_in_space')
.mapColor('fire')
.seasonalColors(false)
.tagItem('tfg:mars_plants')
.tagBoth('tfg:mars_plants')
.fallenLeaves(leaves => {
leaves.noCollision()
leaves.notSolid()
@ -126,8 +126,8 @@ function registerTFGWorldGenMarsDecoBlocks(event) {
leaves.tagBlock('minecraft:replaceable')
leaves.noDynamicTinting()
leaves.models((modelType, generator) => {
if (modelType.layers != 8) {
generator.parent("tfc:block/groundcover/fallen_leaves_height" + modelType.height);
if (modelType.layers !== 8) {
generator.parent(`tfc:block/groundcover/fallen_leaves_height${modelType.height}`);
generator.texture("all", "betterend:block/cave_bush_leaves_1");
} else {
generator.parent("betterend:block/cave_bush_01");
@ -141,7 +141,7 @@ function registerTFGWorldGenMarsDecoBlocks(event) {
.tagBlock('tfg:do_not_destroy_in_space')
.mapColor('color_orange')
.seasonalColors(false)
.tagItem('tfg:mars_plants')
.tagBoth('tfg:mars_plants')
.fallenLeaves(leaves => {
leaves.noCollision()
leaves.notSolid()
@ -151,8 +151,8 @@ function registerTFGWorldGenMarsDecoBlocks(event) {
leaves.tagBlock('minecraft:replaceable')
leaves.noDynamicTinting()
leaves.models((modelType, generator) => {
if (modelType.layers != 8) {
generator.parent("tfc:block/groundcover/fallen_leaves_height" + modelType.height);
if (modelType.layers !== 8) {
generator.parent(`tfc:block/groundcover/fallen_leaves_height${modelType.height}`);
generator.texture("all", "betterend:block/lucernia_leaves_1");
} else {
generator.parent("betterend:block/lucernia_leaves_1");
@ -165,7 +165,7 @@ function registerTFGWorldGenMarsDecoBlocks(event) {
event.create('betterend:large_amaranita_mushroom', 'tfg:tall_decorative_plant')
.height(3)
.soundType('nether_wart')
.tagItem('tfg:mars_plants')
.tagBoth('tfg:mars_plants')
.tagBlock('tfg:do_not_destroy_in_space')
.tagItem('forge:mushrooms')
.mapColor('fire')
@ -173,7 +173,7 @@ function registerTFGWorldGenMarsDecoBlocks(event) {
event.create('betterend:lanceleaf', 'tfg:tall_decorative_plant')
.height(5)
.soundType('crop')
.tagItem('tfg:mars_plants')
.tagBoth('tfg:mars_plants')
.tagBlock('tfg:do_not_destroy_in_space')
.mapColor('color_orange')
@ -240,11 +240,12 @@ function registerTFGWorldGenMarsDecoBlocks(event) {
.resistance(6)
// makes it invisible on xaeros, so people can't use it to find the deposits :)
.mapColor('none')
.particleOffset(0.3, 1.5, 0.3)
.particleVelocity(0, 0.05, 0)
.particle('electric_spark')
.particleCount(2)
.particleForced(false)
.particles(a => a
.range(0.3, 1.5, 0.3)
.velocity(0, 0.05, 0)
.particle('electric_spark')
.count(2)
.forced(false))
.fullBlock(true)
.opaque(true)
}

View file

@ -1,6 +1,7 @@
"use strict";
function registerTFGMarsMaterials(event) {
const $BlastProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty")
event.create('liquid_carbon_dioxide')
.liquid(100) //Not realistic but I want it to be cryogenic
@ -22,6 +23,11 @@ function registerTFGMarsMaterials(event) {
event.create('residual_radioactive_concoction')
.liquid(new GTFluidBuilder().customStill().temperature(450))
// New OLA Materials
event.create('tfg:radioactive_effluent')
.liquid(new GTFluidBuilder().customStill().temperature(293))
// Atmosphere
event.create('tfg:mars_air')
@ -81,10 +87,10 @@ function registerTFGMarsMaterials(event) {
.components('2x pitchblende', '1x tricalcium_phosphate', '1x bauxite', '1x silver', '1x beryllium')
.color(0xbd7980)
.secondaryColor(0xA66C8D)
.iconSet(GTMaterialIconSet.getByName('tfc_cassiterite'))
.iconSet(GTMaterialIconSet.getByName('cereal_box'))
.ingot()
.liquid()
.blastTemp(3700, 'mid', GTValues.VA[GTValues.EV])
.blastTemp(3700, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.EV])
.flags(
GTMaterialFlags.DISABLE_DECOMPOSITION,
GTMaterialFlags.FORCE_GENERATE_BLOCK,
@ -98,9 +104,9 @@ function registerTFGMarsMaterials(event) {
.ingot()
.liquid()
.components('2x ostrum', 'iodine')
.blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120))
.iconSet(GTMaterialIconSet.BRIGHT)
.flags(GTMaterialFlags.GENERATE_GEAR)
.blastTemp(3700, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.IV], (20*120))
.iconSet(GTMaterialIconSet.getByName('cereal_box'))
.flags(GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_FOIL)
.color(0xc696f2)
.secondaryColor(0x9b99ff)
}

View file

@ -3,6 +3,8 @@
const registerTFGMaterials = (event) => {
const $BlastProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty")
//#region placeholder materials
event.create('unknown')
.color('0xFFFFFF')
@ -16,6 +18,14 @@ const registerTFGMaterials = (event) => {
event.create('methoxy')
.components('1x oxygen', '1x carbon', '3x hydrogen')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
event.create('methylene')
.components('1x carbon', '2x hydrogen')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
event.create('hydroxide')
.components('1x oxygen', '1x hydrogen')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
//#endregion
registerTFGPowerReworkMaterials(event);
@ -30,6 +40,7 @@ const registerTFGMaterials = (event) => {
registerTFGMarsMaterials(event);
registerTFGVenusMaterials(event);
registerTFGEuropaMaterials(event);
registerTFGAquaponicsMaterials(event);
// Refrigerants
@ -64,6 +75,40 @@ const registerTFGMaterials = (event) => {
.secondaryColor(0x67FFE6)
.formula("(Al2Si2O5(OH)4)(BeK4N5)")
// Bakelite
event.create('tfg:bakelite')
.polymer()
.fluid()
.color(0xF29104)
.secondaryColor(0xD96005)
.components('1x phenol', '1x formaldehyde')
.flags(
GTMaterialFlags.DISABLE_DECOMPOSITION,
GTMaterialFlags.NO_SMELTING,
GTMaterialFlags.GENERATE_PLATE,
GTMaterialFlags.GENERATE_FOIL
)
event.create('tfg:phenolic_resin')
.fluid()
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.components('1x phenol', '1x formaldehyde')
.color(0xFCD7A3)
// Coils
event.create('tfg:magnesium_hydroxide')
.dust()
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.components('1x magnesium', '2x hydroxide')
.color(0xC6E4FF)
event.create('tfg:magnesia_refractory_brick')
.dust()
.ingot()
.iconSet(GTMaterialIconSet.ROUGH)
.flags(GTMaterialFlags.NO_SMELTING)
.color(0xA69D96)
//#region Tungsten Line
@ -106,7 +151,7 @@ const registerTFGMaterials = (event) => {
.iconSet(GTMaterialIconSet.getByName('tfc_cassiterite'))
.ingot()
.liquid()
.blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120))
.blastTemp(3700, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.IV], (20*120))
.rotorStats(250, 90, 2 ,620)
.flags(
GTMaterialFlags.DISABLE_DECOMPOSITION,
@ -194,8 +239,18 @@ const registerTFGMaterials = (event) => {
.iconSet('dull')
.color(0x42705D)
.components('4x boron', '1x carbon')
.blastTemp(3041, "mid", GTValues.VA[GTValues.HV], 1500)
.blastTemp(3041, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.HV], 1500)
.flags(GTMaterialFlags.GENERATE_PLATE)
// #endregion
//#region Material for Coils
event.create('tfg:nichromium_iodomethylate')
.liquid(new GTFluidBuilder().temperature(1818))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.components('4x nickel', '1x chromium', '1x carbon', '3x hydrogen', '1x iodine')
.color(0xe7a2fc)
}

View file

@ -0,0 +1,11 @@
"use strict";
function registerTFGItemModifications(event) {
event.modify('tfg:fish_roe', item => {
item.foodProperties = food => {
food.hunger(2).saturation(2)
};
});
};

View file

@ -7,18 +7,18 @@ function registerTFGWorldGenMoonDecoBlocks(event) {
event.create('tfg:lunar_roots', 'tfg:decorative_plant')
.soundType('nether_wart')
.lightLevel(0.4)
.tagItem('tfg:moon_plants')
.tagBoth('tfg:moon_plants')
.tagBlock('minecraft:replaceable')
event.create('tfg:lunar_sprouts', 'tfg:decorative_plant')
.soundType('nether_wart')
.tagItem('tfg:moon_plants')
.tagBoth('tfg:moon_plants')
.tagBlock('minecraft:replaceable')
event.create('betterend:chorus_lily', 'tfc:ground_cover')
.soundType('cherry_wood')
.hardness(0.5)
.tagItem('tfg:moon_plants')
.tagBoth('tfg:moon_plants')
.tagBlock('minecraft:mineable/hoe')
.tagBlock('tfg:do_not_destroy_in_space')
.mapColor('terracotta_white')

View file

@ -1,6 +1,7 @@
"use strict";
function registerTFGMoonMaterials(event) {
const $BlastProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty")
// Solar Panel Chemicals
@ -85,7 +86,7 @@ function registerTFGMoonMaterials(event) {
.addOreByproducts('olivine', 'rutile', 'rutile')
.ingot()
.liquid()
.blastTemp(2800, 'mid', GTValues.VA[GTValues.HV])
.blastTemp(2800, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.HV])
.flags(
GTMaterialFlags.FORCE_GENERATE_BLOCK,
GTMaterialFlags.GENERATE_PLATE,

View file

@ -2,7 +2,7 @@
function registerTFGNuclearBlocks(event) {
// Insulation
// Insulation Fission Reactor
event.create('tfg:glacian_wool_frame')
.soundType('copper')
.hardness(4)
@ -27,7 +27,7 @@ function registerTFGNuclearBlocks(event) {
.resistance(6)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
// Unfinished Insulation
// Unfinished Insulation Reactor
event.create('tfg:moderate_core')
.soundType('ancient_debris')
.hardness(7)
@ -42,6 +42,34 @@ function registerTFGNuclearBlocks(event) {
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.model('tfg:block/fission/impure_moderate_core')
// Heat Battery Components
event.create('tfg:copper_sandy')
.soundType('ancient_debris')
.hardness(7)
.resistance(8)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.model('tfg:block/fission/copper_sandy')
event.create('tfg:beryllium_sandy')
.soundType('ancient_debris')
.hardness(7)
.resistance(8)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.model('tfg:block/fission/beryllium_sandy')
event.create('tfg:copper_sandy_frame')
.soundType('copper')
.hardness(4)
.resistance(6)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
event.create('tfg:beryllium_sandy_frame')
.soundType('copper')
.hardness(5)
.resistance(6)
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
// Nuclear cooling tower
event.create('tfg:titanium_exhaust_vent', 'tfg:active_particle_emitter')
.textureAll('tfg:block/titanium_exhaust_vent')
@ -51,12 +79,13 @@ function registerTFGNuclearBlocks(event) {
.tagBlock('gtceu:mineable/pickaxe_or_wrench')
.mapColor('color_black')
.speedFactor(1.1)
.activeOffset(2, 2, 2)
.activeVelocity(0.0, 0.0, 0.0)
.activeParticle('tfg:cooling_steam')
.activeBase(0.0, 13.5, 0.0)
.activeCount(2)
.activeForced(false)
.activeParticles(a => a
.range(2, 2, 2)
.velocity(0.0, 0.0, 0.0)
.particle('tfg:cooling_steam')
.position(0.0, 13.5, 0.0)
.count(2)
.forced(false))
.hasTicker(true)
.emitDelay(4);

View file

@ -5,8 +5,18 @@ function registerTFGNuclearItems(event) {
// Empty Fission Rod
event.create('tfg:empty_rod')
.translationKey('item.tfg.empty_road')
.texture('tfg:item/fuel_rod_empty')
.translationKey('item.tfg.empty_rod')
.texture('tfg:item/fission_rod/fuel_rod_empty')
.tag('tfg:fission_rods')
event.create('tfg:empty_rod_t2')
.translationKey('item.tfg.empty_rod_t2')
.texture('tfg:item/fission_rod/fuel_rod_empty_t2')
.tag('tfg:fission_rods')
event.create('tfg:empty_rod_t3')
.translationKey('item.tfg.empty_rod_t3')
.texture('tfg:item/fission_rod/fuel_rod_empty_t3')
.tag('tfg:fission_rods')
event.create('tfg:refrigerant_pellet')
@ -14,6 +24,11 @@ function registerTFGNuclearItems(event) {
.texture('tfg:item/refrigerant_pellet')
.tag('tfg:fission_coolant')
event.create('tfg:terrafirmaguard_pa6')
.translationKey('item.tfg.terrafirmaguard_pa6')
.texture('tfg:item/terrafirmaguard_pa6')
.tag('tfg:fission_coolant')
// Moderator Line
event.create('tfg:graphite_compound')

View file

@ -0,0 +1,8 @@
// priority: 0
"use strict";
GTCEuStartupEvents.registry('gtceu:machine', _ => {
const $FrComponents = Java.loadClass("fi.dea.mc.deafission.core.c2.fr.FrComponents");
const $ReactorBaseStats = Java.loadClass("fi.dea.mc.deafission.core.ReactorBaseStats");
$ReactorBaseStats.Smr1 = new $FrComponents(200, 0, 0);
})

View file

@ -50,10 +50,16 @@ const registerTFGNuclearMaterials = (event) => {
.components('1x water', '1x unknown')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
// Coolant
//#region Coolant
event.create('tfg:warm_water')
.liquid(new GTFluidBuilder().temperature(313))
.components('2x hydrogen', '1x oxygen')
.color(0x8de3fc)
.secondaryColor(0x81FFF9)
event.create('tfg:heavy_water')
.liquid(new GTFluidBuilder().temperature(236))
.liquid(new GTFluidBuilder().customStill().temperature(236))
.components('2x deuterium', '1x oxygen')
.color(0xB5B9FF)
.secondaryColor(0x81FFF9)
@ -65,16 +71,24 @@ const registerTFGNuclearMaterials = (event) => {
.secondaryColor(0x81FFF9)
event.create('tfg:boron_enriched_coolant')
.liquid(new GTFluidBuilder().temperature(213))
.liquid(new GTFluidBuilder().customStill().temperature(213))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0x43D6E4)
.secondaryColor(0x2C9AAF)
event.create('tfg:hot_boron_enriched_coolant')
.liquid(new GTFluidBuilder().temperature(2000))
.liquid(new GTFluidBuilder().customStill().temperature(2000))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xFF715B)
.secondaryColor(0xFF9D6E)
event.create('tfg:ticl4_doped_supercritical_co2')
.liquid(new GTFluidBuilder().customStill().temperature(500))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.components('1x titanium', '4x chlorine', '1x carbon', '2x oxygen')
event.create('tfg:spent_ticl4_doped_supercritical_co2')
.liquid(new GTFluidBuilder().customStill().temperature(2000))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.components('1x titanium', '4x chlorine', '1x carbon', '2x oxygen')
//#endregion
// Fision Waste
@ -84,7 +98,7 @@ const registerTFGNuclearMaterials = (event) => {
.color(0xB5B9FF)
.secondaryColor(0x81FFF9)
event.create('nuclear_waste')
event.create('tfg:tbu_waste')
.liquid(new GTFluidBuilder().customStill().temperature(3850))
.components('1x thorium', '1x uranium', '1x unknown')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
@ -114,7 +128,7 @@ const registerTFGNuclearMaterials = (event) => {
.secondaryColor(0xfc5e03)
event.create('tritiated_water')
.fluid()
.liquid(new GTFluidBuilder().customStill())
.components('2x tritium', '1x oxygen')
.color(0xb2c3e7)
@ -136,39 +150,81 @@ const registerTFGNuclearMaterials = (event) => {
// FLiBe Line
event.create('raw_rich_brine')
.liquid(new GTFluidBuilder().customStill().temperature(293))
event.create('tfg:raw_rich_brine')
.liquid(new GTFluidBuilder().temperature(293))
.color(0xf2b257)
.secondaryColor(0xcd8dbc)
event.create('hot_iodine_brine')
.liquid(new GTFluidBuilder().customStill().temperature(293))
event.create('tfg:hot_iodine_brine')
.liquid(new GTFluidBuilder().temperature(293))
.components('1x hydrogen', '1x iodine', '1x magnesium', '1x chlorine', '1x unknown')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xf26c57)
.secondaryColor(0xcd8dbc)
event.create('brominated_iodine_vapor')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(412))
event.create('tfg:brominated_iodine_vapor')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(412))
.components('1x hydrogen', '1x iodine', '1x unknown')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xf5f1b5)
.secondaryColor(0xcd8dbc)
event.create('basic_bromine_exhaust')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(406))
event.create('tfg:basic_bromine_exhaust')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(406))
.components('1x bromine', '1x unknown')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xf5bbb5)
.secondaryColor(0xcd8dbc)
event.create('flibe')
event.create('tfg:flibe')
.liquid(new GTFluidBuilder().customStill().temperature(293))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.components('1x fluorine', '1x lithium', '1x beryllium')
event.create('dirty_flibe')
.liquid(new GTFluidBuilder().customStill().temperature(293))
event.create('tfg:dirty_flibe')
.liquid(new GTFluidBuilder().temperature(293))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.components('1x flibe', '1x unknown')
.color(0xdaffd6)
.secondaryColor(0xcd8dbc)
event.create('hot_flibe')
event.create('tfg:hot_flibe')
.liquid(new GTFluidBuilder().customStill().temperature(3293))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.components('1x flibe')
// Material Fission Earth
event.create('boron_10')
.dust()
.element(GTElements.get("boron_10"))
.iconSet(GTMaterialIconSet.DULL)
.flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES)
.color(0xbffdbf)
.secondaryColor(0x6d7058)
event.create('caesium_137')
.dust()
.element(GTElements.get("caesium_137"))
.iconSet(GTMaterialIconSet.SHINY)
.flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES)
.color(0xFCB65C)
.secondaryColor(0x55461B)
event.create('tfg:boron_thrichloride')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(380))
.components('1x boron', '3x chlorine')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xb3fcb9)
//.secondaryColor(0x9FAFB2)
event.create('tfg:enriched_boron_thrichloride')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(480))
.components("boron_10", '3x chlorine')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0x65db6f)
.secondaryColor(0x9FAFB2)
//#endregion
//#region Dust
@ -199,6 +255,23 @@ const registerTFGNuclearMaterials = (event) => {
.secondaryColor('0xffffff')
.iconSet(GTMaterialIconSet.RADIOACTIVE)
event.create('tfg:boron_10_hydroxide')
.dust()
.components('boron_10', '2x oxygen', '1x hydrogen')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0x8ee8a6)
.secondaryColor('0xffffff')
.iconSet(GTMaterialIconSet.RADIOACTIVE)
event.create('tfg:sodium_deuteroxide')
.dust()
.components('1x sodium', '2x deuterium', '1x oxygen')
.formula('NaOD')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xfef8f6)
.secondaryColor('0xffffff')
.iconSet(GTMaterialIconSet.NETHERSTAR)
// FLiBe Dusts
event.create('lithium_carbonate')
@ -233,7 +306,7 @@ const registerTFGNuclearMaterials = (event) => {
.ingot()
.element(GTElements.get("thorium_230"))
.iconSet(GTMaterialIconSet.RADIOACTIVE)
.flags(GTMaterialFlags.GENERATE_ROD)
.flags(GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_LONG_ROD)
.color(0xf8a8c0)
.secondaryColor(0xcd8dbc)
.radioactiveHazard(1000000)
@ -242,35 +315,35 @@ const registerTFGNuclearMaterials = (event) => {
.ingot()
.element(GTElements.get("thorium_232"))
.iconSet(GTMaterialIconSet.RADIOACTIVE)
.flags(GTMaterialFlags.GENERATE_ROD)
.flags(GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_LONG_ROD)
.color(0x694c66)
.radioactiveHazard(1000)
event.create('tfg:americium_241')
event.create('americium_241')
.ingot()
.element(GTElements.get("americium_241"))
.iconSet(GTMaterialIconSet.RADIOACTIVE)
.flags(GTMaterialFlags.GENERATE_ROD)
.color(0x0600ff)
.secondaryColor(0x1b1d36)
.color(0x648ABA)
.secondaryColor(0x999900)
.radioactiveHazard(1000000)
event.create('tfg:neptunium_237')
event.create('neptunium_237')
.ingot()
.element(GTElements.get("neptunium_237"))
.iconSet(GTMaterialIconSet.RADIOACTIVE)
.flags(GTMaterialFlags.GENERATE_ROD)
.color(0x00df98)
.secondaryColor(0xffffff)
.secondaryColor(0x66ff00)
.radioactiveHazard(5000000)
event.create('tfg:californium_252')
event.create('californium_252')
.ingot()
.element(GTElements.get("californium_252"))
.iconSet(GTMaterialIconSet.RADIOACTIVE)
.flags(GTMaterialFlags.GENERATE_ROD)
.color(0xffba00)
.secondaryColor(0xdfffff)
.secondaryColor(0xA85A12)
.radioactiveHazard(10000000)
//#endregion
@ -324,73 +397,73 @@ const registerTFGNuclearMaterials = (event) => {
//#region Isotopic Solvent
// Organic Stabilizer
// Organic Stabilizer
event.create('tfg:organic_stabilizer')
.dust()
.components('49x carbon', '64x hydrogen', '6x oxygen', '1x nitrogen', '1x chlorine')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xd8c9b5)
.secondaryColor(0xb8a896)
.dust()
.components('31x carbon', '46x hydrogen', '3x oxygen', '1x nitrogen', '1x chlorine')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xd8c9b5)
.secondaryColor(0xb8a896)
.iconSet(GTMaterialIconSet.BRIGHT)
// Trace Catalyst Salt - E
event.create('tfg:trace_catalyst_salt_e')
.dust()
.components(
'2x carbon',
'9x hydrogen',
'8x oxygen',
'1x copper',
'1x sodium',
'1x chlorine',
'1x magnesium',
'1x fluorine',
'1x sulfur')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xcad4cf)
.secondaryColor(0x9eb1a9)
.dust()
.components(
'2x carbon',
'9x hydrogen',
'8x oxygen',
'1x copper',
'1x sodium',
'1x chlorine',
'1x magnesium',
'1x fluorine',
'1x sulfur')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xcad4cf)
.secondaryColor(0x9eb1a9)
.iconSet(GTMaterialIconSet.EMERALD)
// Sodium Fluoride
event.create('tfg:sodium_fluoride')
.dust()
.components('1x sodium', '1x fluorine')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xffffff)
.secondaryColor(0xb7b9bd)
.dust()
.components('1x sodium', '1x fluorine')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xffffff)
.secondaryColor(0xb7b9bd)
.iconSet(GTMaterialIconSet.ROUGH)
// Copper Trace Catalyst Dust
event.create('tfg:copper_trace_catalyst_dust')
.dust()
.components('1x copper', '1x sodium', '1x chlorine', '1x magnesium', '1x fluorine', '1x sulfur', '6x oxygen', '1x hydrogen')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0x4a2e1a)
.secondaryColor(0x7a5c47)
event.create('tfg:copper_trace_catalyst')
.dust()
.components('1x copper', '1x sodium', '1x chlorine', '1x magnesium', '1x fluorine', '1x sulfur', '6x oxygen', '1x hydrogen')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0x4a2e1a)
.secondaryColor(0x7a5c47)
.iconSet(GTMaterialIconSet.FINE)
// Isotopic Solvent
event.create('tfg:isotopic_solvent')
.liquid(new GTFluidBuilder().temperature(320))
.components(
'51x carbon',
'75x hydrogen',
'15x oxygen',
'1x nitrogen',
'2x chlorine',
'2x sodium',
'2x fluorine',
'1x copper',
'1x magnesium',
'1x sulfur',
'1x argon')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xd4b464)
.secondaryColor(0xa88e55)
.liquid(new GTFluidBuilder().customStill().temperature(320))
.components(
'33x carbon',
'57x hydrogen',
'12x oxygen',
'1x nitrogen',
'2x chlorine',
'2x sodium',
'2x fluorine',
'1x copper',
'1x magnesium',
'1x sulfur',
'1x argon')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xd4b464)
.secondaryColor(0xa88e55)
// Degraded Solvent Stream
event.create('tfg:degraded_solvent_stream')
.liquid(new GTFluidBuilder().temperature(350))
.liquid(new GTFluidBuilder().customStill().temperature(350))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0x8b4513)
.secondaryColor(0xd2b48c)
@ -440,6 +513,19 @@ const registerTFGNuclearMaterials = (event) => {
.color(0xff4500)
.secondaryColor(0xff6347)
// High Grade
event.create('tfg:high_grade_isotopic_solvent')
.liquid(new GTFluidBuilder().customStill().temperature(300))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xfc7303)
.secondaryColor(0xfcf403)
event.create('tfg:degraded_high_grade_isotopic_solvent')
.liquid(new GTFluidBuilder().customStill().temperature(300))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xfc7303)
.secondaryColor(0xfcf403)
};
@ -485,12 +571,14 @@ StartupEvents.registry("item", (event) => {
}
};
fuel("thorium_rod", 5000, 1, 0.7, false); // Max Heat 139 - 1 Fuel
fuel("uranium_rod", 20000, 1, 2.2, false); // Max Heat 435 - 1 Fuel
fuel("plutonium_rod", 30000, 4, 3, false); // Max Heat 595 - 1 Fuel
fuel("tbu_232_rod", 10000, 1, 2); // Max Heat 396 - 1 Fuel
fuel("thorium_rod", 5000, 1, 0.7); // Max Heat 139 - 1 Fuel
fuel("uranium_rod", 20000, 1, 2.2); // Max Heat 435 - 1 Fuel
fuel("plutonium_rod", 30000, 1, 3); // Max Heat 595 - 1 Fuel
fuel("tbu_232_rod", 5000, 1, 2); // Max Heat 396 - 1 Fuel
fuel("americium_241_rod", 5000000, 1, 0.5); // Max Heat 99 - 1 Fuel
fuel("neptunium_237_rod", 100000, 1, 2); // Max Heat 396 - 1 Fuel
fuel("californium_252_rod", 500000, 1, 4); // Max Heat 792 - 1 Fuel
fuel("americium_241_rod", 1000000, 1, 0.5);
fuel("neptunium_237_rod", 50000, 1, 2);
fuel("californium_252_rod", 500000, 1, 4);
});

View file

@ -34,7 +34,7 @@ function registerTFGSupportBlocks(event) {
.soundType('wood')
.hardness(2)
.resistance(2)
.mapColor('color_white')
.mapColor('terracotta_purple')
.tagBlock('minecraft:mineable/axe')
.requiresTool(false)
@ -55,314 +55,23 @@ function registerTFGSupportBlocks(event) {
.mapColor('crimson_stem')
.tagBlock('minecraft:mineable/axe')
.requiresTool(false)
// Stone
global.TFC_STONE_TYPES.forEach(stone => {
event.create(`tfg:${stone}_support`, 'tfc:support')
.textureAll(`tfc:block/rock/raw/${stone}`)
.horizontal(horizontal => {
horizontal.textureAll(`tfc:block/rock/raw/${stone}`)
horizontal.soundType('stone')
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor('color_gray')
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType('stone')
.hardness(5)
.resistance(8)
.mapColor('color_gray')
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
})
event.create(`tfg:migmatite_support`, 'tfc:support')
.textureAll('minecraft:block/deepslate')
.horizontal(horizontal => {
horizontal.textureAll('minecraft:block/deepslate')
horizontal.soundType(global.STONE_CHARACS.deepslate.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.deepslate.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.deepslate.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.deepslate.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:pyroxenite_support`, 'tfc:support')
.textureAll('minecraft:block/blackstone')
.horizontal(horizontal => {
horizontal.textureAll('minecraft:block/blackstone')
horizontal.soundType(global.STONE_CHARACS.blackstone.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.blackstone.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.blackstone.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.blackstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:travertine_support`, 'tfc:support')
.textureAll('minecraft:block/dripstone_block')
.horizontal(horizontal => {
horizontal.textureAll('minecraft:block/dripstone_block')
horizontal.soundType(global.STONE_CHARACS.dripstone.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.dripstone.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.dripstone.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:keratophyre_support`, 'tfc:support')
.textureAll('beneath:block/crackrack')
.horizontal(horizontal => {
horizontal.textureAll('beneath:block/crackrack')
horizontal.soundType(global.STONE_CHARACS.crackrack.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.crackrack.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.crackrack.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.crackrack.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:anorthosite_support`, 'tfc:support')
.textureAll('ad_astra:block/moon_stone')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/moon_stone')
horizontal.soundType(global.STONE_CHARACS.moon.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.moon.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.moon.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.moon.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:norite_support`, 'tfc:support')
.textureAll('ad_astra:block/moon_deepslate')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/moon_deepslate')
horizontal.soundType(global.STONE_CHARACS.moon_deepslate.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.moon_deepslate.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.moon_deepslate.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.moon_deepslate.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:argillite_support`, 'tfc:support')
.textureAll('ad_astra:block/mars_stone')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/mars_stone')
horizontal.soundType(global.STONE_CHARACS.mars.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.mars.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.mars.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.mars.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:trachyte_support`, 'tfc:support')
.textureAll('ad_astra:block/venus_stone')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/venus_stone')
horizontal.soundType(global.STONE_CHARACS.venus.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.venus.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.venus.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.venus.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:komatiite_support`, 'tfc:support')
.textureAll('ad_astra:block/mercury_stone')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/mercury_stone')
horizontal.soundType(global.STONE_CHARACS.mercury.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.mercury.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.mercury.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.mercury.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:phonolite_support`, 'tfc:support')
.textureAll('ad_astra:block/glacio_stone')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/glacio_stone')
horizontal.soundType(global.STONE_CHARACS.glacio.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.glacio.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.glacio.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.glacio.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:permafrost_support`, 'tfc:support')
.textureAll('ad_astra:block/permafrost')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/permafrost')
horizontal.soundType(global.STONE_CHARACS.permafrost.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.permafrost.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.permafrost.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.permafrost.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:red_granite_support`, 'tfc:support')
.textureAll('gtceu:block/stones/red_granite/stone')
.horizontal(horizontal => {
horizontal.textureAll('gtceu:block/stones/red_granite/stone')
horizontal.soundType(global.STONE_CHARACS.red_granite.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.red_granite.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.red_granite.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.red_granite.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:stone_support`, 'tfc:support')
.textureAll('minecraft:block/stone')
.horizontal(horizontal => {
horizontal.textureAll('minecraft:block/stone')
horizontal.soundType(global.STONE_CHARACS.reconstituted.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.reconstituted.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.reconstituted.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.reconstituted.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
// Concrete
event.create('tfg:light_concrete_support', 'tfc:support')
.textureAll('gtceu:block/stones/light_concrete/stone')
.horizontal(horizontal => {
horizontal.textureAll('gtceu:block/stones/light_concrete/stone')
horizontal.soundType(global.STONE_CHARACS.light_concrete.sound)
horizontal.hardness(5)
horizontal.resistance(16)
horizontal.mapColor(global.STONE_CHARACS.light_concrete.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.light_concrete.sound)
.hardness(5)
.resistance(16)
.mapColor(global.STONE_CHARACS.light_concrete.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
// Reinforced Concrete
event.create('tfg:reinforced_light_concrete_support', 'tfc:support')
.textureAll('gtceu:block/stones/light_concrete/stone')
.horizontal(horizontal => {
horizontal.textureAll('gtceu:block/stones/light_concrete/stone')
horizontal.soundType(global.STONE_CHARACS.light_concrete.sound)
horizontal.soundType(global.BIG_ROCK_TABLE.light_concrete.sound)
horizontal.hardness(5)
horizontal.resistance(64)
horizontal.mapColor(global.STONE_CHARACS.light_concrete.mapColor)
horizontal.mapColor(global.BIG_ROCK_TABLE.light_concrete.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.light_concrete.sound)
.soundType(global.BIG_ROCK_TABLE.light_concrete.sound)
.hardness(5)
.resistance(64)
.mapColor(global.STONE_CHARACS.light_concrete.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create('tfg:dark_concrete_support', 'tfc:support')
.textureAll('gtceu:block/stones/dark_concrete/stone')
.horizontal(horizontal => {
horizontal.textureAll('gtceu:block/stones/dark_concrete/stone')
horizontal.soundType(global.STONE_CHARACS.dark_concrete.sound)
horizontal.hardness(5)
horizontal.resistance(16)
horizontal.mapColor(global.STONE_CHARACS.dark_concrete.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.dark_concrete.sound)
.hardness(5)
.resistance(16)
.mapColor(global.STONE_CHARACS.dark_concrete.mapColor)
.mapColor(global.BIG_ROCK_TABLE.light_concrete.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
@ -370,17 +79,17 @@ function registerTFGSupportBlocks(event) {
.textureAll('gtceu:block/stones/dark_concrete/stone')
.horizontal(horizontal => {
horizontal.textureAll('gtceu:block/stones/dark_concrete/stone')
horizontal.soundType(global.STONE_CHARACS.dark_concrete.sound)
horizontal.soundType(global.BIG_ROCK_TABLE.dark_concrete.sound)
horizontal.hardness(5)
horizontal.resistance(64)
horizontal.mapColor(global.STONE_CHARACS.dark_concrete.mapColor)
horizontal.mapColor(global.BIG_ROCK_TABLE.dark_concrete.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.dark_concrete.sound)
.soundType(global.BIG_ROCK_TABLE.dark_concrete.sound)
.hardness(5)
.resistance(64)
.mapColor(global.STONE_CHARACS.dark_concrete.mapColor)
.mapColor(global.BIG_ROCK_TABLE.dark_concrete.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)

View file

@ -25,7 +25,6 @@ function registerTFGPrimitiveItems(event) {
// Chipboard
event.create('tfg:chipboard_composite')
event.create('tfg:treated_chipboard_composite')
event.create('tfg:high_density_treated_fiberboard')
// Wax
event.create('tfg:paraffin_wax')
@ -102,9 +101,20 @@ function registerTFGPrimitiveItems(event) {
// Universal compost items
event.create('tfg:universal_compost_browns')
.tag('tfc:compost_browns_low')
.translationKey('item.tfg.universal_compost_browns')
event.create('tfg:universal_compost_greens')
.tag('tfc:compost_greens_low')
.translationKey('item.tfg.universal_compost_greens')
// Universal compost bag items
event.create('tfg:universal_compost_browns_bag')
.tag('tfc:compost_browns_high')
.translationKey('item.tfg.universal_compost_browns_bag')
event.create('tfg:universal_compost_greens_bag')
.tag('tfc:compost_greens_high')
.translationKey('item.tfg.universal_compost_greens_bag')
// Etched Diamond Etching Tip
event.create('tfg:etching_diamond_tip')
@ -192,7 +202,7 @@ function registerTFGPrimitiveItems(event) {
.texture("fluid", "tfg:item/mold/fired/nugget_mold_overlay")
.tag('tfc:fired_molds')
.tag('tfc:molds')
.fluidTagAccept('tfc:usable_in_ingot_mold')
.fluidTagAccept('tfg:usable_in_nugget_mold')
.tfcccAllowedInMoldTable([
"XXXXXXXXXXXXXX",
"XXXXXXXXXXXXXX",

View file

@ -94,5 +94,35 @@ function registerTFGPrimitiveMaterials(event) {
.dust()
.color(0xf0ccb4)
.formula("C6H3(OH)3")
.iconSet('rough')
.iconSet(GTMaterialIconSet.ROUGH)
// Fire clay
event.create('tfg:refractory_clay')
.dust()
.iconSet(GTMaterialIconSet.ROUGH)
.color(0xB49AA2)
.secondaryColor(0x60545F)
// Weak colored steel
event.create('tfg:weak_blue_steel')
.dust()
.ingot()
.liquid()
.components('1x sterling_silver', '1x bismuth_bronze', '2x steel', '4x black_steel')
.blastTemp(1000, null, GTValues.VA[GTValues.MV], 25 * 20)
.color(0x697FBD)
.secondaryColor(0x384B82)
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_SMELTING, GTMaterialFlags.DISABLE_ALLOY_BLAST)
.iconSet(GTMaterialIconSet.METALLIC)
event.create('tfg:weak_red_steel')
.dust()
.ingot()
.liquid()
.components('1x brass', '1x rose_gold', '2x steel', '4x black_steel')
.blastTemp(1000, null, GTValues.VA[GTValues.MV], 25 * 20)
.color(0xB55C5C)
.secondaryColor(0x7D3232)
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_SMELTING, GTMaterialFlags.DISABLE_ALLOY_BLAST)
.iconSet(GTMaterialIconSet.METALLIC)
}

View file

@ -7,23 +7,31 @@ function registerTFGSounds(event) {
event.create('tfg:ambient.upper_nether_cave.loop')
event.create('tfg:ambient.upper_nether.additions')
event.create('tfg:ambient.upper_nether.mood')
event.create('tfg:ambient.lower_nether.loop')
event.create('tfg:ambient.lower_nether.additions')
event.create('tfg:ambient.lower_nether.mood')
event.create('tfg:music.nether')
event.create('tfg:music.orbit')
event.create('tfg:ambient.moon.additions')
event.create('tfg:ambient.moon.mood')
event.create('tfg:music.moon')
event.create('tfg:ambient.mars_desert.loop')
event.create('tfg:ambient.mars_desert.additions')
event.create('tfg:ambient.mars_desert.mood')
event.create('tfg:ambient.mars_land.loop')
event.create('tfg:ambient.mars_land.additions')
event.create('tfg:ambient.mars_land.mood')
event.create('tfg:music.mars')
event.create('tfg:ambient.venus_surface.loop')
event.create('tfg:ambient.venus_surface.additions')
event.create('tfg:ambient.venus_surface.mood')
event.create('tfg:music.venus')
event.create('tfg:music.mercury')
event.create('tfg:music.europa')
}

View file

@ -1,6 +1,7 @@
"use strict";
function registerTFGRocketMaterials(event) {
const $BlastProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty")
// Space Rocket Materials
@ -10,7 +11,7 @@ function registerTFGRocketMaterials(event) {
.color(0x333e47)
.iconSet('metallic')
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR)
.blastTemp(1760, 'low', 256, 900)
.blastTemp(1760, $BlastProperty.GasTier.MID, 256, 900)
event.create('rocket_alloy_t2')
.ingot()
@ -18,20 +19,20 @@ function registerTFGRocketMaterials(event) {
.color(0x3c253d)
.iconSet('metallic')
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.DISABLE_ALLOY_BLAST)
.blastTemp(3200, 'mid', 1024, 1100)
.blastTemp(3200, $BlastProperty.GasTier.MID, 1024, 1100)
.liquid()
/* event.create('rocket_alloy_t3')
.ingot()
.components('8x titanium', '9x tungsten_steel', '2x tantalum', '2x radon')
.color(0x6c678b)
//.secondaryColor(0xa59fc6)
.liquid()
.removeHazard()
.iconSet('metallic')
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR)
.blastTemp(4200, 'high', 4096, 1300)
*/
/* event.create('rocket_alloy_t3')
.ingot()
.components('8x titanium', '9x tungsten_steel', '2x tantalum', '2x radon')
.color(0x6c678b)
//.secondaryColor(0xa59fc6)
.liquid()
.removeHazard()
.iconSet('metallic')
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR)
.blastTemp(4200, $BlastProperty.GasTier.MID, 4096, 1300)
*/
// Insulation
event.create('vitrified_asbestos')
@ -89,7 +90,7 @@ function registerTFGRocketMaterials(event) {
.color(0xCCE3E3)
.secondaryColor(0xCCE3E3)
//#endregion
//#region polyurethane
event.create('tfg:aniline')
.liquid()
@ -103,20 +104,20 @@ function registerTFGRocketMaterials(event) {
event.create('tfg:methyl_phenylcarbamate')
.liquid()
.flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING)
.components('8x carbon','9x hydrogen','1x nitrogen', '2x oxygen')
.components('8x carbon', '9x hydrogen', '1x nitrogen', '2x oxygen')
.color(0xB4EDB4)
event.create('tfg:methylene_diphenyl_dicarbamate')
.liquid()
.flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING)
.components('17x carbon','18x hydrogen','2x nitrogen', '4x oxygen')
.components('17x carbon', '18x hydrogen', '2x nitrogen', '4x oxygen')
.color(0x69C2C1)
event.create('tfg:methylene_diphenyl_diisocyanate')
.dust()
.flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING)
.components('13x carbon','10x hydrogen','2x nitrogen', '2x oxygen')
.components('13x carbon', '10x hydrogen', '2x nitrogen', '2x oxygen')
.color(0xFFFFBA)
//#endregion
//#region aerogel
event.create('tfg:tmos')
.liquid()

View file

@ -1,86 +0,0 @@
function registerTFGAqueductBlocks(event) {
// Nether
event.create('tfg:rock/aqueduct_deepslate', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.deepslate.sound)
.textureAll('minecraft:block/deepslate_bricks')
.mapColor(global.STONE_CHARACS.deepslate.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_dripstone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.dripstone.sound)
.textureAll('create:block/palettes/stone_types/brick/dripstone_cut_brick')
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_nether', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.nether.sound)
.textureAll('minecraft:block/nether_bricks')
.mapColor(global.STONE_CHARACS.nether.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_moon_stone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.moon.sound)
.textureAll('ad_astra:block/moon_stone_bricks')
.mapColor(global.STONE_CHARACS.moon.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_moon_deepslate', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.moon_deepslate.sound)
.textureAll('tfg:block/rock/bricks_moon_deepslate')
.mapColor(global.STONE_CHARACS.moon_deepslate.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_mars_stone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.mars.sound)
.textureAll('ad_astra:block/mars_stone_bricks')
.mapColor(global.STONE_CHARACS.mars.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_venus_stone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.venus.sound)
.textureAll('ad_astra:block/venus_stone_bricks')
.mapColor(global.STONE_CHARACS.venus.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_mercury_stone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.mercury.sound)
.textureAll('ad_astra:block/mercury_stone_bricks')
.mapColor(global.STONE_CHARACS.mercury.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_glacio_stone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.glacio.sound)
.textureAll('ad_astra:block/glacio_stone_bricks')
.mapColor(global.STONE_CHARACS.glacio.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_permafrost', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.permafrost.sound)
.textureAll('ad_astra:block/permafrost_bricks')
.mapColor(global.STONE_CHARACS.permafrost.mapColor)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_red_granite', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.red_granite.sound)
.textureAll('gtceu:block/stones/red_granite/bricks')
.mapColor(global.STONE_CHARACS.red_granite.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_stone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.reconstituted.sound)
.textureAll('minecraft:block/stone_bricks')
.mapColor(global.STONE_CHARACS.reconstituted.mapColor)
.tagBoth('tfg:rock/aqueducts')
}

File diff suppressed because it is too large Load diff

View file

@ -1,56 +0,0 @@
"use strict";
function registerTFGVanillaStoneBlocks(event) {
event.create(`tfg:rock/stone_wall`, 'wall')
.soundType(global.STONE_CHARACS.reconstituted.sound)
.textureAll('minecraft:block/stone')
.tagBoth('tfg:rock_wall')
.mapColor(global.STONE_CHARACS.reconstituted.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
let SHAPES = ['stairs', 'wall']
SHAPES.forEach(shape => {
event.create(`tfg:rock/smooth_stone_${shape}`, shape)
.soundType(global.STONE_CHARACS.reconstituted.sound)
.textureAll('minecraft:block/smooth_stone')
.tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's'))
.mapColor(global.STONE_CHARACS.reconstituted.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
})
SHAPES = ['stairs', 'slab', 'wall']
SHAPES.forEach(shape => {
event.create(`tfg:rock/cracked_bricks_stone_${shape}`, shape)
.soundType(global.STONE_CHARACS.reconstituted.sound)
.textureAll('minecraft:block/cracked_stone_bricks')
.tagBoth(`tfg:brick_${shape}s`.replace(/ss/g, 's'))
.mapColor(global.STONE_CHARACS.reconstituted.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
})
event.create('tfg:rock/quartz_wall', 'wall')
.soundType('stone')
.textureAll('minecraft:block/quartz_block_side')
.tagBoth('tfg:rock_wall')
.mapColor('snow')
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
event.create('tfg:rock/smooth_quartz_wall', 'wall')
.soundType('stone')
.textureAll('minecraft:block/quartz_block_bottom')
.tagBoth('tfg:rock_wall')
.mapColor('snow')
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
}

File diff suppressed because it is too large Load diff

View file

@ -2,42 +2,14 @@
function registerTFGRockItems(event) {
event.create('tfg:brick/deepslate')
.tag(`tfc:metamorphic_items`)
.translationKey('item.tfg.brick.deepslate')
for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) {
event.create('tfg:brick/dripstone')
.tag(`tfc:sedimentary_items`)
.translationKey('item.tfg.brick.dripstone')
if (rock.brick != null && rock.brick.startsWith('tfg:brick/')) {
let brickItem = event.create(rock.brick);
event.create('tfg:brick/moon_stone')
.tag(`tfc:igneous_intrusive_items`)
.translationKey('item.tfg.brick.moon_stone')
event.create('tfg:brick/moon_deepslate')
.tag(`tfc:igneous_intrusive_items`)
.translationKey('item.tfg.moon_deepslate')
event.create('tfg:brick/mars_stone')
.tag(`tfc:sedimentary_items`)
.translationKey('item.tfg.brick.mars_stone')
event.create('tfg:brick/venus_stone')
.tag(`tfc:igneous_extrusive_items`)
.translationKey('item.tfg.brick.venus_stone')
event.create('tfg:brick/mercury_stone')
.tag(`tfc:igneous_intrusive_items`)
.translationKey('item.tfg.brick.mercury_stone')
event.create('tfg:brick/glacio_stone')
.tag(`tfc:igneous_extrusive_items`)
.translationKey('item.tfg.brick.glacio_stone')
event.create('tfg:brick/permafrost')
.translationKey('item.tfg.brick.permafrost')
event.create('tfg:brick/red_granite')
.tag(`tfc:igneous_intrusive_items`)
.translationKey('item.tfg.red_granite')
if (rock.tfcTag != null) {
brickItem.tag(rock.tfcTag)
}
}
}
}

View file

@ -2,42 +2,31 @@
"use strict";
const registerTFGRockMaterials = (event) => {
const registerStoneMaterial = (rockType, color) =>
event.create(`tfg:${rockType}`)
.dust()
.color(color)
.iconSet(GTMaterialIconSet.ROUGH)
.flags(
GTMaterialFlags.MORTAR_GRINDABLE,
GTMaterialFlags.NO_SMASHING,
GTMaterialFlags.NO_SMELTING
)
/* TFC Stone Types Materials */
registerStoneMaterial('gabbro', 0x7F8081)
registerStoneMaterial('shale', 0x686567)
registerStoneMaterial('claystone', 0xAF9377)
registerStoneMaterial('limestone', 0xA09885)
registerStoneMaterial('conglomerate', 0xA3977F)
registerStoneMaterial('dolomite', 0x515155)
registerStoneMaterial('chert', 0x7A6756)
registerStoneMaterial('chalk', 0xA4A39F)
registerStoneMaterial('rhyolite', 0x726D69)
registerStoneMaterial('dacite', 0x979797)
registerStoneMaterial('slate', 0x989287)
registerStoneMaterial('phyllite', 0x706B61)
registerStoneMaterial('schist', 0x6E735C)
registerStoneMaterial('gneiss', 0x6A6D60)
// Specialized icon sets for TFC's own
modifyTFGIconSets(event)
registerStoneMaterial('dripstone', 0x927965)
const registerStoneMaterial = (rockType, color, components) =>
event.create(`tfg:${rockType}`)
.color(color)
.dust()
.iconSet(GTMaterialIconSet.ROUGH)
.components(components)
.flags(
GTMaterialFlags.MORTAR_GRINDABLE,
GTMaterialFlags.NO_SMASHING,
GTMaterialFlags.NO_SMELTING,
GTMaterialFlags.DISABLE_DECOMPOSITION);
registerStoneMaterial('moon_stone', 0x506869)
registerStoneMaterial('moon_deepslate', 0x45474D)
registerStoneMaterial('mars_stone', 0xD08957)
registerStoneMaterial('venus_stone', 0xD5A664)
registerStoneMaterial('mercury_stone', 0x723E49)
registerStoneMaterial('glacio_stone', 0x9897BF)
// event.create() returns a material builder, not the actual material
registerStoneMaterial('sedimentary_clastic', 0xAF9377, ['quartzite', 'potassium_feldspar']);
registerStoneMaterial('sedimentary_carbonate', 0xADA67A, ['quartzite', 'calcite']);
registerStoneMaterial('sedimentary_organic', 0xA8706B, ['flint', 'unknown']);
// Specialized icon sets for TFC's own
modifyTFGIconSets(event)
registerStoneMaterial('metamorphic', 0x876981, ['marble', 'deepslate']);
registerStoneMaterial('igneous_ultramafic', 0x45474D, ['blackstone']);
registerStoneMaterial('igneous_mafic', 0x525D6B, ['basalt']);
registerStoneMaterial('igneous_intermediate', 0x71818A, ['andesite']);
registerStoneMaterial('igneous_felsic', 0x97B2BF, ['granite_red']);
}

View file

@ -1,10 +1,9 @@
// priority: 0
"use strict";
const registerTFCTagPrefixes = (event) => {
// These ores break worldgen if removed somehow?
// TagPrefix.ORES.remove(TagPrefix.ore)
const registerTFGRocksTagPrefixes = (event) => {
TagPrefix.ORES.remove(TagPrefix.oreDeepslate)
TagPrefix.ORES.remove(TagPrefix.oreTuff)
TagPrefix.ORES.remove(TagPrefix.oreSand)
TagPrefix.ORES.remove(TagPrefix.oreRedSand)
@ -13,24 +12,22 @@ const registerTFCTagPrefixes = (event) => {
TagPrefix.ORES.remove(TagPrefix.oreEndstone)
TagPrefix.ORES.remove(TagPrefix.oreNetherrack)
TagPrefix.ORES.remove(TagPrefix.oreBlackstone)
TagPrefix.ORES.remove(TagPrefix.oreBasalt)
TagPrefix.ORES.remove(TagPrefix.oreAndesite)
TagPrefix.ORES.remove(TagPrefix.oreDiorite)
TagPrefix.ORES.remove(TagPrefix.oreGranite)
TagPrefix.ORES.remove(TagPrefix.oreRedGranite)
const shouldGenerateOre = (material) => {
return material.hasProperty(PropertyKey.ORE) && material !== GTMaterials.Plutonium239;
return material.hasProperty(PropertyKey.ORE);
}
global.TFC_STONE_TYPES.forEach(stoneTypeName => {
const material = GTCEuAPI.materialManager.getMaterial(stoneTypeName)
event.create(`${stoneTypeName}`, 'ore')
.stateSupplier(() => Block.getBlock('minecraft:stone').defaultBlockState())
.baseModelLocation(`tfc:block/rock/raw/${stoneTypeName}`)
.unificationEnabled(true)
.materialSupplier(() => material)
.materialIconType(GTMaterialIconType.ore)
.generationCondition(shouldGenerateOre)
@ -48,17 +45,24 @@ const registerTFCTagPrefixes = (event) => {
.unificationEnabled(true)
.materialIconType(GTMaterialIconType.ore)
.generationCondition(shouldGenerateOre)
.materialSupplier(() => GTMaterials.Blackstone)
TFGHelpers.registerCobbleBlock('pyroxenite', 'tfg:rock/cobble_blackstone');
event.create('deepslate', 'ore')
.stateSupplier(() => Block.getBlock('minecraft:deepslate').defaultBlockState())
.baseModelLocation('minecraft:block/deepslate')
.unificationEnabled(true)
.materialIconType(GTMaterialIconType.ore)
.generationCondition(shouldGenerateOre)
TFGHelpers.registerCobbleBlock('deepslate', 'minecraft:cobbled_deepslate');
event.create('dripstone', 'ore')
.stateSupplier(() => Block.getBlock('minecraft:dripstone_block').defaultBlockState())
.baseModelLocation('minecraft:block/dripstone_block')
.unificationEnabled(true)
.materialIconType(GTMaterialIconType.ore)
.generationCondition(shouldGenerateOre)
.materialSupplier(() => GTCEuAPI.materialManager.getMaterial('dripstone'))
TFGHelpers.registerCobbleBlock('dripstone', 'tfg:rock/cobble_dripstone');
@ -115,4 +119,31 @@ const registerTFCTagPrefixes = (event) => {
.generationCondition(shouldGenerateOre)
TFGHelpers.registerCobbleBlock('glacio_stone', 'ad_astra:glacio_cobblestone');
event.create('red_granite', 'ore')
.stateSupplier(() => Block.getBlock('tfg:rock/hardened_red_granite').defaultBlockState())
.baseModelLocation('gtceu:block/red_granite')
.unificationEnabled(true)
.materialIconType(GTMaterialIconType.ore)
.generationCondition(shouldGenerateOre)
TFGHelpers.registerCobbleBlock('red_granite', 'gtceu:red_granite_cobblestone');
event.create('flavolite', 'ore')
.stateSupplier(() => Block.getBlock('tfg:rock/hardened_flavolite').defaultBlockState())
.baseModelLocation('betterend:block/flavolite')
.unificationEnabled(true)
.materialIconType(GTMaterialIconType.ore)
.generationCondition(shouldGenerateOre)
TFGHelpers.registerCobbleBlock('flavolite', 'tfg:rock/cobble_flavolite');
event.create('sandy_jadestone', 'ore')
.stateSupplier(() => Block.getBlock('tfg:rock/hardened_sandy_jadestone').defaultBlockState())
.baseModelLocation('betterend:block/sandy_jadestone')
.unificationEnabled(true)
.materialIconType(GTMaterialIconType.ore)
.generationCondition(shouldGenerateOre)
TFGHelpers.registerCobbleBlock('sandy_jadestone', 'tfg:rock/cobble_sandy_jadestone');
}

View file

@ -3,6 +3,8 @@
function registerTFGTagPrefixes(event) {
registerTFGRocksTagPrefixes(event)
excludeAllGemsButNormal(GTMaterials.get('tfg:apt'));
TagPrefix.block.setIgnored(GTMaterials.get('tfg:apt'));
excludeAllGemsButNormal(GTMaterials.get('tfg:tetrafluoroethane'));
@ -18,6 +20,9 @@ function registerTFGTagPrefixes(event) {
TagPrefix.ingot.setIgnored(GTMaterials.RawRubber);
TagPrefix.plate.setIgnored(GTMaterials.RawRubber);
TagPrefix.plateDouble.setIgnored(GTMaterials.RawRubber);
TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:magnesia_refractory_brick'))
TagPrefix.block.setIgnored(GTMaterials.get('tfg:magnesia_refractory_brick'))
}
function excludeAllGemsButNormal(material) {

View file

@ -8,11 +8,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) {
.box(3, 0, 3, 13, 10, 13)
.resistance(6)
.hardness(1.5)
.particleOffset(0.3, 1, 0.3)
.particleVelocity(0, 0.1, 0)
.particle('minecraft:campfire_signal_smoke')
.particleCount(5)
.particleForced(true)
.particles(a => a
.range(0.3, 1, 0.3)
.velocity(0, 0.1, 0)
.particle('minecraft:campfire_signal_smoke')
.count(5)
.forced(true));
event.create('tfg:geyser_source_small', 'tfg:particle_emitter_decoration')
.soundType('dripstone_block')
@ -20,11 +21,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) {
.box(3, 0, 3, 13, 10, 13)
.resistance(6)
.hardness(1.5)
.particleOffset(0.3, 1, 0.3)
.particleVelocity(0, 0.05, 0)
.particle('minecraft:campfire_cosy_smoke')
.particleCount(2)
.particleForced(false)
.particles(a => a
.range(0.3, 1, 0.3)
.velocity(0, 0.05, 0)
.particle('minecraft:campfire_cosy_smoke')
.count(2)
.forced(false));
event.create('tfg:smoker_source', 'tfg:particle_emitter_decoration')
.soundType('dripstone_block')
@ -32,11 +34,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) {
.box(3, 0, 3, 13, 10, 13)
.resistance(6)
.hardness(1.5)
.particleOffset(0.3, 1, 0.3)
.particleVelocity(0, 0.05, 0)
.particle('minecraft:campfire_cosy_smoke')
.particleCount(1)
.particleForced(false)
.particles(a => a
.range(0.3, 1, 0.3)
.velocity(0, 0.05, 0)
.particle('minecraft:campfire_cosy_smoke')
.count(1)
.forced(false));
event.create('tfg:lava_source', 'tfg:particle_emitter_decoration')
.soundType('dripstone_block')
@ -44,11 +47,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) {
.box(3, 0, 3, 13, 10, 13)
.resistance(6)
.hardness(1.5)
.particleOffset(0.3, 0.5, 0.3)
.particleVelocity(0, 0, 0)
.particle('lava')
.particleCount(1)
.particleForced(false)
.particles(a => a
.range(0.3, 0.5, 0.3)
.velocity(0, 0, 0)
.particle('lava')
.count(1)
.forced(false));
//Geyserite
event.create('tfg:rock/raw/geyserite', 'tfc:raw_rock')
@ -208,11 +212,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) {
.fullBlock(false)
.box(1, 0, 1, 15, 16, 15)
.notSolid()
.particleOffset(0.3, 1, 0.3)
.particleVelocity(0, 0.1, 0)
.particle('minecraft:large_smoke')
.particleCount(2)
.particleForced(true)
.particles(a => a
.range(0.3, 1, 0.3)
.velocity(0, 0.1, 0)
.particle('minecraft:large_smoke')
.count(2)
.forced(false));
event.create('betterend:tube_worm', 'tfg:attached_decorative_plant')
.soundType('nether_wart')
@ -225,6 +230,8 @@ function registerTFGWorldGenVenusDecoBlocks(event) {
.mapColor('podzol')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
.tagBoth('tfc:rock/raw')
.tagBoth('forge:stone')
event.create('betterend:lucernia_bark')
.soundType('netherrack')
@ -237,14 +244,13 @@ function registerTFGWorldGenVenusDecoBlocks(event) {
.mapColor('gold')
.box(3, 0, 3, 13, 6, 13)
const flavolite = [ 'flavolite', 'flavolite_bricks', 'flavolite_polished', 'flavolite_tiles' ];
flavolite.forEach(f => {
event.create(`betterend:${f}`)
.soundType('deepslate')
.mapColor('sand')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
})
event.create(`betterend:flavolite`, 'tfc:raw_rock')
.soundType('deepslate')
.mapColor('sand')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
.naturallySupported(false)
event.create(`betterend:flavolite_pillar`)
.property(BlockProperties.AXIS)
@ -254,28 +260,36 @@ function registerTFGWorldGenVenusDecoBlocks(event) {
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
const jadestone = [ 'sandy_jadestone', 'sandy_jadestone_bricks', 'sandy_jadestone_polished', 'sandy_jadestone_tiles' ];
jadestone.forEach(j => {
event.create(`betterend:${j}`)
.soundType('stone')
.mapColor('color_light_green')
const flavolite = [ 'flavolite_bricks', 'flavolite_polished', 'flavolite_tiles' ];
flavolite.forEach(f => {
event.create(`betterend:${f}`)
.soundType('deepslate')
.mapColor('sand')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
})
event.create(`betterend:sandy_jadestone`, 'tfc:raw_rock')
.soundType('stone')
.mapColor('grass')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
.naturallySupported(false)
event.create(`betterend:sandy_jadestone_pillar`)
.property(BlockProperties.AXIS)
.placementState((event) => event.set(BlockProperties.AXIS, event.clickedFace.axis))
.soundType('stone')
.mapColor('color_light_green')
.mapColor('grass')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
const sulphuric_rock = [ 'sulphuric_rock', 'sulphuric_rock_bricks', 'sulphuric_rock_polished', 'sulphuric_rock_tiles' ];
sulphuric_rock.forEach(s => {
event.create(`betterend:${s}`)
.soundType('dripstone_block')
.mapColor('terracotta_light_gray')
const jadestone = [ 'sandy_jadestone_bricks', 'sandy_jadestone_polished', 'sandy_jadestone_tiles' ];
jadestone.forEach(j => {
event.create(`betterend:${j}`)
.soundType('stone')
.mapColor('grass')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
})
@ -288,6 +302,15 @@ function registerTFGWorldGenVenusDecoBlocks(event) {
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
const sulphuric_rock = [ 'sulphuric_rock', 'sulphuric_rock_bricks', 'sulphuric_rock_polished', 'sulphuric_rock_tiles' ];
sulphuric_rock.forEach(s => {
event.create(`betterend:${s}`)
.soundType('dripstone_block')
.mapColor('terracotta_light_gray')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
})
// Plants
event.create('betterend:hydralux_sapling', 'tfg:decorative_plant')
@ -301,7 +324,7 @@ function registerTFGWorldGenVenusDecoBlocks(event) {
.soundType('nether_wart')
.mapColor('green_terracotta')
.box(3, 0, 3, 13, 16, 13)
.tagItem('tfg:venus_plants')
.tagBoth('tfg:venus_plants')
.tagBlock('tfg:do_not_destroy_in_space')
event.create('betterend:hydralux_large', 'tfg:tall_decorative_plant')
@ -309,22 +332,18 @@ function registerTFGWorldGenVenusDecoBlocks(event) {
.soundType('nether_wart')
.mapColor('green_terracotta')
.box(3, 0, 3, 13, 16, 13)
.tagItem('tfg:venus_plants')
.tagBoth('tfg:venus_plants')
.tagBlock('tfg:do_not_destroy_in_space')
event.create('betterend:shadow_plant', 'tfg:decorative_plant')
.soundType('crop')
.mapColor('color_black')
createPlant(event, "shadow_plant", "venus")
.box(3, 0, 3, 13, 10, 13)
.tagItem('tfg:venus_plants')
.tagBlock('tfg:do_not_destroy_in_space')
event.create('betterend:twisted_vine', 'tfg:tall_decorative_plant')
.height(3)
.soundType('crop')
.mapColor('color_black')
.mapColor('none')
.box(3, 0, 3, 13, 16, 13)
.tagItem('tfg:venus_plants')
.tagBoth('tfg:venus_plants')
.tagBlock('tfg:do_not_destroy_in_space')
}

View file

@ -12,7 +12,9 @@ function registerTFGVenusMaterials(event) {
.ingot()
.flags(
GTMaterialFlags.FORCE_GENERATE_BLOCK,
GTMaterialFlags.GENERATE_PLATE
GTMaterialFlags.GENERATE_PLATE,
GTMaterialFlags.GENERATE_ROD,
GTMaterialFlags.GENERATE_FRAME
)
//#region Bromine Line

View file

@ -119,4 +119,50 @@ function registerTFGWorldGenTrees(event) {
stripped.tagBoth('c:hidden_from_recipe_viewers')
stripped.soundType('wood')
})
// Mars leaves
event.create('tfg:crimson_wart_block', 'tfc:leaves')
.soundType('shroomlight')
.tagBlock('minecraft:mineable/hoe')
.tagBlock('tfg:do_not_destroy_in_space')
.tagBlock('tfg:solid_leaves')
.textureAll('minecraft:block/nether_wart_block')
.mapColor('crimson_hyphae')
.seasonalColors(false)
.noDynamicTinting()
.fallenLeaves(null)
event.create('tfg:warped_wart_block', 'tfc:leaves')
.soundType('shroomlight')
.tagBlock('minecraft:mineable/hoe')
.tagBlock('tfg:do_not_destroy_in_space')
.tagBlock('tfg:solid_leaves')
.textureAll('minecraft:block/warped_wart_block')
.mapColor('warped_wart_block')
.seasonalColors(false)
.noDynamicTinting()
.fallenLeaves(null)
event.create('tfg:aeronos_cap', 'tfc:leaves')
.soundType('shroomlight')
.tagBlock('minecraft:mineable/hoe')
.tagBlock('tfg:do_not_destroy_in_space')
.tagBlock('tfg:solid_leaves')
.textureAll('ad_astra:block/aeronos_cap')
.mapColor('terracotta_blue')
.seasonalColors(false)
.noDynamicTinting()
.fallenLeaves(null)
event.create('tfg:strophar_cap', 'tfc:leaves')
.soundType('shroomlight')
.tagBlock('minecraft:mineable/hoe')
.tagBlock('tfg:do_not_destroy_in_space')
.tagBlock('tfg:solid_leaves')
.textureAll('ad_astra:block/strophar_cap')
.mapColor('terracotta_purple')
.seasonalColors(false)
.noDynamicTinting()
.fallenLeaves(null)
}

View file

@ -2,15 +2,20 @@
"use strict";
TFCEvents.registerFaunas(event => {
event.replace("tfg:glacian_ram", "on_ground", "ocean_floor");
event.replace("tfg:sniffer", "on_ground", "ocean_floor");
event.replace("tfg:wraptor", "on_ground", "ocean_floor");
event.replace("species:goober", "on_ground", "ocean_floor");
event.replace("species:springling", "on_ground", "ocean_floor");
event.replace("wan_ancient_beasts:walker", "on_ground", "ocean_floor");
event.replace("wan_ancient_beasts:eater", "on_ground", "ocean_floor");
event.replace("wan_ancient_beasts:crusher", "on_ground", "ocean_floor");
const $SpawnPlacements = Java.loadClass("net.minecraft.world.entity.SpawnPlacements")
event.replace("wan_ancient_beasts:soarer", "no_restrictions", "world_surface");
event.replace("wan_ancient_beasts:glider", "no_restrictions", "world_surface");
event.replace("tfg:glacian_ram", $SpawnPlacements.Type.ON_GROUND, "ocean_floor");
event.replace("tfg:sniffer", $SpawnPlacements.Type.ON_GROUND, "ocean_floor");
event.replace("tfg:wraptor", $SpawnPlacements.Type.ON_GROUND, "ocean_floor");
event.replace("species:goober", $SpawnPlacements.Type.ON_GROUND, "ocean_floor");
event.replace("species:springling", $SpawnPlacements.Type.ON_GROUND, "ocean_floor");
event.replace("wan_ancient_beasts:walker", $SpawnPlacements.Type.ON_GROUND, "ocean_floor");
event.replace("wan_ancient_beasts:eater", $SpawnPlacements.Type.ON_GROUND, "ocean_floor");
event.replace("wan_ancient_beasts:crusher", $SpawnPlacements.Type.ON_GROUND, "ocean_floor");
event.replace("wan_ancient_beasts:snatcher", $SpawnPlacements.Type.ON_GROUND, "ocean_floor");
event.replace("wan_ancient_beasts:charger", $SpawnPlacements.Type.ON_GROUND, "ocean_floor");
event.replace("wan_ancient_beasts:raider", $SpawnPlacements.Type.ON_GROUND, "ocean_floor");
event.replace("wan_ancient_beasts:soarer", $SpawnPlacements.Type.NO_RESTRICTIONS, "world_surface");
event.replace("wan_ancient_beasts:glider", $SpawnPlacements.Type.NO_RESTRICTIONS, "world_surface");
})

View file

@ -9,7 +9,7 @@
*/
function createPlant(event, id, planet) {
return event.create(`betterend:${id}`, 'tfg:decorative_plant')
.tagItem(`tfg:${planet}_plants`)
.tagBoth(`tfg:${planet}_plants`)
.tagBlock('minecraft:replaceable')
.tagBlock('tfg:do_not_destroy_in_space')
.tagBlock('tfc:can_be_snow_piled')
@ -22,7 +22,7 @@ function createPlant(event, id, planet) {
*/
function createWaterPlant(event, id, planet) {
return event.create(`betterend:${id}`, 'tfg:decorative_plant')
.tagItem(`tfg:${planet}_plants`)
.tagBoth(`tfg:${planet}_plants`)
.tagBlock('minecraft:replaceable')
.tagBlock('tfg:do_not_destroy_in_space')
.tagBlock('tfc:can_be_ice_piled')

View file

@ -49,5 +49,46 @@ global.WAB_DISABLED_ITEMS = [
'wan_ancient_beasts:blue_hang_glider',
'wan_ancient_beasts:purple_hang_glider',
'wan_ancient_beasts:magenta_hang_glider',
'wan_ancient_beasts:pink_hang_glider'
'wan_ancient_beasts:pink_hang_glider',
'wan_ancient_beasts:paleo_table',
'wan_ancient_beasts:shrieking_horn',
'wan_ancient_beasts:spectral_horn',
'wan_ancient_beasts:nasty_stew',
'wan_ancient_beasts:rafflesia_seeds',
'wan_ancient_beasts:sundew_seeds',
'wan_ancient_beasts:bellflower_seeds',
'wan_ancient_beasts:moonflower',
'wan_ancient_beasts:equisetum_seeds',
'wan_ancient_beasts:olden_moss_carpet',
'wan_ancient_beasts:olden_moss_block',
'wan_ancient_beasts:amber_ginkgo_seeds',
'wan_ancient_beasts:verdant_ginkgo_seeds',
'wan_ancient_beasts:amber_ginkgo_sapling',
'wan_ancient_beasts:verdant_ginkgo_sapling',
'wan_ancient_beasts:amber_ginkgo_leaves',
'wan_ancient_beasts:verdant_ginkgo_leaves',
'wan_ancient_beasts:ginkgo_log',
'wan_ancient_beasts:stripped_ginkgo_log',
'wan_ancient_beasts:ginkgo_wood',
'wan_ancient_beasts:stripped_ginkgo_wood',
'wan_ancient_beasts:ginkgo_planks',
'wan_ancient_beasts:ginkgo_stairs',
'wan_ancient_beasts:ginkgo_slab',
'wan_ancient_beasts:ginkgo_fence',
'wan_ancient_beasts:ginkgo_fence_gate',
'wan_ancient_beasts:ginkgo_door',
'wan_ancient_beasts:ginkgo_trapdoor',
'wan_ancient_beasts:ginkgo_pressure_plate',
'wan_ancient_beasts:ginkgo_button',
'wan_ancient_beasts:ginkgo_sign',
'wan_ancient_beasts:ginkgo_hanging_sign',
'wan_ancient_beasts:ginkgo_boat',
'wan_ancient_beasts:ginkgo_chest_boat',
'wan_ancient_beasts:petrified_log',
'wan_ancient_beasts:stripped_petrified_log',
'wan_ancient_beasts:petrified_wood',
'wan_ancient_beasts:stripped_petrified_wood',
'wan_ancient_beasts:horns_pottery_sherd',
'wan_ancient_beasts:loot_pottery_sherd',
'wan_ancient_beasts:steal_pottery_sherd'
]