#General Support & Feedback

1 messages · Page 4 of 1

vapid yoke
#

it's ok just keep it in mind for the future EugeneThumbsUpCool

#

Making the wiki pr now

fleet robin
#

cuz the ores have their own block ID
and writing the json files isnt that hard either
I just observed the behaviour that GT ores dont generate when you have a perfectly and correctly written ore gen datapack

fleet robin
#

tfw i did something cursed

#
function createElement(name, protons, neutrons, sym, iso, halfLife, decays) {
    if (!name || !protons || !neutrons || !sym) {
        throw new Error("Required parameters missing: name, protons, neutrons, and sym are all required.");
    }

    GTCEuStartupEvents.registry(
        'gtceu:element',
        event => {
            let elem = event.create(name)
                .protons(protons)
                .neutrons(neutrons)
                .symbol(sym);

            if (typeof halfLife === 'number') {
                elem.halfLifeSeconds(halfLife);
            }

            if (typeof decays === 'string' && decays.trim() !== '') {
                elem.decayTo(decays);
            }

            if (typeof iso === 'boolean') {
                elem.isIsotope(iso);
            }
        }
    );
}

createElement('mana',           -1, -1, '★');

works like a charm

ebon wigeon
#

Hi. I'm getting an error when trying to run ./gradlew build that there isn't a git repository initialised. I ran git init and it gave me a different error so I assume the process of building is a bit more complex than just running ./gradlew build? Do I have to install IntelliJ and the plugins or is it possible to build without?

valid junco
#

you need to clone the project from github - that way you have all the history

ebon wigeon
#

thanks

ebon wigeon
#

Part 2: I've modified the code and I'm now requiring Biomes O Plenty but it doesn't want to build it. I'm mostly unfamiliar with dependencies so how do I add a dependency to the build? Second image is after adding modCompileOnly(forge.biomesoplenty) in dependencies.gradle but evidently that didn't work (I was mostly just guessing anyway)

vapid yoke
#

look at forge.versions.toml

ebon wigeon
#

Thanks. I've tried to do that but I can't figure it out. What does the module and version.ref mean? I've tried with the group id and modrinth maven but it doesn't seem to be working

ebon wigeon
vapid yoke
#

You need to include the version at the top and how to fetch it at the bottopm

ebon wigeon
#

I've got biomesoplenty = "19.0.0.96" and biomesoplenty = { module = "maven.modrinth:biomes-o-plenty", version.ref = "biomesoplenty" } but it still gives the error that the package does not exist.

#

I just downloaded the specific version of biomes o plenty to check and it has a file at biomesoplenty/api/item/BOPItems.class so idk what's wrong

#

nvm I managed to fix it

#

solved

open oak
#

my tactice works fine

#

😁finally

open oak
#

Hey guys! Is this function called every tick? If so, this is a WorkableElectricMultiblockMachine

vapid yoke
#

no

#

For on-ticks you need to make your own TickableSubscription

#

or wait thunk

#

That one specifically might be called every tick that the machine is running a refcipe

#

yeah that seems to be the case. If it has a recipelogic and that recipelogic is currently processing a recipe, that method will be called every tick

open oak
#

I want to make a recipe for some liquid

#

it will be needed to keep the reactor running

static oriole
#

I had to look at monilabs to learn how. Just my opinion but that info only being in the dev section of the wiki

#

Is a bit odd

#

Most addon devs wont look at that side

static oriole
#

It needs lubricant to run

open oak
#

what there wrong?

static oriole
#

do you have your block class init called?

open oak
ebon wigeon
#

Is there a particular reason as to why registry.accept(new ResourceLocation(entry.modid, entry.planksRecipeName)); works for some mods and not others? (Looking in .../gtceu/data/recipe/misc/WoodMachineRecipes.java it uses it for harder wood recipes. It removes the recipes for Biomes O Plenty but not for The Undergarden or Alex's Caves (haven't test any other mods yet)

#

It's adding the recipes so I know how I'm passing it is working (through getDefaultEntries() in WoodMachineRepices.java)

#

registry has the type Consumer<ResourceLocation>

Edit: I think it might be datapack load order? I'm gonna check

Edit 2: nope. making a proper support ticket

trim escarp
#

Hi! I’m trying to use GTCEU Modern on version 1.21.1 with NeoForge, but I’ve run into an issue. The server only works with version 1.4.6 and below, but the client crashes on those versions. On the client, versions 7.0.0 and above work fine, but then the server fails to start. Could you please help me resolve this?

humble terrace
#

7.x is not on 1.21.1 yet methinks

vapid yoke
wheat granite
#

Thank you so much, I COMPLETELY forgot I sent a message here🥲

#

Also Merry Christmas(If its Christmas for you guys)

vapid yoke
#

Yw hapybapycat

#

and technically you didn't, archonite forwarded a bunch of your messages x3

wheat granite
#

common archonite w

wheat granite
#

Alright so,

    //Schrabidium 312
    event.create('schrabidium')
    .protons(126)
    .neutrons(186)
    .halfLifeSeconds(-1)
    .decayTo(null)
    .symbol('Sa')
    .isIsotope(true)

this is my code for my custom element, which works fine. But I'm curious how to make the chemical symbol its atomic symbol show its isotope, just like how uranium 235 has "U235" in its symbol

vapid yoke
#
Create element:

    public static final Element U238 = createAndRegister(92, 146, -1, null, "Uranium-238", "U-238", false);


Create material:
        Uranium238 = new Material.Builder(GTCEu.id("uranium"))
                .ingot(3)
                .liquid(new FluidBuilder().temperature(1405))
                .color(0x1d891d).secondaryColor(0x33342c).iconSet(RADIOACTIVE)
                .appendFlags(EXT_METAL)
                .element(GTElements.U238)
                .radioactiveHazard(1)
                .buildAndRegister();

this is the java code for both the material and element. I'm pretty sure by creating the material and setting it to be an element it will just take the symbol of the element

wheat granite
#

Woah, woah, woah, I'm using kubejs Javascipt not actual java(too much for me lol)

#

Anyways I figured it out, but thanks anyway!

wheat granite
#

Very important: How do I make an element hazardous?

vapid yoke
#

An element can't be hazardous, a material can. The hazard system isn't insanely fleshed out, but it should still be fine. I think it's just .radioactiveHazard(1) on the material though

wheat granite
#

Alright, thanks again

#

Also: How do I use .decayTo()?

#

Do I just like .decayTo('lead') for example

vapid yoke
#

decayTo("gtceu:lead") should work yeah

#

I'm not sure if un-namespaced would work or not

wheat granite
#

So would that work for like just ingots? Or would it also do like say uranium rod -> lead rod for example

vapid yoke
#

That I don't know, you'll have to try, sorry

wheat granite
#

That's fine, wouldn't need it anyway I was just curious

wheat granite
vapid yoke
#

yeah it's the multiplier for how fast it progresses

#

the hazard system isn't the best fleshed out right now sadly and I'm not very experienced with it

wheat granite
vapid yoke
#

I'm not sure, I imagine it's just a multiplier so 0 = nothing happens and 9999 = you touch it and die immeidately kekw

#

but that's honestly just a guess

wheat granite
#

Do you know what value uranium has?

vapid yoke
vapid yoke
#

the java and kjs code are basically 1:1

fleet robin
#

i can confirm that is works

#

disgustingly well at that

lime bane
#

Are multiblock recipes nerfed?

#

i have a IV LCR that can't run IV recipes

#

nvm that's just because i was using a single 4A ev thing

wheat granite
#
    //Uranium 239
    event.create('uranium_239')
    .protons(92)
    .neutrons(147)
    .halfLifeSeconds(5)
    .decayTo('gtceu:neptunium_239')
    .symbol('U²³⁹')
    .isIsotope(true)
    //Neptunium 239
    event.create('neptunium_239')
    .protons(93)
    .neutrons(146)
    .halfLifeSeconds(5)
    .decayTo('gtceu:plutonium')
    .symbol('Np²³⁹')
    .isIsotope(true)

So I'm trying to make elements decay into something, but I've had no luck.

chrome basin
#

the element doesnt use ²

#

it just uses 2

#

just normal numbers

#

and the rest

#

ive never seen decay so idk

livid void
#

idt decay is implemented yet

#

might have to ask in dev talks

mellow ravine
#

so Im playing 1.20.1 working on my mod pack and for some reason all the bronze recipes and countless others have been invisible on emi, jei, etc. Im so lost and theres no recipes for these items either.

#

also Im using gtceu 7.0

wheat granite
wheat granite
vapid yoke
mellow ravine
#

it does it regardless I just downgraded in hopes it would fix it to no result

main viper
mellow ravine
#

THANK YOU

restive plover
wheat granite
#

When is 8.0 planned to come out?

restive plover
#

there is no ETA currently

vapid yoke
#

We're aiming for "before 2030" tr

humble terrace
#

If it doesn't come out tomorrow, refer to above again until it does

restive plover
#

