Lock food level for players in the lobby or spectator area.

There is no reason why food should be a thing in the lobby or spectator area. This commit effectively disables it for players in those places/states, while retaining the in-arena conditional logic based on the config-file setting.

Fixes #514
This commit is contained in:
Andreas Troelsen
2019-07-20 21:40:24 +02:00
parent 672e038ba7
commit 88ddbe5ac6
2 changed files with 14 additions and 6 deletions
@@ -949,15 +949,22 @@ public class ArenaListener
}
public void onFoodLevelChange(FoodLevelChangeEvent event) {
if (!arena.isRunning())
if (!(event.getEntity() instanceof Player)) {
return;
}
if (!(event.getEntity() instanceof Player) || !arena.inArena((Player) event.getEntity()))
return;
Player p = (Player) event.getEntity();
// If the food level is locked, cancel all changes.
if (lockFoodLevel)
event.setCancelled(true);
if (arena.isRunning()) {
if (lockFoodLevel) {
event.setCancelled(true);
}
} else {
// Always locked in lobby/spec
if (arena.inLobby(p) || arena.inSpec(p)) {
event.setCancelled(true);
}
}
}
public void onPlayerAnimation(PlayerAnimationEvent event) {