Giter Club home page Giter Club logo

amecs's Issues

Support for Controlling

I've seen some outdated feature request but the issue of compatibility is still not resolved. Are there any solutions I don't know about to use both modifier keys and search?

Split the "double-press to sprint" functionality from the forward key

Currently, the functionality that causes the player to start sprinting when the forward button is pressed is always bound to the forward key. This is vanilla bug https://bugs.mojang.com/browse/MC-203401.

RandomPatches fixed this by adding a secondary sprint key, which shares the forward key by default but could be decoupled from it. It functioned identically to the sprint button in this case, and I believe it also fixed some other bugs along the way such as the inability to sprint while flying by double tapping.
2022-09-03_15 30 11

Since RandomPatches no longer seems to be receiving updates, could this functionality be added to this mod? It seems like the most fitting place for it.

This could also allow for another key modifier type to be implemented: pressing a key twice in quick succession (perhaps the time interval could be configurable as well?) could give a different outcome than a single press.

log spam on server

It's mostly harmless, but this is logged on servers

[19:54:21] [main/WARN]: @Mixin target net.minecraft.class_459$class_462 was not found amecs.mixins.json:ControlsListWidgetKeyBindingEntryAccessor from mod amecs
[19:54:21] [main/WARN]: Error loading class: net/minecraft/class_309 (java.lang.ClassNotFoundException: net/minecraft/class_309)
[19:54:21] [main/WARN]: @Mixin target net.minecraft.class_309 was not found amecs.mixins.json:MixinKeyboard from mod amecs

This could be fixed by moving all mixins to the "client" array in amecs.mixins.json.

Side note: "environment" in fabric.mod.json should be "client", not "*".

No searchbar in Amecs API

I noticed that in Minecraft 1.16.1, the Amecs bundled with Mouse Wheelie is an API and now lacks a search bar. Is that intended? And if yes, what can I do to get it back - install full Amecs or something like Controlling?

Edit: oops, Controlling is a 1.15 Forge mod. So seems like no searchbar for 1.16.1 is possible :(
Edit 2: Fabric Controlling is also available and it works!
Edit 3: The updated Amecs works too, but the question is - is it intended to keep the API just an API now?

Drop Item incompatibility

In vanilla minecraft, ctrl+drop bind allows dropping a stack of an item at once

Using this mod to assign dropping to shift+q, works as expected for normal dropping, but when attempting to drop a stack ctrl+shift+q nothing happens.

[Curseforge Page] Notify about Autojump and Skin hotkeys

If there's one thing I can't stand (among many other things), it's when a mod doesn't explain its content properly. Due to a bug thanks to Informed Load, I wasn't aware the Autojump and Skin hotkeys even existed, and for some reason my Autojump kept turning itself on and off despite not knowing that I had any mod that added such a hotkey. Even if the keys had shown in my controls menu (thanks again, Informed Load), I wouldn't have known which mod added those. It's rather annoying.

Release on modrinth.com

Modrinth is an alternative to curseforge which is way better in a few key aspects:

  • Proper filtering
    • on curseforge you can search for 1.17 mods, or fabric mods, not 1.17 fabric mods
    • it also has client/server mod filters
  • Fast searches
    • It takes nanoseconds for the search results to update to what you have typed, as opposed to the 3-5 seconds curseforge does
  • Easier API integration
    • Well documented, easy to use api
    • You can ask for support from actual humans

Along with this, there are likely a bunch of people who would like to use your mod, but won't go to curseforge to get it.

Narrator bug

When I set narrator control as ctrl + something, I don't need to use ctrl.

Resetting certain keybinds requires restart / Add toggle functionality for mouse functions

When my last mouse became unreliable and i didn't learn to solder i attempted to adapt to an entirely keyboard based playstyle which lead me to discover mods like this: 6 months later i've learned to solder in new switches and have adapted to a heavily keyboard based playstyle with redundant buttons for mouse functions.

I have 3 keybinds for the attack/mine function, 2 for the left button and forward side button, and 1 on the keyboard bound with ctrl + w, every time i restart Minecraft i have to rebind that key in order to mine, i discovered a quirk where if i held the keybind, let go of the modifier and then the key it modifies, it allows me to toggle mine so that i don't have to hold down any keys and i don't know of any mods dedicated to adding this toggle behavior for mouse functions.
I also have 3 keybinds for my place/use function, 2 for the right button and backward side button, and 1 on the keyboard bound with ctrl + v, i also have to rebind this keybind everytime Minecraft is restarted so that i use items consistently and can toggle use/place.

Another example is my inventory, i considered binding it to 2 redundant buttons however i had to keep those buttons unbound before restarting Minecraft in order for them to reset, i had to restart 3 times to figure this out.

Please add the toggle behavior i've experienced with the modifier + key for mouse functions as a feature.

Search by keybind

The search bar is great for finding options to bind keys for, but what if you want to search what that key already does?

One way to do it would be to just match the keys entered in the search box (like "w" for the option "Walk forwards" and the bound key W itself). However that would not work well with non-character keys, so I would instead suggest using a "keybind" button next to the search box, which would work as a filter as long as it is bound.

This is especially useful if the user is using lots of mods or a modpack. Or it is also good for finding duplicates.

Mark the mod as 1.19 on CurseForge

Right now, the latest version of the mod is marked as 1.19 - Snapshot on CurseForge
Please mark it as 1.19 or 1.19.2 so I can download it using GDLauncher

Update to 1.20

AMECS has taken over 3 months to update to 1.19.4 since it released, if possible i want developers to begin updates during pre releases, myself and certainly other people don't want to endure that inconsistency.

Feature Request: Control options for moving hotbar slot left/right

It would be nice if this mod added a control option for switching the hotbar slot left or right in addition to the default scrolling up/down, one use case for this is being able to use the forward/backward buttons on your mouse to change the held item slot, perhaps this could be the default when the mod is installed, as it feels like something that should really be in the vanilla game. Thank you

Broken description of keybinds

I have a mod installed whose description for specific keybind overflows all other from the viewport.

See the comparison below:

Without the mod

Without the mod

With the mod

With the mod

1.17: crash when typing in the control pane search

Please use +1 emote if you want to indicate you also have this issue. Making a new comment sends emails and spam the author.

Version

MC 1.17, Amecs 1.3.4 21w16

Replicate

  1. Open the 'controls' menu
  2. Click in the search box at the top
  3. Game will crash (see log file below)
  4. If game does not crash, type =
  5. Game will crash

Log

Log includes more addons (for notEnoughCrashes), but isssue can be replicated with nothing else than Amecs/Fabric API.

Note that the game's 'narrator' option is not active.

---- Minecraft Crash Report ----
// You're mean.

Time: 6/14/21, 5:47 AM
Description: Narrating screen

java.lang.AbstractMethodError: Missing implementation of resolved method 'abstract java.util.List method_37025()' of abstract class net.minecraft.class_4265$class_4266.
	at Not Enough Crashes deobfuscated stack trace.(1.17+build.10)
	at net.minecraft.client.gui.widget.ElementListWidget$Entry.method_37024(ElementListWidget:94)
	at net.minecraft.client.gui.widget.ElementListWidget.appendNarrations(ElementListWidget:49)
	at net.minecraft.client.gui.screen.Screen.addElementNarrations(Screen:593)
	at net.minecraft.client.gui.screen.Screen.addScreenNarrations(Screen:576)
	at net.minecraft.client.gui.screen.narration.ScreenNarrator.buildNarrations(ScreenNarrator:34)
	at net.minecraft.client.gui.screen.Screen.narrateScreen(Screen:566)
	at net.minecraft.client.gui.screen.Screen.updateNarrator(Screen:553)
	at net.minecraft.client.render.GameRenderer.render(GameRenderer:890)
	at net.minecraft.client.MinecraftClient.render(MinecraftClient:1114)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:730)
	at net.minecraft.client.main.Main.main(Main:217)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:567)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226)
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:146)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:567)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)


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

