diff --git a/Plan/src/main/java/com/djrapitops/plan/system/SpongeSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/SpongeSystem.java index 46d620f0d..ac3003e0d 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/SpongeSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/SpongeSystem.java @@ -39,7 +39,7 @@ public class SpongeSystem extends PlanSystem implements ServerSystem { configSystem = new BukkitConfigSystem(); databaseSystem = new BukkitDBSystem(); listenerSystem = new SpongeListenerSystem(plugin); - taskSystem = new SpongeTaskSystem(); + taskSystem = new SpongeTaskSystem(plugin); infoSystem = new BukkitInfoSystem(); serverInfo = new SpongeServerInfo(); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/listeners/sponge/SpongeDeathListener.java b/Plan/src/main/java/com/djrapitops/plan/system/listeners/sponge/SpongeDeathListener.java index 88d0118df..43aa426ed 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/listeners/sponge/SpongeDeathListener.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/listeners/sponge/SpongeDeathListener.java @@ -74,7 +74,14 @@ public class SpongeDeathListener { ItemStack inHand = inMainHand.orElse(killer.getItemInHand(HandTypes.OFF_HAND).orElse(ItemStack.empty())); ItemType type = inHand.isEmpty() ? ItemTypes.AIR : inHand.getType(); - return new SpongeKillProcessor(killer.getUniqueId(), time, dead, normalizeItemName(type)); + return new SpongeKillProcessor(killer.getUniqueId(), time, getUUID(dead), normalizeItemName(type)); + } + + private UUID getUUID(Living dead) { + if (dead instanceof Player) { + return dead.getUniqueId(); + } + return null; } private SpongeKillProcessor handleWolfKill(long time, Living dead, Wolf wolf) { @@ -85,7 +92,7 @@ public class SpongeDeathListener { } return owner.get().map( - uuid -> new SpongeKillProcessor(uuid, time, dead, "Wolf") + uuid -> new SpongeKillProcessor(uuid, time, getUUID(dead), "Wolf") ).orElse(null); } @@ -97,7 +104,7 @@ public class SpongeDeathListener { Player player = (Player) source; - return new SpongeKillProcessor(player.getUniqueId(), time, dead, "Bow"); + return new SpongeKillProcessor(player.getUniqueId(), time, getUUID(dead), "Bow"); } /** diff --git a/Plan/src/main/java/com/djrapitops/plan/system/processing/processors/player/SpongeKillProcessor.java b/Plan/src/main/java/com/djrapitops/plan/system/processing/processors/player/SpongeKillProcessor.java index d352c3b4f..dbc95a61a 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/processing/processors/player/SpongeKillProcessor.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/processing/processors/player/SpongeKillProcessor.java @@ -4,8 +4,6 @@ import com.djrapitops.plan.data.container.PlayerKill; import com.djrapitops.plan.data.container.Session; import com.djrapitops.plan.system.cache.SessionCache; import com.djrapitops.plan.system.processing.CriticalRunnable; -import org.bukkit.entity.Player; -import org.spongepowered.api.entity.living.Living; import java.util.Optional; import java.util.UUID; @@ -22,7 +20,7 @@ import java.util.UUID; public class SpongeKillProcessor implements CriticalRunnable { private final UUID uuid; - private final Living dead; + private final UUID deadUUID; private final String weaponName; private final long time; @@ -31,29 +29,37 @@ public class SpongeKillProcessor implements CriticalRunnable { * * @param uuid UUID of the killer. * @param time Epoch ms the event occurred. - * @param dead Dead entity (Mob or Player) + * @param deadUUID Dead entity (Mob or Player) * @param weaponName Weapon used. */ - public SpongeKillProcessor(UUID uuid, long time, Living dead, String weaponName) { + public SpongeKillProcessor(UUID uuid, long time, UUID deadUUID, String weaponName) { this.uuid = uuid; this.time = time; - this.dead = dead; + this.deadUUID = deadUUID; this.weaponName = weaponName; } @Override public void run() { Optional cachedSession = SessionCache.getCachedSession(uuid); + System.out.println("*"); if (!cachedSession.isPresent()) { + System.out.println("No session"); return; } + System.out.println("**"); Session session = cachedSession.get(); + System.out.println("***"); - if (dead instanceof Player) { - Player deadPlayer = (Player) dead; - session.playerKilled(new PlayerKill(deadPlayer.getUniqueId(), weaponName, time)); + if (deadUUID != null) { + System.out.println("Dead player"); + + session.playerKilled(new PlayerKill(deadUUID, weaponName, time)); } else { + System.out.println("Dead mob"); + session.mobKilled(); } + System.out.println("****"); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/SpongeTPSCountTimer.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/SpongeTPSCountTimer.java index b813d1639..f19301d6a 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/SpongeTPSCountTimer.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/SpongeTPSCountTimer.java @@ -62,7 +62,7 @@ public class SpongeTPSCountTimer extends TPSCountTimer { double tps = Sponge.getGame().getServer().getTicksPerSecond(); int playersOnline = ServerInfo.getServerProperties().getOnlinePlayers(); latestPlayersOnline = playersOnline; - int loadedChunks = getLoadedChunks(); + int loadedChunks = -1; int entityCount = getEntityCount(); return TPSBuilder.get() @@ -82,6 +82,8 @@ public class SpongeTPSCountTimer extends TPSCountTimer { * @return amount of loaded chunks */ private int getLoadedChunks() { + // DISABLED + int loaded = 0; for (World world : Sponge.getGame().getServer().getWorlds()) { Iterator iterator = world.getLoadedChunks().iterator(); diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/analysis/Analysis.java b/Plan/src/main/java/com/djrapitops/plan/utilities/analysis/Analysis.java index 873ca9395..5cd90d252 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/analysis/Analysis.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/analysis/Analysis.java @@ -16,7 +16,7 @@ import com.djrapitops.plan.system.processing.Processing; import com.djrapitops.plan.system.settings.Settings; import com.djrapitops.plan.system.settings.locale.Locale; import com.djrapitops.plan.system.settings.locale.Msg; -import com.djrapitops.plan.system.tasks.BukkitTaskSystem; +import com.djrapitops.plan.system.tasks.ServerTaskSystem; import com.djrapitops.plan.system.tasks.TaskSystem; import com.djrapitops.plan.utilities.MiscUtils; import com.djrapitops.plugin.StaticHolder; @@ -79,7 +79,7 @@ public class Analysis implements Callable { } private AnalysisData runAnalysis() throws Exception { - ((BukkitTaskSystem) TaskSystem.getInstance()).cancelBootAnalysis(); + ((ServerTaskSystem) TaskSystem.getInstance()).cancelBootAnalysis(); Benchmark.start("Analysis: Total"); log(Locale.get(Msg.ANALYSIS_START).toString());