ReikaKalseki / Reika_Mods_Issues

The issue tracker for all of my mods - RotaryCraft, its addons, ChromatiCraft, and everything else.
46 stars 13 forks source link

NoClassDefFoundError: Reika/ChromatiCraft/ModInterface/ThaumCraft/ItemManipulatorFocus #2558

Closed Ieldra2 closed 4 years ago

Ieldra2 commented 4 years ago

This happens if I add CoFHCore to a mod setup with only ChromatiCraft, Rotarycraft etc.. and NEI: https://pastebin.com/rSezNyHV (The log also has a handful of other common mods but I got the same result with those removed).

The problem can be removed by adding Thaumcraft, but it probably is not Thaumcraft-related since the modpack Practical Engineering also has CoFHCore and no Thaumcraft, but loads up without a crash.

ReikaKalseki commented 4 years ago

That means that either your pack has a copy of the TC API somewhere, or alternatively is blocking my class reparenter which was made to fix exactly this. Or that PE is using a version predating this item, which was only added in v26.

Ieldra2 commented 4 years ago

The line "ClassNotFoundException: thaumcraft.api.wands.ItemFocusBasic" seems to indicate that I don't have a TC API present (where would it come from anyway), and PE uses the latest version. So how would such a blocking be possible? The only TC-related things I am aware of is that I have TC ores in my Condensed Ores config files even though TC is not (yet) present, but the same applies to a few other mods I haven't yet added. This is a pack I'm creating from scratch, with only a few config files being inherited from an earlier attempt.

ReikaKalseki commented 4 years ago

Does it happen with only CC and DAPI?

Ieldra2 commented 4 years ago

Yes. If I add CoFHCore to a mod setup with only CC and DAPI, the crash happens.

ReikaKalseki commented 4 years ago

Only CC and DAPI.

Ieldra2 commented 4 years ago

A mod setup with only CC and DAPI does not crash.

ReikaKalseki commented 4 years ago

Then your copy of CoFH is adding a broken copy of the API, or breaking my class reparenter somehow.

MeindertKempe commented 4 years ago

I seem to be having the same issue https://pastebin.com/rcJsYaq8.

When I install Thaumcraft the game starts just fine.

ReikaKalseki commented 4 years ago

Does removing CoFH fix it for you?

MeindertKempe commented 4 years ago

Yes, removing CoFH Core fixes it.

ReikaKalseki commented 4 years ago

Then they are breaking the classloading somehow and/or include an old/invalid copy of the TC API.

jadenquinn commented 3 years ago

So what you're telling me is I cannot play with both ANY CoFH mods and any of your mods at all? I don't think they still support a version 6-7 years old, you're the only one that can fix it, since you're still developing for 1.7.10. Can you not just add a fix that only activates when CoFH Core (or CoFH mods at all) is/are installed in a pack with DAPI?

And no I can't do it myself, if I could code mods I wouldn't be playing with other people's stuff.

Sorry if this came off as harsh, that's just kinda what it is. I just find it hard to believe at times.

ReikaKalseki commented 3 years ago

That is not at all what it says.

Cynosphere commented 3 years ago

Then your copy of CoFH is adding a broken copy of the API, or breaking my class reparenter somehow.

CoFHCore is not shipping TC API at all, so it is class reparenting breaking.

Stacktrace points to cofh.asm.CoFHAccessTransformer.transform(CoFHAccessTransformer.java:94) which leads to this try/catch block

Unless you can come up with a better alternative on your end, I'm just going to rebuild CoFHCore without this block.

XCOYoshi commented 3 years ago

I can play without problem with cofh core and with raika mods as long as I have thaumcraft installed

XCOYoshi commented 3 years ago

Then your copy of CoFH is adding a broken copy of the API, or breaking my class reparenter somehow.

CoFHCore is not shipping TC API at all, so it is class reparenting breaking.

Stacktrace points to cofh.asm.CoFHAccessTransformer.transform(CoFHAccessTransformer.java:94) which leads to this try/catch block

Unless you can come up with a better alternative on your end, I'm just going to rebuild CoFHCore without this block.

So you need thaumctaft

Cynosphere commented 3 years ago

So you need thaumctaft

I didn't say that at all. All I said is CoFHCore is breaking things.

I have tried making a custom version of CoFHCore and it has worked to an extent. Since I had to rework the existing build script since they decided to use a stupid ant/gradle hybrid to just be gradle only, I would have to figure out key signing as it doesn't play well with one unsigned mod providing duplicate classes that signed mods provide.

jadenquinn commented 3 years ago

Then your copy of CoFH is adding a broken copy of the API, or breaking my class reparenter somehow.

CoFHCore is not shipping TC API at all, so it is class reparenting breaking.

Stacktrace points to cofh.asm.CoFHAccessTransformer.transform(CoFHAccessTransformer.java:94) which leads to this try/catch block

Unless you can come up with a better alternative on your end, I'm just going to rebuild CoFHCore without this block.

If it's not that much to ask, can you please give me/us a fixed jar file so I/others can use it as well, if that's what you're working on doing?

ReikaKalseki commented 3 years ago

Multiple people have already stated in multiple issues that you can just remove the old API from the CoFH jar. Instructions work better when you read them.

jadenquinn commented 3 years ago

Ah, I looked twice and there weren't any instructions, so I guess I'll just have to trial and error it.

RobTheFox commented 3 years ago

I'm not sure how to remove the old api. I can access and edit the jar, but I don't know where the api is.

ReikaKalseki commented 3 years ago

In the jar?

Ieldra2 commented 3 years ago

I suspect the item to remove is cofh/api/modhelpers/ThaumcraftHelper.class, but I don't exactly know.

RobTheFox commented 3 years ago

The api from the CoFH jar. If I need to remove that, I would but I don't know where it is.

Ieldra2 commented 3 years ago

The api from the CoFH jar. If I need to remove that, I would but I don't know where it is.

Open the COFH jar with 7-zip. Within the .jar, navigate to the path I mentioned in my previous post, there you'll find it. At least that's the only item referencing TC I can find in the .jar. I have no idea if you can safely delete it, though.

RobTheFox commented 3 years ago

I'll give it a shot. I'll reply once I try it.

RobTheFox commented 3 years ago

I deleted it, still crashes.

ReikaKalseki commented 3 years ago

Show me.

RobTheFox commented 3 years ago

A detailed walkthrough of the error, its code path and all known details is as follows:

-- Head -- Stacktrace: at net.minecraft.world.gen.ChunkProviderGenerate.func_147423_a(ChunkProviderGenerate.java:269) at net.minecraft.world.gen.ChunkProviderGenerate.func_147424_a(ChunkProviderGenerate.java:110) at net.minecraft.world.gen.ChunkProviderGenerate.func_73154_d(ChunkProviderGenerate.java:212)

-- Chunk to be generated -- Details: Location: 0,0 Position hash: 0 Generator: RandomLevelSource Stacktrace: at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:172) at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:131) at net.minecraft.world.gen.ChunkProviderServer.func_73158_c(ChunkProviderServer.java:101) at net.minecraft.world.gen.ChunkProviderServer.func_73154_d(ChunkProviderServer.java:199) at net.minecraft.world.World.func_72964_e(World.java:419)

-- Requested block coordinates -- Details: Found chunk: true Location: World: (0,64,0), Chunk: (at 0,4,0 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Stacktrace: at net.minecraft.world.World.func_147439_a(World.java:345) at net.minecraft.world.World.func_147437_c(World.java:365) at net.minecraft.world.World.func_147474_b(World.java:329) at net.minecraft.world.WorldProvider.func_76566_a(WorldProvider.java:71) at net.minecraft.world.WorldServer.func_73052_b(WorldServer.java:749) at net.minecraft.world.WorldServer.func_72963_a(WorldServer.java:715)

-- Affected level -- Details: Level name: New World All players: 0 total; [] Chunk stats: ServerChunkCache: 0 Drop: 0 Level seed: -6800262745540936932 Level generator: ID 00 - default, ver 1. Features enabled: true Level generator options: Level spawn location: World: (0,0,0), Chunk: (at 0,0,0 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Level time: 0 game time, 0 day time Level dimension: 0 Level storage version: 0x04ABD - Anvil Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true Stacktrace: at net.minecraft.world.World.(World.java:260) at net.minecraft.world.WorldServer.(WorldServer.java:97) at net.minecraft.server.integrated.IntegratedServer.func_71247_a(IntegratedServer.java:62) at net.minecraft.server.integrated.IntegratedServer.func_71197_b(IntegratedServer.java:92) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:387) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)

-- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_271, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 1993543840 bytes (1901 MB) / 3666870272 bytes (3497 MB) up to 7516192768 bytes (7168 MB) Mod Pack: Unknown / None LiteLoader Mods: none LaunchWrapper: 52 active transformer(s)

I added ThaumCraft and it didn't make a difference. It loaded fine, but crashed once I loaded the world.

ReikaKalseki commented 3 years ago

That is an entirely different crash, and you cut off most of it on top of that.

RobTheFox commented 3 years ago

I could get the rest of it if you need it. I couldn't post all of it here because of the character limit.

ReikaKalseki commented 3 years ago

Open a new issue, and use pastebin.

RobTheFox commented 3 years ago

Sure thing.

lAimBotl commented 3 years ago

https://pastebin.com/X9AFy8MW is what I get even after deleting the thaumcraft api in cofh.

lAimBotl commented 3 years ago

https://github.com/TheCBProject/CoFHCore/blob/master/src/main/java/cofh/asm/CoFHAccessTransformer.java#L59-L190

would I be wrong is saying that this is the line?? (I just looked it up based on the crash report at: "at cofh.asm.CoFHAccessTransformer.transform(CoFHAccessTransformer.java:94)") nm I am blind, someone else already showed this lol.

RobTheFox commented 3 years ago

Did you use the most recent version? I'm using an unmodified cofh core and it works fine. But, I am using Thaumcraft with it, so I'm not sure if that makes a difference.

ReikaKalseki commented 3 years ago

Yes, that makes a difference - TC (for obvious reasons) includes a copy of its own API.

RobTheFox commented 3 years ago

So, I'm not sure if you'll be able to have the mods work without TC (unless Reika says otherwise), but I would recommend have TC with it.

lAimBotl commented 3 years ago

I did remove thaumcraft once, and it did stop crashing, though idk why, and I cannot reproduce it with a "clean" modpack . . .

lAimBotl commented 3 years ago

Just confirmed that my old modpack launches without Thaumcraft and with a unmodified Cofh

CoFHCore-[1.7.10]3.1.4-329.jar DragonAPI+1.7.10+V29g.jar ChromatiCraft+1.7.10+V29g.jar

on the modpack I had, that used to have thaumcraft, but currently does not.

full mod list in case it is important: https://pastebin.com/h1ih7qjy

ReikaKalseki commented 3 years ago

Maybe it is an entirely different mod then...

lAimBotl commented 3 years ago

I was going to do a slow thing, adding mods 1 by one till it didn't crash, but I was being lazy and just went "I will just add all the mods I "know" won't crash it" and it didn't crash . . . bruh.

When I find out which it is I will put it here: Chisel-2.9.5.11.jar + Railcraft_1.7.10-9.12.2.0.jar (or at least if I removed one or the other it would crash, but why? why these modss!!!!)

(old bigger mod list) :https://pastebin.com/ABnfvL6e

Minimal mod list: https://pastebin.com/6efe8h34

so yeah, just add railcraft + chisel (has to be both based on my testing) and then you won't need thaum. . .

(Looks like railcraft has a thaumcraft thingy too, but idk why you need chisel with it)

ReikaKalseki commented 3 years ago

Welcome to classloading hell.

MachiavelliSeraphim commented 2 years ago

Just a FYI. I have a MUCH larger mod list originally running on V26A. Updated the Reika's mods to V31 and ended up with this crash. Yes I have COFH mods installed.

All I needed to add was Railcraft, which doesn't bother me too much. I did not need Chisel at all.

And Yes, this kind of stuff is pure hell to sort out.

lAimBotl commented 2 years ago

Is it possible to have a config thing to disable that "part" of Chromaticraft? (at least as a bandaid, (assuming it is possible of course))

ReikaKalseki commented 2 years ago

It is not possible, because the error is that its class exists at all.