-- Head --
Thread: Render thread
Stacktrace:
	at net.minecraft.class_4265$class_4266.method_37024(class_4265.java:94)
	at net.minecraft.class_4265.method_37020(class_4265.java:49)
	at net.minecraft.class_437.method_37056(class_437.java:593)
	at net.minecraft.class_437.method_37062(class_437.java:576)
	at net.minecraft.class_6385.method_37044(class_6385.java:34)
	at net.minecraft.class_437.method_37065(class_437.java:566)
	at net.minecraft.class_437.method_37071(class_437.java:553)

-- Screen details --
Details:
	Screen name: net.minecraft.class_458
Stacktrace:
	at Not Enough Crashes deobfuscated stack trace.(1.17+build.10)
	at java.lang.Thread.getStackTrace(Thread.java:1596)
	at net.minecraft.util.crash.CrashReportSection.trimStackTraceEnd(CrashReportSection:1023)
	at net.minecraft.util.crash.CrashReport.addElement(CrashReport:197)
	at net.minecraft.world.World.addDetailsToCrashReport(World:845)
	at net.minecraft.client.world.ClientWorld.addDetailsToCrashReport(ClientWorld:370)
	at net.minecraft.client.MinecraftClient.addDetailsToCrashReport(MinecraftClient:2399)
	at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.handleClientCrash(InGameCatcher.java:28)
	at net.minecraft.client.MinecraftClient.modify$zcd000$onCrash(MinecraftClient:4599)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:749)
	at net.minecraft.client.main.Main.main(Main:217)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:567)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226)
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:146)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:567)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)

-- Affected level --
Details:
	All players: 1 total; [class_746['MeeniPlus'/107, l='ClientLevel', x=6115.76, y=73.00, z=-758.20]]
	Chunk stats: 2025, 1560
	Level dimension: minecraft:overworld
	Level spawn location: World: (16,79,-144), Section: (at 0,15,0 in 1,4,-9; chunk contains blocks 16,0,-144 to 31,255,-129), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
	Level time: 97255 game time, 10059 day time
	Server brand: fabric
	Server type: Integrated singleplayer server
Stacktrace:
	at net.minecraft.class_638.method_8538(class_638.java:370)
	at net.minecraft.class_310.method_1587(class_310.java:2399)
	at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.handleClientCrash(InGameCatcher.java:28)
	at net.minecraft.class_310.modify$zcd000$onCrash(class_310.java:4599)
	at net.minecraft.class_310.method_1514(class_310.java:749)
	at net.minecraft.client.main.Main.main(Main.java:217)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226)
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:146)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)

-- Last reload --
Details:
	Reload number: 1
	Reload reason: initial
	Finished: Yes
	Packs: Default, Fabric Mods, VanillaTweaks_r980949.zip

-- Last reload --
Details:
	Reload number: 1
	Reload reason: initial
	Finished: Yes
	Packs: Default, Fabric Mods, VanillaTweaks_r980949.zip