we had silkposting, now get ready for gregposting trolllaugh

static oriole
#

before 2050

restive plover
#

wtf you can't just give out hard deadlines like that

#

you'll have to wait until 2080 at least

humble terrace
#

The events of Cyberpunk 2077 will occur in its entirety before 8.0 is out

spare dove
#

is there a way to add a material from another mod that has both ingot and plate into every gt machine easily or do i have to manually make every recipe?

humble terrace
#

Add a GT material for it, and use setignored to set the ingot and plate for the mod to be used

#

%t gtmwiki

forest salmon
forest salmon
#

I was the big dumb, I had a number in the paranthesis that should not have been there

reef crane
#

how can i make materials show like "cool material" instead of "cool.material"

static oriole
#

Lang

#

Not at pc so cant give example sadly

reef crane
#

i can figure it out

main viper
#

In /kubejs/assets/gtceu/lang/en_us.json, put something like this in:

{
  "gtceu.materials.cool_material":"Cool Material",
"gtceu.materials.other_material":"Other Material"
}
pulsar barn
#

how can i make a custom material radioactive?

wheat granite
#

@pulsar barn It’s .radioactiveHazard()

pulsar barn
#

thank you 🙏 love you

#

i was LOOKING everywhere under the sun for it

#

if you knew how to make acidic, pleze tell

wheat granite
#

HOPEFULLY in 8.0

pulsar barn
#

alr

wheat granite
#

The universe might just be black holes when that one comes out though🥲

pulsar barn
#

true

vapid yoke
#

hazard code Sadge

static oriole
pulsar barn
#

lemme look

static oriole
#

Cause they have kjs mats with the acidic state

pulsar barn
#

idk where to look for it tho, also i dont know WHICH are acidic

static oriole
#

Hexaflourisic acid

#

I butchered the name

pulsar barn
#

Hexafluorisic Acid?

static oriole
#

Smth like that. Not at pc so cant see exact spelling. I ussaly just project wide github search

pulsar barn
#

ah i see

#
.liquid(new GTFluidBuilder().attribute($FluidAttributes.ACID))
#

imma joink that

do be cool if i could make dusts hazardous (like bases)

pulsar barn
#

materials.js#1066: Error in 'GTCEuStartupEvents.registry': Can't find method com.gregtechceu.gtceu.api.data.chemical.material.Material$Builder.radioactiveHazard().

pulsar barn
#

how do i add gems for existing materials?

humble terrace
#

Add a gem property

pulsar barn
#

i can't find it nowhere

#

also i couldn't find a Java Class for it

#

oh wait, i found something

wheat granite
#

Did you figure it out?

pulsar barn
#

nope

#

i moved onto ```js
//The Great Lanthanum Arc

wheat granite
#

Send your code

pulsar barn
#

i removed it

wheat granite
#

Oh damn

pulsar barn
#

thats how i moved onto ```js
//The Great Lanthanum Arc

wheat granite
#

What was the material? Like .dust and etc

pulsar barn
#

.. i mayhaps have only given it a liquid form

wheat granite
static oriole
pulsar barn
#

to make existing materials have gems?

#

not new ones. i know how to make new ones

static oriole
#

Have you added stuff to existing materials before?

pulsar barn
#

yes

static oriole
#

Its the same logic

pulsar barn
#

but not gems

#

i did find it in the github repo

#

now i have He3 gems

static oriole
static oriole
pulsar barn
#

im going for semirealistic veins on the moon

#

minus the Resonite vein

main viper
#

Cheese vein?

restive plover
bronze plover
#

probably some sort of lithotrophic organisms

glossy axle
#

hi
I'm having some weird problems with the ME Pattern Buffer + Proxy. Currently have two EBF, one with 2 buffers and one with 2 proxies (one of them isn't in use yet). When crafting items that are available in my ME system, it works just fine., but when there are prerequisites flowing into the EBF while there is a craft already ongoing, the Proxied EBF interrupts its crafting or even turns off completely.
Currently playing Monifactory 0.13, but I doubt that has anything to do with that issue I'm experiencing.

lime bane
#

How to use computer, search

glossy axle
#

very helpful, thank you.

wheat granite
#

I thought the 7.4.1 update announcement was for 8.0trolllaugh

wheat granite
#

🥲

reef crane
#

yo how do i advertise my modpack

valid junco
reef crane
#

it says i dont have permission

valid junco
#

then don't

reef crane
#

:(

#

what can i do to post there

livid void
#

is your pack released in any platform yet?

#

if so you can ask for the modpack role

jovial pelican
reef crane
#

ok, I released my pack on Curse and Gifthub

#

can i have it🥺

lofty scarab
#

Is there way to fix not downloading mods while modpack importing in SKLauncher? Separately curseforge opens and links with necessary mods too.

valid junco
humble terrace
jovial pelican
#

Also ye, piracy I think isn't supported there

reef crane
#

who do i ask for modpack role

humble terrace
#

Uh

#

Ping a mod

forest salmon
#

so what's wrong with this vein?

GTCEuServerEvents.oreVeins( event => {
    event.add("kubejs:low_pressure_vein", vein => {
    vein.weight(100)
    vein.clusterSize(95)
    vein.density(2.5)
    vein.discardChanceOnAirExposure(0)
    vein.layer("deepslate")
    vein.dimensions("minecraft:overworld")
    vein.biomes("#minecraft:is_overworld")
    vein.heightRangeUniform(-63, -38)
    vein.veinedVeinGenerator(generator => generator
        .oreBlock(GTMaterials.get('coperyrite'), 12)
        .oreBlock(GTMaterials.get('dull_derg'), 5)
        .veininessThreshold(0.25)
        .maxRichnessThreshold(4.5)
        .minRichness(0.95)
        .maxRichness(6.0)
        .edgeRoundoffBegin(10)
        .maxEdgeRoundoff(0.25)
)
    vein.surfaceIndicatorGenerator(indicator => indicator
        .surfaceRock(GTMaterials.get('coperyrite'))
        .density(0.45)
        .radius(2.5)
    )
})
})
vapid yoke
#

give errors

#

or behavior or whatever's happening

forest salmon
#

so what happens is it loads in the game, but it's like it doesn't exist. I checked the logs. I'll send em to ya.

reef crane
#

@slender briar can i have modpack role pls i have posted it on curse and gifthub🥺 also sorry for ping

chrome basin
#

dont just ping random mods

#

ask in #modern-addons

reef crane
#

well someone said i should ping them'

chrome basin
#

uhh

#

then idk

static oriole
#

Not saying its wrong, but funny

reef crane
#

well theyre a mod arent they

#
  • only mod online lmao
static oriole
#

Fair enough

static oriole
#

Maya

chrome basin
#

kilabash aint even here

#

oh

#

whos maya tho

#

never seen uhh her ig

static oriole
#

Doesnt ussaly chat

#

I am in no way pinging her

chrome basin
#

ik

#

but like why is she the owner then ?

#

does she like code gt

#

or smt

#

cuz i havent heard anything

#

just curius

static oriole
#

Ownership got put to her

reef crane
#

i want that role ;-;

#

cant i just put it here lmao

static oriole
#

Many packdevs use #1086542724821418005

reef crane
#

a ok then

slender briar
static oriole
#

@reef crane you got a link to the cf/modrinth page?

slender briar
#

yea can I get a link

slender briar
# chrome basin whos maya tho

and while, i'm here, history lesson wooo

Maya was a dev for Omnifactory, then eventually Nomifactory, and GTCE, later on, the GTCE addon called Gregicality was made, and she worked on that too

This server was originally the gregicality server, and I don't remember who the owner was, but eventually the server was given to her

She, as well as a few others, also started work on a GTCE fork, known as GTCEu, lead by her
by now, it's almost a full rewrite with very little of CE remaining

I'm not sure if the server was given to her before or after development of CEu started, I wasn't there at the time so idk the timeline exactly

Eventually, Kila ported CEu to modern, and it became part of the CEu org, which ofc is owned by maya

#

This is very abridged, mostly just the relevant parts

chrome basin
#

but why isnt kile here tho ?

static oriole
#

Tbh, kila was good at the start

#

But its better he isnt part of gtm anymore

chrome basin
#

but whyyyyy

vapid yoke
#

kila is here

#

just not active

static oriole
#

Not here in spirit

chrome basin
reef crane
reef crane
#

thx

jovial pelican
reef crane
#

🥳

bronze plover
#

anyone else get z fighting on the boileer input bus?

#

muffler as well

vapid yoke
calm lake
#

Question about the "smart item filter" -- im trying to setup some stupid levels of ore process automation but the smart item filter is only configurable for centrifuge, sifter, electrolyzer -- is this it or am i using it wrong? I would like to auto send smeltable dusts to my multi smelter (granted I can guarantee this will be a bad idea down the road but for now I would like to be able to do this...)

calm lake
bronze plover
#

forge 1.20.1

#

it displays the fire overlay which fights with whichever blocks particular overlay

#

oh there is a low drag update maybee that fixes it

vapid yoke
bronze plover
#

doesnt happen with just gt so ill have to narrow it down it seeems

#

well that was fast

#

happeens with embeddium

lime bane
bronze plover
#

this seems... strange

#

okay i think something in kubejs is messed up because this recipe is fine

#

this one is bugged but it must bee something on my end because its not like this in another instance

chrome basin
#

What exactly?

mighty harbor
#

what version is reccomended for gtceu and kubejs? 1.21.1 crashes

vapid yoke
#

%t gt121

sinful falconBOT
# vapid yoke %t gt121

GT on 1.21.1 is currently outdated, buggy and not playable - work is being done to make an updated port but that might be a few more month

wheat granite
#

Is there any way to add a chemical equation to an item?

humble terrace
#

%t gtmwiki

bronze plover
#

it seems like it should have something to do with my recipes for modded woods and stuff but i can't find the recipe anywhere in my kubejs folder

noble creek
#

Anyone know how I can state a minimum and/or maximum tier of dynamo hatch that can be used in a custom multi? I'm assuming there's something i can add onto this in the pattern?

.or(Predicates.abilities(PartAbility.OUTPUT_ENERGY).setMaxGlobalLimited(1))

static oriole
# noble creek Anyone know how I can state a minimum and/or maximum tier of dynamo hatch that c...

where("E", Predicates.blocks("gtceu:fusion_casing").setMinGlobalLimited(10)
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
.or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setMaxGlobalLimited(1))
.or(Predicates.abilities(PartAbility.EXPORT_FLUIDS))
.or(Predicates.abilities(PartAbility.IMPORT_FLUIDS))
.or(Predicates.blocks(PartAbility.INPUT_ENERGY.getBlocks(GTValues.ZPM).toArray()).setMaxGlobalLimited(2)))
.where("F", Predicates.blocks("gtceu:superconducting_coil"))

