gbl / EasierVillagerTrading

This is a client side Minecraft mod that allows one-click-trades with villagers. Great if you sell double chests of food to farmers, or sugar cane to librarians.
MIT License
25 stars 19 forks source link

Game crash in chatbar #7

Closed Acappellia closed 5 years ago

Acappellia commented 5 years ago

I'm using 1.13.2 beta3 version. The game will crash immediately when I open the chat bar and press tab. I have no idea why this mod would cause such a problem...

gbl commented 5 years ago

Please send me your minecraft log, at least the last part that has the crash info. I can't really do much without that except say it isn't doing this for me. Also, I'd need to know which other mods you're using (this will be in the minecraft log if you send me the whole of it) and if you're playing locally or on a server (assuming server but who knows?).

phoenixlzx commented 5 years ago

Hello,

This is the crash report.

---- Minecraft Crash Report ----
// You should try our sister game, Minceraft!

Time: 1/16/19 2:11 PM
Description: keyPressed event handler

java.lang.StringIndexOutOfBoundsException: String index out of range: 1
    at java.lang.String.substring(String.java:1951)
    at com.mojang.brigadier.tree.CommandNode.getRelevantNodes(CommandNode.java:161)
    at com.mojang.brigadier.CommandDispatcher.parseNodes(CommandDispatcher.java:182)
    at com.mojang.brigadier.CommandDispatcher.parse(CommandDispatcher.java:163)
    at org.dimdev.rift.util.LocalCommandManager.getSuggestionsFor(LocalCommandManager.java:52)
    at org.dimdev.rift.util.LocalCommandManager.getSuggestions(LocalCommandManager.java:62)
    at cjg.redirect$gotServerSideSuggestions$zcg000(SourceFile:544)
    at cjg.h(SourceFile:158)
    at cjg.keyPressed(SourceFile:150)
    at cfq.lambda$onKeyEvent$4(KeyboardListener.java:379)
    at cfq$$Lambda$1241/1751692812.run(Unknown Source)
    at ckd.a(SourceFile:430)
    at cfq.a(KeyboardListener.java:369)
    at cfq$$Lambda$851/774689836.invoke(Unknown Source)
    at org.lwjgl.glfw.GLFWKeyCallbackI.callback(GLFWKeyCallbackI.java:37)
    at org.lwjgl.system.JNI.invokeV(Native Method)
    at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3029)
    at cgd.a(MainWindow.java:458)
    at cft.c(SourceFile:875)
    at cft.a(SourceFile:395)
    at net.minecraft.client.main.Main.main(SourceFile:144)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

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

-- Head --
Thread: Client thread
Stacktrace:
    at java.lang.String.substring(String.java:1951)
    at com.mojang.brigadier.tree.CommandNode.getRelevantNodes(CommandNode.java:161)
    at com.mojang.brigadier.CommandDispatcher.parseNodes(CommandDispatcher.java:182)
    at com.mojang.brigadier.CommandDispatcher.parse(CommandDispatcher.java:163)
    at org.dimdev.rift.util.LocalCommandManager.getSuggestionsFor(LocalCommandManager.java:52)
    at org.dimdev.rift.util.LocalCommandManager.getSuggestions(LocalCommandManager.java:62)
    at cjg.redirect$gotServerSideSuggestions$zcg000(SourceFile:544)
    at cjg.h(SourceFile:158)
    at cjg.keyPressed(SourceFile:150)
    at cfq.lambda$onKeyEvent$4(KeyboardListener.java:379)
    at cfq$$Lambda$1241/1751692812.run(Unknown Source)

-- Affected screen --
Details:
    Screen name: net.optifine.gui.GuiChatOF
Stacktrace:
    at ckd.a(SourceFile:430)
    at cfq.a(KeyboardListener.java:369)
    at cfq$$Lambda$851/774689836.invoke(Unknown Source)
    at org.lwjgl.glfw.GLFWKeyCallbackI.callback(GLFWKeyCallbackI.java:37)
    at org.lwjgl.system.JNI.invokeV(Native Method)
    at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3029)

