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
### 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.
- 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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -799,8 +799,10 @@ function registerGTCEUMetalRecipes(event) {
let chipped = ChemicalHelper.get(TagPrefix.gemChipped, 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(
`gtceu:${material.getName()}_bud_indicator`, [gem, '#tfc:chisels']))
`${namespace}:${material.getName()}_bud_indicator`, [gem, '#tfc:chisels']))
.id(`shapeless/${material.getName()}_bud_indicator`)
event.shaped(smallDust,
@ -1184,13 +1186,15 @@ function registerGTCEUMetalRecipes(event) {
removeMaceratorRecipe(event, `macerate_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 => {
// greate moment
if (material === GTMaterials.get("andesite_alloy")
|| material === GTMaterials.get("refined_radiance")
|| material === GTMaterials.get("shadow_steel")
|| material === GTMaterials.get("chromatic_compound")
if (material === $GreateMaterials.AndesiteAlloy
|| material === $GreateMaterials.RefinedRadiance
|| material === $GreateMaterials.ShadowSteel
|| material === $GreateMaterials.ChromaticCompound
|| material === GTMaterials.DamascusSteel)
{ return; }

View file

@ -70,6 +70,7 @@ function registerTFCItemTags(event) {
"framedblocks:framed_hammer",
"framedblocks:framed_key",
"mcw_tfc_aio:roofing_hammer",
"mcw_tfc_aio:pliers",
"tfclunchbox:lunchbox",
"tfclunchbox:cooling_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: '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: '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},
//Metals
{materialName: 'silver_tfc', nameColor: '#d8d8f4', itemName: 'vintageimprovements:silver_sheet', indexNumber: 0.162},

View file

@ -34,8 +34,7 @@ const STONE_TYPES_TO_COBBLE = {
permafrost: 'gtceu:ice_dust'
}
const registerTFGOreLoots = (event) => {
const registerTFGOreLoots = (event) => {
// Have to define these here because normal loot table jsons don't support checking for hammers
// Crush raw rock into cobble
@ -61,8 +60,10 @@ const registerTFGOreLoots = (event) => {
LootEntry.of('tfg:rock/cobble_blackstone'),
LootEntry.of('tfc:powder/native_gold')
)
// Go through all materials
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
forEachMaterial(material => {
if (material.hasProperty(PropertyKey.ORE)) {
@ -72,6 +73,9 @@ const registerTFGOreLoots = (event) => {
let sawDrop = ChemicalHelper.get(TagPrefix.gem, material, 1)
let bud = `gtceu:${material.getName()}_bud_indicator`;
if (material === $GreateMaterials.RoseQuartz) {
bud = 'greate:rose_quartz_bud_indicator';
}
event.addBlockLootModifier(bud)
.matchMainHand("tfc:gem_saw")
@ -89,23 +93,25 @@ const registerTFGOreLoots = (event) => {
// I LOVE LOOTJS I LOVE LOOTJS I LOVE LOOTJS
let rawOreBlock = `:${ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem()}`;
if (material === GTMaterials.Copper || material === GTMaterials.Gold || material === GTMaterials.Iron) {
rawOreBlock = `minecraft${ rawOreBlock}`;
rawOreBlock = `minecraft${rawOreBlock}`;
} else if (material === TFGHelpers.getMaterial('desh')
|| material === TFGHelpers.getMaterial('ostrum')
|| material === TFGHelpers.getMaterial('calorite')) {
rawOreBlock = `ad_astra${ rawOreBlock}`;
rawOreBlock = `ad_astra${rawOreBlock}`;
} else if (material === $GreateMaterials.RoseQuartz) {
rawOreBlock = `greate${rawOreBlock}`;
} else {
rawOreBlock = `gtceu${ rawOreBlock}`;
rawOreBlock = `gtceu${rawOreBlock}`;
}
event.addBlockLootModifier(rawOreBlock)
.removeLoot(ItemFilter.ALWAYS_TRUE)
.addWeightedLoot([4, 6],
[
richRawOre.withChance(0.2),
normalRawOre.withChance(0.6),
poorRawOre.withChance(0.2)
]);
[
richRawOre.withChance(0.2),
normalRawOre.withChance(0.6),
poorRawOre.withChance(0.2)
]);
// Stone ores
global.ORE_BEARING_STONES.forEach(stoneType => {
@ -121,9 +127,10 @@ const registerTFGOreLoots = (event) => {
}
let stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1)
let namespace = material === $GreateMaterials.RoseQuartz ? 'greate' : 'gtceu';
// 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)
.addWeightedLoot([
richRawOre.withChance(0.2),
@ -135,7 +142,7 @@ const registerTFGOreLoots = (event) => {
)
// break with hammer
event.addBlockLootModifier(`gtceu:${stoneType}_${material.getName()}_ore`)
event.addBlockLootModifier(`${namespace}:${stoneType}_${material.getName()}_ore`)
.matchMainHand('#forge:tools/hammers')
.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_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: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: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'], [], '#forge:dusts/rose_quartz', 2, [], 20, 60, 64, 'tiny_rose_quartz_dust_mixing')
event.recipes.gtceu.autoclave("autoclave_dust_rose_quartz_ice")
.itemInputs('#forge:dusts/rose_quartz')
@ -17,8 +17,8 @@ function registerTFGQuartzRecipes(event) {
.EUt(120)
event.recipes.gtceu.electrolyzer('electrolyze_rose_quartz_dust')
.itemInputs('9x gtceu:rose_quartz_dust')
.itemOutputs('1x gtceu:nether_quartz_dust', '8x minecraft:redstone')
.itemInputs('9x #forge:dusts/rose_quartz')
.itemOutputs('1x #forge:dusts/nether_quartz', '8x minecraft:redstone')
.duration(7 * 20)
.EUt(60)
//#endregion

View file

@ -10,6 +10,24 @@ function registerTFGTemporaryRecipes(event) {
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

View file

@ -258,9 +258,9 @@ function registerVintageImprovementsRecipes(event) {
})
// #endregion
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
forEachMaterial(material => {
if (material == GTMaterials.get("andesite_alloy"))
if (material == $GreateMaterials.AndesiteAlloy)
return;
const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1);
@ -330,38 +330,18 @@ function registerVintageImprovementsRecipes(event) {
let highYield = material.hasFlag(MaterialFlags.HIGH_SIFTER_OUTPUT)
// aaaaargh I hate these custom type recipes
let gem = `gtceu:${material.getName()}_gem`;
if (material === GTMaterials.Coal)
gem = 'minecraft:coal'
else if (material === GTMaterials.Diamond)
gem = 'minecraft:diamond'
else if (material === GTMaterials.Emerald)
gem = 'minecraft:emerald'
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
}).id(`tfg:vi/vibrating/${material.getName()}`)
event.recipes.vintageimprovements.vibrating(
[
Item.of(ChemicalHelper.get(TagPrefix.gemExquisite, material, 1)).withChance(highYield ? 0.05 : 0.03),
Item.of(ChemicalHelper.get(TagPrefix.gemFlawless, material, 1)).withChance(highYield ? 0.15 : 0.10),
Item.of(ChemicalHelper.get(TagPrefix.gem, material, 1)).withChance(highYield ? 0.50 : 0.35),
Item.of(ChemicalHelper.get(TagPrefix.dustPure, material, 1)).withChance(highYield ? 0.25 : 0.50),
Item.of(ChemicalHelper.get(TagPrefix.gemFlawed, material, 1)).withChance(highYield ? 0.20 : 0.25),
Item.of(ChemicalHelper.get(TagPrefix.gemChipped, material, 1)).withChance(highYield ? 0.30 : 0.35)
],
ChemicalHelper.get(TagPrefix.crushedPurified, material, 1))
.processingTime(200 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER)
.id(`tfg:vi/vibrating/${material.getName()}`)
}
// #endregion
@ -465,7 +445,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({
type: 'vintageimprovements:polishing',
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,
processingTime: 100
}).id(`tfg:vi/lathe/rose_quartz_lens`)
@ -473,7 +453,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({
type: 'vintageimprovements:polishing',
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,
processingTime: 100
}).id(`tfg:vi/lathe/diamond_lens`)
@ -481,7 +461,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({
type: 'vintageimprovements:polishing',
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,
processingTime: 100
}).id(`tfg:vi/lathe/emerald_lens`)
@ -489,7 +469,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({
type: 'vintageimprovements:polishing',
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,
processingTime: 100
}).id(`tfg:vi/lathe/ruby_lens`)
@ -497,7 +477,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({
type: 'vintageimprovements:polishing',
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,
processingTime: 100
}).id(`tfg:vi/lathe/sapphire_lens`)
@ -505,7 +485,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({
type: 'vintageimprovements:polishing',
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,
processingTime: 100
}).id(`tfg:vi/lathe/amethyst_lens`)

View file

@ -3,14 +3,14 @@
const registerGreateMaterials = (event) => {
// Belt materials should already have an ingot and plate item already
/*
const $BeltProperty = Java.loadClass("electrolyte.greate.content.gtceu.material.BeltProperty")
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
// 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
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
GTMaterials.Polyethylene.getProperties().removeProperty(GreatePropertyKeys.BELT);
@ -19,20 +19,22 @@ const registerGreateMaterials = (event) => {
// Change properties of other rubber belts
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.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.StainlessSteel, GTMaterials.Aluminium], 25))
GTMaterials.StyreneButadieneRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Titanium, GTMaterials.StainlessSteel], 30))
*/
}
const registerGreateMaterialModification = (event) => {
GTMaterials.get("rose_quartz").addFlags(
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
$GreateMaterials.RoseQuartz.addFlags(
GTMaterialFlags.GENERATE_LENS
);
GTMaterials.get('andesite_alloy').setComponents([])
GTMaterials.get('andesite_alloy').setFormula("?")
$GreateMaterials.AndesiteAlloy.setComponents([])
$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 $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 $FluidStorageKeys = Java.loadClass('com.gregtechceu.gtceu.api.fluids.store.FluidStorageKeys')
const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials")
const {
HAS_TFC_TOOL, // used to generate new TFC items like javelins
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.getProperty(PropertyKey.ORE).setOreByProducts(rose_quartz, GTMaterials.Redstone, rose_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:uv_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",
"side": "SERVER",
"slug": {
"curseforge": "baguettelib",
"modrinth": "baguettelib"
"curseforge": "baguettelib"
},
"name": {
"curseforge": "BaguetteLib",
"modrinth": "BaguetteLib"
"curseforge": "BaguetteLib"
},
"id": {
"curseforge": "1264423",
"modrinth": "OfKzpbRU"
"curseforge": "1264423"
},
"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",
"file_name": "baguettelib-1.20.1-Forge-1.1.5.jar",
@ -6946,7 +6922,7 @@
"files": [
{
"type": "modrinth",
"file_name": "greate-0.0.57.jar",
"file_name": "greate-0.0.58.jar",
"mc_versions": [
"1.20.1"
],
@ -6955,23 +6931,23 @@
"neoforge"
],
"release_type": "alpha",
"url": "https://cdn.modrinth.com/data/8wDcQuht/versions/D1FDmRDa/greate-0.0.57.jar",
"id": "D1FDmRDa",
"url": "https://cdn.modrinth.com/data/8wDcQuht/versions/TT9ck8vt/greate-0.0.58.jar",
"id": "TT9ck8vt",
"parent_id": "8wDcQuht",
"hashes": {
"sha512": "47b814782e431dc9dc8f17cc6591c6fc8874f094d80b311065e3b6bebed8d8559313d7de3b8613b17c66bf6f2c1311141995e65a34bced89ff862d0d2a0696c6",
"sha1": "de882a9d6be660e27834823ce33caaaca834d24c"
"sha512": "646589a6f6278e42af03860a85dfd864fd620f1b4825f340781285736417307f4803c32ec5615045c207fd75d64a137268bff661432f35f4431f339a1905a82f",
"sha1": "52e244f91ecb56a69bcdec6d22a83047475eeb34"
},
"required_dependencies": [
"LNytGWDc",
"7tG215v7"
"7tG215v7",
"LNytGWDc"
],
"size": 1518380,
"date_published": "2025-11-25T19:56:33.474491Z"
"size": 1466358,
"date_published": "2025-12-14T02:44:12.871560Z"
},
{
"type": "curseforge",
"file_name": "greate-0.0.57.jar",
"file_name": "greate-0.0.58.jar",
"mc_versions": [
"1.20.1"
],
@ -6980,19 +6956,19 @@
"neoforge"
],
"release_type": "alpha",
"url": "https://edge.forgecdn.net/files/7262/33/greate-0.0.57.jar",
"id": "7262033",
"url": "https://edge.forgecdn.net/files/7330/800/greate-0.0.58.jar",
"id": "7330800",
"parent_id": "901996",
"hashes": {
"sha1": "de882a9d6be660e27834823ce33caaaca834d24c",
"md5": "2a74c594a5e559ca63ef375f1286afda"
"sha1": "52e244f91ecb56a69bcdec6d22a83047475eeb34",
"md5": "137b5a28b5ec63caaeb004f2520a7b9c"
},
"required_dependencies": [
"328085",
"890405"
],
"size": 1518380,
"date_published": "2025-11-25T19:56:30.993Z"
"size": 1466358,
"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_links": [