From 623bfae30814e29f09fed704aa483f79f5905109 Mon Sep 17 00:00:00 2001 From: Andreas Troelsen Date: Wed, 4 Jul 2018 01:42:52 +0200 Subject: [PATCH] Update ScoreboardManager to Java 8 lambdas and method references. Just makes things a little bit neater. --- .../MobArena/ScoreboardManager.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/garbagemule/MobArena/ScoreboardManager.java b/src/main/java/com/garbagemule/MobArena/ScoreboardManager.java index 13855d2..d91c506 100644 --- a/src/main/java/com/garbagemule/MobArena/ScoreboardManager.java +++ b/src/main/java/com/garbagemule/MobArena/ScoreboardManager.java @@ -103,11 +103,7 @@ public class ScoreboardManager { final Score fake = kills.getScore(name); if (value == 0) { fake.setScore(8); - arena.scheduleTask(new Runnable() { - public void run() { - fake.setScore(0); - } - }, 1); + arena.scheduleTask(() -> fake.setScore(0), 1); } else { fake.setScore(value); } @@ -131,13 +127,7 @@ public class ScoreboardManager { * It is necessary to delay the reset of the player scores, and the * reset is necessary because of non-zero crappiness. */ resetKills(); - arena.scheduleTask(new Runnable() { - public void run() { - for (Player p : arena.getPlayersInArena()) { - kills.getScore(p.getName()).setScore(0); - } - } - }, 1); + arena.scheduleTask(this::resetPlayerScores, 1); } private void resetKills() { @@ -149,6 +139,13 @@ public class ScoreboardManager { updateWave(0); } + private void resetPlayerScores() { + arena.getPlayersInArena().stream() + .map(Player::getName) + .map(kills::getScore) + .forEach(score -> score.setScore(0)); + } + static class NullScoreboardManager extends ScoreboardManager { NullScoreboardManager(Arena arena) { super(arena);