Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enabling call-explosion-event will not drop Slimefun blocks when breaking it using explosive tools. #3601

Open
4 tasks done
variananora opened this issue Jul 2, 2022 · 4 comments · May be fixed by #3929
Open
4 tasks done
Labels
🐞 Bug Report A bug that needs to be fixed. 🧨 Confirmed Bug This bug has been confirmed by our team.

Comments

@variananora
Copy link
Member

❗ Checklist

  • I am using the official english version of Slimefun and did not modify the jar.
  • I am using an up to date "DEV" (not "RC") version of Slimefun.
  • I am aware that issues related to Slimefun addons need to be reported on their bug trackers and not here.
  • I searched for similar open issues and could not find an existing bug report on this.

📍 Description

Enabling call-explosive-event on explosive tools caused only the targeted Slimefun blocks to be dropped and drop nothing on the exploded part. This only happens to Slimefun blocks, vanilla blocks will drop just fine. Also this seems to clear block storage data on that coordinate as well.

📑 Reproduction Steps

  1. Enable call-explosive-event on explosive pickaxe
  2. Try to break Slimefun blocks
  3. See it only drops the one you are hitting with it

💡 Expected Behavior

It should drop all the Slimefun blocks

📷 Screenshots / Videos

https://youtu.be/OG7TwUCqqzg

📜 Server Log

No response

📂 /error-reports/ folder

No response

💻 Server Software

Paper

🎮 Minecraft Version

1.19.x

⭐ Slimefun version

This Server uses the following setup of Slimefun:
Paper git-Paper-42 (MC: 1.19)
Slimefun DEV - 1015 (git 2c4f886f)
Metrics-Module #28
Java 17

Installed Addons: (2)
  CMILib v1.2.1.0
  CMI v9.2.0.3

🧭 Other plugins

Plugins (7): CMI, CMILib, Multiverse-Core, Slimefun, Vault, VoidGen, WorldEdit
@variananora variananora added 🐞 Bug Report A bug that needs to be fixed. 🎯 Needs testing This Issue needs to be tested by our team to see if it can be reproduced. labels Jul 2, 2022
@variananora variananora changed the title Enabling `call-explosion-event' will not drop Slimefun blocks when breaking it using explosive tools. Enabling call-explosion-event will not drop Slimefun blocks when breaking it using explosive tools. Jul 2, 2022
@FN-FAL113
Copy link
Contributor

I spent most of my time debugging this, the returned list from the blockExplodeEvent inside the ExplosiveTool.class are mutated and something is messing with it in the internals, its not giving the expected list given from the constructor of the block explode event and is being mutated after the event is called and doing a call to #blockList() returns only air blocks while the solid blocks are being filtered for a reason I can't really tell why.

@FN-FAL113
Copy link
Contributor

FN-FAL113 commented Aug 5, 2022

image
an image of the original block list that are intentionally filtered (should also contain air blocks if unfiltered) for debugging versus the block explode event block list which only returns air blocks even though the original block list with the solid blocks destroyed are passed in the constructor of the event

@comonier
Copy link

comonier commented Mar 5, 2023

Players from my server reported explosive pickaxe is breaking only 1 block and not 3x3
Letme know - if there is something i can do to help.
I not use slimefun addons, only master:
Slimefun4 - DEV 1047 (git 84008)

@variananora variananora added 🧨 Confirmed Bug This bug has been confirmed by our team. and removed 🎯 Needs testing This Issue needs to be tested by our team to see if it can be reproduced. labels Jul 4, 2023
@iTwins
Copy link
Contributor

iTwins commented Jul 26, 2023

I'm pretty sure I found the culprit: line 52 of ExplosionsListener.java
If you follow the methodcalls it takes you to line 88 and 89 where the blockstorage is cleared (as mentioned in the issue description) and the material is set to AIR (which would explain the debug commented previously)
This is also the only BlockExplodeEvent eventhandler Github could find, which further proves my suspicions

@iTwins iTwins linked a pull request Jul 30, 2023 that will close this issue
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 Bug Report A bug that needs to be fixed. 🧨 Confirmed Bug This bug has been confirmed by our team.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants