From aeda617a55c6b5c8910bd0844f34efe988227151 Mon Sep 17 00:00:00 2001 From: Lixfel Date: Thu, 21 May 2020 08:42:39 +0200 Subject: [PATCH] Make it possible to walk on the floor in prefight stage Signed-off-by: Lixfel --- FightSystem_API/src/de/steamwar/fightsystem/Config.java | 2 ++ .../steamwar/fightsystem/listener/PlayerMoveListener.java | 8 +++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/FightSystem_API/src/de/steamwar/fightsystem/Config.java b/FightSystem_API/src/de/steamwar/fightsystem/Config.java index 88bb7dc..afc767a 100644 --- a/FightSystem_API/src/de/steamwar/fightsystem/Config.java +++ b/FightSystem_API/src/de/steamwar/fightsystem/Config.java @@ -58,6 +58,7 @@ public class Config { public static final int ArenaMinZ; public static final int ArenaMaxX; public static final int ArenaMaxZ; + public static final boolean GroundWalkable; //schematic parameter public static final boolean OnlyPublicSchematics; @@ -154,6 +155,7 @@ public class Config { BorderFromSchematic = worldconfig.getInt("Arena.BorderFromSchematic"); AlignWater = worldconfig.getBoolean("Arena.AlignWater"); WaterDepth = worldconfig.getInt("Arena.WaterDepth"); + GroundWalkable = config.getBoolean("Arena.GroundWalkable"); SchematicType = de.steamwar.sql.SchematicType.fromDB(config.getString("Schematic.SchematicType")); IgnorePublicOnly = config.getBoolean("Schematic.IgnorePublicOnly"); diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PlayerMoveListener.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PlayerMoveListener.java index 61aa744..2584a99 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PlayerMoveListener.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PlayerMoveListener.java @@ -70,14 +70,12 @@ public class PlayerMoveListener extends BasicListener { boolean inArenaY = to.getY() + 1.8 <= Config.upperArenaBorder; if(to.getY() <= Config.underArenaBorder) { - if(player.getGameMode() == GameMode.SPECTATOR){ + if(player.getGameMode() == GameMode.SPECTATOR || team == null) reset(event, DENY_ARENA); - }else if(FightSystem.getFightState() == FightState.RUNNING || FightSystem.getFightState() == FightState.ENTERN) + else if(FightSystem.getFightState().infight()) player.damage(2); - else if(team != null){ + else if(!Config.GroundWalkable) player.teleport(team.getSpawn()); - }else - reset(event, DENY_ARENA); }else if(team != null && !inArenaY){ reset(event, DENY_ARENA); }