remove modrinth baguettelib, update greate, add vintage improvements kubejs mod, fix all the greate rose quartz namespace changes

This commit is contained in:
Pyritie 2025-12-14 15:35:22 +00:00
parent fe1b8585da
commit eb55f20a43
22 changed files with 224 additions and 142 deletions

View file

@ -2,6 +2,7 @@
## Unreleased ## Unreleased
### Breaking Changes ### Breaking Changes
- Rose Quartz moved namespaces, so you'll have to convert all your old rose quartz items into the new ones. You'll need to explore new chunks to find new geodes with the correct ore blocks.
- The previous silicone rubber styrene butadiene rubber belts have been changed to a different item, so please break and recycle them before updating if you're using any. - The previous silicone rubber styrene butadiene rubber belts have been changed to a different item, so please break and recycle them before updating if you're using any.
- Cleaning meal bag foil packs is now done in the chem bath instead of the ore washer. @Pyritie - Cleaning meal bag foil packs is now done in the chem bath instead of the ore washer. @Pyritie
- Turning honey into sugar is now done in the extractor instead of the centrifuge. @Pyritie - Turning honey into sugar is now done in the extractor instead of the centrifuge. @Pyritie

View file

@ -134,7 +134,7 @@
] ]
dependency_requirement: "one_completed" dependency_requirement: "one_completed"
description: ["{quests.create_logistics.rose_quartz_lens.desc}"] description: ["{quests.create_logistics.rose_quartz_lens.desc}"]
icon: "gtceu:rose_quartz_lens" icon: "greate:rose_quartz_lens"
id: "7C4807A247AF36A1" id: "7C4807A247AF36A1"
shape: "octagon" shape: "octagon"
size: 2.0d size: 2.0d
@ -142,7 +142,7 @@
tasks: [ tasks: [
{ {
id: "0C0BA9D487C3B948" id: "0C0BA9D487C3B948"
item: "gtceu:rose_quartz_lens" item: "greate:rose_quartz_lens"
type: "item" type: "item"
} }
{ {
@ -182,8 +182,8 @@
optional: true optional: true
subtitle: "{quests.create_logistics.cold_rose_quartz.subtitle}" subtitle: "{quests.create_logistics.cold_rose_quartz.subtitle}"
tasks: [{ tasks: [{
id: "00680B620AC2F8ED" id: "60D9FAD7D3290FF5"
item: "gtceu:exquisite_rose_quartz_gem" item: "greate:exquisite_rose_quartz_gem"
type: "item" type: "item"
}] }]
title: "{quests.create_logistics.cold_rose_quartz.title}" title: "{quests.create_logistics.cold_rose_quartz.title}"
@ -199,7 +199,7 @@
subtitle: "{quests.create_logistics.fabricate_rose_quartz.subtitle}" subtitle: "{quests.create_logistics.fabricate_rose_quartz.subtitle}"
tasks: [{ tasks: [{
id: "57B107DB57726992" id: "57B107DB57726992"
item: "gtceu:rose_quartz_plate" item: "greate:rose_quartz_plate"
type: "item" type: "item"
}] }]
title: "{quests.create_logistics.fabricate_rose_quartz.title}" title: "{quests.create_logistics.fabricate_rose_quartz.title}"

View file

@ -0,0 +1,10 @@
{
"variants": {
"": [
{ "model": "greate:block/rose_quartz_bud_indicator" },
{ "model": "greate:block/rose_quartz_bud_indicator", "y": 90 },
{ "model": "greate:block/rose_quartz_bud_indicator", "y": 180 },
{ "model": "greate:block/rose_quartz_bud_indicator", "y": 270 }
]
}
}

View file

@ -1,10 +0,0 @@
{
"variants": {
"": [
{ "model": "gtceu:block/rose_quartz_bud_indicator" },
{ "model": "gtceu:block/rose_quartz_bud_indicator", "y": 90 },
{ "model": "gtceu:block/rose_quartz_bud_indicator", "y": 180 },
{ "model": "gtceu:block/rose_quartz_bud_indicator", "y": 270 }
]
}
}

View file

@ -4,6 +4,6 @@
"color": "#ba3458", "color": "#ba3458",
"translate": "trim_material.tfc.rose_quartz_tfc" "translate": "trim_material.tfc.rose_quartz_tfc"
}, },
"ingredient": "gtceu:exquisite_rose_quartz_gem", "ingredient": "greate:exquisite_rose_quartz_gem",
"item_model_index": 0.161 "item_model_index": 0.161
} }

View file

@ -4,6 +4,6 @@
"color": "#ba3458", "color": "#ba3458",
"translate": "trim_material.tfc.rose_quartz_tfc" "translate": "trim_material.tfc.rose_quartz_tfc"
}, },
"ingredient": "gtceu:exquisite_rose_quartz_gem", "ingredient": "greate:exquisite_rose_quartz_gem",
"item_model_index": 0.161 "item_model_index": 0.161
} }

View file

@ -4,7 +4,7 @@
"to_place": { "to_place": {
"type": "minecraft:simple_state_provider", "type": "minecraft:simple_state_provider",
"state": { "state": {
"Name": "gtceu:rose_quartz_bud_indicator" "Name": "greate:rose_quartz_bud_indicator"
} }
} }
} }

View file

