diff --git a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/MapUtil.java b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/MapUtil.java index 0e1ddc078..369489ef2 100644 --- a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/MapUtil.java +++ b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/MapUtil.java @@ -135,18 +135,19 @@ public class MapUtil return totalHeight / count; } - public static void ChunkBlockChange(Location location, int id, byte data) + public static void ChunkBlockChange(Location location, int id, byte data, boolean notifyPlayers) { ChunkBlockChange(location.getWorld(), location.getBlockX(), location.getBlockY(), location.getBlockZ(), id, - data); + data, notifyPlayers); } - public static void ChunkBlockChange(World world, int x, int y, int z, int id, byte data) + public static void ChunkBlockChange(World world, int x, int y, int z, int id, byte data, boolean notifyPlayers) { if (changeChunkBlock(x & 15, y, z & 15, ((CraftWorld) world).getHandle().getChunkAt(x >> 4, z >> 4), Block.getById(id), data)) { - //((CraftWorld) world).getHandle().notify(x, y, z); + if (notifyPlayers) + ((CraftWorld) world).getHandle().notify(x, y, z); } } diff --git a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/UtilBlock.java b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/UtilBlock.java index 7038aa834..af4c22cc6 100644 --- a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/UtilBlock.java +++ b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/UtilBlock.java @@ -256,10 +256,10 @@ public class UtilBlock public static HashMap getInRadius(Location loc, double dR) { - return getInRadius(loc, dR, 999); + return getInRadius(loc, dR, 9999); } - public static HashMap getInRadius(Location loc, double dR, double heightLimit) + public static HashMap getInRadius(Location loc, double dR, double maxHeight) { HashMap blockList = new HashMap(); int iR = (int)dR + 1; @@ -268,7 +268,7 @@ public class UtilBlock for (int z=-iR ; z <= iR ; z++) for (int y=-iR ; y <= iR ; y++) { - if (Math.abs(y) > heightLimit) + if (Math.abs(y) > maxHeight) continue; Block curBlock = loc.getWorld().getBlockAt((int)(loc.getX()+x), (int)(loc.getY()+y), (int)(loc.getZ()+z)); diff --git a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/UtilText.java b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/UtilText.java index 7135f249e..dd06cc17e 100644 --- a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/UtilText.java +++ b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/UtilText.java @@ -139,21 +139,21 @@ public class UtilText if (align == TextAlign.CENTER) for (int i=-64 ; i<=64 ; i++) { - MapUtil.ChunkBlockChange(world, bX + i * face.getModX(), bY + i * face.getModY(), bZ + i * face.getModZ(), 0, (byte)0); + MapUtil.ChunkBlockChange(world, bX + i * face.getModX(), bY + i * face.getModY(), bZ + i * face.getModZ(), 0, (byte)0, true); } if (align == TextAlign.LEFT) for (int i=0 ; i<=128 ; i++) { - MapUtil.ChunkBlockChange(world, bX + i * face.getModX(), bY + i * face.getModY(), bZ + i * face.getModZ(), 0, (byte)0); + MapUtil.ChunkBlockChange(world, bX + i * face.getModX(), bY + i * face.getModY(), bZ + i * face.getModZ(), 0, (byte)0, true); } if (align == TextAlign.RIGHT) for (int i=-128 ; i<=0 ; i++) { - MapUtil.ChunkBlockChange(world, bX + i * face.getModX(), bY + i * face.getModY(), bZ + i * face.getModZ(), 0, (byte)0); + MapUtil.ChunkBlockChange(world, bX + i * face.getModX(), bY + i * face.getModY(), bZ + i * face.getModZ(), 0, (byte)0, true); } @@ -181,7 +181,7 @@ public class UtilText if (letter[x][y] == 1) { changes.add(world.getBlockAt(bX, bY, bZ)); - MapUtil.ChunkBlockChange(world, bX, bY, bZ, id, data); + MapUtil.ChunkBlockChange(world, bX, bY, bZ, id, data, true); } //Forward diff --git a/Plugins/Mineplex.Core/src/mineplex/core/explosion/Explosion.java b/Plugins/Mineplex.Core/src/mineplex/core/explosion/Explosion.java index 97a0465e1..d205f90ba 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/explosion/Explosion.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/explosion/Explosion.java @@ -314,7 +314,7 @@ public class Explosion extends MiniPlugin continue; double chance = 0.2 + (double)_explosionBlocks.size()/(double)120; - if (Math.random() > Math.min(0.85, chance)) + if (Math.random() > Math.min(0.95, chance)) { FallingBlock fall = cur.getWorld().spawnFallingBlock(cur.getLocation().add(0.5, 0.5, 0.5), blocks.get(cur).getKey(), blocks.get(cur).getValue()); diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/modules/parkour/SnakePart.java b/Plugins/Mineplex.Hub/src/mineplex/hub/modules/parkour/SnakePart.java index f90994c85..1fa43b130 100644 --- a/Plugins/Mineplex.Hub/src/mineplex/hub/modules/parkour/SnakePart.java +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/modules/parkour/SnakePart.java @@ -78,7 +78,7 @@ public class SnakePart public void sendBlock(Location loc, int id, byte data) { - MapUtil.ChunkBlockChange(loc, id, data); + MapUtil.ChunkBlockChange(loc, id, data, false); for (Player player : UtilServer.getPlayers()) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java index eac693ec3..d6f0dbf6c 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java @@ -1,6 +1,8 @@ package nautilus.game.arcade.game.games.dragonescape; import java.util.ArrayList; +import java.util.Iterator; +import java.util.Set; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -10,6 +12,8 @@ import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.FireworkEffect.Type; +import org.bukkit.block.Block; +import org.bukkit.block.BlockFace; import org.bukkit.entity.EnderDragon; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; @@ -119,6 +123,9 @@ public class DragonEscape extends SoloGame if (WorldData.MapName.contains("Hell")) this.WorldTimeSet = 16000; + + if (WorldData.MapName.contains("Pirate")) + this.WorldWaterDamage = 2; } @EventHandler @@ -133,7 +140,7 @@ public class DragonEscape extends SoloGame dragon.setCustomName(ChatColor.YELLOW + C.Bold + "Douglas the Dragon"); - _dragonData = new DragonEscapeData(this, dragon, _waypoints.get(0)); + _dragonData = new DragonEscapeData(this, dragon, _waypoints.get(0)); } @EventHandler @@ -148,8 +155,25 @@ public class DragonEscape extends SoloGame _dragonData.Target = _waypoints.get(Math.min(_waypoints.size()-1, (GetWaypointIndex(_dragonData.Location) + 1))); _dragonData.Move(); + + Set blocks = UtilBlock.getInRadius(_dragonData.Location, 10d).keySet(); + + Iterator blockIterator = blocks.iterator(); + while (blockIterator.hasNext()) + { + Block block = blockIterator.next(); + + if (block.isLiquid()) + blockIterator.remove(); - Manager.GetExplosion().BlockExplosion(UtilBlock.getInRadius(_dragonData.Location, 10d).keySet(), _dragonData.Location, false); + else if (WorldData.MapName.contains("Hell") && block.getY() < 30) + blockIterator.remove(); + + else if (WorldData.MapName.contains("Pirate") && block.getY() < 4) + blockIterator.remove(); + } + + Manager.GetExplosion().BlockExplosion(blocks, _dragonData.Location, false); } @EventHandler @@ -161,7 +185,7 @@ public class DragonEscape extends SoloGame if (!IsLive()) return; - if (_dragonData == null) + if (_dragonData == null) return; double dragonScore = GetScore(_dragonData.Dragon); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java index 81c14e98d..d375e9104 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java @@ -177,20 +177,6 @@ public class Spleef extends SoloGame event.getPlayer().getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.SNOW_BALL)); } - - //Ignore - //@EventHandler - public void LeapDamage(PerkLeapEvent event) - { - if (!UtilEnt.isGrounded(event.GetPlayer())) - return; - - for (Block block : UtilBlock.getInRadius(event.GetPlayer().getLocation().subtract(0, 1, 0), 3d, 0).keySet()) - { - BlockFade(block, event.GetPlayer(), false); - } - } - public void BlockFade(Block block, Player player, boolean slowDamage) { AddStat(player, "BlocksBroken", 1, false, false); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java index a91c3ad82..fe3d10c85 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java @@ -121,18 +121,6 @@ public class SpleefTeams extends TeamGame BlockFade(event.getBlock(), event.getPlayer()); } - @EventHandler - public void LeapDamage(PerkLeapEvent event) - { - if (!UtilEnt.isGrounded(event.GetPlayer())) - return; - - for (Block block : UtilBlock.getInRadius(event.GetPlayer().getLocation().subtract(0, 1, 0), 3d, 0).keySet()) - { - BlockFade(block, event.GetPlayer()); - } - } - public void BlockFade(Block block, Player player) { UtilPlayer.hunger(player, 1); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGames.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGames.java index 344f7ded5..e13346506 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGames.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGames.java @@ -768,7 +768,7 @@ public class SurvivalGames extends SoloGame if (!IsLive()) return; - MapUtil.ChunkBlockChange(loc, id, data); + MapUtil.ChunkBlockChange(loc, id, data, false); //Old Style /* diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java index 1e6bad77f..774d71244 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java @@ -774,7 +774,7 @@ public class SurvivalGamesTeams extends TeamGame if (!IsLive()) return; - MapUtil.ChunkBlockChange(loc, id, data); + MapUtil.ChunkBlockChange(loc, id, data, false); //Old Style /*