-- System Details --
Details:
	Minecraft Version: 1.17
	Minecraft Version ID: 1.17
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 16.0.1, GraalVM Community
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), GraalVM Community
	Memory: 3445029320 bytes (3285 MiB) / 6442450944 bytes (6144 MiB) up to 6442450944 bytes (6144 MiB)
	CPUs: 12
	Processor Vendor: AuthenticAMD
	Processor Name: AMD Ryzen 5 3600 6-Core Processor              
	Identifier: AuthenticAMD Family 23 Model 113 Stepping 0
	Microarchitecture: Zen 2
	Frequency (GHz): 4.20
	Number of physical packages: 1
	Number of physical CPUs: 6
	Number of logical CPUs: 12
	Graphics card #0 name: Radeon RX 580 Series
	Graphics card #0 vendor: Advanced Micro Devices, Inc. (0x1002)
	Graphics card #0 VRAM (MB): 4095.00
	Graphics card #0 deviceId: 0x67df
	Graphics card #0 versionInfo: DriverVersion=27.20.21002.112
	Memory slot #0 capacity (MB): 8192.00
	Memory slot #0 clockSpeed (GHz): 3.60
	Memory slot #0 type: DDR4
	Memory slot #1 capacity (MB): 8192.00
	Memory slot #1 clockSpeed (GHz): 3.60
	Memory slot #1 type: DDR4
	Virtual memory max (MB): 33742.68
	Virtual memory used (MB): 29048.55
	Swap memory total (MB): 17408.00
	Swap memory used (MB): 2056.64
	JVM Flags: 43 total; -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCIProduct -XX:-UnlockExperimentalVMOptions -XX:ThreadPriorityPolicy=1 -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=16 -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -XX:UseAVX=2 -XX:SoftRefLRUPolicyMSPerMB=2000 -XX:+EagerXrunInit -XX:+UseXMMForObjInit -XX:+UseNewLongLShift -XX:+UseXmmI2D -XX:+UseXmmI2F -XX:+UseVectorCmov -XX:+OptoScheduling -XX:+OptoBundling -XX:+UseStringDeduplication -XX:+UseFastUnorderedTimeStamps -XX:UseSSE=4 -XX:+UseAES -XX:+UseAESIntrinsics -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xms6144m -Xmx6144m
	Fabric Mods: 
		amecs: Amecs 1.3.4+mc.21w16a
		amecsapi: Amecs API 1.1.4+mc21w16a
		armor-visibility: Armor Visibility 3.0.0
		authme: Auth Me 1.5.0
		betterf3: BetterF3 1.1.5
		blue_endless_jankson: jankson 1.2.1
		boatiview: Boat Item View 0.0.2
		carpet: Carpet Mod 1.4.40
		carpet-autocraftingtable: Carpet-AutoCraftingTable 1.4.35
		carpet-extra: Carpet Extra 1.4.40
		carpet-tis-addition: Carpet TIS Addition 1.20.0+build.628
		chat-up: Chat Up! 2.0
		chunky: Chunky 1.2.86
		clear-skies: Clear Skies 1.5.66
		cleardespawn: Clear Despawn 1.17-fabric0.34.9-1.1.1
		cloth-basic-math: Cloth Basic Math 0.5.1
		cloth-config2: Cloth Config v4 5.0.34
		colorfulcut: Colorful Cut 1.0.0
		com_moandjiezana_toml_toml4j: toml4j 0.7.2
		creativeonepunch: Creative One-Punch 1.2
		crowdin-translate: CrowdinTranslate 1.3+1.17
		dark-loading-screen: Dark Loading Screen 1.6.4
		durabilityviewer: Giselbaers Durability Viewer 1.17-fabric0.34.9-1.10
		dynamicfps: Dynamic FPS 2.0.3
		easiercrafting: EasierCrafting 1.17-fabric0.34.9-1.6.7
		enchantedtooltips: Enchanted ToolTips 1.3.5-1.17
		enhanced_attack_indicator: Enhanced Attack Indicator 1.0.2+1.17
		fabric: Fabric API 0.35.1+1.17
		fabric-api-base: Fabric API Base 0.3.0+a02b44633d
		fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.1.0+1d383bb63d
		fabric-biome-api-v1: Fabric Biome API (v1) 3.1.11+c345aea83d
		fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.5+a02b44633d
		fabric-command-api-v1: Fabric Command API (v1) 1.1.1+a02b4463d5
		fabric-commands-v0: Fabric Commands (v0) 0.2.2+92519afa3d
		fabric-containers-v0: Fabric Containers (v0) 0.1.12+a02b44633d
		fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.2+a02b44633d
		fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.5+be9da3103d
		fabric-dimensions-v1: Fabric Dimensions API (v1) 2.0.10+a02b44633d
		fabric-entity-events-v1: Fabric Entity Events (v1) 1.1.0+a02b44633d
		fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.8+a02b44633d
		fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+92519afa3d
		fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.6+a02b44633d
		fabric-item-api-v1: Fabric Item API (v1) 1.2.4+a02b44633d
		fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.10+b7ab61213d
		fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.4+a02b44633d
		fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.2+36b77c3e3d
		fabric-language-kotlin: Fabric Language Kotlin 1.6.1+kotlin.1.5.10
		fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.4.4+a02b44633d
		fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.4+a02b44633d
		fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+92519afa3d
		fabric-models-v0: Fabric Models (v0) 0.3.0+a02b44633d
		fabric-networking-api-v1: Fabric Networking API (v1) 1.0.11+b7ab61213d
		fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.11+a02b44633d
		fabric-networking-v0: Fabric Networking (v0) 0.3.2+92519afa3d
		fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.10.9+b7ab61213d
		fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.3+a02b44633d
		fabric-particles-v1: Fabric Particles (v1) 0.2.4+a02b44633d
		fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.10+e2961fee3d
		fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.3+676f40fa3d
		fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.8+a02b44633d
		fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.0+a02b44633d
		fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+a02b44633d
		fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.13+a02b44633d
		fabric-rendering-v0: Fabric Rendering (v0) 1.1.2+92519afa3d
		fabric-rendering-v1: Fabric Rendering (v1) 1.6.0+a02b44633d
		fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.7+b7ab6121d5
		fabric-screen-api-v1: Fabric Screen API (v1) 1.0.4+198a96213d
		fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.8+a02b44633d
		fabric-structure-api-v1: Fabric Structure API (v1) 1.1.10+be9da3103d
		fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.4+a02b44633d
		fabric-textures-v0: Fabric Textures (v0) 1.0.6+a02b44633d
		fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.12+b7ab61213d
		fabricloader: Fabric Loader 0.11.3
		gbfabrictools: GBfabrictools 1.3.4+1.17
		horsestatsvanilla: Horse Stats Vanilla 4.1.8
		inspecio: Inspecio 1.0.3+1.17
		itemscroller: Item Scroller 0.15.0-dev.20210608.211652
		jankson: Jankson 3.0.1+j1.2.0
		java: OpenJDK 64-Bit Server VM 16
		kyrptconfig: Kytpt Config 1.1.10-1.17
		lazydfu: LazyDFU 0.1.2
		libgui: LibGui 4.0.0-beta.4+1.17-rc1
		libninepatch: LibNinePatch 1.1.0
		litematica: Litematica 0.0.0-dev.20210608.211719
		loud_leads: Loud Leads 1.0.1+mc1.17
		malilib: MaLiLib 0.10.0+dev.22
		minecraft: Minecraft 1.17
		minihud: MiniHUD 0.19.0-dev.20210609.185508
		minitweaks: MiniTweaks 1.1.0
		modmenu: Mod Menu 2.0.2
		notenoughcrashes: Not Enough Crashes 3.3.0+1.17
		openloader: OpenLoader 2.0.1
		org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 1.5.10
		org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 1.5.10
		org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 1.5.10
		org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 1.5.10
		org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm: kotlinx-coroutines-core-jvm 1.5.0
		org_jetbrains_kotlinx_kotlinx-coroutines-jdk8: kotlinx-coroutines-jdk8 1.5.0
		org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.2.1
		org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.2.1
		servertick: Server Tick 1.5
		sign_editor: Better Signs & Frames 0.8.1
		starlight: Starlight 1.0.0-RC2+fabric.e20b1d1
		tooltipfix: ToolTip Fix 1.0.2-1.16
		tweakeroo: Tweakeroo 0.10.0-dev.20210608.211857
		wthit: wthit 3.5.3
	Launched Version: MultiMC5
	Backend library: LWJGL version 3.2.2 build 10
	Backend API: Radeon RX 580 Series GL version 3.2.14830 Core Profile Forward-Compatible Context 21.4.1 27.20.21002.112, ATI Technologies Inc.
	Window size: 3840x2160
	GL Caps: Using framebuffer using OpenGL 3.2
	GL debug messages: 
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'fabric'
	Type: Client (map_client.txt)
	Graphics mode: fancy
	Resource Packs: vanilla, Fabric Mods, file/VanillaTweaks_r980949.zip
	Current Language: English (US)
	CPU: 12x AMD Ryzen 5 3600 6-Core Processor 
	Player Count: 1 / 8; [class_3222['MeeniPlus'/107, l='ServerLevel[Addon Tester]', x=6115.76, y=73.00, z=-758.20]]
	Data Packs: vanilla (incompatible), Fabric Mods
	Client Crashes Since Restart: 1
	Integrated Server Crashes Since Restart: 0

