Skip to content
This repository has been archived by the owner on Jun 3, 2024. It is now read-only.

"Mod jars are not allowed to contain classes in Minecraft's package!" error #74

Open
Dycool opened this issue Oct 17, 2020 · 10 comments
Open
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@Dycool
Copy link

Dycool commented Oct 17, 2020

Im getting this error and idk how to fix it.
[20:28:25] [main/INFO] (Patchwork/UI) Welcome to Patchwork Patcher!
[20:28:25] [main/INFO] (Patchwork/UI) Patchwork is still an early project, things might not work as expected! Let us know the issues on GitHub!
[20:28:28] [pool-2-thread-2/INFO] (Patchwork/UI) Checking whether intermediary for 1.14.4 exists...
[20:28:28] [pool-2-thread-2/INFO] (Patchwork/UI) Intermediary for 1.14.4 already exists, using downloaded data.
[20:28:28] [pool-2-thread-2/INFO] (Patchwork/UI) Checking whether MCPConfig for 1.14.4 exists...
[20:28:28] [pool-2-thread-2/INFO] (Patchwork/UI) MCPConfig for 1.14.4 already exists, using downloaded data.
[20:28:28] [pool-2-thread-2/INFO] (Patchwork/UI) Minecraft jar already exists for Minecraft 1.14.4.
[20:28:28] [pool-2-thread-2/INFO] (Patchwork/UI) Preparation Complete!

[20:28:28] [pool-2-thread-2/INFO] (Patchwork) Remapping and patching MorePlayerModels_1.14.4-(24Jun20) (TinyRemapper, srg -> intermediary)
[20:28:29] [pool-3-thread-7/WARN] (Patchwork) Unknown Forge field annotation: Lnet/minecraftforge/common/capabilities/CapabilityInject;
[20:28:29] [pool-3-thread-7/WARN] (Patchwork) value -> Lnoppes/mpm/ModelData;
[20:28:29] [pool-2-thread-2/ERROR] (Patchwork) Throwing
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Mod jars are not allowed to contain classes in Minecraft's package!
at net.fabricmc.tinyremapper.TinyRemapper.waitForAll(TinyRemapper.java:758) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at net.fabricmc.tinyremapper.TinyRemapper.apply(TinyRemapper.java:623) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at net.patchworkmc.patcher.Patchwork.remap(Patchwork.java:349) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at net.patchworkmc.patcher.Patchwork.transformMod(Patchwork.java:196) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at net.patchworkmc.patcher.Patchwork.patchAndFinish(Patchwork.java:116) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at net.patchworkmc.patcher.PatchworkUI.startPatching(PatchworkUI.java:540) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at net.patchworkmc.patcher.PatchworkUI.lambda$null$10(PatchworkUI.java:331) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at net.patchworkmc.patcher.PatchworkUI.runWithNoExitCall(PatchworkUI.java:387) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at net.patchworkmc.patcher.PatchworkUI.lambda$null$12(PatchworkUI.java:329) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_261]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_261]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) [?:1.8.0_261]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [?:1.8.0_261]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_261]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_261]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_261]
Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Mod jars are not allowed to contain classes in Minecraft's package!
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_261]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_261]
at net.fabricmc.tinyremapper.TinyRemapper.waitForAll(TinyRemapper.java:755) ~[patchwork-patcher-0.3.0.jar:0.3.0]
... 15 more
Caused by: java.lang.IllegalArgumentException: Mod jars are not allowed to contain classes in Minecraft's package!
at net.patchworkmc.patcher.transformer.PatchworkTransformer.accept(PatchworkTransformer.java:87) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at net.patchworkmc.patcher.transformer.PatchworkTransformer.accept(PatchworkTransformer.java:47) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at net.fabricmc.tinyremapper.TinyRemapper.lambda$apply$1(TinyRemapper.java:612) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at net.fabricmc.tinyremapper.TinyRemapper.lambda$apply$2(TinyRemapper.java:620) ~[patchwork-patcher-0.3.0.jar:0.3.0]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_261]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_261]
... 3 more
[20:28:29] [pool-2-thread-2/INFO] (Patchwork/UI) Successfully patched 0 mod(s)!

@Tfarcenim
Copy link

Which mod is this?

@Dycool
Copy link
Author

Dycool commented Oct 18, 2020

@sylv256
Copy link

sylv256 commented Oct 21, 2020

These lines look important:

[20:28:28] [pool-2-thread-2/INFO] (Patchwork) Remapping and patching MorePlayerModels_1.14.4-(24Jun20) (TinyRemapper, srg -> intermediary)
[20:28:29] [pool-3-thread-7/WARN] (Patchwork) Unknown Forge field annotation: Lnet/minecraftforge/common/capabilities/CapabilityInject;
[20:28:29] [pool-3-thread-7/WARN] (Patchwork) value -> Lnoppes/mpm/ModelData;
[20:28:29] [pool-2-thread-2/ERROR] (Patchwork) Throwing
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Mod jars are not allowed to contain classes in Minecraft's package!
at net.fabricmc.tinyremapper.TinyRemapper.waitForAll(TinyRemapper.java:758) ~[patchwork-patcher-0.3.0.jar:0.3.0]

@ramidzkh
Copy link
Member

It's not OP's fault - the mod uses a questionable technique to do something. Since the mod isn't open source, I don't think you would be successful in convincing the authors to not do that

(The mod uses a package private bridge class instead of an access transformer)

@ramidzkh ramidzkh added bug Something isn't working help wanted Extra attention is needed labels Oct 22, 2020
@ramidzkh
Copy link
Member

I added the bug label since maybe it's within patcher's scope to resolve this (to the best of it's ability) - I'll get back to you on this

@TwilightFlower
Copy link

Doesn't Forge encourage using awful package hacks over ATs?

@TheGlitch76
Copy link
Member

it does

@Fox2Code
Copy link

I think moving all packages that does not replace Minecraft classes to net.minecraft. should do the trick since Fabric rename all the minecraft classes with names like net.minecraft.class123 so this should resolve the access issue without having to guess access transformers needed for each mod

@TheGlitch76
Copy link
Member

That check also exists because of some assumptions coderbots event handler scanning code does (which I still don't understand), so this is still a large scale refactor to support. It's on the list but I'm not going to consider it a priority for 1.15.

@sylv256
Copy link

sylv256 commented Nov 4, 2020

It's not OP's fault - the mod uses a questionable technique to do something. Since the mod isn't open source, I don't think you would be successful in convincing the authors to not do that

(The mod uses a package private bridge class instead of an access transformer)

No, I know. I'm just trying to help solve it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

7 participants