Slimefun

Slimefun

3M Downloads

Plugin Incompatibility - Blockplacer Issues

Skizzles opened this issue · 1 comments

commented

❗ 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

Blockplacers are a lovely thing, however a lot of plugins determine if a block is placed by the player or not in order to count certain things like Quest progress in countless Quest plugins, Quests in skyblock plugins, tracking of block broken stats in Leveling/Skills plugins.

I believe having the Blockplacer mark the blocks as being placed by a player would solve these issues entirely instead of each plugin having to add support for the blockplacer.

📑 Reproduction Steps

Install SuperiorSkyblock
Use a blocksmission
Add blocks to block Placer
Break blocks

Repeat and have quests finished in 1min.

💡 Expected Behavior

I would expect the blocks to be marked as placed by a player to prevent situations like this.

📷 Screenshots / Videos

https://youtu.be/5DsuLO3agHQ

📜 Server Log

N/A

📂 /error-reports/ folder

N/A

💻 Server Software

Purpur

🎮 Minecraft Version

1.17.x

⭐ Slimefun version

Dev 961

🧭 Other plugins

Superiorskyblock2
Quests
Jobs

commented

There isn't really a way to mark a block as "player-placed".
Each plugin handles that seperately. Most often by listening to an event.

However calling a player's BlockPlaceEvent is not possible for the BlockPlacer, therefore it has a substitute, its own event which plugins can listen to.
The best solution would be to either disable Block Placers on your server or to ask the developers of the other plugins to add a listener for this event.
Here's an example on how mcMMO's integration handles it: https://github.com/Slimefun/Slimefun4/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/integrations/McMMOIntegration.java#L38-L46