Bug with /b and PlotSquared borders
aurel85 opened this issue ยท 6 comments
Server Implementation
Paper
Server Version
1.19.2
Describe the bug
Hi,
Using commands like /b e lift or /b e melt this command takes the borders of the plot into consideration which causes sandstone slabs (representing a claim plot) to appear in the build unintentionally.
I'm using the latest versions of PlotSquared (6.9.4) and FastAsyncVoxelSniper (2.7.1).
I don't know if the problem is related to Voxel rather than PlotSquared, if it should post there too I can.
Thank you in advance.
To Reproduce
1 : /plot claim
2 : /b e lift in the borders
Expected behaviour
That the borders do not impact the Voxel command, the second line of sandstone_slab did not exist before the Voxel command.
Screenshots / Videos
Error log (if applicable)
No response
Favs Debugpaste
https://athion.net/ISPaster/paste/view/24208e2da0ae444693d30d5eacc64b18
Favs Version
2.7.1
Checklist
- I have included a Fawe debugpaste.
- I am using the newest build from https://dev.bukkit.org/projects/favs and the issue still persists.
Anything else?
No response
Hey,
Thanks for this report, so unexpected but so annoying issue when using PlotSquared.
We will work on this as soon as possible.
@NotMyFault Your help would be welcome, as this is a problem that might also apply to WorldGuard, GriefProtection, all protection plugins per se.
Ideally, using air blocks to replace unauthorized/out-of-scope regions may fits with the current brush system.
Should we think about a hook system then?
Can we re-use the logic from Fawe? I'm not sure if it's publicly accessible, but it does the same for PlotSquared.
@NotMyFault So, actually this is already the case internally, but FAWE does not override methods correctlty with direct coordinates (x, y, z) in some extents. So the block is returned without any process of the region restriction extent.
Extent extent = traverser.get();
if (extent instanceof SingleRegionExtent singleRegionExtent) {
System.out.println(singleRegionExtent.getRegions().iterator().next().toString());
// Polished andeside, inside plot.
System.out.println(singleRegionExtent.getBlock(-3938, 64, 1571));
System.out.println(singleRegionExtent.getBlock(BlockVector3.at(-3938, 64, 1571)));
// Brick slab, the plot border.
System.out.println(singleRegionExtent.getBlock(-3938, 65, 1570));
System.out.println(singleRegionExtent.getBlock(BlockVector3.at(-3938, 65, 1570)));
}
traverser = traverser.next();
[21:19:44 INFO]: minecraft:polished_andesite
[21:19:44 INFO]: minecraft:polished_andesite
[21:19:44 INFO]: minecraft:brick_slab[type=bottom,waterlogged=false]
[21:19:44 INFO]: minecraft:air
A fix can be made on FAWE side somehow. Otherwise, some refactor of method usage in FAVS would be necessary.
Hi,
could it be that this bug is reappearing due to recent changes?
Or is there a configuration I am missing?
Bump @Aurelien30000
Tested Versions:
- FastAsyncVoxelSniper: 3.1.1 (newest Version)
- PlotSquared: 7.3.8-Premium (newest Version)
- FastAsyncWorldEdit: Build 782 (783 avaliable)
@DopiGFX Can you create a new reserved issue for your problem please? You can mention this issue as well, it's easier for us that you create a new issue. Thanks!