noble creek
static oriole
#

Sorry bout the huge wall when the important bit was smol. On phone and the copy paste systsme sucks

noble creek
# static oriole Phoenix forge technologies

Lol all good, I'm used to sifting through things for the treasure, also sweet I'll definitely check it out. This now lets me essentially have an HV multi generator that can output many amps of HV by only allowing HV Dynamo Hatches but producing more than 512 EU/t. Sounds odd but it works.

glossy arrow
glossy arrow
#

seemingly when i open the ender tank recipe

vapid yoke
glossy arrow
floral walrus
#

How do i make it so create's andesite alloy is considered the ingot of my custom material? I couldnt find the solution to this in the documentation

GTCEuStartupEvents.registry('gtceu:material', event => {
    event.create('andesite_alloy')
        .ingot()
        .dust()
        .components('1x andesite', '1x iron')
        .iconSet(GTMaterialIconSet.ROUGH)
        .color(0xC7C8B8)
        .secondaryColor(0x809587)
        .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_ROD)
})

GTCEuStartupEvents.materialModification( event => {
    TagPrefix.ingot.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"))
    TagPrefix.block.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"))
})```
humble terrace
floral walrus
#

how do i do it?

main viper
#

%t setignored

sinful falconBOT
floral walrus
#

oh it doesnt work for blocks? is there a way for me to make it consider the andesite alloy block from create as the block for this material or do i have to bite the bullet

main viper
#

Unfortunately not

#

For storage blocks it removes recipes w/o replacing the output

#

For ores it completely crashes

floral walrus
#

damn

floral walrus
#

wait so how were storage blocks for vanilla materials done? were they hardcoded? or does this issue happen only with custom materials

main viper
#

Java

#

Apparently setIgnored is a lot easier in Java

floral walrus
#

ah so its just not possible only via JS?

main viper
#

Not to my knowledge

floral walrus
#

damn

#

hmm

#

i guess I could do a workaround

#

i noticed that the create storage block for andesite alloy uses the same tag as the generated one for my material

#

so i could just hide the generated version so only the create one shows up

#

in jei

main viper
#

I typically change recipe outputs (event.replaceoutput({"output" : "#forge:storage_blocks/andesite_alloy"}, "#forge:storage_blocks/andesite__alloy", "create:andesite_alloy_block"))

#

I donno how to hide items in JEI or EMI

static oriole
# main viper I donno how to hide items in JEI or EMI
/**
emi hide
 */

JEIEvents.hideItems(event => {

    event.hide(["/advanced_[a-z_]+_canvas_hive/"])
    event.hide(["/exspansion_box_[a-z_]+_canvas/"])
    event.hide(["/exspansion_box_[a-z_]/"])
    event.hide(["/advanced_[a-z_]+_beehive/"])
    event.hide({ mod: "productivebees", output: /exspansion/ })
    event.hide({ mod: "productivebees", output: /breeding_chamber/ })
    event.hide({ mod: "productivebees", output: /incubater/ })
    event.hide({ mod: "productivebees", output: /gene_indexer/ })


})

floral walrus
floral walrus
#

there are two options

static oriole
#

That's one of the options yeah

floral walrus
#

the tag one is better though because it works both for JEI and EMI

floral walrus
#

for EMI it works only for 1.21

#

i know because i tried

main viper
#

That's cool

#

What's the tag?

static oriole
#

like seriously

#

all packs either use jemi

#

or emi + tmrv

main viper
#

what's tmrv?

static oriole
#

jei api but less junk

#

its for emi integration

floral walrus
#

so i just removed emi and im using just jei

static oriole
floral walrus
#

whats pft

static oriole
#

phoenix forge technologies, my pack

floral walrus
#

a

#

well im using just jei now anyway

static oriole
#

might just be unreliable ig, aka works for some not for others

static oriole
floral walrus
#

mainly because emi fucks up with tcon recipes

static oriole
#

I litterlay can't use just jei for like 80% of my coremod stuff

#

cause it doesnt allow anything

floral walrus
#

dont get me wrong i love EMI

#

but as i said, it doesn't work well with tcon

#

so for now im sticking to jei

static oriole
#

I lowkey

#

actually love that

#

Now not what I was going for by any means

#

but its cool

main viper
static oriole
#

tcon is just behind the times

main viper
#

and recipe trees (means that I don't have to install JEC)

static oriole
#

but until it gets fixed

#

ig it's amy's only option

floral walrus
#

shrug

static oriole
#

tcon and jei like each other because they both make all other mods walk on eggshells

floral walrus
#

lol

floral walrus
#

my beloved

#

saved my ass literal hours when playing Omnifactory

#

EMI trees are so much better though

static oriole
#

math

#

is fun

floral walrus
#

its universal for all recipe viewer mods: JEI, EMI and others

main viper
#

Is it only for 1.21.1 bc I don't see c:tag used a lot in 1.20.1

floral walrus
#

it works on 1.20

#

can confirm because im using it

static oriole
#

moni also uses it

main viper
#

Coolio

static oriole
#

fwiw

floral walrus
#

moni mentioned

static oriole
#

I mean, I am currently working on render for moni

#

🤷‍♂️

main viper
#

What the fuck is a stable father figure lead dev

static oriole
#

math goes brr

floral walrus
#

need to play more moni

static oriole
#

for pft

#

I'm also the only dev

floral walrus
#

i need that omnifactory nostalgia but i love modern gtceu

main viper
#

I meant for moni

floral walrus
#

but also my gf wants me to play stardew valley lol

floral walrus
#

and i have my own modpack to work on

#

oh god choices

static oriole
#

just a chill 500 line class, nothing huge

#

can we keep it

kind tapir
#

any one knows how to add tooltip to simple machine in kjs?

wheat granite
#

IS there any way I can add new material flag for an existing material? I.e, adding frames to copper

vapid yoke
#

yeah in material modification event

floral walrus
vapid yoke
#
net.minecraftforge.fml.ModLoadingException: GregTech (gtceu) encountered an error during the done event phase
 7java.lang.IllegalArgumentException: gtceu:smelt_dust_andesite_alloy_to_ingot: output items is empty

andesite alloy ingots are empty

#

looking at your code,


GTCEuStartupEvents.materialModification(event => {
    TagPrefix.ingot.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"))
})

StartupEvents.postInit(event => {
    TagPrefix.ingot.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy")), "create:andesite_alloy"
})
#

first of all, why is this there twice
second of all, why is the "create:andesite_alloy" after the second closing bracket (and thus outside the fucntion call)

#

I think if you remove the postInit thing and just move the create tag to inside the setIgnored call (as asecond argument) it'll wrok

floral walrus
vapid yoke
#

fair enough. then just move the brackets around

floral walrus
#
GTCEuStartupEvents.materialModification(event => {
    TagPrefix.ingot.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"), "create:andesite_alloy")
})``` like this?
vapid yoke
#
GTCEuStartupEvents.materialModification(event => {
    TagPrefix.ingot.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"))
})

StartupEvents.postInit(event => {
    TagPrefix.ingot.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"), "create:andesite_alloy")
})

try this, let me know if it works

#

