FastAsyncWorldEdit

FastAsyncWorldEdit

152k Downloads

//hollow removing more blocks than it should

masterX244 opened this issue ยท 5 comments

commented

Server Implementation

Paper

Server Version

1.19.4

Describe the bug

when running //hollow it removes the outside walls at some sides, too instead of leaving the shell of the selected blocks intact.

To Reproduce

having a irregularly shaped object and running //hollow

Expected behaviour

Only the outermost wall blocks left to remove any interior blocks that would be hidden

Screenshots / Videos

2023-04-24_18 34 13
2023-04-24_18 34 16

Error log (if applicable)

No response

Fawe Debugpaste

https://athion.net/ISPaster/paste/view/66a68d15840145f2bdbb31155f851031

Fawe Version

FastAsyncWorldEdit-Bukkit-2.6.2-SNAPSHOT-408

Checklist

Anything else?

No response

commented

https://github.com/IntellectualSites/FastAsyncWorldEdit-Documentation/wiki/Main-Commands-and-Permissions
Use control + F to search for hollow
Find out that the value in the command does not change how many blocks are changed in game. The number stays the same - all blocks are removed instead of hollowed out.
Replicated with Paper 1.19.4 (519) and Fawe-408

Tried with different thickness values:
grafik

commented

image

commented

The recurseHollow() method in EditSession.java is what causes this behaviour.

Starting from the center block, it expands outwards checking adjacent blocks for the edge of the shape, ignoring blocks outside of the region.

For the sake of simplcity, if the face of a cybe is on the face of the region it will be considered "inside" and hollowed.

I have done a very quick/crude test implementation of what I think is your desired functionality?

Minecraft.2023.04.29.-.02.00.27.18.mp4
commented

Okay i got it.
Hollow is working as expected. Also WE is same working way.
The workaround for working with these use the //outset 1 command before hollow.


Discord side information for later reading:
image

commented

This behaviour was not properly documented, I will add an issue for the documentation. Thank you for your issue :)