@ -4,7 +4,7 @@
"to_place": { "to_place": {
"type": "minecraft:simple_state_provider", "type": "minecraft:simple_state_provider",
"state": { "state": {
"Name": "gtceu:rose_quartz_bud_indicator", "Name": "greate:rose_quartz_bud_indicator",
"Properties": { "Properties": {
"waterlogged": "true" "waterlogged": "true"
} }

View file

@ -5,13 +5,13 @@
"filling_provider": { "filling_provider": {
"type": "minecraft:simple_state_provider", "type": "minecraft:simple_state_provider",
"state": { "state": {
"Name": "gtceu:raw_rose_quartz_block" "Name": "greate:raw_rose_quartz_block"
} }
}, },
"inner_layer_provider": { "inner_layer_provider": {
"type": "minecraft:simple_state_provider", "type": "minecraft:simple_state_provider",
"state": { "state": {
"Name": "gtceu:quartzite_rose_quartz_ore" "Name": "greate:quartzite_rose_quartz_ore"
} }
}, },
"alternate_inner_layer_provider": { "alternate_inner_layer_provider": {
@ -34,7 +34,7 @@
}, },
"inner_placements": [ "inner_placements": [
{ {
"Name": "gtceu:quartzite_rose_quartz_ore" "Name": "greate:quartzite_rose_quartz_ore"
} }
], ],
"cannot_replace": "#minecraft:features_cannot_replace", "cannot_replace": "#minecraft:features_cannot_replace",

View file

@ -637,7 +637,6 @@ function registerGreateRecipes(event) {
// #region Belt Connector // #region Belt Connector
// Wood // Wood
/*
event.shaped('greate:andesite_alloy_belt_connector', [ event.shaped('greate:andesite_alloy_belt_connector', [
'AAA', 'AAA',
'CBC', 'CBC',
@ -677,7 +676,7 @@ function registerGreateRecipes(event) {
event.remove({ id: 'gtceu:shaped/stone_belt_connector' }) event.remove({ id: 'gtceu:shaped/stone_belt_connector' })
TFGHelpers.registerMaterialInfo('greate:stone_belt_connector', { 'air': 1 }); TFGHelpers.registerMaterialInfo('greate:stone_belt_connector', { 'air': 1 });
*/
// Rubber // Rubber
event.shaped('greate:rubber_belt_connector', [ event.shaped('greate:rubber_belt_connector', [
'AAA', 'AAA',
@ -727,7 +726,6 @@ function registerGreateRecipes(event) {
TFGHelpers.registerMaterialInfo('greate:silicone_rubber_belt_connector', { 'silicone_rubber': 3 }); TFGHelpers.registerMaterialInfo('greate:silicone_rubber_belt_connector', { 'silicone_rubber': 3 });
// SBR rubber // SBR rubber
/*
event.shaped('greate:styrene_butadiene_rubber_belt_connector', [ event.shaped('greate:styrene_butadiene_rubber_belt_connector', [
'AAA', 'AAA',
'B C' 'B C'
@ -750,7 +748,6 @@ function registerGreateRecipes(event) {
event.remove({ id: 'gtceu:extractor/extract_styrene_butadiene_rubber_belt_connector' }) event.remove({ id: 'gtceu:extractor/extract_styrene_butadiene_rubber_belt_connector' })
TFGHelpers.registerMaterialInfo('greate:styrene_butadiene_rubber_belt_connector', { 'styrene_butadiene_rubber': 3 }); TFGHelpers.registerMaterialInfo('greate:styrene_butadiene_rubber_belt_connector', { 'styrene_butadiene_rubber': 3 });
*/
// #endregion // #endregion
// #region Mixer // #region Mixer

View file

@ -799,8 +799,10 @@ function registerGTCEUMetalRecipes(event) {
let chipped = ChemicalHelper.get(TagPrefix.gemChipped, material, 1) let chipped = ChemicalHelper.get(TagPrefix.gemChipped, material, 1)
let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1) let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1)
let namespace = material === $GreateMaterials.RoseQuartz ? 'greate' : 'gtceu';
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless(
`gtceu:${material.getName()}_bud_indicator`, [gem, '#tfc:chisels'])) `${namespace}:${material.getName()}_bud_indicator`, [gem, '#tfc:chisels']))
.id(`shapeless/${material.getName()}_bud_indicator`) .id(`shapeless/${material.getName()}_bud_indicator`)
event.shaped(smallDust, event.shaped(smallDust,
@ -1185,12 +1187,14 @@ function registerGTCEUMetalRecipes(event) {
event.remove({ id: `gtceu:arc_furnace/arc_iv_${material.getName()}_wirecutter` }) event.remove({ id: `gtceu:arc_furnace/arc_iv_${material.getName()}_wirecutter` })
} }
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
forEachMaterial(material => { forEachMaterial(material => {
// greate moment // greate moment
if (material === GTMaterials.get("andesite_alloy") if (material === $GreateMaterials.AndesiteAlloy
|| material === GTMaterials.get("refined_radiance") || material === $GreateMaterials.RefinedRadiance
|| material === GTMaterials.get("shadow_steel") || material === $GreateMaterials.ShadowSteel
|| material === GTMaterials.get("chromatic_compound") || material === $GreateMaterials.ChromaticCompound
|| material === GTMaterials.DamascusSteel) || material === GTMaterials.DamascusSteel)
{ return; } { return; }

View file

@ -70,6 +70,7 @@ function registerTFCItemTags(event) {
"framedblocks:framed_hammer", "framedblocks:framed_hammer",
"framedblocks:framed_key", "framedblocks:framed_key",
"mcw_tfc_aio:roofing_hammer", "mcw_tfc_aio:roofing_hammer",
"mcw_tfc_aio:pliers",
"tfclunchbox:lunchbox", "tfclunchbox:lunchbox",
"tfclunchbox:cooling_lunchbox", "tfclunchbox:cooling_lunchbox",
"tfclunchbox:electric_lunchbox", "tfclunchbox:electric_lunchbox",

View file

@ -48,7 +48,7 @@ const materials = [
{materialName: 'red_garnet_tfc', nameColor: '#710910', itemName: 'gtceu:exquisite_red_garnet_gem', indexNumber: 0.177}, {materialName: 'red_garnet_tfc', nameColor: '#710910', itemName: 'gtceu:exquisite_red_garnet_gem', indexNumber: 0.177},
{materialName: 'yellow_garnet_tfc', nameColor: '#bbc207', itemName: 'gtceu:exquisite_yellow_garnet_gem', indexNumber: 0.178}, {materialName: 'yellow_garnet_tfc', nameColor: '#bbc207', itemName: 'gtceu:exquisite_yellow_garnet_gem', indexNumber: 0.178},
{materialName: 'monazite_tfc', nameColor: '#9eb576', itemName: 'gtceu:exquisite_monazite_gem', indexNumber: 0.179}, {materialName: 'monazite_tfc', nameColor: '#9eb576', itemName: 'gtceu:exquisite_monazite_gem', indexNumber: 0.179},
{materialName: 'rose_quartz_tfc', nameColor: '#ba3458', itemName: 'gtceu:exquisite_rose_quartz_gem', indexNumber: 0.161}, {materialName: 'rose_quartz_tfc', nameColor: '#ba3458', itemName: 'greate:exquisite_rose_quartz_gem', indexNumber: 0.161},
{materialName: 'fluix_tfc', nameColor: '#53458d', itemName: 'tfg:exquisite_fluix_gem', indexNumber: 0.162}, {materialName: 'fluix_tfc', nameColor: '#53458d', itemName: 'tfg:exquisite_fluix_gem', indexNumber: 0.162},
//Metals //Metals
{materialName: 'silver_tfc', nameColor: '#d8d8f4', itemName: 'vintageimprovements:silver_sheet', indexNumber: 0.162}, {materialName: 'silver_tfc', nameColor: '#d8d8f4', itemName: 'vintageimprovements:silver_sheet', indexNumber: 0.162},

View file

@ -35,7 +35,6 @@ const STONE_TYPES_TO_COBBLE = {
} }
const registerTFGOreLoots = (event) => { const registerTFGOreLoots = (event) => {
// Have to define these here because normal loot table jsons don't support checking for hammers // Have to define these here because normal loot table jsons don't support checking for hammers
// Crush raw rock into cobble // Crush raw rock into cobble
@ -63,6 +62,8 @@ const registerTFGOreLoots = (event) => {
) )
// Go through all materials // Go through all materials
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
forEachMaterial(material => { forEachMaterial(material => {
if (material.hasProperty(PropertyKey.ORE)) { if (material.hasProperty(PropertyKey.ORE)) {
@ -72,6 +73,9 @@ const registerTFGOreLoots = (event) => {
let sawDrop = ChemicalHelper.get(TagPrefix.gem, material, 1) let sawDrop = ChemicalHelper.get(TagPrefix.gem, material, 1)
let bud = `gtceu:${material.getName()}_bud_indicator`; let bud = `gtceu:${material.getName()}_bud_indicator`;
if (material === $GreateMaterials.RoseQuartz) {
bud = 'greate:rose_quartz_bud_indicator';
}
event.addBlockLootModifier(bud) event.addBlockLootModifier(bud)
.matchMainHand("tfc:gem_saw") .matchMainHand("tfc:gem_saw")
@ -89,13 +93,15 @@ const registerTFGOreLoots = (event) => {
// I LOVE LOOTJS I LOVE LOOTJS I LOVE LOOTJS // I LOVE LOOTJS I LOVE LOOTJS I LOVE LOOTJS
let rawOreBlock = `:${ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem()}`; let rawOreBlock = `:${ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem()}`;
if (material === GTMaterials.Copper || material === GTMaterials.Gold || material === GTMaterials.Iron) { if (material === GTMaterials.Copper || material === GTMaterials.Gold || material === GTMaterials.Iron) {
rawOreBlock = `minecraft${ rawOreBlock}`; rawOreBlock = `minecraft${rawOreBlock}`;
} else if (material === TFGHelpers.getMaterial('desh') } else if (material === TFGHelpers.getMaterial('desh')
|| material === TFGHelpers.getMaterial('ostrum') || material === TFGHelpers.getMaterial('ostrum')
|| material === TFGHelpers.getMaterial('calorite')) { || material === TFGHelpers.getMaterial('calorite')) {
rawOreBlock = `ad_astra${ rawOreBlock}`; rawOreBlock = `ad_astra${rawOreBlock}`;
} else if (material === $GreateMaterials.RoseQuartz) {
rawOreBlock = `greate${rawOreBlock}`;
} else { } else {
rawOreBlock = `gtceu${ rawOreBlock}`; rawOreBlock = `gtceu${rawOreBlock}`;
} }
event.addBlockLootModifier(rawOreBlock) event.addBlockLootModifier(rawOreBlock)
@ -121,9 +127,10 @@ const registerTFGOreLoots = (event) => {
} }
let stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1) let stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1)
let namespace = material === $GreateMaterials.RoseQuartz ? 'greate' : 'gtceu';
// break with pickaxe/mining hammer/drill/mining machine // break with pickaxe/mining hammer/drill/mining machine
event.addBlockLootModifier(`gtceu:${stoneType}_${material.getName()}_ore`) event.addBlockLootModifier(`${namespace}:${stoneType}_${material.getName()}_ore`)
.removeLoot(ItemFilter.ALWAYS_TRUE) .removeLoot(ItemFilter.ALWAYS_TRUE)
.addWeightedLoot([ .addWeightedLoot([
richRawOre.withChance(0.2), richRawOre.withChance(0.2),
@ -135,7 +142,7 @@ const registerTFGOreLoots = (event) => {
) )
// break with hammer // break with hammer
event.addBlockLootModifier(`gtceu:${stoneType}_${material.getName()}_ore`) event.addBlockLootModifier(`${namespace}:${stoneType}_${material.getName()}_ore`)
.matchMainHand('#forge:tools/hammers') .matchMainHand('#forge:tools/hammers')
.addLoot(STONE_TYPES_TO_COBBLE[stoneType]); .addLoot(STONE_TYPES_TO_COBBLE[stoneType]);
}) })

View file

@ -6,8 +6,8 @@ function registerTFGQuartzRecipes(event) {
event.remove({ id: 'gtceu:autoclave/autoclave_dust_rose_quartz_water' }) event.remove({ id: 'gtceu:autoclave/autoclave_dust_rose_quartz_water' })
event.remove({ id: 'gtceu:autoclave/autoclave_dust_rose_quartz_distilled' }) event.remove({ id: 'gtceu:autoclave/autoclave_dust_rose_quartz_distilled' })
generateMixerRecipe(event, ['gtceu:nether_quartz_dust', '8x minecraft:redstone'], [], '9x gtceu:rose_quartz_dust', 2, [], 180, 60, 64, 'rose_quartz_dust_mixing') generateMixerRecipe(event, ['gtceu:nether_quartz_dust', '8x minecraft:redstone'], [], '9x #forge:dusts/rose_quartz', 2, [], 180, 60, 64, 'rose_quartz_dust_mixing')
generateMixerRecipe(event, ['gtceu:tiny_nether_quartz_dust', '8x gtceu:tiny_redstone_dust'], [], 'gtceu:rose_quartz_dust', 2, [], 20, 60, 64, 'tiny_rose_quartz_dust_mixing') generateMixerRecipe(event, ['gtceu:tiny_nether_quartz_dust', '8x gtceu:tiny_redstone_dust'], [], '#forge:dusts/rose_quartz', 2, [], 20, 60, 64, 'tiny_rose_quartz_dust_mixing')
event.recipes.gtceu.autoclave("autoclave_dust_rose_quartz_ice") event.recipes.gtceu.autoclave("autoclave_dust_rose_quartz_ice")
.itemInputs('#forge:dusts/rose_quartz') .itemInputs('#forge:dusts/rose_quartz')
@ -17,8 +17,8 @@ function registerTFGQuartzRecipes(event) {
.EUt(120) .EUt(120)
event.recipes.gtceu.electrolyzer('electrolyze_rose_quartz_dust') event.recipes.gtceu.electrolyzer('electrolyze_rose_quartz_dust')
.itemInputs('9x gtceu:rose_quartz_dust') .itemInputs('9x #forge:dusts/rose_quartz')
.itemOutputs('1x gtceu:nether_quartz_dust', '8x minecraft:redstone') .itemOutputs('1x #forge:dusts/nether_quartz', '8x minecraft:redstone')
.duration(7 * 20) .duration(7 * 20)
.EUt(60) .EUt(60)
//#endregion //#endregion

View file

@ -10,6 +10,24 @@ function registerTFGTemporaryRecipes(event) {
event.shapeless('tfg:ostrum_linear_accelerator', 'gtceu:ostrum_linear_accelerator') event.shapeless('tfg:ostrum_linear_accelerator', 'gtceu:ostrum_linear_accelerator')
event.shapeless('greate:rose_quartz_dust', 'gtceu:rose_quartz_dust')
event.shapeless('greate:tiny_rose_quartz_dust', 'gtceu:tiny_rose_quartz_dust')
event.shapeless('greate:small_rose_quartz_dust', 'gtceu:small_rose_quartz_dust')
event.shapeless('greate:poor_raw_rose_quartz', 'gtceu:poor_raw_rose_quartz')
event.shapeless('greate:raw_rose_quartz', 'gtceu:raw_rose_quartz')
event.shapeless('greate:rich_raw_rose_quartz', 'gtceu:rich_raw_rose_quartz')
event.shapeless('greate:chipped_rose_quartz_gem', 'gtceu:chipped_rose_quartz_gem')
event.shapeless('greate:flawed_rose_quartz_gem', 'gtceu:flawed_rose_quartz_gem')
event.shapeless('greate:flawless_rose_quartz_gem', 'gtceu:flawless_rose_quartz_gem')
event.shapeless('greate:exquisite_rose_quartz_gem', 'gtceu:exquisite_rose_quartz_gem')
event.shapeless('greate:pure_rose_quartz_dust', 'gtceu:pure_rose_quartz_dust')
event.shapeless('greate:impure_rose_quartz_dust', 'gtceu:impure_rose_quartz_dust')
event.shapeless('greate:purified_rose_quartz_ore', 'gtceu:purified_rose_quartz_ore')
event.shapeless('greate:crushed_rose_quartz_ore', 'gtceu:crushed_rose_quartz_ore')
event.shapeless('greate:refined_rose_quartz_ore', 'gtceu:refined_rose_quartz_ore')
event.shapeless('greate:rose_quartz_lens', 'gtceu:rose_quartz_lens')
event.shapeless('greate:rose_quartz_plate', 'gtceu:rose_quartz_plate')
// TODO: remove nether/ender air in 0.12 // TODO: remove nether/ender air in 0.12

View file

@ -258,9 +258,9 @@ function registerVintageImprovementsRecipes(event) {
}) })
// #endregion // #endregion
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
forEachMaterial(material => { forEachMaterial(material => {
if (material == GTMaterials.get("andesite_alloy")) if (material == $GreateMaterials.AndesiteAlloy)
return; return;
const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1);
@ -330,38 +330,18 @@ function registerVintageImprovementsRecipes(event) {
let highYield = material.hasFlag(MaterialFlags.HIGH_SIFTER_OUTPUT) let highYield = material.hasFlag(MaterialFlags.HIGH_SIFTER_OUTPUT)
// aaaaargh I hate these custom type recipes event.recipes.vintageimprovements.vibrating(
let gem = `gtceu:${material.getName()}_gem`; [
if (material === GTMaterials.Coal) Item.of(ChemicalHelper.get(TagPrefix.gemExquisite, material, 1)).withChance(highYield ? 0.05 : 0.03),
gem = 'minecraft:coal' Item.of(ChemicalHelper.get(TagPrefix.gemFlawless, material, 1)).withChance(highYield ? 0.15 : 0.10),
else if (material === GTMaterials.Diamond) Item.of(ChemicalHelper.get(TagPrefix.gem, material, 1)).withChance(highYield ? 0.50 : 0.35),
gem = 'minecraft:diamond' Item.of(ChemicalHelper.get(TagPrefix.dustPure, material, 1)).withChance(highYield ? 0.25 : 0.50),
else if (material === GTMaterials.Emerald) Item.of(ChemicalHelper.get(TagPrefix.gemFlawed, material, 1)).withChance(highYield ? 0.20 : 0.25),
gem = 'minecraft:emerald' Item.of(ChemicalHelper.get(TagPrefix.gemChipped, material, 1)).withChance(highYield ? 0.30 : 0.35)
else if (material === GTMaterials.Lapis)
gem = 'minecraft:lapis_lazuli'
else if (material === GTMaterials.NetherQuartz)
gem = 'minecraft:quartz'
else if (material === GTMaterials.Amethyst)
gem = 'minecraft:amethyst_shard'
else if (material === GTMaterials.CertusQuartz)
gem = 'ae2:certus_quartz_crystal'
else if (material === TFGHelpers.getMaterial('rose_quartz'))
gem = 'create:rose_quartz'
event.custom({
type: 'vintageimprovements:vibrating',
ingredients: [{ item: `gtceu:purified_${material.getName()}_ore` }],
results: [
{ item: `gtceu:exquisite_${material.getName()}_gem`, chance: highYield ? 0.05 : 0.03 },
{ item: `gtceu:flawless_${material.getName()}_gem`, chance: highYield ? 0.15 : 0.10 },
{ item: gem, chance: highYield ? 0.50 : 0.35 },
{ item: `gtceu:pure_${material.getName()}_dust`, chance: highYield ? 0.25 : 0.50 },
{ item: `gtceu:flawed_${material.getName()}_gem`, chance: highYield ? 0.20 : 0.25 },
{ item: `gtceu:chipped_${material.getName()}_gem`, chance: highYield ? 0.30 : 0.35 }
], ],
processingTime: 200 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER ChemicalHelper.get(TagPrefix.crushedPurified, material, 1))
}).id(`tfg:vi/vibrating/${material.getName()}`) .processingTime(200 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER)
.id(`tfg:vi/vibrating/${material.getName()}`)
} }
// #endregion // #endregion
@ -465,7 +445,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({ event.custom({
type: 'vintageimprovements:polishing', type: 'vintageimprovements:polishing',
ingredients: [{ tag: 'forge:exquisite_gems/rose_quartz' }], ingredients: [{ tag: 'forge:exquisite_gems/rose_quartz' }],
results: [{ item: 'gtceu:rose_quartz_lens' }, { item: 'gtceu:rose_quartz_dust', count: 2 }], results: [ChemicalHelper.get(TagPrefix.lens, $GreateMaterials.RoseQuartz, 1), ChemicalHelper.get(TagPrefix.dust, $GreateMaterials.RoseQuartz, 2)],
speed_limits: 1, speed_limits: 1,
processingTime: 100 processingTime: 100
}).id(`tfg:vi/lathe/rose_quartz_lens`) }).id(`tfg:vi/lathe/rose_quartz_lens`)
@ -473,7 +453,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({ event.custom({
type: 'vintageimprovements:polishing', type: 'vintageimprovements:polishing',
ingredients: [{ tag: 'forge:exquisite_gems/diamond' }], ingredients: [{ tag: 'forge:exquisite_gems/diamond' }],
results: [{ item: 'gtceu:diamond_lens' }, { item: 'gtceu:diamond_dust', count: 2 }], results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Diamond, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diamond, 2)],
speed_limits: 1, speed_limits: 1,
processingTime: 100 processingTime: 100
}).id(`tfg:vi/lathe/diamond_lens`) }).id(`tfg:vi/lathe/diamond_lens`)
@ -481,7 +461,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({ event.custom({
type: 'vintageimprovements:polishing', type: 'vintageimprovements:polishing',
ingredients: [{ tag: 'forge:exquisite_gems/emerald' }], ingredients: [{ tag: 'forge:exquisite_gems/emerald' }],
results: [{ item: 'gtceu:emerald_lens' }, { item: 'gtceu:emerald_dust', count: 2 }], results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Emerald, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Emerald, 2)],
speed_limits: 1, speed_limits: 1,
processingTime: 100 processingTime: 100
}).id(`tfg:vi/lathe/emerald_lens`) }).id(`tfg:vi/lathe/emerald_lens`)
@ -489,7 +469,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({ event.custom({
type: 'vintageimprovements:polishing', type: 'vintageimprovements:polishing',
ingredients: [{ tag: 'forge:exquisite_gems/ruby' }], ingredients: [{ tag: 'forge:exquisite_gems/ruby' }],
results: [{ item: 'gtceu:ruby_lens' }, { item: 'gtceu:ruby_dust', count: 2 }], results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Ruby, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruby, 2)],
speed_limits: 1, speed_limits: 1,
processingTime: 100 processingTime: 100
}).id(`tfg:vi/lathe/ruby_lens`) }).id(`tfg:vi/lathe/ruby_lens`)
@ -497,7 +477,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({ event.custom({
type: 'vintageimprovements:polishing', type: 'vintageimprovements:polishing',
ingredients: [{ tag: 'forge:exquisite_gems/sapphire' }], ingredients: [{ tag: 'forge:exquisite_gems/sapphire' }],
results: [{ item: 'gtceu:sapphire_lens' }, { item: 'gtceu:sapphire_dust', count: 2 }], results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Sapphire, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sapphire, 2)],
speed_limits: 1, speed_limits: 1,
processingTime: 100 processingTime: 100
}).id(`tfg:vi/lathe/sapphire_lens`) }).id(`tfg:vi/lathe/sapphire_lens`)
@ -505,7 +485,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({ event.custom({
type: 'vintageimprovements:polishing', type: 'vintageimprovements:polishing',
ingredients: [{ tag: 'forge:exquisite_gems/amethyst' }], ingredients: [{ tag: 'forge:exquisite_gems/amethyst' }],
results: [{ item: 'gtceu:amethyst_lens' }, { item: 'gtceu:amethyst_dust', count: 2 }], results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Amethyst, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Amethyst, 2)],
speed_limits: 1, speed_limits: 1,
processingTime: 100 processingTime: 100
}).id(`tfg:vi/lathe/amethyst_lens`) }).id(`tfg:vi/lathe/amethyst_lens`)

View file

@ -3,14 +3,14 @@
const registerGreateMaterials = (event) => { const registerGreateMaterials = (event) => {
// Belt materials should already have an ingot and plate item already // Belt materials should already have an ingot and plate item already
/*
const $BeltProperty = Java.loadClass("electrolyte.greate.content.gtceu.material.BeltProperty") const $BeltProperty = Java.loadClass("electrolyte.greate.content.gtceu.material.BeltProperty")
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
// Wood belt // Wood belt
GTMaterials.get('andesite_alloy').setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.get('andesite_alloy')], 5)) $GreateMaterials.AndesiteAlloy.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([$GreateMaterials.AndesiteAlloy], 5))
// Leather belt // Leather belt
GTMaterials.Stone.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Steel, GTMaterials.get('andesite_alloy')], 10)) GTMaterials.Stone.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Steel, $GreateMaterials.AndesiteAlloy], 10))
// Remove plastic belts // Remove plastic belts
GTMaterials.Polyethylene.getProperties().removeProperty(GreatePropertyKeys.BELT); GTMaterials.Polyethylene.getProperties().removeProperty(GreatePropertyKeys.BELT);
@ -19,20 +19,22 @@ const registerGreateMaterials = (event) => {
// Change properties of other rubber belts // Change properties of other rubber belts
GTMaterials.Rubber.getProperties().removeProperty(GreatePropertyKeys.BELT); GTMaterials.Rubber.getProperties().removeProperty(GreatePropertyKeys.BELT);
GTMaterials.Rubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Steel, GTMaterials.get('andesite_alloy')], 20)) GTMaterials.Rubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Steel, $GreateMaterials.AndesiteAlloy], 20))
GTMaterials.SiliconeRubber.getProperties().removeProperty(GreatePropertyKeys.BELT); GTMaterials.SiliconeRubber.getProperties().removeProperty(GreatePropertyKeys.BELT);
GTMaterials.SiliconeRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.StainlessSteel, GTMaterials.Aluminium], 25)) GTMaterials.SiliconeRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.StainlessSteel, GTMaterials.Aluminium], 25))
GTMaterials.StyreneButadieneRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Titanium, GTMaterials.StainlessSteel], 30)) GTMaterials.StyreneButadieneRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Titanium, GTMaterials.StainlessSteel], 30))
*/
} }
const registerGreateMaterialModification = (event) => { const registerGreateMaterialModification = (event) => {
GTMaterials.get("rose_quartz").addFlags(
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
$GreateMaterials.RoseQuartz.addFlags(
GTMaterialFlags.GENERATE_LENS GTMaterialFlags.GENERATE_LENS
); );
GTMaterials.get('andesite_alloy').setComponents([]) $GreateMaterials.AndesiteAlloy.setComponents([])
GTMaterials.get('andesite_alloy').setFormula("?") $GreateMaterials.AndesiteAlloy.setFormula("?")
} }

View file

@ -13,11 +13,12 @@ const registerGTCEuMaterialModification = (event) => {
const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties') 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') const $HAZARD_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.HazardProperty')
const $MATERIAL_FLAGS = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.info.MaterialFlags') 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 $FluidStorageKeys = Java.loadClass('com.gregtechceu.gtceu.api.fluids.store.FluidStorageKeys')
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
const { const {
HAS_TFC_TOOL, // used to generate new TFC items like javelins HAS_TFC_TOOL, // used to generate new TFC items like javelins
HAS_GT_TOOL, // does not generate items, just TFC recipes for GT tools HAS_GT_TOOL, // does not generate items, just TFC recipes for GT tools
@ -430,7 +431,7 @@ const registerGTCEuMaterialModification = (event) => {
}); });
let rose_quartz = GTMaterials.get('greate:rose_quartz'); let rose_quartz = $GreateMaterials.RoseQuartz;
rose_quartz.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); rose_quartz.setProperty(PropertyKey.ORE, new $ORE_PROPERTY());
rose_quartz.getProperty(PropertyKey.ORE).setOreByProducts(rose_quartz, GTMaterials.Redstone, rose_quartz); rose_quartz.getProperty(PropertyKey.ORE).setOreByProducts(rose_quartz, GTMaterials.Redstone, rose_quartz);
rose_quartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz')) rose_quartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz'))

View file

@ -48,4 +48,24 @@ const registerTFGItems = (event) => {
event.create('tfg:zpm_universal_circuit') event.create('tfg:zpm_universal_circuit')
event.create('tfg:uv_universal_circuit') event.create('tfg:uv_universal_circuit')
event.create('tfg:uhv_universal_circuit') event.create('tfg:uhv_universal_circuit')
// Temporary
event.create('gtceu:rose_quartz_dust').texture('tfg:item/deprecated')
event.create('gtceu:tiny_rose_quartz_dust').texture('tfg:item/deprecated')
event.create('gtceu:small_rose_quartz_dust').texture('tfg:item/deprecated')
event.create('gtceu:poor_raw_rose_quartz').texture('tfg:item/deprecated')
event.create('gtceu:raw_rose_quartz').texture('tfg:item/deprecated')
event.create('gtceu:rich_raw_rose_quartz').texture('tfg:item/deprecated')
event.create('gtceu:chipped_rose_quartz_gem').texture('tfg:item/deprecated')
event.create('gtceu:flawed_rose_quartz_gem').texture('tfg:item/deprecated')
event.create('gtceu:flawless_rose_quartz_gem').texture('tfg:item/deprecated')
event.create('gtceu:exquisite_rose_quartz_gem').texture('tfg:item/deprecated')
event.create('gtceu:pure_rose_quartz_dust').texture('tfg:item/deprecated')
event.create('gtceu:impure_rose_quartz_dust').texture('tfg:item/deprecated')
event.create('gtceu:purified_rose_quartz_ore').texture('tfg:item/deprecated')
event.create('gtceu:crushed_rose_quartz_ore').texture('tfg:item/deprecated')
event.create('gtceu:refined_rose_quartz_ore').texture('tfg:item/deprecated')
event.create('gtceu:rose_quartz_lens').texture('tfg:item/deprecated')
event.create('gtceu:rose_quartz_plate').texture('tfg:item/deprecated')
} }

View file

@ -1424,39 +1424,15 @@
"type": "MOD", "type": "MOD",
"side": "SERVER", "side": "SERVER",
"slug": { "slug": {
"curseforge": "baguettelib", "curseforge": "baguettelib"
"modrinth": "baguettelib"
}, },
"name": { "name": {
"curseforge": "BaguetteLib", "curseforge": "BaguetteLib"
"modrinth": "BaguetteLib"
}, },
"id": { "id": {
"curseforge": "1264423", "curseforge": "1264423"
"modrinth": "OfKzpbRU"
}, },
"files": [ "files": [
{
"type": "modrinth",
"file_name": "baguettelib-1.20.1-Forge-1.1.1.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"forge"
],
"release_type": "release",
"url": "https://cdn.modrinth.com/data/OfKzpbRU/versions/zcwsIJEa/baguettelib-1.20.1-Forge-1.1.1.jar",
"id": "zcwsIJEa",
"parent_id": "OfKzpbRU",
"hashes": {
"sha512": "0e9f34e0e8d8703269fd6d26a3635268d8f01d79c17355a85f07cd3cf382e84d23635c9715522e3839091caed6db723984b4df569fd06b042557fcf7f46f0f08",
"sha1": "eb060d8ed625c2ed9182db62e60154bb94c69046"
},
"required_dependencies": [],
"size": 30312,
"date_published": "2025-09-27T08:33:58.185785Z"
},
{ {
"type": "curseforge", "type": "curseforge",
"file_name": "baguettelib-1.20.1-Forge-1.1.5.jar", "file_name": "baguettelib-1.20.1-Forge-1.1.5.jar",
@ -6946,7 +6922,7 @@
"files": [ "files": [
{ {
"type": "modrinth", "type": "modrinth",
"file_name": "greate-0.0.57.jar", "file_name": "greate-0.0.58.jar",
"mc_versions": [ "mc_versions": [
"1.20.1" "1.20.1"
], ],
@ -6955,23 +6931,23 @@
"neoforge" "neoforge"
], ],
"release_type": "alpha", "release_type": "alpha",
"url": "https://cdn.modrinth.com/data/8wDcQuht/versions/D1FDmRDa/greate-0.0.57.jar", "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/TT9ck8vt/greate-0.0.58.jar",
"id": "D1FDmRDa", "id": "TT9ck8vt",
"parent_id": "8wDcQuht", "parent_id": "8wDcQuht",
"hashes": { "hashes": {
"sha512": "47b814782e431dc9dc8f17cc6591c6fc8874f094d80b311065e3b6bebed8d8559313d7de3b8613b17c66bf6f2c1311141995e65a34bced89ff862d0d2a0696c6", "sha512": "646589a6f6278e42af03860a85dfd864fd620f1b4825f340781285736417307f4803c32ec5615045c207fd75d64a137268bff661432f35f4431f339a1905a82f",
"sha1": "de882a9d6be660e27834823ce33caaaca834d24c" "sha1": "52e244f91ecb56a69bcdec6d22a83047475eeb34"
}, },
"required_dependencies": [ "required_dependencies": [
"LNytGWDc", "7tG215v7",
"7tG215v7" "LNytGWDc"
], ],
"size": 1518380, "size": 1466358,
"date_published": "2025-11-25T19:56:33.474491Z" "date_published": "2025-12-14T02:44:12.871560Z"
}, },
{ {
"type": "curseforge", "type": "curseforge",
"file_name": "greate-0.0.57.jar", "file_name": "greate-0.0.58.jar",
"mc_versions": [ "mc_versions": [
"1.20.1" "1.20.1"
], ],
@ -6980,19 +6956,19 @@
"neoforge" "neoforge"
], ],
"release_type": "alpha", "release_type": "alpha",
"url": "https://edge.forgecdn.net/files/7262/33/greate-0.0.57.jar", "url": "https://edge.forgecdn.net/files/7330/800/greate-0.0.58.jar",
"id": "7262033", "id": "7330800",
"parent_id": "901996", "parent_id": "901996",
"hashes": { "hashes": {
"sha1": "de882a9d6be660e27834823ce33caaaca834d24c", "sha1": "52e244f91ecb56a69bcdec6d22a83047475eeb34",
"md5": "2a74c594a5e559ca63ef375f1286afda" "md5": "137b5a28b5ec63caaeb004f2520a7b9c"
}, },
"required_dependencies": [ "required_dependencies": [
"328085", "328085",
"890405" "890405"
], ],
"size": 1518380, "size": 1466358,
"date_published": "2025-11-25T19:56:30.993Z" "date_published": "2025-12-14T02:44:10.940Z"
} }
] ]
}, },
@ -14371,6 +14347,81 @@
} }
] ]
}, },
{
"pakku_id": "X1DT7EtiEggkatMR",
"pakku_links": [
"i4wWe6A2zvX01n9S",
"bf2svog06ajj5JHE",
"Y6Da87s1FKPYq0UK",
"Nw8xTCQngHA15ilh"
],
"type": "MOD",
"side": "BOTH",
"slug": {
"curseforge": "vintage-kubejs",
"modrinth": "vintage-kubejs"
},
"name": {
"curseforge": "Vintage KubeJS",
"modrinth": "Vintage KubeJS"
},
"id": {
"curseforge": "1077532",
"modrinth": "u2r2GYRW"
},
"files": [
{
"type": "curseforge",
"file_name": "vintage_kubejs-1.20.1-1.0.0rc-2.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"forge"
],
"release_type": "beta",
"url": "https://edge.forgecdn.net/files/5607/145/vintage_kubejs-1.20.1-1.0.0rc-2.jar",
"id": "5607145",
"parent_id": "1077532",
"hashes": {
"sha1": "ca49a4163794cc0f94a31a17f6956be11979db53",
"md5": "23321f4db3ec489d8605f54efecf813e"
},
"required_dependencies": [
"238086",
"429371",
"328085"
],
"size": 53779,
"date_published": "2024-08-08T08:54:11.013Z"
},
{
"type": "modrinth",
"file_name": "vintage_kubejs-1.20.1-1.0.0rc-2.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"forge"
],
"release_type": "beta",
"url": "https://cdn.modrinth.com/data/u2r2GYRW/versions/TUKYnKui/vintage_kubejs-1.20.1-1.0.0rc-2.jar",
"id": "TUKYnKui",
"parent_id": "u2r2GYRW",
"hashes": {
"sha512": "d1bab6515b6353294adc98f0bd44e184ecb08d4091b5654d86edef1735c4a8260e46300acb5431bced3a1994e8326f5fdee33effb81e438176a3685900f20d20",
"sha1": "ca49a4163794cc0f94a31a17f6956be11979db53"
},
"required_dependencies": [
"umyGl7zF",
"T38eAZQC",
"LNytGWDc"
],
"size": 53779,
"date_published": "2024-08-08T08:56:55.124370Z"
}
]
},
{ {
"pakku_id": "qM5Yyq0zqqJc8XtT", "pakku_id": "qM5Yyq0zqqJc8XtT",
"pakku_links": [ "pakku_links": [