@main viper you made the setignored tag, do you know why the tag reccomends doing it both in materialmodification and postinit? is that just to ensure that the somemod:material_ingot is 100% generated/loaded?

iron quartz
#

i think

iron quartz
#

awesome

floral walrus
#

now to figure out how to replace the generated storage block with the create mod's one

vapid yoke
#

storage block?

#

you just mean the full compressed block?

floral walrus
#

ye

vapid yoke
#

if so, do the same but for TagPrefix.block and using the block's ID

iron quartz
#
GTCEuStartupEvents.materialModification(event => {
    TagPrefix.block.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"))
})

StartupEvents.postInit(event => {
    TagPrefix.block.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"), "create:andesite_alloy_block")
})
#

here

floral walrus
#

ive been told that doesnt work

floral walrus
iron quartz
#

wait what

vapid yoke
#

Can you try it and let me know if it works?

floral walrus
#

oki

vapid yoke
#

and if not, tell me the crash/error if there is any? because for all intents and purposes, that should just work I think

#

the one thing I can think of is that you might have to cast it from a block to an item or something like that

iron quartz
#

i tried the same method and it works, on my infinity material

vapid yoke
#

wtf avaritia's infinity block's item ID is just avaritia:infinity? Reading

iron quartz
#

idk

vapid yoke
#

odd

iron quartz
#

it's Re:Avaritia btw

#

technically*

vapid yoke
#

fair enough

#

I don't really do packdev or touch mods outside of GTM tbh dogekek

#

I just dev for GTM and do GTM stuff

#

except sometimes ghosti asks me to do stuff for CFT, but even then I mostly do GTM addon stuff there

floral walrus
#

okay so

floral walrus
#

i might have not looked good enough but i didnt see any errors either

iron quartz
#

just asking, what are you trying to do, i'm a bit confused now
make gt ignore the andesite alloy block?

floral walrus
#

i want to treat the create's block as the storage block of the custom material im making

vapid yoke
#

basically make GT use create's andesite alloy block instead of gt's autogenned one

floral walrus
#

thats exactly what i have rn in the script

iron quartz
#

and what's happening

floral walrus
#

it removes the generated storage block from GT but doesnt see create's block as part of the generated material

vapid yoke
#

Are you sure? is there no e.g. compression recipe from 9 ingots to 1 block?

floral walrus
#

so for example the block cant be used in GT machines for recipes

floral walrus
iron quartz
#

oh, me too on my infinity block

floral walrus
#

maybe thats what jolly meant by "For storage blocks it removes recipes w/o replacing the output"

iron quartz
#

so it's just breaks the recipe

floral walrus
#

apparently it also crashes for ores, according to them

vapid yoke
#

can you send your whole file again? I'm gonna have a look

floral walrus
#
GTCEuStartupEvents.registry('gtceu:material', event => {
    event.create('andesite_alloy')
        .ingot()
        .dust()
        .components('1x andesite', '1x iron')
        .iconSet(GTMaterialIconSet.ROUGH)
        .color(0xC7C8B8)
        .secondaryColor(0x809587)
        .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_ROD)
})

/*GTCEuStartupEvents.materialModification(event => {
    TagPrefix.ingot.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"), "create:andesite_alloy")
})*/

GTCEuStartupEvents.materialModification(event => {
    TagPrefix.ingot.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"))
    TagPrefix.block.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"))
})

StartupEvents.postInit(event => {
    TagPrefix.ingot.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"), "create:andesite_alloy")
    TagPrefix.block.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"), "create:andesite_alloy_block")
})```
vapid yoke
#

For the block, try doing setIgnoredBlock(...) instead of setIgnored(...) on the second call

floral walrus
#

uh

#

TagPrefix.setIgnoredBlock(GTMaterialRegistry.getMaterial("andesite_alloy")) like this?

vapid yoke
#

my code

GTCEuStartupEvents.materialModification(event => {
    TagPrefix.ingot.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"))
    TagPrefix.block.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"))
})

StartupEvents.postInit(event => {
    TagPrefix.ingot.setIgnored(GTMaterialRegistry.getMaterial("andesite_alloy"), "create:andesite_alloy")
    TagPrefix.block.setIgnoredBlock(GTMaterialRegistry.getMaterial("andesite_alloy"), "create:andesite_alloy_block")
})
floral walrus
#

oh

vapid yoke
#

lmk if that works

floral walrus
#

oki

#

it works chomperChomping

iron quartz
#

it works

#

on my infinity block too

vapid yoke
#

lfg @main viper can you update your command to add that you have to use setIgnoredBlock for blocks, and remove the bit about it not working?

floral walrus
#

i love how the emoji at the beginning actually made me read this sentence in mind as if someone was actually shouting it

#

needs more caps tho

vapid yoke
#

lfg CAN YOU UPDATE YOUR COMMAND TO

#

/j

jovial pelican
vapid yoke
#

I don't 100% understand it, but it seems the soltuion used there is to set ignore on the block "normally' during material modification, and then with the correct block/item on postinit

#

not 100% sure, and honestly maybe this should work with suppliers atp but w/e

jovial pelican
#

Lemme try it rq

#

Okay it actually works, wtf

#

The last thing that I to do for infinity, is to add that black vignette to everything

main viper
main viper
#

I'll edit once I'm on PC because mobile discord sucks

iron quartz
#

i cant add the halo and the shake to infinity components

{
  "parent": "item/generated",
  "textures": {
    "layer0": "gtceu:item/material_sets/infinity/plate",
    "halo": "avaritia:misc/halo"
  },
  "loader": "avaritia:halo",
  "halo": {
    "texture": "#halo",
    "color": -16777216,
    "size": 10,
    "pulse": true
  }
}
floral walrus
#

meow

iron quartz
#

can a fluid use custom texture

#

fluid material

static oriole
#

you can make a custom fluid still

iron quartz
#
GTCEuStartupEvents.registry('gtceu:material', event => {
    event.create('dimensionally_transcendent_residue')
      .fluid()
      .iconSet('dimensionally_transcendent_residue')
})

like this

static oriole
#

hmm, Iirc moni has examples

#

and sky of grind

iron quartz
iron quartz
static oriole
#

not sure, never used setIgnored at all

iron quartz
#

i mean

#

fluids is a type of block

#

ok

#
event.create("hyperdegenerate_matter")
        .element(GTElements.get("hyperdegenerate_matter"))
        .color(0xffffff).iconSet("hyperdegenerate_matter")
        .liquid(new GTFluidBuilder().state(GTFluidState.PLASMA).customStill())

heres what i found in moni

static oriole
iron quartz
iron quartz
main viper
#

Try .iconSet("dull")

iron quartz
#
event.create('dimensionally_transcendent_residue')
    .liquid(2000000000)
    .color(0xffffff)
    .iconSet('dimensionally_transcendent_residue')
#
GTCEuStartupEvents.registry("gtceu:material_icon_set", event => {
    // Only exists for a custom fluid texture?
    event.create("hyperdegenerate_matter").parent(GTMaterialIconSet.RADIOACTIVE)
})

whaaat

#

no idea how this works

#

solved

jovial pelican
floral walrus
# floral walrus

btw guys do yall have any feedback on how could i improve this quest chart visually? as in how could i make the placement of quests look better.

im not very good at making these, which is why im asking

random ermine
#

IDK why they didnt use suppliers

floral walrus
floral walrus
#

i dont

#

well guess i never will

jovial pelican
floral walrus
#

ive seen others share their work on their modpacks here so i just assumed i could do that as well

#

sorry

wheat granite
#

Is there ANYWAY to disable surface rock generation?

floral walrus
#

config

floral walrus
#
event.create('seared_stone')
        .ingot()
        .components('2x clay', '2x quartz_sand', '2x flint')
        .iconSet(GTMaterialIconSet.ROUGH)
        .color(0x4E4946)
        .secondaryColor(0x242021)
        .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING, GTMaterialFlags.MORTAR_GRINDABLE)
        .toolStats(new ToolProperty (1, 1, 128, 1,
            [
                GTToolType.MORTAR
            ]

        ))```
Why does this not create a recipe for the mortar?
timid spoke
#

hey does anyone know how to control a GT pump with redstone

timid spoke
#

someone said machine controller but idk how to get the controller to do anything

static oriole
timid spoke
#

as long as the pump is in import mode

#

it will always work

#

regardless of the redstone on the controller

#

i tried powering the drum and the pipe block

static oriole
#

It might only work on actual machines and not pipes

timid spoke
#

i mean it connected

valid junco
#

sadly pipes don't check for redstone updates

reef crane
#

idk but u can just make a recipe for it

#

ive tested this with a material of my own, it seems it just dosent make a recipe for mortars for some reason

vapid yoke
#

as in, a recipe for the mortar tool or a recipe to use the mortar to make it into dust?

vapid yoke
floral walrus
#

oh so it was a bug

#

huh

#

i thought i just did smth wrong

azure basin
#

Just had an idle thought: will there ever be any rework to cable loss?