Unintended effect on Create's schematics and other such mods.

I've encountered an issue with compatibility between AMECS hot bar scrolling (mouse wheel up/down) and other mods that make use of scrolling. Most notably Create with its use of the mouse wheel to nudge/shift its placement of schematics.

As of right now trying to use the scroll wheel to reposition a schematic simply results in you scrolling through your hotbar. It's not game breaking but it does necessitate temp. reassigning the hotbar up/down to some other hotkey.

You can see the unwanted behavior in the two clips below. One where the hotbar up/down is still assigned to scrolling, and the other where I've assigned it to random keys.

that_funky_behaviour

funky_behaviour_gone

Perhaps a config option to disable the custom hotbar action.

[1.15pre5] critical injection failure

Expected: [Ljava/util/List;, Lnet/minecraft/class_2487;, Ljava/util/Iterator;, Ljava/lang/String;, Ljava/lang/String;]
   Found: [Lnet/minecraft/class_2487;, Lnet/minecraft/class_2487;, Ljava/util/Iterator;, Ljava/lang/String;, Ljava/lang/String;]
org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Callback method onLoad(Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;Ljava/util/List;Lnet/minecraft/class_2487;Ljava/util/Iterator;Ljava/lang/String;Ljava/lang/String;)V in amecs.mixins.json:MixinGameOptions failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap amecs-refmap.json

