FastAsyncVoxelSniper

FastAsyncVoxelSniper

33.4k Downloads

Bug with /b and PlotSquared borders

aurel85 opened this issue ยท 6 comments

commented

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

image jpeg bbd59c209e37c1669e49642c0ae63e89

Error log (if applicable)

No response

Favs Debugpaste

https://athion.net/ISPaster/paste/view/24208e2da0ae444693d30d5eacc64b18

Favs Version

2.7.1

Checklist

Anything else?

No response

commented

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?

commented

Can we re-use the logic from Fawe? I'm not sure if it's publicly accessible, but it does the same for PlotSquared.

commented

@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.

commented

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)

image

commented

Oh, thanks, I'll take a look by July.

commented

@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!