Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Controlling #49

Open
Lukebb04 opened this issue Jan 7, 2022 · 43 comments
Open

Support for Controlling #49

Lukebb04 opened this issue Jan 7, 2022 · 43 comments

Comments

@Lukebb04
Copy link

Lukebb04 commented Jan 7, 2022

Add support for the Controlling

@Klotzi111
Copy link

You imply that it is incompatible. But did you try it? If so can you please send the game's latest.log. Because without any clue why it does not work I can not really help

@Lukebb04
Copy link
Author

Lukebb04 commented Jan 9, 2022

if you hold control (or and of those keys) it just selects it

@Klotzi111
Copy link

Okay good to know. But the version of Amecs and the version of Controlling you are using would help

@Klotzi111
Copy link

Okay. I found the problem and I know how to fix it. But it will take a while, because I am currently busy with other duty

@Klotzi111
Copy link

Klotzi111 commented Jan 9, 2022

If you need to set the modifiers for a key until i fixed the mod: You can edit the options.amecsapi.txt file. Search for the key you want to set the modifiers and change the comma seperated values after the :.
Example: key_modifiers_key.drop:0,0,0
These values represent the following modifier key in that order:
ALT,CONTROL,SHIFT
0 means: modifier not required
1 means: modifier required

@Boobies
Copy link

Boobies commented Jan 9, 2022

Note that I have mentioned a workaround in that bug report over there.

@Klotzi111
Copy link

Note that I have mentioned a workaround in that bug report over there.

Yea, your workaround works. But the problem is not the mod load order. And I think it is not good when Controlling also tries to add key modifiers. This will cause more problems. I need to fix it in Amecs. And as I mentioned I will fix it.

@Boobies
Copy link

Boobies commented Jan 18, 2022

It would not cause more problems because there would be no need to use both mods simultaneously.

@Klotzi111
Copy link

A new version of Amecs is out. It now supports Controlling
You can download it here: https://github.com/Klotzi111/amecs/releases/tag/1.4.3

@Anoaxx
Copy link

Anoaxx commented Feb 26, 2022

cant wait for this made into real amecs

@Anoaxx
Copy link

Anoaxx commented Mar 27, 2022

A new version of Amecs is out. It now supports Controlling You can download it here: https://github.com/Klotzi111/amecs/releases/tag/1.4.3

you gonna bump version of your fork cause this "made into real amecs" its takes long

@EGOIST1372
Copy link

@Klotzi111 Hi after I used your amecs v1.4.3 the game crashes on startup

---- Minecraft Crash Report ----
// Hi. I'm Minecraft, and I'm a crashaholic.

Time: 5/11/22
Description: Initializing game

java.lang.RuntimeException: Mixin transformation of net.minecraft.class_312 failed
at Not Enough Crashes deobfuscated stack trace.(1.18.1+build.22)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:252)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155)
at java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at net.minecraft.client.MinecraftClient.(MinecraftClient:492)
at net.minecraft.client.main.Main.main(Main:197)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:568)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:416)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)
at de.klotzi111.transformerinterceptor.api.basic.transformer.AbstractMixinTransformerProxy.transformClassBytes(AbstractMixinTransformerProxy.java:38)
at de.klotzi111.transformerinterceptor.impl.event.basic.EventGeneratorMixinTransformerProxy.transform(EventGeneratorMixinTransformerProxy.java:39)
at de.klotzi111.transformerinterceptor.api.basic.BasicTransformerInterceptor.transformClass(BasicTransformerInterceptor.java:26)
at de.klotzi111.transformerinterceptor.impl.event.basic.EventGeneratorMixinTransformerProxy.transformClassBytes(EventGeneratorMixinTransformerProxy.java:53)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:247)
... 12 more
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: LVT in net/minecraft/class_312::method_1598(JDD)V has incompatible changes at opcode 162 in callback amecsapi.mixins.json:MixinMouse->@Inject::isSpectator_onMouseScroll(JDDLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;DF)V from mod amecsapi.
Expected: [D, F]
Found: [D, I]
Available: [D, I]
at org.spongepowered.asm.mixin.injection.callback.CallbackInjector.inject(CallbackInjector.java:547)
at org.spongepowered.asm.mixin.injection.callback.CallbackInjector.inject(CallbackInjector.java:497)
at org.spongepowered.asm.mixin.injection.code.Injector.inject(Injector.java:276)
at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.inject(InjectionInfo.java:445)
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1378)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1052)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:400)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
... 19 more

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

-- Head --
Thread: Render thread
Stacktrace:
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:252)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at net.minecraft.class_310.(class_310.java:492)

@Klotzi111
Copy link

@EGOIST1372 Please send me your latest.log log file after the crash happend. This file contains all the information I need to find the problem. Currently I can not reproduce this error.

@EGOIST1372
Copy link

@Klotzi111 here you go
latest.log

@Anoaxx
Copy link

Anoaxx commented May 15, 2022

[19:45:11] [Render thread/ERROR]: Critical injection failure: LVT in net/minecraft/class_312::method_1598(JDD)V has incompatible changes at opcode 162 in callback amecsapi.mixins.json:MixinMouse->@Inject::isSpectator_onMouseScroll(JDDLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;DF)V from mod amecsapi.
Expected: [D, F]
Found: [D, I]
Available: [D, I]

