FastAsyncWorldEdit
FastAsyncWorldEdit copied to clipboard
Fix region restrictions with methods non-overriden
Overview
Fixes https://github.com/IntellectualSites/fastasyncvoxelsniper/issues/195
Description
FAWE handles internally region restrictions through ExditSession. However, FAWE does not override methods correctlty with direct coordinates (x, y, z) in FaweRegionExtent. Thus, the block may be returned without any process of the region restriction extents.
Example:
ExtentTraverser<Extent> traverser = new ExtentTraverser<>(editSession.getExtent());
while (traverser != null && traverser.exists()) {
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
Perhaps such a fix could be deployed to other extents that have the same issue.
Submitter Checklist
- [x] Make sure you are opening from a topic branch (/feature/fix/docs/ branch (right side)) and not your main branch.
- [x] Ensure that the pull request title represents the desired changelog entry.
- [x] New public fields and methods are annotated with
@since TODO. - [x] I read and followed the contribution guidelines.