Make it possible to walk on the floor in prefight stage + Spawn position options #151
@ -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,10 @@ public class Config {
|
||||
BorderFromSchematic = worldconfig.getInt("Arena.BorderFromSchematic");
|
||||
AlignWater = worldconfig.getBoolean("Arena.AlignWater");
|
||||
WaterDepth = worldconfig.getInt("Arena.WaterDepth");
|
||||
GroundWalkable = config.getBoolean("Arena.GroundWalkable");
|
||||
double teamBlueSpawnOffsetX = worldconfig.getDouble("Arena.SpawnOffset.x");
|
||||
double teamBlueSpawnOffsetY = worldconfig.getDouble("Arena.SpawnOffset.y");
|
||||
double teamBlueSpawnOffsetZ = worldconfig.getDouble("Arena.SpawnOffset.z");
|
||||
|
||||
SchematicType = de.steamwar.sql.SchematicType.fromDB(config.getString("Schematic.SchematicType"));
|
||||
IgnorePublicOnly = config.getBoolean("Schematic.IgnorePublicOnly");
|
||||
@ -243,8 +248,14 @@ public class Config {
|
||||
TeamRedPasteZ = TeamBluePasteZ + TeamBluetoReddistanceZ;
|
||||
|
||||
World world = Bukkit.getWorlds().get(0);
|
||||
TeamBlueSpawn = new Location(world, TeamBluePasteX + 0.5, TeamBlueCornerY + (double)SchemsizeY + 0.5, TeamBluePasteZ + 0.5);
|
||||
TeamRedSpawn = new Location(world, TeamRedPasteX + 0.5, TeamRedCornerY + (double)SchemsizeY + 0.5, TeamRedPasteZ + 0.5);
|
||||
TeamBlueSpawn = new Location(world,
|
||||
TeamBluePasteX + 0.5 + teamBlueSpawnOffsetX,
|
||||
TeamBlueCornerY + 0.5 + teamBlueSpawnOffsetY,
|
||||
TeamBluePasteZ + 0.5 + teamBlueSpawnOffsetZ);
|
||||
TeamRedSpawn = new Location(world,
|
||||
TeamRedPasteX + 0.5 - teamBlueSpawnOffsetX,
|
||||
TeamRedCornerY + 0.5 + teamBlueSpawnOffsetY,
|
||||
TeamRedPasteZ + 0.5 - teamBlueSpawnOffsetZ);
|
||||
SpecSpawn = new Location(world,
|
||||
TeamBluePasteX + TeamBluetoReddistanceX/2.0,
|
||||
TeamBlueCornerY + TeamBluetoReddistanceY/2.0 + SchemsizeY/2.0,
|
||||
|
@ -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);
|
||||
}
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren