Refactored score system

This commit is contained in:
2023-10-01 20:54:48 +02:00
parent 91069b76c6
commit 4b82b81d63
8 changed files with 102 additions and 88 deletions

View File

@@ -61,7 +61,7 @@ class Deathcube extends StatelessGame {
protected void onPlayerMove(@NotNull PlayerMoveEvent playerMoveEvent) {
super.onPlayerMove(playerMoveEvent);
if(isBeforeBeginning) if(playerMoveEvent.getNewPosition().y() > 51.5) playerMoveEvent.setCancelled(true);
if(playerMoveEvent.getNewPosition().y() > height) getScore().addResult(playerMoveEvent.getPlayer());
if(playerMoveEvent.getNewPosition().y() > height) getScore().insertResult(playerMoveEvent.getPlayer());
}
@Override

View File

@@ -94,14 +94,13 @@ class Minerun extends StatelessGame {
new ActionBarMessage().appendStatic(Component.text("Please stay in line!", NamedTextColor.RED)).send(p);
}
if(!isRunning && middle.z() > preRun+0.5) { //player cannot go forward before game start
if(!isRunning && middle.z() > preRun+0.5) { //player cannot go forward before the game start
playerMoveEvent.setCancelled(true);
}
if(middle.z() < preRun + length + afterMines) { // player cannot go back
// playerMoveEvent.setCancelled(true);
// new ActionBarMessage().appendStatic(Component.text("You cannot go back on the Field!", NamedTextColor.RED)).send(p);
return;
if(middle.z() < preRun + length + afterMines && getScore().hasResult(p)) { // player cannot go back after winning
playerMoveEvent.setCancelled(true);
new ActionBarMessage().appendStatic(Component.text("You cannot go back on the Field!", NamedTextColor.RED)).send(p);
}
if(Intersect.withPressurePlate(this, BlockPallet.PRESSURE_PLATES, middle)) { //Player died
@@ -111,7 +110,7 @@ class Minerun extends StatelessGame {
}
if(middle.z() > preRun + length + afterMines) { // Player finished
getScore().addResult(p);
getScore().insertResult(p);
}
}

View File

@@ -26,7 +26,8 @@ public class Spleef extends StatelessGame {
final int totalElevation = 50;
public Spleef(int radius, int stackCount) {
super(Dimension.OVERWORLD.DIMENSION, "Spleef", new LastWinsScore(1));
super(Dimension.OVERWORLD.DIMENSION, "Spleef", new LastWinsScore());
getScore().setIgnoreLastPlayers(1);
this.radius = radius;
this.stackCount = stackCount;
@@ -78,7 +79,7 @@ public class Spleef extends StatelessGame {
if(playerMoveEvent.getNewPosition().y() < totalElevation) {
playerMoveEvent.getPlayer().setGameMode(GameMode.SPECTATOR);
playerMoveEvent.getPlayer().getInventory().clear();
getScore().addResult(playerMoveEvent.getPlayer());
getScore().insertResult(playerMoveEvent.getPlayer());
}
}