From 882336d910aef019811eb400844a77c942c83090 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Fri, 6 Dec 2019 22:51:26 +0100 Subject: [PATCH] added block-replacer as option --- .../src/de/steamwar/fightsystem/Config.java | 4 ++++ FightSystem_Main/src/config.yml | 2 ++ .../de/steamwar/fightsystem/FightSystem.java | 2 ++ .../steamwar/fightsystem/fight/FightTeam.java | 21 +++++++++++++++++++ 4 files changed, 29 insertions(+) diff --git a/FightSystem_API/src/de/steamwar/fightsystem/Config.java b/FightSystem_API/src/de/steamwar/fightsystem/Config.java index ee08967..48b4196 100644 --- a/FightSystem_API/src/de/steamwar/fightsystem/Config.java +++ b/FightSystem_API/src/de/steamwar/fightsystem/Config.java @@ -63,6 +63,8 @@ public class Config { public static final de.steamwar.sql.SchematicType SchematicType; public static final boolean TeamRedRotate; public static final boolean TeamBlueRotate; + public static final boolean ReplaceObsidian; + public static final boolean ReplaceBedrock; //team parameter public static final String TeamRedName; @@ -143,6 +145,8 @@ public class Config { SchematicDirectory = config.getString("Schematic.Directory"); SchematicType = de.steamwar.sql.SchematicType.fromDB(config.getString("Schematic.SchematicType")); boolean rotate = config.getBoolean("Schematic.Rotate"); + ReplaceObsidian = config.getBoolean("Schematic.ReplaceObsidian"); + ReplaceBedrock = config.getBoolean("Schematic.ReplaceBedrock"); TeamRedPrefix = config.getString("Output.TeamRedPrefix"); TeamBluePrefix = config.getString("Output.TeamBluePrefix"); diff --git a/FightSystem_Main/src/config.yml b/FightSystem_Main/src/config.yml index ae53ebe..a71e4a3 100644 --- a/FightSystem_Main/src/config.yml +++ b/FightSystem_Main/src/config.yml @@ -26,6 +26,8 @@ Schematic: Directory: /home/netuser/schematics/ SchematicType: airship Rotate: boolean + ReplaceObsidian: boolean + ReplaceBedrock: boolean Output: TeamRedName: Team1 TeamRedPrefix: §c diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/FightSystem.java b/FightSystem_Main/src/de/steamwar/fightsystem/FightSystem.java index 01378c7..3fe5251 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/FightSystem.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/FightSystem.java @@ -107,6 +107,8 @@ public class FightSystem extends JavaPlugin { new PreRunningCountdown(); + Fight.getRedTeam().replaceSync(); + new WinconditionAllDead(); new WinconditionCaptainDead(); new WinconditionWaterTechKO(); diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java b/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java index be15e27..9d14e6b 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java @@ -14,6 +14,7 @@ import de.steamwar.sql.Schematic; import de.steamwar.sql.SteamwarUser; import javafx.util.Pair; import org.bukkit.*; +import org.bukkit.block.Block; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; @@ -299,6 +300,26 @@ public class FightTeam implements IFightTeam{ } } + public void replaceSync() { + World world = Bukkit.getWorlds().get(0); + Location minPoint = new Location(world, cornerX, cornerY, cornerZ); + Location maxPoint = new Location(world, (cornerX + Config.SchemsizeX), (cornerY + Config.SchemsizeY), (cornerZ + Config.SchemsizeZ)); + + for(int x = minPoint.getBlockX(); x <= maxPoint.getBlockX(); x++) { + for(int z = minPoint.getBlockZ(); z <= maxPoint.getBlockZ(); z++) { + for(int y = minPoint.getBlockY(); y <= maxPoint.getBlockY(); y++) { + + Block block = world.getBlockAt(x, y, z); + + if(Config.ReplaceObsidian && block.getType() == Material.OBSIDIAN) + block.setType(Material.TNT); + else if(Config.ReplaceBedrock && block.getType() == Material.BEDROCK) + block.setType(Material.SLIME_BLOCK); + } + } + } + } + public Set getInvited() { return invited; }