Better Questing

Better Questing

39M Downloads

Item dupe with storage drawers + bq_admin + spongeforge

bluelightning32 opened this issue ยท 3 comments

commented

After running the bq_admin command and getting a "You do not have permission to use this command", placing items in a storage drawer does not remove them from your hand.

  • Does not reproduce in single player
  • This only reproduces with spongeforge (just forge is not enough)
  • This reproduces with storage drawers but not chests. I have not tried other storage containers.
  • I have only gotten this to work with the bq_admin command. Luckperm takes over the permissions handling of most commands, but bq_admin keeps using the ftb ranks.

I acknowledge that this is a very strange interaction between mods. Here are the exact repro steps:

  1. Join a server with sponge forge, better questing, and storage drawers.
  2. Place down an empty storage drawer
    image
  3. Run /bq_admin and get "You do not have permission to use this command."
    image
  4. Place an item from your hand into the storage drawer. The item will go into the storage drawer and also stay in your hand.
    image
  5. Shift left click to remove the item from the storage drawer. Now you have 2 of that item in your hand.
    image
  6. Placing items in the storage drawer will continue to add them to the drawer but not remove them from your inventory. The problem will continue until you run /bq_admin again (odd invocations cause the dupes, even invocations stop them), or run /bq_user.

Modpack version: DD&SS 5.6
Forge version: forge-1.12.2-14.23.5.2836-universal.jar
SpongeForge version: spongeforge-1.12.2-2838-7.1.7-RC3785.jar
BetterQuesting version: BetterQuesting-3.5.300.jar
StorageDrawers version: StorageDrawers-1.12.2-5.3.8.jar
FTB version: FTBLib-5.4.3.130.jar FTBUtilities-5.4.0.100.jar

You can workaround the bug by giving players access to the /bq_admin command but blocking access to all of its subcommands:

/ranks set_permission player betterquesting.command.admin true
/ranks set_permission player betterquesting.command.admin.complete false
/ranks set_permission player betterquesting.command.admin.default false
/ranks set_permission player betterquesting.command.admin.delete false
/ranks set_permission player betterquesting.command.admin.edit false
/ranks set_permission player betterquesting.command.admin.hardcore false
/ranks set_permission player betterquesting.command.admin.lives false
/ranks set_permission player betterquesting.command.admin.purge false
/ranks set_permission player betterquesting.command.admin.reset false

Thanks to Chloe_Bunnyboi for reporting this to me.

commented

I don't really support Sponge and even if I did I'm not entirely sure I can fix this. As for the "FTB Ranks" thing, I don't have any code referring to the FTB system at all so I have no idea why that would be interacting with BQ.

Taking a huge guess here (and a big one at that) but maybe one or more of these permission systems just straight up broke trying to hook into these commands because BQ has custom sub command handling. Somehow that's probably cascaded into a bigger failure elsewhere in their own event handler hooks.

In that the case then there's probably a lot more broken under the surface than just this interaction. BQs commands have nothing to do with item handling or interaction events so something has gone very wrong elsewhere. I can't do much either unless I rewrite all the command code just to play nice with whatever the heck Sponge is doing which isn't likely going to happen considering normal Forge works fine for the most part.

If there's an error stack trace in your log file after running this command then maybe that might have some small hint as to what happened internally but even then it'd be difficult to debug with Sponge as that isn't something I can run in my current dev workspace with BQ.

commented

There are no errors in the logs when this happens.

commented

but you are in creative