The mechanic as a whole seems to tread a very thin line between <stumbling block that causes new players' setups to not work> and <negligible> which isn't very engaging.

Reducing all cable loss in LV down to 1 EU per amp-meter so that insulated cables have zero loss would help alleviate the "why is my EBF not starting?" issue, but not the other half of the mechanic having negligible impact past EV, especially since superconductors become more and more practical to use at scale as you progress.

A more transformative change would be to have energy receivers take cable loss into account and draw additional amps as needed to run the machine but this might introduce balance issues like the old machine pausing/powerfail behavior had.

#

Any thoughts?

#

Actually, singleblock machines do this already by drawing 2 amps instead of 1 when their internal energy buffer is low, including situations when cable loss would result in one amp not being enough to run the recipe.

It's probably why we only hear about confusion with cable loss when new players try double-hatching their EBF for their first Aluminium - the 2 LV hatches have a maximum draw of 4A LV so you can only lose up to 8 EU/t before the recipe fails.

azure basin
vapid yoke
#

that and also the primary reason for it is to incentivise people to use certain cables over others

vapid yoke
floral walrus
#

epic win

azure basin
# vapid yoke that and also the primary reason for it is to incentivise people to use certain ...

I'm aware that that's the purpose. It's a perfectly reasonable tradeoff to have in theory - you have to pick between cheap cables or efficient energy transmission. (or one of several points on the spectrum between the two)

The issue I'm pointing out is that of all the cases I've seen, players' interaction with the mechanic is less often "Hmm. Tungsten wire is easier to make than Platinum but has higher loss, so I will [execute plan of action where cable choice is dictated by available resources, application, and other case-specific factors]", it's "oh, my EBF doesn't work and I had to ask in the Discord to figure out why only to discover it was because there were 8 or more blocks between the generator and energy hatches." or "Cable loss? I just pick the wire that's cheap and has high amperage and build the one or two extra generators to make up the difference."

I admit that modern GT modpacks tend to make design decisions that throw a wrench into what balance already exists, Moni included, but at least in the case of Moni those decisions change which option is more or less suited to a given application or make the mechanic easier to avoid entirely, which are distinct from the issue at hand.

The idea is good, but the implementation doesn't always result in the intended interaction.

timid spoke
#

can you stop a fluid moving through a pipe with redstone

static oriole
#

no pipes do not listen to machine controllers

timid spoke
#

can you stop an output bus from giving fluid to a pipe?

#

when you use a machine controller on a multiblock, does it stop the multiblock or just that hatch its attached to?

valid junco
valid junco
timid spoke
#

does it stop that hatch from supplying the multiblock?

#

or accepting the item/fluid

valid junco
#

only the auto import / export

#

also: turn off the hatch if you use a robot arm for item movement

#

and also turn off the input bus/hatch when you place a pattern provider on it - it's not possible to pull from a pattern provider

timid spoke
#

hm if u turn it off will it still accept items pushed into it?

valid junco
#

yes

timid spoke
#

basically im working out how to threshold control stuff and trying to limit what i do with ae

#

i was worried that ae was my only option for redstone controlled movement

timid spoke
timid spoke
#

im assuming i did something****
wrong

valid junco
#

there is a button in the machine controller

timid spoke
#

oh my god i realised its cause i had the pump on the pipe not the actual block

#

that is so dumb

timid spoke
#

why is the maint hatch treated as an additional texture, slightly floating above the multiblock (u can see in the picture the sliver of the pixel behind is there)

but machine covers arent, so they flicker and glitch?

timid spoke
timid spoke
#

well i found the issue

#

im on 1.6.4 gtceu

#

and i guess machine controllers just dont work for other targetted covers

#

straight up just doesnt work

static oriole
#

grandpa version

timid spoke
#

i assume this was fixed in 1.12

static oriole
#

you mean 7.7.x?

#

ugh autocorrect

#

7.7.x

#

ughhhh

timid spoke
#

idk modern ver of gtceu ;-;

static oriole
#

idiot thing

timid spoke
#

like was this issue dealt with?

vapid yoke
vapid yoke
random ermine
#

Same for covers, the offset that's supposed to get rid of z-fighting is too small

timid spoke
#

Ty

#

Do you know if the machine cover with pumps and arms was touched?

vapid yoke
#

between 1.6.4 and 7.5.0, probably yeah yepyepyep at the very least visually

timid spoke
#

Oh sorry I meant

#

The machine cover actually working

timid spoke
#

When it targets another cover on the block, like a pump, you can indeed select that pump on the machine controller ui, but other than that nothing works

#

No redstone control, and settings are misremembered

vapid yoke
#

yeah I think we fixed that

noble creek
#

I've looked around but the online docs don't show a method that works, for custom material creation what is the proper method for default enchantments?

.addEnchantmentForTools(silk_touch, 1)

This does not work as i get the error: Cannot find function addEnchantmentForTools

Error in 'GTCEuStartupEvents.registry': TypeError: Cannot find function addEnchantmentForTools in object com.gregtechceu.gtceu.api.data.chemical.material.properties.ToolProperty$Builder@3a8a774a.

I also do have the 2 suggested classes loaded at the top of the file, being:

Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.PropertyKey');
Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.ToolProperty');

The only difference between this material that fails and another material that works is the addEnchantmentForTools portion.

noble creek
#

nvm this seemed to do it, the java docs had something else listed which got me there

static oriole
#

oh well

#

I'll make a tiny pr updating it

vapid yoke
chrome basin
#

Not a goat

noble creek
#

Would I be right in assuming KJS cannot handle tiered multis (like the large boiler tier system) by itself and that would be a java route? I've scanned through messages in the disc and I saw some older posts saying just use java but just not sure if that's still the case.

vapid yoke
#

iirc the large boiler "tier system" is just having 2 differnet multis(?)

#

Yeah we just have 4 different multis

noble creek
#

Is it just a recipe modifier editing a shared recipe_type? The tiers don't have different recipe viewer pages do they? As in don't they all run off the same base recipe but scale steam output differently? I don't recall each large boiler having its own recipe type but maybe I'm off on that? I just can't check rn.

vapid yoke
#

ahhh, like that

yeah, the actual large boilers have a java class as callback which has a recipe modifier and its own recipelogic

#

if you want your machine to do custom logic based on tiers that's more difficult than just "make it faster/slower based on coil tier" or sth like that, then yeah you will need a custom machine class I think

noble creek
#

Ah ok, tyvm, I may go that route. I can always just register the tiers as completely separate multis but they just won't share the same recipe page like how the boilers do (and I think fusion reactors?).

vapid yoke
#

no you can have multis with the same recipetype, and then have a recipemodifier attached to the multis that give them different bonusses etc

noble creek
#

I'll mess around with modifiers and see what I can come up with.

jovial pelican
#

Monifactory had tiered microverse projectors made through KJS

#

But yeah, still recipe modifiers

static oriole
#

even before the java rework they were entirely normal multis

#

not tiered or recipe modifiers at all

jovial pelican
#

They had custom recipe modifiers

static oriole
#

that are made in java

left phoenix
#

Sry but where can I find which mod launcher version is compatible with which GTCEu modern version? Specifically I need the neoforge version 21.x for GTCEu modern mc1.21.1-7.0.2 as it doesn't show it upon an "ERROR DURING MOD LOADING" just that it didn't find something

sinful falconBOT
# jovial pelican %t gt121

GT on 1.21.1 is currently outdated, buggy and not playable - work is being done to make an updated port but that might be a few more month

left phoenix
jovial pelican
valid junco
left phoenix
#

Very useful, guess I'll have to go trial and error then

valid junco
#

it won't work

#

even if you get it to load - the current GT 1.21 version is not playable

left phoenix
#

I have had it work, there were bugs but it was running

valid junco
#

%t gt121

sinful falconBOT
# valid junco %t gt121

GT on 1.21.1 is currently outdated, buggy and not playable - work is being done to make an updated port but that might be a few more month

iron quartz
wheat granite
#

So I'm trying to add Zirconium to my gt modpack

    //Zirconium
    event.create('Zirconium')
    .element('zirconium')
    .ingot()
    .liquid()
    .color(0xF4F8FF)
    .inconSet(SHINY)
    .flags(plates, dense_plate, rod, bolt_and_screw, frame, gear, long_rod, block, foil, ring, spring, small_spring, small_gear, rotor, round)

Because the GT Modern Docs says that adding custom elements is only for those NOT on the periodic table, so I was assuming that this is how you do it but it didn't work🥲. The docs also says "For those elements, see GTElements," but I have no idea where to check that so...

#

Wait it might just be cuz I wrote ".inconSet"

static oriole
#

you gotta add a property to it

wheat granite
#

Nope not it

wheat granite
static oriole
#

GTMaterials.Zirconium.setProperty($PropertyKey.INGOT, new $IngotProperty().addFlags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_FRAME, GTMaterialFlags.GENERATE_DENSE));

#

just anywhere in your materials block

#

you could name your material zirconiumy or smth

#

but you cant make a material the same name as an existing one

