From cb8983b162e071ddbaaddec8573ecf4735e27024 Mon Sep 17 00:00:00 2001 From: Andreas Troelsen Date: Mon, 5 Aug 2019 16:00:01 +0200 Subject: [PATCH] Drop support for auto-respawn. This commit removes the `auto-respawn` arena setting and the logic associated with it. MobArena's hacky implementation of auto-respawning is buggy and discouraged. To get true auto-respawn functionality we'd have to move to the Spigot API instead of the Bukkit API. --- changelog.md | 1 + .../java/com/garbagemule/MobArena/ArenaImpl.java | 16 +--------------- src/main/resources/res/settings.yml | 1 - 3 files changed, 2 insertions(+), 16 deletions(-) diff --git a/changelog.md b/changelog.md index b053e6c..95d5bca 100644 --- a/changelog.md +++ b/changelog.md @@ -25,6 +25,7 @@ These changes will (most likely) be included in the next version. - Cat and parrot pets now also sit when their owner joins an arena (although parrots perching on players' shoulders will still follow them into the arena). - Pig zombies are now angry immediately after they spawn as they should be. - Support for denoting potion effects by magic number IDs has been dropped. This means that if your config-file has any such magic numbers in it, MobArena will no longer successfully parse them and will throw an error on startup. +- Support for auto-respawning has been dropped. The hacky way it was implemented is not officially supported by the Bukkit API and is highly discouraged because it is very buggy. ## [0.103.2] - 2019-04-23 - MobArena no longer touches the `flySpeed` player attribute when players join an arena. This should fix issues where a crash would result in players being "locked in the air" when trying to fly outside of the arena. It also introduces compatibility with plugins that use flight to augment player abilities. diff --git a/src/main/java/com/garbagemule/MobArena/ArenaImpl.java b/src/main/java/com/garbagemule/MobArena/ArenaImpl.java index f07910a..a62ac27 100644 --- a/src/main/java/com/garbagemule/MobArena/ArenaImpl.java +++ b/src/main/java/com/garbagemule/MobArena/ArenaImpl.java @@ -829,17 +829,7 @@ public class ArenaImpl implements Arena clearInv(p); } - if (!settings.getBoolean("auto-respawn", true)) { - deadPlayers.add(p); - endArena(); - return; - } - - double full = p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue(); - p.setHealth(full); - - plugin.getServer().getScheduler() - .scheduleSyncDelayedTask(plugin, () -> revivePlayer(p)); + deadPlayers.add(p); endArena(); } @@ -863,10 +853,6 @@ public class ArenaImpl implements Arena @Override public void playerRespawn(Player p) { - if (settings.getBoolean("auto-respawn", true)) { - return; - } - deadPlayers.remove(p); plugin.getServer().getScheduler() .scheduleSyncDelayedTask(plugin, () -> revivePlayer(p)); diff --git a/src/main/resources/res/settings.yml b/src/main/resources/res/settings.yml index 537d4d2..68ca6f4 100644 --- a/src/main/resources/res/settings.yml +++ b/src/main/resources/res/settings.yml @@ -15,7 +15,6 @@ pvp-enabled: false monster-infight: false allow-teleporting: false spectate-on-death: true -auto-respawn: true share-items-in-arena: true min-players: 0 max-players: 0