MohistMC / Mohist

Minecraft Forge Hybrid server implementing the Spigot/Bukkit API, formerly known as Thermos/Cauldron/MCPC+
https://mohistmc.com
GNU General Public License v3.0
1.3k stars 215 forks source link

[1.20.1] InvSee++ crash the server #2541

Closed KLONOA9X6 closed 1 year ago

KLONOA9X6 commented 1 year ago

Minecraft Version : 1.20.1

Mohist Version : 1.20.1-143

Operating System : Windows 11 22621.1848

Concerned mod / plugin : Mods:

ad_astra-forge-1.20.1-1.15.1.jar
architectury-9.0.8-forge.jar
AttributeFix-Forge-1.20-20.0.2.jar
botarium-forge-1.20-2.1.0.jar
canary-mc1.20(.1)-0.2.6.jar
cfm-forge-1.20.1-7.0.0-pre36.jar
cloth-config-11.0.99-forge.jar
create-1.20.1-0.5.1.d.jar
create_jetpack-forge-4.0.0.jar
curios-forge-5.2.0-beta.3+1.20.1.jar
ferritecore-6.0.0-forge.jar
Jade-1.20-forge-11.1.4.jar
kotlinforforge-4.3.0-all.jar
l2artifacts-2.4.3.jar
l2complements-2.4.10.jar
l2library-2.4.9.jar
l2weaponry-2.4.8.jar
MaxHealthFix-Forge-1.20-11.0.2.jar
memoryleakfix-forge-1.17+-1.1.1.jar
moonlight-1.20-2.6.0-forge.jar
REIPluginCompatibilities-forge-12.0.55.jar
resourcefulconfig-forge-1.20-2.0.0.jar
resourcefullib-forge-1.20.1-2.1.1.jar
RoughlyEnoughItems-12.0.626.jar
simpleplanes-1.20.1-5.2.3.jar
supplementaries-1.20-2.5.18.jar
Terralith_1.20.x_v2.4.1.jar
toms_storage-1.20-1.6.3.jar
TravelersBackpack-1.20.1-9.1.3.jar
yesstevemodel-1.20-release-1.1.4.jar

Plugins:

EssentialsX-2.20.1-dev+29-6012959.jar
EssentialsXChat-2.20.1-dev+29-6012959.jar
EssentialsXSpawn-2.20.1-dev+29-6012959.jar
InvSee++.jar
InvSee++_Clear.jar
InvSee++_Give.jar
RHLeafDecay-1.20_R1.jar
spark-1.10.43-bukkit.jar
voicechat-bukkit-2.4.13.jar

Logs : crash-2023-07-11_11.59.38-server.txt

Steps to Reproduce : Use '/invsee [PLAYERNAME]' Command

Description of issue : No Response

MohistBOT commented 1 year ago

Hello, thanks for opening this issue!

Before continuing, please understand that Mohist is a free and open source software, made by people in their free time. Know that we are not able to give any eta about when your issue will get answered or fixed.

Our team will first check if your issue isn't duplicated. If it's the case, we will close your issue, giving your the number of the other issue so that you can follow its progress. If you are able to do it, please check that your issue isn't duplicated, this would help us a lot.

Thank you for your patience, and have a nice day (or night)!

Jannyboy11 commented 1 year ago

InvSee++ author here: Very likely this is the same issue as https://github.com/MohistMC/Mohist/issues/2501. I know a workaround for this issue (I did something similar for Magma 1.16.5 and Mohist 1.19.4 support), but it takes some time to implement, since I need to manually check each obfuscated (SRG) method name.

Edit, I published a release with this workaround implemented, but couldn't test it yet: https://github.com/Jannyboy11/InvSee-plus-plus/releases/tag/v0.22.7 If my workaround worked for you, I would suggest closing this issue as a duplicate of #2501.

KLONOA9X6 commented 1 year ago

It's work! Thanks so much.

Mgazul commented 1 year ago

InvSee++ author here: Very likely this is the same issue as #2501. I know a workaround for this issue (I did something similar for Magma 1.16.5 and Mohist 1.19.4 support), but it takes some time to implement, since I need to manually check each obfuscated (SRG) method name.

Edit, I published a release with this workaround implemented, but couldn't test it yet: https://github.com/Jannyboy11/InvSee-plus-plus/releases/tag/v0.22.7 If my workaround worked for you, I would suggest closing this issue as a duplicate of #2501.

he still has errors java.lang.NoSuchMethodError: 'net.minecraft.world.inventory.Slot com.janboerman.invsee.spigot.impl_1_20_1_R1.MainNmsContainer.b(int)' at com.janboerman.invsee.spigot.impl_1_20_1_R1.MainBukkitInventoryView.setItem(MainBukkitInventoryView.java:59) ~[?:?]

KLONOA9X6 commented 1 year ago

Huph? I didn't encounter this problem.

Mgazul commented 1 year ago

Use /invsee to open the player's backpack and drag the item

KLONOA9X6 commented 1 year ago

Oh, crap

Jannyboy11 commented 1 year ago

I can see what I can do to fix this on sunday.

Jannyboy11 commented 1 year ago

he still has errors java.lang.NoSuchMethodError: 'net.minecraft.world.inventory.Slot com.janboerman.invsee.spigot.impl_1_20_1_R1.MainNmsContainer.b(int)' at com.janboerman.invsee.spigot.impl_1_20_1_R1.MainBukkitInventoryView.setItem(MainBukkitInventoryView.java:59) ~[?:?]

This method is AbstractContainerMenu#getSlot(int) -> Slot. Since this method is not overriden by my MainNmsContainer and EnderNmsContainer, I guess the problem was that in those classes themselves I didn't call the method from the super class explicitly using 'super'. This has been changed in https://github.com/Jannyboy11/InvSee-plus-plus/releases/tag/v0.22.8, but again, I cannot guarantee the fix is now complete (can only test tomorrow).

Edit: I see I am still missing some places, will create a new release again: https://github.com/Jannyboy11/InvSee-plus-plus/releases/tag/v0.22.9. This specific method should no longer cause issues, but there may still be others that I forgot.

Edit2: I still think this issue should be closed since clearly it is a duplicate of #2501 (both issues are caused by the same bug, but #2501 describes it better).

KLONOA9X6 commented 1 year ago

No errors found yet.

Jannyboy11 commented 1 year ago

No errors found yet.

Yup I checked all usages of vanilla fields and methods, and all of them have their workaround implemented, so it should be good to go.

KLONOA9X6 commented 1 year ago

OK, I will close this issue