From f1e48ff90c05417e7688215ef0481bc7b37fdfaf Mon Sep 17 00:00:00 2001 From: Dan Mulloy Date: Sun, 12 Nov 2017 23:37:10 -0500 Subject: [PATCH] Address all the useful sentry errors --- .../gadgets/item/ItemMelonLauncher.java | 5 +++- .../gadgets/wineffect/WinEffectPodium.java | 16 ++++++------ .../src/mineplex/serverdata/Utility.java | 25 +++++++++++++------ .../game/games/evolution/kits/KitHealth.java | 16 +++++++++++- .../game/arcade/managers/GameFlagManager.java | 8 ++++-- .../tutorial/GemHuntersTutorial.java | 1 + 6 files changed, 52 insertions(+), 19 deletions(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/item/ItemMelonLauncher.java b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/item/ItemMelonLauncher.java index 6418d54bc..67d15cb98 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/item/ItemMelonLauncher.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/item/ItemMelonLauncher.java @@ -59,7 +59,10 @@ public class ItemMelonLauncher extends ItemGadget implements IThrown UtilAction.velocity(item, player.getLocation().getDirection(), 1, false, 0, 0.2, 10, false); - Manager.getProjectileManager().AddThrow(item, player, this, -1, true, true, true, true, + // Breakpoints for a sentry error + Manager + .getProjectileManager() + .AddThrow(item, player, this, -1, true, true, true, true, null, 1f, 1f, null, null, 0, UpdateType.TICK, 0.5f); //Inform diff --git a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/wineffect/WinEffectPodium.java b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/wineffect/WinEffectPodium.java index 3dc52ff95..bc6c6c791 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/wineffect/WinEffectPodium.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/wineffect/WinEffectPodium.java @@ -49,18 +49,18 @@ public class WinEffectPodium extends WinEffectGadget @EventHandler public void onUpdate(UpdateEvent event) { - - if(!isRunning()) return; - - if(event.getType() == UpdateType.FASTER) + if (!isRunning()) return; + + if (event.getType() == UpdateType.FASTER) { - _npc.sendHit(); + if (_npc != null) + _npc.sendHit(); } - - if(event.getType() != UpdateType.FAST) return; + + if (event.getType() != UpdateType.FAST) return; spawnFirework(event.getTick()); - + // Location loc = getBaseLocation(); // // for(int i = 0; i < 3; i++) diff --git a/Plugins/Mineplex.ServerData/src/mineplex/serverdata/Utility.java b/Plugins/Mineplex.ServerData/src/mineplex/serverdata/Utility.java index a8f3b2575..dd8ba8f69 100644 --- a/Plugins/Mineplex.ServerData/src/mineplex/serverdata/Utility.java +++ b/Plugins/Mineplex.ServerData/src/mineplex/serverdata/Utility.java @@ -1,5 +1,6 @@ package mineplex.serverdata; +import java.util.List; import java.util.concurrent.ConcurrentHashMap; import com.google.gson.Gson; @@ -160,14 +161,24 @@ public class Utility private static void setTimeDifference() { - long currentTime = 0; - JedisPool pool = getPool(false); + long currentTime = 0; + JedisPool pool = getPool(false); - try(Jedis jedis = pool.getResource()) - { - currentTime = Long.parseLong(jedis.time().get(0)); - } + try (Jedis jedis = pool.getResource()) + { + // Try multiple times in case one isn't valid + // Addresses an error in sentry + List times = jedis.time(); + for (String time : times.subList(0, Math.min(5, times.size()))) + { + try + { + currentTime = Long.parseLong(time); + break; + } catch (NumberFormatException ex) { } + } + } - _millisTimeDifference = (currentTime * 1000) - System.currentTimeMillis(); + _millisTimeDifference = (currentTime * 1000) - System.currentTimeMillis(); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/kits/KitHealth.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/kits/KitHealth.java index 22da45f3d..5883f8fa1 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/kits/KitHealth.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/kits/KitHealth.java @@ -3,11 +3,14 @@ package nautilus.game.arcade.game.games.evolution.kits; import mineplex.core.achievement.Achievement; import mineplex.core.common.util.C; import mineplex.core.common.util.UtilPlayer; +import mineplex.minecraft.game.core.combat.CombatComponent; import mineplex.minecraft.game.core.combat.event.CombatDeathEvent; import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.kit.KitAvailability; import nautilus.game.arcade.kit.Perk; import nautilus.game.arcade.kit.ProgressingKit; + +import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; @@ -60,23 +63,34 @@ public class KitHealth extends ProgressingKit { return; } - Player killer = UtilPlayer.searchExact(event.GetLog().GetKiller().GetName()); + + CombatComponent component = event.GetLog().GetKiller(); + if (component == null) + { + return; + } + + Player killer = Bukkit.getPlayer(component.getUniqueIdOfEntity()); if (killer == null || !killer.isOnline()) { return; } + if (!Manager.IsAlive(killer)) { return; } + if (UtilPlayer.isSpectator(killer)) { return; } + if (!HasKit(killer)) { return; } + UtilPlayer.health(killer, 9999); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameFlagManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameFlagManager.java index 8da55ff06..454a6e6de 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameFlagManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameFlagManager.java @@ -922,20 +922,24 @@ public class GameFlagManager implements Listener return; if (game.HungerSet != -1) + { for (Player player : game.GetPlayers(true)) { if (Manager.GetCondition().HasCondition(player, ConditionType.ARCADE_HUNGER_DISABLE, null)) continue; - + player.setFoodLevel(game.HungerSet); player.setSaturation(1F); } + } if (game.HealthSet != -1) + { for (Player player : game.GetPlayers(true)) { - player.setHealth(game.HealthSet); + player.setHealth(Math.min(game.HealthSet, player.getMaxHealth())); } + } } @EventHandler(priority = EventPriority.LOWEST) diff --git a/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/tutorial/GemHuntersTutorial.java b/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/tutorial/GemHuntersTutorial.java index 5918c03a9..16acd508a 100644 --- a/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/tutorial/GemHuntersTutorial.java +++ b/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/tutorial/GemHuntersTutorial.java @@ -119,6 +119,7 @@ public class GemHuntersTutorial extends Tutorial implements Listener { if (isInTutorial(player) && !player.isFlying()) { + player.setAllowFlight(true); player.setFlying(true); } }