warn in log

Unable to use key modifiers in keybinds

[1.19.x] 1.3.8

Linux, Fabric, 1.19.2 ( Medieval MC [FABRIC] 1.19.2 v6 HF )

No errors in logs. Mod shows on modlist.

When i try to rebind a key to anythings with modifiers, it still works like without the mod, for example, trying to bind "alt + e" either binds as "LEFT ALT" or as "e"

Split dismounting from the sneaking keybind

Like with #53, this is another feature of RandomPatches that I used to use that doesn't seem to have a mod for it in current versions (do tell me if any exist, though). Again, this would introduce a new key that would share sneaking's keybind by default, but could be changed at will to any other key.
2022-09-03_15 30 21

Scrolls are incorrectly detected/mapped with 1.1.0

Scrolling up with the latest build of Amecs binds the key to scroll down, and vice versa.

Tested with only Amecs (1.1.0+1.14.3) and Fabric API (0.3.0+build.187), as well as with multiple mice; a G703 and a Basic Mircosoft mouse.

Ability to remove keybinds [Fabric - 1.18.2]

Why

Scrolling through a massive list of keybinds isn't fun, especially from a modpackers perspective.
From disabling content & it's keybind being useless, or those mods which add keybinds that are just raw bloat.

It's also easier to play with less keybinds, as the memorization & searching is decreased.

Examples

Useless

image
These 2 are effectively useless, you aren't going to use them often & the time they save is minimal. Especially when you're a player.
It's literally just:

Escape -> Click

or

Escape -> Click -> "mouse" -> Click -> Click

Broken

image
Due to mod incompatibilities these don't work everywhere, so I opt to just remove them

Option to unbound any key.

Maybe replace the auto jump button since it's already present in the accessibility settings (so no need to duplicate it Mojang)
Like this?
Screenshot from 2021-08-28 22-43-20
And then, after clicking on the "Unbound Key" the button/key to unbound should be clicked.

