#Adding GTCEu as a dependency (forge)

1 messages · Page 1 of 1 (latest)

small meteor
#

I'm developping a mod that will depend on GTCEu.

I've started from the basic mod example in the forge documentation (https://docs.minecraftforge.net/en/1.20.x/gettingstarted/) and added gtceu as a dependency to the build.gradle file (and added https://maven.gtceu.com as a repository) just as described in https://github.com/GregTechCEu/GregTech-Modern.

dependencies {
    minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
        // vvv this line
    implementation fg.deobf("com.gregtechceu.gtceu:gtceu-${minecraft_version}:${gtceu_version}")
}

minecraft_version is 1.20.1 and gtceu_version is 1.6.4

It seems gradle is unable to fetch GTCEu's dependencies, here is one example (there are 14 such errors):

Cause 1: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find com.lowdragmc.ldlib:ldlib-forge-1.20.1:1.0.34.
Searched in the following locations:
  - https://maven.minecraftforge.net/com/lowdragmc/ldlib/ldlib-forge-1.20.1/1.0.34/ldlib-forge-1.20.1-1.0.34.module
  - https://maven.minecraftforge.net/com/lowdragmc/ldlib/ldlib-forge-1.20.1/1.0.34/ldlib-forge-1.20.1-1.0.34.pom
  - https://maven.minecraftforge.net/com/lowdragmc/ldlib/ldlib-forge-1.20.1/1.0.34/ldlib-forge-1.20.1-1.0.34.jar

Do I manually need to include these dependencies in my gradle dependencies? Or am I missing something? Followup issue, I have no clue where to get these dependencies, so if the answer to the first question is yes, I'd love some pointers.

Thank you

#

full list of failing dependencies:

com.lowdragmc.ldlib:ldlib-forge-1.20.1:1.0.34
com.tterrag.registrate:Registrate:MC1.20-1.3.11
dev.toma.configuration:configuration-forge-1.20.1:2.2.0
maven.modrinth:jade:11.6.3
appeng:appliedenergistics2-forge:15.0.18
thedarkcolour:kotlinforforge:4.11.0
dev.emi:emi-forge:1.1.13+1.20.1
com.lowdragmc.ldlib:ldlib-forge-1.20.1:1.0.34
com.tterrag.registrate:Registrate:MC1.20-1.3.11
dev.toma.configuration:configuration-forge-1.20.1:2.2.0
maven.modrinth:jade:11.6.3
appeng:appliedenergistics2-forge:15.0.18
thedarkcolour:kotlinforforge:4.11.0
dev.emi:emi-forge:1.1.13+1.20.1

dry siren
small meteor
#

Lifesaver thanks

misty arch
small meteor
#

but like, these are the same versions

misty arch
#

Config mismatch

#

Most probably

small meteor
#

how do I check those configs?

#

im just getting the gtceu directly in the dependencies, no modifications

implementation fg.deobf("com.gregtechceu.gtceu:gtceu-${minecraft_version}:${gtceu_version}")

small meteor
#

I've kind of figured it out, it seems the client (created with prism) is lacking some blocks that the server is not, specifically the new tiers of voltages (uxv_XXX, uiv_XXX, opv_XXX) and fails to load the registry.

However, how can this happen? It's the exact same mod version. GTCEu modern 1.6.4 for minecraft 1.20.1 and forge 47.3.0.

If I just create a singleplayer world, those blocks are indeed missing.

small meteor
#

If I instead run the client directly from the gradle project (that currently is only an example mod that does nothing except a print at startup) via runClient task, the resulting MC client has GTCeu modern 1.6.4 installed as you can see by the picture, but now has all the missing blocks...

Any ideas on this missmatch?
I've tried setting the server up directly with the gtceu jar file directly in here https://maven.gtceu.com/com/gregtechceu/gtceu/gtceu-1.20.1/1.6.4/
which is te one being imported by the build.gradle therefore should be identical to the server created by runServer task. However, the problem still persists, a bunch of missing blocks.

vernal basalt
#

Which is disabled by default but enabled in development

#

So enable that in the prism version and you should be good

small meteor
#

can I disable it in DEV instead?

vernal basalt
#

Why would you

#

And I have no idea

#

But ye probably

small meteor
#

thanks

vernal basalt
#

If you just find the config file in your dev directory

untold anvil
#

line 269 in gtceu.yaml

small meteor
#

HighTierContent is false in gtceu.yaml, just to be sure I went and printed it out in my addon, and it is set to false.

However, I can see via the logs that the high tier machines still got registered in the server. I've grepped trough the GTCEu modern github repo (tag 1.6.4 ofc) and can't find any reason for the blocks to be loaded still.

#

I've quit trying to disable it on the server. I enabled high tier machines and flawed gems (also a problem) on the client, and now im just missing these:

#

no idea where to start with these tho

#

ngl, this feels like the wrong way to go about it

#

is there no other way to develop a server side addon for GT for which I can just join with a regular GT client?

small meteor
#

found it

small meteor
#

It seems this comes from FMLLoader.production()

But this also means that I can't test my addon using runServer from gradle, if anyone has any ideas lmk

gaunt walrus
#

you can use both runClient and runServer

#

or you can set the config to enable high tier content