As the picture shows , the collision may detect the block under the ground without any blocks' connection and made them as one BIG ship (combining the water, lava, blocks form other mods, etc) .
Its quite common to happen in the server when there are lots of entities (especially with many players around the ship), which cause the low TPS.
I just add the limitation of the Y-axis in the implement of .class tryExpanding and it seems to work fine, which let the blocks under 58 can't be constructed.
protected void tryExpanding(int x, int y, int z, int hash) { if (isValidExpansion(x, y, z) && y > 58) { // totalCalls++; if (!foundSet.contains(hash) && (foundSet.size() + nextQueue.size() < maxSize)) { nextQueue.add(hash); } } }
As the picture shows , the collision may detect the block under the ground without any blocks' connection and made them as one BIG ship (combining the water, lava, blocks form other mods, etc) . Its quite common to happen in the server when there are lots of entities (especially with many players around the ship), which cause the low TPS.
I just add the limitation of the Y-axis in the implement of .class tryExpanding and it seems to work fine, which let the blocks under 58 can't be constructed.
protected void tryExpanding(int x, int y, int z, int hash) { if (isValidExpansion(x, y, z) && y > 58) { // totalCalls++; if (!foundSet.contains(hash) && (foundSet.size() + nextQueue.size() < maxSize)) { nextQueue.add(hash); } } }