Sort gravity blocks by y level during cleanup
This commit is contained in:
parent
56d40cad32
commit
282a7ea451
1 changed files with 17 additions and 1 deletions
|
@ -470,7 +470,7 @@ public class SongHandler {
|
||||||
cleaningUp = false;
|
cleaningUp = false;
|
||||||
SongPlayer.addChatMessage("§6Finished restoring original blocks");
|
SongPlayer.addChatMessage("§6Finished restoring original blocks");
|
||||||
if (!cleanupUnplaceableBlocks.isEmpty()) {
|
if (!cleanupUnplaceableBlocks.isEmpty()) {
|
||||||
SongPlayer.addChatMessage(String.format("§3%d §6blocks were not successfully restored"));
|
SongPlayer.addChatMessage(String.format("§3%d §6blocks could not be restored", cleanupUnplaceableBlocks.size()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -504,6 +504,14 @@ public class SongHandler {
|
||||||
} else if (!a_grav && b_grav) {
|
} else if (!a_grav && b_grav) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
// If there's gravity, sort by y coordinate
|
||||||
|
if (a_grav && b_grav) {
|
||||||
|
if (a.getY() < b.getY()) {
|
||||||
|
return -1;
|
||||||
|
} else if (a.getY() > b.getY()) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
// Then sort by distance
|
// Then sort by distance
|
||||||
int a_dx = a.getX() - lastStage.position.getX();
|
int a_dx = a.getX() - lastStage.position.getX();
|
||||||
int a_dy = a.getY() - lastStage.position.getY();
|
int a_dy = a.getY() - lastStage.position.getY();
|
||||||
|
@ -541,6 +549,14 @@ public class SongHandler {
|
||||||
} else if (!a_grav && b_grav) {
|
} else if (!a_grav && b_grav) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
// If there's gravity, sort by y coordinate
|
||||||
|
if (a_grav && b_grav) {
|
||||||
|
if (a.getY() < b.getY()) {
|
||||||
|
return 1;
|
||||||
|
} else if (a.getY() > b.getY()) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
// Then sort by distance
|
// Then sort by distance
|
||||||
int a_dx = a.getX() - lastStage.position.getX();
|
int a_dx = a.getX() - lastStage.position.getX();
|
||||||
int a_dy = a.getY() - lastStage.position.getY();
|
int a_dy = a.getY() - lastStage.position.getY();
|
||||||
|
|
Loading…
Reference in a new issue