diff --git a/FightSystem_Core/src/config.yml b/FightSystem_Core/src/config.yml index 119f225..26bc9b3 100644 --- a/FightSystem_Core/src/config.yml +++ b/FightSystem_Core/src/config.yml @@ -41,7 +41,8 @@ Arena: BorderFromSchematic: 12 # defaults to 12 if missing # If ground walkable, teams can walk below the lower arena border during setup GroundWalkable: true # defaults to true if missing - + # Disable snow melt + DisableSnowMelt: false Schematic: # The size of the schematics Size: diff --git a/FightSystem_Core/src/de/steamwar/fightsystem/Config.java b/FightSystem_Core/src/de/steamwar/fightsystem/Config.java index 7e04187..1292a70 100644 --- a/FightSystem_Core/src/de/steamwar/fightsystem/Config.java +++ b/FightSystem_Core/src/de/steamwar/fightsystem/Config.java @@ -69,6 +69,7 @@ public class Config { public static final int PreperationArea; public static final int WaterDepth; public static final boolean GroundWalkable; + public static final boolean DisableSnowMelt; //schematic parameter public static final boolean RanksEnabled; @@ -164,6 +165,7 @@ public class Config { int schem2BorderZ = config.getInt("Arena.Schem2Border.z", 24); PreperationArea = config.getInt("Arena.BorderFromSchematic", 12); GroundWalkable = config.getBoolean("Arena.GroundWalkable", true); + DisableSnowMelt = config.getBoolean("Arena.DisableSnowMelt", false); int schemsizeX = config.getInt("Schematic.Size.x"); int schemsizeY = config.getInt("Schematic.Size.y"); diff --git a/FightSystem_Core/src/de/steamwar/fightsystem/FightSystem.java b/FightSystem_Core/src/de/steamwar/fightsystem/FightSystem.java index ee08281..3abc6d6 100644 --- a/FightSystem_Core/src/de/steamwar/fightsystem/FightSystem.java +++ b/FightSystem_Core/src/de/steamwar/fightsystem/FightSystem.java @@ -84,6 +84,7 @@ public class FightSystem extends JavaPlugin { new PersonalKitCreator(); new ArrowStopper(); new ArrowPickup(); + new BlockFadeListener(); new EnterHandler(); new TechHider(); diff --git a/FightSystem_Core/src/de/steamwar/fightsystem/listener/BlockFadeListener.java b/FightSystem_Core/src/de/steamwar/fightsystem/listener/BlockFadeListener.java new file mode 100644 index 0000000..5edd1c2 --- /dev/null +++ b/FightSystem_Core/src/de/steamwar/fightsystem/listener/BlockFadeListener.java @@ -0,0 +1,25 @@ +package de.steamwar.fightsystem.listener; + +import de.steamwar.fightsystem.ArenaMode; +import de.steamwar.fightsystem.Config; +import de.steamwar.fightsystem.states.FightState; +import de.steamwar.fightsystem.states.StateDependentListener; +import org.bukkit.Material; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockFadeEvent; + +public class BlockFadeListener implements Listener { + + public BlockFadeListener() { + new StateDependentListener(Config.DisableSnowMelt, FightState.All, this); + } + + @EventHandler + public void onBlockFade(BlockFadeEvent event) { + if (event.getBlock().getType() == Material.SNOW_BLOCK || event.getBlock().getType() == Material.SNOW || event.getBlock().getType() == Material.ICE) { + event.setCancelled(true); + } + } + +}