wheat granite
#

So like this?

    //Zirconium
    event.create('zirconiumy')
    GTMaterials.Zirconium.setProperty($PropertyKey.INGOT, new $IngotProperty())
    .element('zirconium')
    .ingot()
    .liquid()
    .color(0xF4F8FF)
    .iconSet(SHINY)
    .flags(plates, dense_plate, rod, bolt_and_screw, frame, gear, long_rod, block, foil, ring, spring, small_spring, small_gear, rotor, round)
static oriole
#

well you'd do it outside the builder of zirconiumy, it's either make a new material thats a close name but not exactly then lang it so it looks the same, or add a property to the existing material

wheat granite
#

And what would I do if I wanted to add the plate,screw, etc versions of it?

random ermine
pulsar barn
#

how can i make uh a recipe GUI look like the Assembly Line?

static oriole
pulsar barn
#

a what?

static oriole
#

the in-game editor is broken rn

#

so you've gotta actually code it

pulsar barn
#

alright

#

where do i make the rtui file?

#

and where do i put it

static oriole
#

this is the base gt one

#

it's in assets/gtceu/recipe_type/ui/

pulsar barn
#

🙏

static oriole
#

not too sure how you actually bind it, lemme try to find the assline's recipe type

pulsar barn
#

what if

#

its based on its name

#

ah wait no

#

its in the thingimabob

#

its also gtceu/ui/recipe_type

static oriole
#

mb

pulsar barn
#

allg

#

how can i tho open a rtui file?

static oriole
pulsar barn
#

ah

#

can it do that natively?

static oriole
#

yeah

static oriole
pulsar barn
#

damn

#

did everything. doesn't work

pulsar barn
#

can someone please tell me, how i use a .rtui file?

pulsar barn
#

i have done literally everything i can, and its still not doing damn shit

pulsar barn
#

can someone ping me when if they find something? I can give files tomorrow as im giving up for tongight

noble creek
#

Having a really odd issue with a specific person having a crash on startup because of a custom texture for a custom multiblock not being able to be found, although no one else has said issue, it works for me in both CF and prism launchers (and many other people), they have reinstalled prism and the modpack, but the custom texture file just cant be found for them, we checked in the KJS discord and screret tried helping out as well, but nothing seems to work for this one person, any ideas?

its crashing due to

Texture kubejs:block/custom_casings/solid_aluminium_casing/solid_aluminium_casing does not exist in any known resource pack

but the texture does exist for them, in the proper spot, kinda running out of ideas here, wondering if anyone else has run into this at all

they are using prism and have tried installing it through the CF import option and directly from zip

bleak sphinx
#

other custom multis load fine but the first that uses a kubejs texture crashes

jovial pelican
wheat granite
#

How could I remove certain tools from a material? Like removing the flint mortar, for example.

static oriole
#

Tool creation page

wheat granite
#

I think I found it, thanks

pulsar barn
#

can someone please help me with .rtui files?

#

my recipe type is called organism_assembly_line and i want it to have the SAME GUI as the assembly line

#

i have a organism_assembly_line.rtui in ⁨kubejs/assets/gtceu/ui/recipe_types⁩ and even used a NBT Editor to change the recipe type it mentions to be gtceu:organism_assembly_line, but it does not work

#

i even changed it to say ⁨organism_assembly_line⁩ but shit does not work

#

it would be kind for someone to respond. i've been waiting for like two days

random ermine
#

great question. nobody knows, probably.

random ermine
pulsar barn
#

thank you for a answer

#

this shit has got me stumped

pulsar barn
#

yeah alright. if you don't know either, whats the point of asking

wheat granite
#

Just curious, is there a better way to make isotopes of materials? Like ik gregtech has neptunium built into it, as it's a periodic table element. So I'm curious if I have to make a custom element named, neptunium 247, for example. Or if I can just generate materials for the pre-built neptunium as an isotope

pulsar barn
#

i got good news

and bad news

#

good news

i got the rtui to work

#

bad news

random ermine
#

and all the other isotopes

pulsar barn
#

if you're feeling extra lazy, make a script for it @wheat granite

wheat granite
#

Thanks

finite swan
#

Why can't I insert bettery into battery buffer? Both are low voltage

main viper
#

Is it filled with alkali?

#

Lithium, Sodium or Potassium?

finite swan
#

Ah, its not willed with anything. That should explain it

forest salmon
#

Have an error while creating a coal like material.

GTCEuStartupEvents.registry('gtceu:material', lpmats => {
    lpmats.create('lignite_coal')
    .gem(2, 12000)
    .ore(2, 7)
    .element(GTElements.C)
    .color(0x120601).iconSet(GTMaterialIconSet.LLIGNITE)
})
#

ReferenceError: "GTCEuStartupEvents" is not defined

forest salmon
main viper
#

Try using .components("carbon") instead of .element()

#

Also, what version

pulsar barn
pulsar barn
#

typo

#

you wrote .LLIGNITE

reef crane
#

can i change the chunk grid value for diff dimensions? like it the overworld the grid is 5x5 and in the end its 3x3 for example

azure basin
#

Did GTM version 7.5.0 change the minimum version of Java or Forge that can be used with the mod?
I'm on a server with GTM as the only mod and it launches fine with 7.4.1 but when I swap in 7.5.0 the server crashes.

