From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MrIvanPlays Date: Sun, 16 Aug 2020 13:45:32 +0300 Subject: [PATCH] Add timings for Pathfinder diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java index 68ab5ccb2fcfe1de0503c9336572f28e11832b2d..4d4c25cb328b0ca2e16d3c823214aca5854e4deb 100644 --- a/src/main/java/co/aikar/timings/MinecraftTimings.java +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java @@ -54,6 +54,8 @@ public final class MinecraftTimings { return Timings.ofSafe(taskName); } + public static Timing getPathfinderTiming(String mobName) { return Timings.ofSafe("Pathfinder - " + mobName); } // Yatopia + /** * Gets a timer associated with a plugins tasks. * @param bukkitTask diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java index d26f8499460c7a26b4e26a39cf52c0d8d2510a80..888744131fd4b51d035be51aa0c9e3fb7e3997b4 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java @@ -29,6 +29,7 @@ public abstract class NavigationAbstract { private float r; private final Pathfinder s; public Pathfinder getPathfinder() { return this.s; } // Paper - OBFHELPER private boolean t; + private co.aikar.timings.Timing timing; // Yatopia // Tuinity start public boolean isViableForPathRecalculationChecking() { @@ -47,6 +48,7 @@ public abstract class NavigationAbstract { int i = MathHelper.floor(entityinsentient.b(GenericAttributes.FOLLOW_RANGE) * 16.0D); this.s = this.a(i); + timing = co.aikar.timings.MinecraftTimings.getPathfinderTiming(entityinsentient.getClass().getSimpleName()); // Yatopia } public void g() { @@ -230,6 +232,10 @@ public abstract class NavigationAbstract { } public void c() { + // Yatopia start + timing.startTiming(); + try { + // Yatopia end ++this.e; if (this.m) { this.j(); @@ -257,6 +263,11 @@ public abstract class NavigationAbstract { this.a.getControllerMove().a(vec3d.x, this.b.getType(blockposition.down()).isAir() ? vec3d.y : PathfinderNormal.a((IBlockAccess) this.b, blockposition), vec3d.z, this.d); } } + // Yatopia start + } finally { + timing.stopTiming(); + } + // Yatopia end } protected void l() {