diff --git a/src/com/projectkorra/projectkorra/GeneralMethods.java b/src/com/projectkorra/projectkorra/GeneralMethods.java index d37fd936..7c86931c 100644 --- a/src/com/projectkorra/projectkorra/GeneralMethods.java +++ b/src/com/projectkorra/projectkorra/GeneralMethods.java @@ -2128,15 +2128,12 @@ public class GeneralMethods { public static void setVelocity(final Entity entity, final Vector velocity) { if (entity instanceof TNTPrimed) { if (ConfigManager.defaultConfig.get().getBoolean("Properties.BendingAffectFallingSand.TNT")) { - entity.setVelocity(velocity.multiply(ConfigManager.defaultConfig.get().getDouble("Properties.BendingAffectFallingSand.TNTStrengthMultiplier"))); + velocity.multiply(ConfigManager.defaultConfig.get().getDouble("Properties.BendingAffectFallingSand.TNTStrengthMultiplier")); } - return; - } - if (entity instanceof FallingBlock) { + } else if (entity instanceof FallingBlock) { if (ConfigManager.defaultConfig.get().getBoolean("Properties.BendingAffectFallingSand.Normal")) { - entity.setVelocity(velocity.multiply(ConfigManager.defaultConfig.get().getDouble("Properties.BendingAffectFallingSand.NormalStrengthMultiplier"))); + velocity.multiply(ConfigManager.defaultConfig.get().getDouble("Properties.BendingAffectFallingSand.NormalStrengthMultiplier")); } - return; } // Attempt to stop velocity from going over the packet cap. diff --git a/src/com/projectkorra/projectkorra/earthbending/EarthGrab.java b/src/com/projectkorra/projectkorra/earthbending/EarthGrab.java index fca580b0..4084b813 100644 --- a/src/com/projectkorra/projectkorra/earthbending/EarthGrab.java +++ b/src/com/projectkorra/projectkorra/earthbending/EarthGrab.java @@ -151,9 +151,11 @@ public class EarthGrab extends EarthAbility { top.setType(Material.AIR); } - while (!this.isEarthbendable(top)) { - if (this.isTransparent(top)) { - top = top.getRelative(BlockFace.DOWN); + if (!this.isEarthbendable(top)) { + Block under = top.getRelative(BlockFace.DOWN); + + if (this.isTransparent(top) && this.isEarthbendable(under)) { + top = under; } else { this.remove(); return; diff --git a/src/com/projectkorra/projectkorra/hooks/WorldGuardFlag.java b/src/com/projectkorra/projectkorra/hooks/WorldGuardFlag.java index ff055f89..9291790a 100644 --- a/src/com/projectkorra/projectkorra/hooks/WorldGuardFlag.java +++ b/src/com/projectkorra/projectkorra/hooks/WorldGuardFlag.java @@ -9,10 +9,11 @@ import com.projectkorra.projectkorra.ProjectKorra; public class WorldGuardFlag { public static void registerBendingWorldGuardFlag() { final FlagRegistry registry = WorldGuard.getInstance().getFlagRegistry(); + try { registry.register(new StateFlag("bending", false)); } catch (final Exception e) { - ProjectKorra.log.severe("Unable to register bending WorldGuard Flag"); + ProjectKorra.log.severe("Unable to register bending WorldGuard flag: " + e); } } } diff --git a/src/com/projectkorra/projectkorra/waterbending/ice/PhaseChange.java b/src/com/projectkorra/projectkorra/waterbending/ice/PhaseChange.java index 0c09e4bf..2fa55db1 100644 --- a/src/com/projectkorra/projectkorra/waterbending/ice/PhaseChange.java +++ b/src/com/projectkorra/projectkorra/waterbending/ice/PhaseChange.java @@ -194,7 +194,7 @@ public class PhaseChange extends IceAbility { return; } - if (this.meltLoc.distance(loc) < 1) { + if (this.meltLoc.getWorld().equals(loc.getWorld()) && this.meltLoc.distance(loc) < 1) { return; }