Unbound and conflicts filters

I suggest adding search filters for finding unbound and conflicting keys, similar to Controlling.
To keep it simple, perhaps unbound could be just = (as in "no key") and conflicting === (because its impossible).

The placeholder could say Search... (= by key, === for conflicts)

Search by keybind doesn't work

Reproduce:

  1. For the sake of testing, set the game language to EN-US
  2. Open Options > Controls
  3. Type "Shift"

Expected:
Expected to see the keybind for Sneak

Actual:
No results

System:
Minecraft 1.16.1
Fabric Loader 0.9.0 b 204
Fabric API 0.14.1+build.372-1.16
Amecs 1.3.0+mc1.16.1
Amecs API 1.0.2+1.16-rc1 (from Mouse Wheelie 1.5.0+mc1.16.1)

Related: #11

Make narrator rebindable

The narrator hotkey is hardcoded to Ctrl+B, which kind of intervenes with the Amecs' auto-jump default key when running (holding Ctrl).

Since Amecs supports hotkeys with modifiers, how about making the vanilla one rebindable? Would also "fix" the bug 122645 :)

Update to 1.19.4

I'm unable to play as effectively on my primary smp without this mod, i rely heavily on mods like these to increase the lifespan of my limited mice and i don't enjoy replacing the switches when they become unreliable.

Dedicated keybind to activate flying? & hold/toggle option

This request is related to #53. In #53, double-pressing the "move forward" key will cause the player to start sprinting, and that ticket raises the issue that this functionality cannot be unlinked from the move forward key and assigned to some other key.

Flying is a similar case - it is activated by double-pressing the key that causes the player to jump. The problem is that it too follows the jump key around, which is undesirable. It'd be expected that by default, the "jump" and "start flying" keys would both be bound to spacebar, and could be rebound to any desired key. Pressing the "start flying" key once, if the jump key isn't bound to the same key as it, would immediately cause the player to start flying.

And for consistency with sneaking and sprinting, there would be an option to change whether this key toggles flying when pressed, or if it should be held down continuously to remain in flying mode.

I would like a dedicated flying key a lot, since my computer lags a lot and sometimes it takes a lot of spacebar spamming to have the game register that I want to fly. The ability to split that key from the spacebar and only have to press it once to initiate fly mode would make things a lot easier.

Mouse Wheelie prevents manual render updates via updateBlock from working

Version
mousewheelie-1.3.8+1.15-pre5 on Minecraft 1.15-pre6
Describe the bug
I develop https://github.com/natanfudge/SpatialCrafting, which has a "hologram" multiblock structure. You can hold the Y key to minimize holograms. This works by checking if the hotkey is held, and sending a render update at the start of the press. However, when Mouse Wheelie is installed, blocks are not updated when MinecraftClient.worldRenderer.updateBlock() is called, and instead a render update must come from another source like a block placement for the holograms to update.

To Reproduce

  1. Install Spatial Crafting and Mouse Wheelie.
  2. Place a 2x2 crafter with a Wood-carved Crafter.
  3. Hold Y.
  4. Notice how while the bounding box shrinks, the models themselves don't.
  5. Try placing a block with the key still held. The holograms are updated.
  6. Remove Mouse Wheelie.
  7. Do the same thing, but notice how the holograms shrink and unshrink immediately just by pressing the hotkey, without the need to do anything.

Add keybinds (macros)

Amecs has various options for managing existing keybinds. How about letting users define new ones too?

By that, I mean implementing this mod into Amecs, with the difference that Amecs' feature would work inline on the key config screen, instead of a separate view.

The keybinds would be categorized as "Amecs macros", last item in the category would be a wide button "Add a macro".

The inline UI could look like this:

[Command] [Delayed*] [Delay time**] [Keybind] [X]

* Delayed/Repeating/SingleUse/DisplayOnly

** Shown only for "Delayed" and "Repeating"

Crash after trying to change menu keybind