This is everyghing about amecs in this log. btw its the same lines from crashlog.

As far as i can tell... You trying play 1.18.2 and @Klotzi111 version don't support 1.18.2

@Klotzi111
Copy link

Yea that is correct. This version of my amecs does not support mc 1.18.2.
The latest.log tells the used mc version in the first line.
But the crash log sent before did not really tell the mc version. Only for a mod it was saing at Not Enough Crashes deobfuscated stack trace.(1.18.1+build.22) which let me assume mc 1.18.1. And I tried to reproduce the error but it worked for me with 1.18.1.

I remember me already fixing that 1.18.2 incompatibility. I try to release a 1.18.2 compatible version soon.

@Anoaxx
Copy link

Anoaxx commented May 15, 2022

I remember me already fixing that 1.18.2 incompatibility. I try to release a 1.18.2 compatible version soon.

can't wait -

@Klotzi111
Copy link

I released a new version 1.4.4 that works with mc 1.18.2.
You can find it on the releases page of my repo.

@Anoaxx
Copy link

Anoaxx commented May 18, 2022

I released a new version 1.4.4 that works with mc 1.18.2. You can find it on the releases page of my repo.

why your version cant go to official into amecs or seperate mod

@EGOIST1372
Copy link

@Klotzi111 Thanks for update
Also can you update NMUK to 1.18.2 as well?

@Klotzi111
Copy link

why your version cant go to official into amecs

The original mod author knows about my fork. And some (old) pull requests of me are still pending. I could remind him about my fork by opening a new pull request. But in the end it is up to Siphalor (the author) to look into my fork and take over the changes. So maybe you ask him.

... or seperate mod

I definitely could but I do not feel that well about "stealing" the original source by releasing it as a new mod. I would prefer my changes to be in the original.

@Klotzi111
Copy link

Klotzi111 commented May 18, 2022

Also can you update NMUK to 1.18.2 as well?

(That is definitely not the right issue for that but it is too late now :D )
I will look into it.
Edit: My NMUK version 1.3.0 already works for mc 1.18.2

@EGOIST1372
Copy link

@Klotzi111 let me ask to be sure, your fork only solved controlling support or it has other changes and improvements as well?
also can you update AMECS and NMUK to 1.19 ?! :D
thanks <3

@Klotzi111
Copy link

Klotzi111 commented Jul 1, 2022

@EGOIST1372 My fork has additional features and many bug fixes:

  • Many fixes in the controls GUI where you add and remove alternative Keybindings. Especially when there is a filter/search active via Amecs or Controlling.
  • Fixed a bug where the keybinding sometimes was not triggered with alternative keys.
  • Made it more intuitive to remove alternative keys: Assigning "no key" will remove the alternative.
  • Improved the internal API a lot. Especially in NMUKKeyBindingHelper.

I am currently working on 1.19 support for my forks. I think I will finish them the next days.

@EGOIST1372
Copy link

@Klotzi111 can't you just make a pr for each fix and feature so all can get into the official build?
and why dev not implemented them?

@Klotzi111
Copy link

Tearing apart the repo for every feature/fix is quite laborious and also not really good. Because I overhauled the internal api. So I would need to include the changes for that internal api in every fix which then would make merging more than one pr more difficult.

and why dev not implemented them?

I do not know. Probably because I made so many changes.
He could just take over my code if he wants.

@Klotzi111
Copy link

@EGOIST1372 I just wanted to inform you. My forks are now updated and released.

@EGOIST1372
Copy link

EGOIST1372 commented Jul 1, 2022

@Klotzi111 thanks so much <3
but why the file size is 900+KB?

@TalEdd
Copy link

TalEdd commented Aug 27, 2022

@Klotzi111
Hi, I seem to be crashing with your forked Amecs v1.4.5 on MC 1.19. latest.log
Your forked NMUK v1.3.1 is working perfectly fine though.🤔

@Klotzi111
Copy link

@TalEdd My Amecs fork crashes because it is incompatible with the mod interactic. I already know that. But a fix is not trivial.
You can remove either interactic or amecs to make your game run.

@TalEdd
Copy link

TalEdd commented Aug 30, 2022

@Klotzi111
Oh, I didn't realise. I will remove Interactic then, Amecs is too good to pass up on. I'll try another mod called Item Physics(maybe it's compatible?).

If you don't mind, could you put a list of incompatible mods on your forked github Readme page?

@Klotzi111
Copy link

@TalEdd Just another option I should have listed in the last post: You can replace amecs with its dependency amecs-api if your main goal is to get the keybinding modifier keys. You will only lose the additional keybindings that amecs adds.

I'll try another mod called Item Physics(maybe it's compatible?).

I do not know whether that mod is compatible or not. Just try it. (And optionally create an issue if it is not)

If you don't mind, could you put a list of incompatible mods on your forked github Readme page?

Yea. I good idea. I just did that

@netcore10
Copy link

controlling still breaks amecs for 1.19.2 for some reason.

