Add per-arena setting: display-timer-as-level

This commit is contained in:
garbagemule 2013-06-22 13:06:44 +02:00
parent fe8a8ffa80
commit 069394c9f5
3 changed files with 15 additions and 4 deletions

View File

@ -36,3 +36,4 @@ auto-start-timer: 0
auto-ready: false
use-class-chests: false
display-waves-as-level: false
display-timer-as-level: false

View File

@ -871,7 +871,7 @@ public class ArenaImpl implements Arena
}
rewardManager.grantRewards(p);
if (!settings.getBoolean("keep-exp", false)) {
if (lobbyPlayers.contains(p) || !settings.getBoolean("keep-exp", false)) {
playerData.get(p).restoreData();
}
else {

View File

@ -1,5 +1,7 @@
package com.garbagemule.MobArena.autostart;
import org.bukkit.entity.Player;
import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.framework.Arena;
@ -9,11 +11,13 @@ public class AutoStartTimer {
private int seconds;
private Timer timer;
private boolean started;
private boolean useLevels;
public AutoStartTimer(Arena arena, int seconds) {
this.arena = arena;
this.seconds = seconds;
this.started = false;
this.useLevels = arena.getSettings().getBoolean("display-timer-as-level", false);
}
/**
@ -93,9 +97,15 @@ public class AutoStartTimer {
if (remaining <= 0) {
arena.forceStart();
started = false;
} else {
// Warn at x seconds left
if (remaining == intervals[countdownIndex]) {
} else {
// If using levels, update 'em
if (useLevels) {
for (Player p : arena.getPlayersInLobby()) {
p.setLevel(remaining);
}
}
// Otherwise, warn at x seconds left
else if (remaining == intervals[countdownIndex]) {
Messenger.tellAll(arena, Msg.ARENA_AUTO_START, "" + remaining);
countdownIndex--;
}