Crash occurs shortly after clicking the button to change the keybind.
Mod version: 1.19.3
Game version: 1.19.4

Crash log:

java.lang.AbstractMethodError: Receiver class de.siphalor.amecs.gui.SearchFieldControlsListWidget does not define or inherit an implementation of the resolved method 'abstract void method_48269()' of abstract class net.minecraft.class_459$class_461.
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at net.minecraft.class_459.method_49007(class_459.java:61)
	at net.minecraft.class_459.method_49006(class_459.java:57)
	at net.minecraft.class_459$class_462.method_19871(class_459.java:127)
	at net.minecraft.class_4185.method_25306(class_4185.java:94)
	at net.minecraft.class_4264.method_25348(class_4264.java:57)
	at net.minecraft.class_339.method_25402(class_339.java:187)
	at net.minecraft.class_4069.method_25402(class_4069.java:38)
	at net.minecraft.class_4265$class_4266.method_25402(class_4265.java:135)
	at net.minecraft.class_350.method_25402(class_350.java:328)
	at net.minecraft.class_4069.method_25402(class_4069.java:38)
	at net.minecraft.class_6599.method_25402(class_6599.java:49)
	at net.minecraft.class_312.method_1611(class_312.java:98)
	at net.minecraft.class_437.method_25412(class_437.java:540)
	at net.minecraft.class_312.method_1601(class_312.java:98)
	at net.minecraft.class_312.method_22686(class_312.java:169)
	at net.minecraft.class_1255.execute(class_1255.java:102)
	at net.minecraft.class_312.method_22684(class_312.java:169)
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
	at org.lwjgl.system.JNI.invokeV(Native Method)
	at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3403)
	at com.mojang.blaze3d.systems.RenderSystem.pollEvents(RenderSystem.java:198)
	at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:209)
	at net.minecraft.class_1041.method_15998(class_1041.java:310)
	at net.minecraft.class_310.method_1523(class_310.java:1238)
	at net.minecraft.class_310.method_1514(class_310.java:801)
	at net.minecraft.client.main.Main.main(Main.java:237)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:527)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:82)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:28)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:234)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:269)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)

I looked more into method_48269, and it appears to refer to a method called update. It's likely this was changed from 1.19.3 to 1.19.4, so that's probably the cause.

Phrase "Auto Jump" is redundant

The language file phrase

"amecs.toggled.auto_jump": "Auto Jump"

is redundant because vanilla already has

"options.autoJump": "Auto-Jump"

which you could reuse, because you are using it as a variable on Enabled %s/Disabled %s anyway.

Keys with default modifier keys unable to NOT have modifier keys

Minecraft 1.16.5, tested with both AMECS 1.3.3 and with the AMECS embedded in Mouse Wheelie 1.6.4, BackSlot 1.1.9, RandomPatches 2.4.5
Also no I am not using Optifine.

Keybinds with defaults involving modifier keys don't seem to be working correctly. Whenever I launch the game, they are reset to containing the modifier keys.
-The "Toggle Narrator" Keybind from RandomPatches, which is set to use AMECS if available, keeps getting reset to "Control+"
-The "Switch Belt Slot" Keybind from Backslot keeps resetting to its default "Shift+g"
-I tried changing them to " " (unbound) and "g" respectively, leading to these results.

The "Switch Back Slot" Keybind from Backslot, however, does not reset, despite also being set to use AMECS. The difference is that by default it is set to "g", no modifier key. Any other keybind also saves just fine.

Further testing:
-Removed RandomPatches, re-added it. Keybind was reset to "Control+b" as it should have been.
-Set RandomPatches Toggle Narrator keybind to "z" and BackSlot Belt Slot keybind to "u", neither key used currently.
-Relaunched game. Narrator key was now set to "Control+z" and Belt Slot keybind was now "Shift+u".

Since the modifiers aren't getting saved to options.txt, I don't understand why on earth they keep getting re-added. It should just be read from options.txt that the set keys are "z" and "u" and then be fine with it, shouldn't it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.