mirror of
https://github.com/TotalFreedomMC/TF-ProjectKorra.git
synced 2025-02-11 03:30:10 +00:00
crash fix (#994)
## Fixes * Server crash with AirSwipe (or any move that can cause high velocity) on falling blocks or tnt * Error with PhaseChange if you switch worlds while using * Server crash with EarthGrab when used over void
This commit is contained in:
parent
a174664ecf
commit
a57e599e62
4 changed files with 11 additions and 11 deletions
|
@ -2128,15 +2128,12 @@ public class GeneralMethods {
|
||||||
public static void setVelocity(final Entity entity, final Vector velocity) {
|
public static void setVelocity(final Entity entity, final Vector velocity) {
|
||||||
if (entity instanceof TNTPrimed) {
|
if (entity instanceof TNTPrimed) {
|
||||||
if (ConfigManager.defaultConfig.get().getBoolean("Properties.BendingAffectFallingSand.TNT")) {
|
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;
|
} else if (entity instanceof FallingBlock) {
|
||||||
}
|
|
||||||
if (entity instanceof FallingBlock) {
|
|
||||||
if (ConfigManager.defaultConfig.get().getBoolean("Properties.BendingAffectFallingSand.Normal")) {
|
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.
|
// Attempt to stop velocity from going over the packet cap.
|
||||||
|
|
|
@ -151,9 +151,11 @@ public class EarthGrab extends EarthAbility {
|
||||||
top.setType(Material.AIR);
|
top.setType(Material.AIR);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (!this.isEarthbendable(top)) {
|
if (!this.isEarthbendable(top)) {
|
||||||
if (this.isTransparent(top)) {
|
Block under = top.getRelative(BlockFace.DOWN);
|
||||||
top = top.getRelative(BlockFace.DOWN);
|
|
||||||
|
if (this.isTransparent(top) && this.isEarthbendable(under)) {
|
||||||
|
top = under;
|
||||||
} else {
|
} else {
|
||||||
this.remove();
|
this.remove();
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -9,10 +9,11 @@ import com.projectkorra.projectkorra.ProjectKorra;
|
||||||
public class WorldGuardFlag {
|
public class WorldGuardFlag {
|
||||||
public static void registerBendingWorldGuardFlag() {
|
public static void registerBendingWorldGuardFlag() {
|
||||||
final FlagRegistry registry = WorldGuard.getInstance().getFlagRegistry();
|
final FlagRegistry registry = WorldGuard.getInstance().getFlagRegistry();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
registry.register(new StateFlag("bending", false));
|
registry.register(new StateFlag("bending", false));
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
ProjectKorra.log.severe("Unable to register bending WorldGuard Flag");
|
ProjectKorra.log.severe("Unable to register bending WorldGuard flag: " + e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -194,7 +194,7 @@ public class PhaseChange extends IceAbility {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.meltLoc.distance(loc) < 1) {
|
if (this.meltLoc.getWorld().equals(loc.getWorld()) && this.meltLoc.distance(loc) < 1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue