Shopkeepers

Shopkeepers

2M Downloads

Player shops destroyed by wind charges when container protection is disabled

lerokko opened this issue ยท 6 comments

commented

Preliminaries:

  • Shopkeepers version: 2.23.0
  • Spigot version: This server is running CraftBukkit version 4333-Spigot-a759b62-fc5b2d7 (MC: 1.21.1) (Implementing API version 1.21.1-R0.1-SNAPSHOT)

  • I have checked that my issue/question does not get answered by:
  • I have checked all open and closed issues, but none seems to fit my issue/question.

Reproduction on a fresh and up-to-date Spigot server:

I was able to reproduce my issue on a freshly set up and up-to-date Spigot server (currently This server is running CraftBukkit version 4333-Spigot-a759b62-fc5b2d7 (MC: 1.21.1) (Implementing API version 1.21.1-R0.1-SNAPSHOT) ) with the latest version of Shopkeepers (currently 2.23.0), with no other plugins and with no kinds of other server or client mods.

The issue:

Create a sign shop. It has to be a wall sing attached to a full block (like a grass block). Throw a wind charge at the sing (or near it). Sign is gone. This does not happen when the sing is attached to a chest or standing freely.
Throwing a wind charge at a block should not delete the block.

Tested also on latest paper (116).

commented

I cannot reproduce this on my local 1.21.1 Spiot dev version (28 builds behind). Will try to reproduce this on the latest Spigot version later (there was some wind charge related change in the latest commit, maybe it broke something).

Edit: I still cannot reproduce this issue on the latest Spigot version:
grafik

I test both standing, wall, and hanging wall signs. Neither dropped in my case.

Are you attaching the sign shopkeeper to any special block? Are you using any plugin that might maybe cause this? (try without other plugins)

commented

this seems to only effect Player shops. The one in the screenshot appears to be an admin shop.
And doing so does actually delete the Shop:
[13:17:52 INFO]: [Shopkeepers] Saved shopkeeper data (0 dirty, 1 deleted): 50 ms (Async execution delay: 46 ms, Async execution: 4 ms)

commented

Seems like its less consistent than I thought and not only on full blocks. I do not know what the quirks are. I have also tested this with a vanilla CLIENT before (video shows mods) and it is not a client side issue. It still happens in vanilla, and persists after relogs and restarts

YouTube video demonstration the issue

commented

It seems to think that the container is being broken. this does not happen with
delete-shopkeeper-on-break-container: false
also small correction: this happen when the Container is hit not the sign.

commented

I still cannot reproduce the issue even with player shops and with delete-shopkeeper-on-break-container enabled and the chest being targeted by the wind charge.

Can you please try to reproduce the issue without any other plugins? Maybe some plugin is implementing some kind of "wind charge destroys blocks" mechanic?
Edit: Example: Certain versions of the "SunLight" plugin seemed to cause wind charges to break blocks: https://www.spigotmc.org/resources/sunlight-%E2%AD%90-best-z-essentials-cmi-alternative.67733/update?update=555453

Also, can you attach your Shopkeepers config.yml file, so I can try to reproduce it with your settings?

Edit: Okay, I can reproduce it now by also disabling the setting protect-containers. This applies to all shopkeepers, not only signs.

Edit: There was some change related to the explosion event and wind charges (https://hub.spigotmc.org/jira/browse/SPIGOT-7799) which the Shopkeepers plugin doesn't properly account for yet: Previously the event would only be called when blocks are actually about to be destroyed. Now the event is also called for wind charges, in which case the blocks are not destroyed.

commented

Fixed in the latest snapshot. Let me know if you can confirm the fix to be working: https://github.com/Shopkeepers/Shopkeepers/actions/runs/11164650230/artifacts/2011545444

Edit: Fixed in Shopkeepers v2.23.1