Adding additional virtual protection types to PStone grief reverts with odd results. (blockbreak cancel event priority. issue fixed TY!)
Coldene opened this issue · 2 comments
"Entering Public Food Farm..."
Here comes TimmehPlaysMC... shh!.. Observe.
TimmehPlaysMC warps in and notes all the glorious amounts of harvestable food at the rediculously OP public food farm but is here to harvest dirt, specifically the stuff holding the irrigation channels, some green stained clay, green glass covering the farms build, every single pumpkin/melon stem in sight, ladders and signs near the warp in point and as much glowstone as he can in 10 minutes...
Much to his surprise he cannot break any of those blocks only the plants.
See how he now irrigates the potatoes with his rage tears... Yay. It works.
The area is covered with a rollback grief revert that should allow all to be broken
but instead the grief revert only allows the plants to drop and
nothing else because only those items can actually be broken in that area?
Because Magic. (MagicSpells, Nisovin. v3.5-dev-1603090833 protocolib version.)
A spell that is only active in an XYZ to XYZ area has a list of blocks it will not
allow to be broken, everything else is fine. So I set a grief revert AND a spell
to cover the food farm. It's giant, and has many passive unique effects there.
Have a look here if want. :D (Whitelisted dev server)
http://51.254.70.208:8777/?worldname=piper&mapname=Piper&zoom=3&x=-5675&y=64&z=1501
It would become a laggy mess with cascading 100ft waterfalls etc if they can break certain blocks.
The spell is 100% reliable. With effi 50 shovel on dirt cancel effect every time 100s attempts. Zero lag.
Performs 100% during madness gamerule randomTickSpeed 3000+ or other TPS hammering stuff like Dynmap multicore fullrenders or world border map flood fills.
In exactly the same xyz coords of the grief revert's field a passive always known spell allows all things except a list of block ids to be broken in that area. This grief revert area is now selectively and reliably protected using a spell. ... Except for that one thing below 🤕
Issue.
In a 1.10 environment** running pre PreciousStones v10.5.3 this spell protection
would sometimes magically stop the server instead, with mentions of precious stones fits
trying to roll back grief. On a dev server NP, fun even! But this was happening at peak times
on a public 300 slot pro host server. I suspect PreciousStones was not being notified
of blockbreak cancel events and instead recorded canceled events as grief then tried to roll
that grief that never happened back?
I have yet to try replicating this in 1.12 with v10.5.3.
Will mention if it throws magic fits again in version git-Paper-1155 (MC: 1.12)
Ty for the recent updates! <3
BTW a player itempickupevent has been changed in latest paper spigot and is no longer recognised
by all plugins that used it including preciousstones.