@Anoaxx
Copy link

Anoaxx commented Sep 8, 2022

controlling still breaks amecs for 1.19.2 for some reason.

but you downloads klotzi's fork or siphalor's version?

@netcore10
Copy link

controlling still breaks amecs for 1.19.2 for some reason.

but you downloads klotzi's fork or siphalor's version?

Siphalor's

@Klotzi111
Copy link

@netcore10 Currently Siphalor's is not compatible with Controlling. You can use my forked version. It is compatible.

@netcore10
Copy link

netcore10 commented Sep 8, 2022

@netcore10 Currently Siphalor's is not compatible with Controlling. You can use my forked version. It is compatible.

@Klotzi111 Your version crashes on 1.19.2, should i add an issue?

@Klotzi111
Copy link

@netcore10 Sure on my fork repo. I can only fix it if I know about it. 😄

@EGOIST1372
Copy link

EGOIST1372 commented Oct 11, 2022 via email

@Klotzi111
Copy link

@EGOIST1372 See #49 (comment)

@EGOIST1372
Copy link

@Klotzi111 I installed your AMEC and NUMK and AMEC-api and it seems it crashes in 1.19.3
can you update it to 1.19.3?
thanks in advance <3

crash log:
A mod crashed on startup!
net.fabricmc.loader.impl.FormattedException: java.lang.RuntimeException: Could not execute entrypoint stage 'preLaunch' due to errors, provided by 'advanced_runtime_resource_pack'!
at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:164)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Caused by: java.lang.RuntimeException: Could not execute entrypoint stage 'preLaunch' due to errors, provided by 'advanced_runtime_resource_pack'!
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$0(EntrypointUtils.java:51)
at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:49)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35)
at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:162)
... 2 more
Caused by: net.fabricmc.loader.api.EntrypointException: Exception while loading entries for entrypoint 'preLaunch' provided by 'advanced_runtime_resource_pack'
at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:56)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47)
... 4 more
Caused by: java.lang.RuntimeException: Mixin transformation of net.devtech.arrp.ARRP failed
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:112)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:467)
at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:50)
at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117)
at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53)
... 5 more
Caused by: java.lang.ExceptionInInitializerError
at de.klotzi111.fabricmultiversionhelper.impl.FabricMultiVersionHelper.(FabricMultiVersionHelper.java:19)
at de.klotzi111.fabricmultiversionhelper.api.mixinselect.MixinSelectConfig.loadMixinSelectConfig(MixinSelectConfig.java:89)
at de.klotzi111.fabricmultiversionhelper.api.mixinselect.MixinSelectConfig.loadMixinSelectConfig(MixinSelectConfig.java:82)
at de.klotzi111.fabricmultiversionhelper.api.mixinselect.MixinSelectConfig.loadMixinSelectConfig(MixinSelectConfig.java:76)
at de.siphalor.amecs.mixin.AmecsMixinConfig.onLoad(AmecsMixinConfig.java:29)
at org.spongepowered.asm.mixin.transformer.PluginHandle.onLoad(PluginHandle.java:119)
at org.spongepowered.asm.mixin.transformer.MixinConfig.onSelect(MixinConfig.java:709)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.selectConfigs(MixinProcessor.java:498)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:460)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:438)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:290)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422)
... 14 more
Caused by: java.lang.RuntimeException: Failed to load all required reflective accessors
at de.klotzi111.util.GsonUtil.GsonUtil.(GsonUtil.java:55)
... 28 more
Caused by: java.lang.NoSuchMethodException: com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(com.google.gson.Gson,com.google.gson.reflect.TypeToken,java.lang.Class)
at java.base/java.lang.Class.getDeclaredMethod(Class.java:2675)
at de.klotzi111.util.GsonUtil.GsonUtil.(GsonUtil.java:48)
... 28 more

@EGOIST1372
Copy link

@Siphalor Hi
can you please take over @Klotzi111 code and make amecs compatible with controlling ?
he offered you to take over his code in here
it's true that he changed a lot of stuff but he says he can't make all of them into prs since its so hard to do so
you can take over and change stuff that you don't like about it, meantime users can enjoy those fixes and compatibilities benefits

@Siphalor
Copy link
Owner

Hi everyone,

I'm just gonna explain the status of this issue and Klotzi's PR:

When Klotzi opened his PR‌, we had a talk about the changes.
While his PR addresses a lot of issues, it also contains a couple of structural changes to the source code that I disagree with.
This subjective changes are interwoven with changes and fixes I actually approve of, making it nearly impossible to separate them.
One of his biggest changes is having a single jar supporting all Minecraft versions.
In my opinion, this increases the maintenance burden, and it generally doesn't fit my release model.

I took a few attempts of separating the changes made in the PR but ultimately failed.
The changes will probably have to be developed separately from the ground up again.

I currently don't have a lot of time and energy for modding and have a lot of projects, so I can't give an ETA for any issues or suggestions.


Since this thread is getting bumped regularly without any new information on the actual issue, I'm gonna lock this issue now.
If you want to report issues with Klotzi's PR, please directly comment on the PR (#44).

Repository owner locked and limited conversation to collaborators Jan 29, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants