mirror of
https://github.com/EngineHub/WorldEdit.git
synced 2024-12-21 04:49:51 +08:00
Updated /ascend, /descend, and /unstuck to detect pass-through blocks better.
This commit is contained in:
parent
363372b160
commit
835a8ee617
@ -76,7 +76,7 @@ public void findFreePosition(Vector searchPos) {
|
||||
byte free = 0;
|
||||
|
||||
while (y <= 129) {
|
||||
if (etc.getServer().getBlockIdAt(x, y, z) == 0) {
|
||||
if (BlockType.canPassThrough(etc.getServer().getBlockIdAt(x, y, z))) {
|
||||
free++;
|
||||
} else {
|
||||
free = 0;
|
||||
@ -118,7 +118,7 @@ public boolean ascendLevel() {
|
||||
byte spots = 0;
|
||||
|
||||
while (y <= 129) {
|
||||
if (ServerInterface.getBlockType(new Vector(x, y, z)) == 0) {
|
||||
if (BlockType.canPassThrough(ServerInterface.getBlockType(new Vector(x, y, z)))) {
|
||||
free++;
|
||||
} else {
|
||||
free = 0;
|
||||
@ -159,7 +159,7 @@ public boolean descendLevel() {
|
||||
byte free = 0;
|
||||
|
||||
while (y >= 1) {
|
||||
if (ServerInterface.getBlockType(new Vector(x, y, z)) == 0) {
|
||||
if (BlockType.canPassThrough(ServerInterface.getBlockType(new Vector(x, y, z)))) {
|
||||
free++;
|
||||
} else {
|
||||
free = 0;
|
||||
@ -211,7 +211,7 @@ public boolean ascendToCeiling(int clearance) {
|
||||
|
||||
while (y <= 127) {
|
||||
// Found a ceiling!
|
||||
if (ServerInterface.getBlockType(new Vector(x, y, z)) != 0) {
|
||||
if (!BlockType.canPassThrough(ServerInterface.getBlockType(new Vector(x, y, z)))) {
|
||||
int platformY = Math.max(initialY, y - 3 - clearance);
|
||||
ServerInterface.setBlockType(new Vector(x, platformY, z),
|
||||
BlockType.GLASS.getID());
|
||||
|
Loading…
Reference in New Issue
Block a user