openjdk version "21.0.9" 2025-10-21 LTS
OpenJDK Runtime Environment Temurin-21.0.9+10 (build 21.0.9+10-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.9+10 (build 21.0.9+10-LTS, mixed mode, sharing)
MinecraftForge v47.4.0 for MC 1.20.1

valid junco
#

from reading #modern-dev-talks there appears to be some issue in 7.5

azure basin
#

no shot trolllaugh

#

oh yep I've definitely got the error they're talking about there

#

skimmed past it since that channel is actually about development 95% of the time and technical support is redirected here

valid junco
#

so best to wait for a 7.5.1

vapid yoke
maiden moth
#

just downloaded gtceu-1.20.1-7.5.0 and it crashed instantly with something about vanillarecipehandler

vapid yoke
#

Thanks for the report! We're working on it prayge apologies

#

7.5.1 will probably come tonight with a fix

maiden moth
#

for now the prior thing

#

in full glory

vapid yoke
#

working on getting that released

timid spoke
#

hey guys, modpack im on used to use gtceu 6.4, and recently it upgraded to 7.4.1

it also had create vintage (not vintage improvements) and it had a bunch of kubejs scripts to ensure gt compatability with all the create vintage recipes and fluids etc

upgrading to 7.4.1 caused all of these to break, but vintage didnt change version
so im wondering where to start trying to bugfix, as an absolute beginner
cause surely none of the coding for the vintage recipes would have changed given it didnt change version?

#

a slightly weird thing- some scripts do work with vintage, others dont

chrome basin
#

Gregtech does nothing with create or it’s addons

#

So ig it’s either outdated Kube script

#

Or the addon itself

timid spoke
#

idrk why it would become outdated when the mod didnt change? im kinda at a loss

chrome basin
#

You updated gregtech

#

Gregtech s kubejs scripts probably changed

#

%t gtwiki

timid spoke
#

is there a changelog of what scripts changed

chrome basin
#

I’m not sure if they changed

#

Just saying maybe

#

But the wiki has Kube examples

timid spoke
#

i already had some stuff with rock breaker recipes kubejs scripts changing

#

so its probably that

chrome basin
#

Prolly well the wiki has some Kube script examples

timid spoke
#

just do i have to go thru the current wiki exhaustatively or do they collect changes somewhere

chrome basin
#

Uhh I think either GitHub

#

Or maybe uhh

#

Idk

timid spoke
#

like nothing in the file gets implemented or errored

static oriole
#

Interesting

#

What is said file

#

Can you put it here

timid spoke
#

sure will attach a pastebin

#

ill give two pastebins, one that adds recipes and it works, and another that fails

#
#

i dont think its the json file filtering since another script that doesnt work doesnt use it

timid spoke
#

hey i have no idea whats going on either but thats because i wouldnt even if it was really well done

#

i have fully no idea

timid spoke
#

it worked in 6.4 but in 7.4 pulls the error :

[23:34:15] [Render thread/ERROR]: mods/create/oreVibratingAdd.js#8: Error in 'ServerEvents.recipes': TypeError: Cannot read property "item" from undefined
#

oops

magic creekBOT
timid spoke
#

thank you bot you gave it ur best shot

humble terrace
wheat granite
#

Is there anything wrong with this? The mutliblock works fine but the autogenerated texture(the casing itself not the overlay) does not work

random ermine
#

gtceu/block/casings/solid/machine_casing_solid_steel

#

should be
gtceu:block/casings/solid/machine_casing_solid_steel

#

rn you're using minecraft:textures/gtceu/block/casings/solid/machine_casing_solid_steel.png as the texture

wheat granite
#

I see, thanks

pulsar barn
#

yeah that was my fault

#

i whoopsadaisied

wheat granite
#

I don't know why but the multiblock tool I use to convert builds into asile format for gtceu multiblocks doesn't work

#

Keeping saying (no console) despite me downloading python again

#

Just curious if anyone who uses the tool has solved the issue

main viper
#

There's a mod for it by phoenixvine

wheat granite
static oriole
#

kubejs aisle tool. I didn't make it but I did it take it over

wheat granite
#
"material.gtceu.strontium_hydroxide": "Strontium hydroxide",
"gtceu.coker_unit": "Coker Unit"

Anyone know why the lang for coker unit does not work?

static oriole
#

gtceu.block.coker_unit

#

is the key for the actual block

wheat granite
#

Oh, thanks

#
//#region Ingots
event.create('nine_percent_nickel_steel')
.components('3x nickel','1x austenite')
.ingot()
.liquid()
.color(0xC8C8D0)
.iconSet('METALLIC')
.flags(plates, dense_plate, rod, bolt_and_screw, frame, gear, long_rod, block, foil, ring, spring, small_spring, small_gear, rotor, round, fine_wire)

//#region Dusts
event.create('austenite')
.components('2x steel','1x manganese','1x nickel')
.dust()
.color(0xC0C0C0)    
.iconSet('METALLIC')

Also I don't know why, but this is not generating components for my materials

bronze plover
#

im not sure what i'm supposed to do to my recipes to fix this

bronze plover
#

i saw that but im not sure what that is or like... do i just put an arbitrary integer after the id?

static oriole
#

most i've done is make custom recipe modifiers for my java machines

bronze plover
static oriole
#

odd, based on what the wiki says it shouldn't touch that.

#

from the page's wording I assumed it only affected java stuff

bronze plover
#

it didnt like that now it's a red breaking error

#

before, it just said a error on every recipe but seemed to load them all

#

it doesn't seem like any recipes are actually broken but the error spam makes it pretty much impossible to see if there are any real ones that break a recipe

random ermine
bronze plover
#

i am using 7.5.1 forge 1.20.1

vapid yoke
#

it's fixed in 7.5.2 which will release probably this weekend, but also if you create recipes in the correct ways (via kjs or the recipebuilder) this shouldn't happen. How are you creating them?

bronze plover
#
    event.recipes.gtceu.assembler('comparabletobees:assembler/spyglass')
        .itemInputs(
            '#forge:lenses/white',
            '#forge:rings/gold',
            '#forge:plates/copper',
            ['#forge:leather', '#forge:canvas']
        )
        .itemOutputs(
            'minecraft:spyglass'
        )
        .duration(100)
        .EUt(4)    
#

inside of a ServerEvents.recipes(event => {})

#

in kubjes

random ermine
#

And you didn't add a key for the color (which you shouldnt do btw)

vapid yoke
#

wdym? even after the optional patch thing?

random ermine
#

Well no before that

frosty sparrow
#

Trying to add a custom steam grinder recipe and found this layout, are they correct and if not, what changed need to be done to fix these?

‎        .itemInputs('minecraft:raw_copper') 
‎        .itemOutputs('2x gtceu:copper_dust') 
‎        .duration(200) 
‎        .EUt(2)
‎   event.recipes.gtceu.steam_grinder('coal_grinding')
‎        .itemInputs('minecraft:coal')
‎        .itemOutputs('gtceu:coal_dust')
‎        .duration(100)
‎        .EUt(2)
‎})```
#

Items tags will be fixed after I get the correct custom recipe layout and this was found just rn at 3 am so haven't been able to test it yet

#

Any help is appreciated:)

bronze plover
#

isnt that the same as the macerator

#

minecraft isnt working rn so i cant check

bronze plover
#

event.recipes.gtceu.macerator() should work for the steam grinder, i believe as long as you put .EUt() as 1 to 8, i believe, but it will also work in single block macerators

#

are macerator_recycling and ore_crushing exclusively auto generated

bronze plover
#

well then i've just found .addMaterialInfo(true)

random ermine
#

So 0 to 32 eu/t

wheat granite
#

I was gonna make my own fission reactor for my modpack but I'm glad its being added to base gt

#

So less work for me

iron quartz
#

i cant add that black vignette to infinity components aaaaaaaaaaaaaaaaa

wheat granite
#

I will gladly help playtest gtceu modenr 8.0🙏🙏🙏🙏

jovial pelican
noble creek
#

Is it "normal" that GT energy providers (generators/cables) still push into Flux Plugs from Flux Networks even though the GT energy provider blocks are blacklisted in the config for Flux Networks and don't actually physically connect to the GT energy provider? Not sure if the Flux Plugs are accepting energy from something they shouldn't or GT is pushing energy into something it shouldn't, and not sure if this would be something to go to their issues or something on the GT end. Thought I'd check here first. The Flux Points will not provide energy to something that is blacklisted, but the Flux Plugs will still receive energy from something that is blacklisted.

wheat granite
#
GTCEuStartupEvents.registry('gtceu:machine', event => {
event.create('steam_separator', 'multiblock')
    .machine((holder) => new $SteamMulti(holder, 8))
    .rotationState(RotationState.NON_Y_AXIS)
    .recipeTypes('centrifuge')
    .recipeModifier((machine, recipe) => $SteamMulti.recipeModifier(machine, recipe), true)
    .pattern(definition => FactoryBlockPattern.start()
    .aisle("aaa", "aaa", "cac")
    .aisle("aaa", "ada", "aaa")
    .aisle("aaa", "aba", "cac")
    .where("a", Predicates.blocks("gtceu:steam_machine_casing")
        .or(Predicates.abilities(PartAbility.STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1))
        .or(Predicates.abilities(PartAbility.STEAM_EXPORT_ITEMS).setMaxGlobalLimited(1))
        .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setMaxGlobalLimited(1))
        .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setMaxGlobalLimited(1))
        .or(Predicates.abilities(PartAbility.STEAM).setMaxGlobalLimited(1)))
    .where("b", Predicates.controller(Predicates.blocks(definition.get())))
    .where("c", Predicates.blocks.any())
    .where("d", Predicates.blocks("gtceu:bronze_gearbox"))
    .build())
    .workableCasingModel("gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", "gtceu:block/machines/centrifuge")
})

Is anything wrong with my code here? I'm asking because when I load up the game, the controller block looks like the multiblocks casing without any overlay

vapid yoke
#

did you run datagen?
\

static oriole
#

Its a kjs multi haha

#

Double check your paths

wheat granite
#

Well "gtceu:block/machines/centrifuge" just fine for @pulsar barn

pulsar barn
#

yeah, it do

wheat granite
#

Because the controller looks like steam machine casing, I can deduce that it must be an issue with "gtceu:block/machines/centrifuge"

pulsar barn
#

my code:

GTCEuStartupEvents.registry('gtceu:machine', event => {

    event.create('cyclotron', 'multiblock')
    .rotationState(RotationState.NON_Y_AXIS)
    .recipeTypes([GTRecipeTypes.get('cyclotron'), 'centrifuge'])
    .recipeModifiers([GTRecipeModifiers.OC_NON_PERFECT, GTRecipeModifiers.PARALLEL_HATCH])
    .appearanceBlock(() => Block.getBlock("gtceu:vibration_safe_casing"))
    .pattern(definition => FactoryBlockPattern.start()
    .aisle("BBBBB", "BCCCB", "BCCCB", "BCCCB", "BBCBB", "ABBBA", "AABAA")
    .aisle("BBBBB", "CADAC", "CAAAC", "CADAC", "BAAAB", "BADAB", "ABBBA")
    .aisle("BBBBB", "CAFAC", "CDFDC", "CAFAC", "CDFDC", "BAFAB", "BBFBB")
    .aisle("BBBBB", "CADAC", "CAAAC", "CADAC", "BAAAB", "BADAB", "ABBBA")
    .aisle("BBEBB", "BCCCB", "BCCCB", "BCCCB", "BBCBB", "ABBBA", "AABAA")
   .where("A", Predicates.any())
   .where("B", Predicates.blocks("gtceu:vibration_safe_casing")
        .or(Predicates.autoAbilities(definition.getRecipeTypes()))
        .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
        .or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setMaxGlobalLimited(1)))
   .where("C", Predicates.blocks("kubejs:obsidian_glass"))
   .where("D", Predicates.blocks("gtceu:titanium_pipe_casing"))
   .where("E", Predicates.controller(Predicates.blocks(definition.get())))
   .where("F", Predicates.blocks("gtceu:titanium_gearbox"))
.build())
.workableCasingModel('gtceu:block/casings/solid/vibration_safe_casing', 
    'gtceu:block/machines/centrifuge')

})```
wheat granite
#

But it doesn't make sense because it works for archonite

pulsar barn
#

thats a true headscratcher

#

the code works for me

wheat granite
#

Okay now IM REALLY confused because the code "works" for him

pulsar barn
#

well not multiblock shit, but overlay

wheat granite
#

Yeah

#

Still more than me

pulsar barn
#

imma redo the structure

#

the ufck you mean, cannot find object Function

#

fuck it

