Jannyboy11 / InvSee-plus-plus

A bukkit plugin for manipulating player inventories
Other
91 stars 18 forks source link

Invsee not working with mohist #55

Closed diavolicchio closed 1 year ago

diavolicchio commented 1 year ago

I'm running invsee++ with mohist and i keep getting this error https://pastebin.com/LWBvHscs I tried to /invsee myself and other players, online or offline i still couldn't see, how do i solve this?

Jannyboy11 commented 1 year ago

This is a bug in Mohist that I reported months ago, but the Mohist team have not acted upon it yet: https://github.com/MohistMC/Mohist/issues/2452. The MohistMC team seems to use SRG-mappings for their NMS server code, whereas InvSee++ uses obfuscated Vanilla mappings because that is what CraftBukkit uses. Mohist should therefore either change their runtime mappings, or it should transform the bytecode of the plugin in order to translate vanilla-obf names to SRG names.

While in theory it would still be possible to implement support for Mohist 1.19.4 simply by detecting when InvSee++ runs on Mohist, and using SRG mappings in that case, this is difficult to program because then I can't use meaningful class names, field names and method names.

To answer your question: You can solve your issue in three ways:

  1. Fork Mohist, fix the bug in their class remapper
  2. Fork InvSee++, implement an InvseePlatform for Mohist 1.19.4 using SRG mappings.
  3. Use server software that accepts plugins with vanilla-obfuscated NMS code.

The first two solutions, since both require you to know how to program in Java, and the first one requires an understanding of Java bytecode as well. The third option is probably the best. If Arclight, CatServer or Magma work for you, then you should probably go with them instead because the Mohist team doesn't seem to be able to support NMS-based plugins.

Jannyboy11 commented 1 year ago

Bug is probably in the MohistRemapper, see the conversation on the MohistMC discord: https://discord.com/channels/311256119005937665/983514331532644433/1108415930448486501

Jannyboy11 commented 1 year ago

Closing this issue since this is not a bug in InvSee++, and the Mohist team was able to fix it themselves (although this fix doesn't seem to be on the main branch yet).

Jannyboy11 commented 1 year ago

Supposedly this is fixed now, the Mohist issue got closed: https://github.com/MohistMC/Mohist/issues/2452.

Jannyboy11 commented 1 year ago

Now works as of: https://github.com/Jannyboy11/InvSee-plus-plus/commit/8eaf120a7adb858225b0f33e7b3573b2c81a5ae2 I opened up a related issue at Mohist, because I went through hoops I shouldn't have to go through: https://github.com/MohistMC/Mohist/issues/2501