-- Affected level --
Details:
    Level name: MpServer
    All players: 1 total; [ctj['phoenixlzx'/173809999, l='MpServer', x=-358.02, y=63.00, z=8.91]]
    Chunk stats: MultiplayerChunkCache: 441, 441
    Level seed: 0
    Level generator: ID 00 - default, ver 1. Features enabled: false
    Level generator options: {}
    Level spawn location: World: (337,68,1818), Chunk: (at 1,4,10 in 21,113; contains blocks 336,0,1808 to 351,255,1823), Region: (0,3; contains chunks 0,96 to 31,127, blocks 0,0,1536 to 511,255,2047)
    Level time: 128033 game time, 122518169 day time
    Level dimension: 0
    Level storage version: 0x00000 - Unknown?
    Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
    Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
    Forced entities: 86 total; [REDACTED]
    Retry entities: 0 total; []
    Server brand: BungeeCord (git:BungeeCord-Bootstrap:1.13-SNAPSHOT:5ef5dd2:1387) <- Paper
    Server type: Non-integrated multiplayer server
Stacktrace:
    at crg.a(WorldClient.java:576)
    at cft.b(SourceFile:1815)
    at cft.a(SourceFile:403)
    at net.minecraft.client.main.Main.main(SourceFile:144)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

-- System Details --
Details:
    Minecraft Version: 1.13.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_51, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 454767584 bytes (433 MB) / 872415232 bytes (832 MB) up to 2147483648 bytes (2048 MB)
    JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
    Launched Version: 1.13.2-rift-1.0.4-SNAPSHOT
    LWJGL: 3.1.6 build 14
    OpenGL: GeForce GTX 1080 Ti/PCIe/SSE2 GL version 4.6.0 NVIDIA 398.36, NVIDIA Corporation
    GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.

    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'rift'
    Type: Client (map_client.txt)
    Resource Packs: 
    Current Language: 简体中文 (中国)
    Profiler Position: N/A (disabled)
    CPU: 8x Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
    OptiFine Version: OptiFine_1.13.2_HD_U_E5
    OptiFine Build: 20181221-162116
    Render Distance Chunks: 12
    Mipmaps: 4
    Anisotropic Filtering: 1
    Antialiasing: 0
    Multitexture: false
    Shaders: null
    OpenGlVersion: 4.6.0 NVIDIA 398.36
    OpenGlRenderer: GeForce GTX 1080 Ti/PCIe/SSE2
    OpenGlVendor: NVIDIA Corporation
    CpuCount: 8

Stacktrace:

Reported exception thrown!
h: keyPressed event handler
    at ckd.a(SourceFile:435)
    at cfq.a(KeyboardListener.java:369)
    at cfq$$Lambda$851/774689836.invoke(Unknown Source)
    at org.lwjgl.glfw.GLFWKeyCallbackI.callback(GLFWKeyCallbackI.java:37)
    at org.lwjgl.system.JNI.invokeV(Native Method)
    at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3029)
    at cgd.a(MainWindow.java:458)
    at cft.c(SourceFile:875)
    at cft.a(SourceFile:395)
    at net.minecraft.client.main.Main.main(SourceFile:144)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 1
    at java.lang.String.substring(String.java:1951)
    at com.mojang.brigadier.tree.CommandNode.getRelevantNodes(CommandNode.java:161)
    at com.mojang.brigadier.CommandDispatcher.parseNodes(CommandDispatcher.java:182)
    at com.mojang.brigadier.CommandDispatcher.parse(CommandDispatcher.java:163)
    at org.dimdev.rift.util.LocalCommandManager.getSuggestionsFor(LocalCommandManager.java:52)
    at org.dimdev.rift.util.LocalCommandManager.getSuggestions(LocalCommandManager.java:62)
    at cjg.redirect$gotServerSideSuggestions$zcg000(SourceFile:544)
    at cjg.h(SourceFile:158)
    at cjg.keyPressed(SourceFile:150)
    at cfq.lambda$onKeyEvent$4(KeyboardListener.java:379)
    at cfq$$Lambda$1241/1751692812.run(Unknown Source)
    at ckd.a(SourceFile:430)
    ... 15 more

When we remove EasierVillagerTrading mod the game will not crash by pressing Tab in chat area.

To be noted is that -

Please mention me below if you need any further details. Thank you in advance.

gbl commented 5 years ago

Thank you, with the crash log I was able to fix the issue. The problem was the client matching the input against the list of possible commands even when there wasn't a slash (that starts a command) at all. A fixed version (beta4) is uploaded to curseforge (https://minecraft.curseforge.com/projects/easiervillagertrading/files/2660873).

Please note that, if you're using my durabilityviewer and/or grid mods, you need to update them as well, because all three (durabilityviewer grid and easiervillagertrading) share/use the same code.