#

sorry, but i gotta work on my own shit

wheat granite
#
GTCEuStartupEvents.registry('gtceu:machine', event => {
event.create('steam_separator', 'multiblock')
    .machine((holder) => new $SteamMulti(holder, 8))
    .rotationState(RotationState.NON_Y_AXIS)
    .recipeTypes('centrifuge')
    .recipeModifier((machine, recipe) => $SteamMulti.recipeModifier(machine, recipe), true)
    .appearanceBlock(() => Block.getBlock("gtceu:steam_machine_casing"))
    .pattern(definition => FactoryBlockPattern.start()
    .aisle("aaa", "aaa", "cac")
    .aisle("aaa", "ada", "aaa")
    .aisle("aaa", "aba", "cac")
    .where("a", Predicates.blocks("gtceu:steam_machine_casing")
        .or(Predicates.abilities(PartAbility.STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1))
        .or(Predicates.abilities(PartAbility.STEAM_EXPORT_ITEMS).setMaxGlobalLimited(1))
        .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setMaxGlobalLimited(1))
        .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setMaxGlobalLimited(1))
        .or(Predicates.abilities(PartAbility.STEAM).setMaxGlobalLimited(1)))
    .where("b", Predicates.controller(Predicates.blocks(definition.get())))
    .where("c", Predicates.blocks.any())
    .where("d", Predicates.blocks("gtceu:bronze_gearbox"))
    .build())
    .workableCasingModel('gtceu:block/casings/solid/machine_casing_bronze_plated_bricks', 'gtceu:block/machines/centrifuge')
})

Alright so I turns out that I had a damaged gtceu modern instance. After reinstalling it, I managed to get the control block to actually have a machine overlay

#

However I don't know why but the multiblock is not building

#

Like even when I press "u" with jei to view the mutliblock, it does not show any preview

vapid yoke
#

any errors during startup that are being logged?

pulsar barn
#

event.create('naquadrium')
.parent('radioactive_hazard')

can i do this?

#

radioactive_hazard is registered before that

sinful falconBOT
pulsar barn
#

nope, i can't

#

says something about .isRootIconSet or some shit

random ermine
#

Isnt radioactive already an icon set?

jovial pelican
pulsar barn
#

with more violent radioactive secondary effects

#

because these materials im making require more violent measurements

wheat granite
#

Also:
"gtceu.block.steam_separator": "Steam Separator"
Doesn't seem to work

#

Don't know what I am doing wrong

pulsar barn
#

which glass cannon forgot to update the radioactive iconset for the plate, double plate, spring and turbine blade?

pulsar barn
#

github?

pulsar barn
#

k

static oriole
#

Iirc they havent been changed since we switched from zedtech to gt refreshed

pulsar barn
#

i can tell

wheat granite
#

Man I almost forgot about zedtech

pulsar barn
#

alr done

#

waiting simulator engaged

random ermine
#

Just gotta rerun the script that generates the overlays

pulsar barn
#

I did

#

The physical overlays are outdated

random ermine
#

No I meant that the textures are generated with a script

#

The things that are broken

pulsar barn
#

.. but i physically interacted with the secondary overlays?

#

Or do you mean that they are layered with scripts?

random ermine
random ermine
pulsar barn
#

I still am on a blind string on what you are trying to tell me

#

Might be too late for me to understand

random ermine
#

you're saying the overlay textures are outdated, right?

pulsar barn
#

Yes

#

Like, they still use ZedTech's textures

#

Not GT: Refreshed

random ermine
pulsar barn
#

Or so I've been told

random ermine
pulsar barn
#

I see

wheat granite
#
GTCEuStartupEvents.registry('gtceu:machine', event => {
event.create('steam_separator', 'multiblock')
    .machine((holder) => new $SteamMulti(holder, 8))
    .rotationState(RotationState.NON_Y_AXIS)
    .recipeTypes('centrifuge')
    .recipeModifier((machine, recipe) => $SteamMulti.recipeModifier(machine, recipe), true)
    .appearanceBlock(() => Block.getBlock("gtceu:steam_machine_casing"))
    .pattern(definition => FactoryBlockPattern.start()
    .aisle("aaa", "aaa", "cac")
    .aisle("aaa", "ada", "aaa")
    .aisle("aaa", "aba", "cac")
    .where("a", Predicates.blocks("gtceu:steam_machine_casing")
        .or(Predicates.abilities(PartAbility.STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1))
        .or(Predicates.abilities(PartAbility.STEAM_EXPORT_ITEMS).setMaxGlobalLimited(1))
        .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setMaxGlobalLimited(1))
        .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setMaxGlobalLimited(1))
        .or(Predicates.abilities(PartAbility.STEAM).setMaxGlobalLimited(1)))
    .where("b", Predicates.controller(Predicates.blocks(definition.get())))
    .where("c", Predicates.blocks.any())
    .where("d", Predicates.blocks("gtceu:bronze_gearbox"))
    .build())
    .workableCasingModel('gtceu:block/casings/solid/machine_casing_bronze_plated_bricks', 'gtceu:block/machines/centrifuge')
})

PLEASE someone help🙏 I've been stuck on this for quite a bit

humble terrace
#

What's your issue/error

wheat granite
#

So I was struggling until I looked into the logs and...

#

"
[17Feb2026 16:11:11.594] [GTCEu Multiblock Async Thread-0/ERROR][GregTechCEu/]: Error while assembling multiblock com.gregtechceu.gtceu.common.machine.multiblock.steam.SteamParallelMultiblockMachine@56e2bc80: TypeError: Cannot find function any in object Function. (startup_scripts:Multiblock Registration/Machine Registry/SteamAdditionsPort.js#8)"

magic creekBOT
static oriole
#

steam additions port?

#

what that

wheat granite
#

The name of my js file, I'm making the multiblocks from the steam additions gt mod so I don't have to depend on the addon's updates

#

Therefore, if gt has a big update and the mod breaks, my version will be fine(probably)

humble terrace
#

This line is breaking

wheat granite
#

Interesting

#

I mean I don't really see anything out of the ordinary. Let me compare it to my other WORKING mutliblock

#

Okay so the multiblock now exists , however the controller name is still block.gtceu.whatever

#

Another minor issue:
When using a terminal to build the multiblock, it says "incomplete" as instead of having a steam input for power, it automatically places a steam input bus

humble terrace
#

You need to define it in a lang file

wheat granite
#

Yeah... but I'm familiar with the format as I used "gtceu.block.steam_separator": "Steam Separator"
Which works fine for my friend, Archonite, but does not work for me

static oriole
#

is it in a file named en_us.json?

wheat granite
#

yes

static oriole
#

kubejs/assets/gtceu/en_us.json

#

hmm

wheat granite
#

Works perfectly fine for items

noble creek
#

// railed_bricks
event.recipes.gtceu.assembler('kubejs:kubejs/railed_bricks')
.itemInputs('1x minecraft:bricks')
.itemInputs('1x minecraft:rail')
.itemOutputs('1x kubejs:railed_bricks')
.duration(60)
.EUt(7)
.addMaterialInfo(true)

any reason why addMaterialInfo is doubling the output for recycling?

noble creek
#

event.recipes.gtceu.assembler('kubejs:basic_lava_generator')
.itemInputs('4x #forge:plates/iron')
.itemInputs('2x #forge:glass/colorless')
.itemInputs('4x #forge:dusts/netherrack')
.inputFluids(Fluid.of('gtceu:rubber', 576))
.itemOutputs('simplefluidgenerators:basic_lava_generator')
.duration(200)
.EUt(LV)
.circuit(1)
.addMaterialInfo(true)

this also gives 4 iron dust, 4 glass dust, 4 netherrack dust

chrome basin
#

what in the world could railed bricks be usefull for

noble creek
#

a pretty dumb and oddly specific multiblock to allow this lol, but im noticing a ton of recycling recipes added with addMaterialInfo are very wrong in recycling amounts

main viper
pulsar barn
#

guys and galls, i think i have a ghost recipe

pulsar barn
#

i have this beautiful assesement:

but. i have THREE recipes that include blaze

#

one of them, has no output

#

BUT it has the despoil sickle

#

so its like an inbred of an error and functional

#

its like.. ferctional or some shit

#

crisis averted. ghost recipe gone

pulsar barn
#

but what is weird, is the display

#

this is what the display for the fox recipe shows, but it actually is functional

wheat granite
pulsar barn
#

fire

chrome basin
pulsar barn
#

thats Biomancy

#

also that name is wicked

chrome basin
#

But true tho

bronze plover
#

is it intended that mask and gloves are invisible in curios slots

chrome basin
#

Huh

#

On the Player maybe

#

But not the item in the gui

bronze plover
#

oh no i mean on the player

#

seem to not render while in curios slots but do in armor slots

finite swan
#

What are Low Voltage sources of energy generation beside steam turbine?

bronze plover
#

combustion gen and gas gen

#

i suppose with those oil pools all over you can just stick some in a steel drum and use it