mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2024-11-29 22:23:50 +01:00
f33511fdd2
so we see if this patch is necessary first. then we will reimplement it properly, as the current patch is not race condition safe.
63 lines
2.6 KiB
Diff
63 lines
2.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: MrIvanPlays <ivan@mrivanplays.com>
|
|
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 d8c1a8dd867437443494ac169569139e25c9a635..0efdddc12247ed4aa6acce118c707090270bee39 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 99060787e47314a6b609aee701d8055352d348cb..e106a418eaed83ae25ba1efb54e54d28cf8798d3 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
|
|
|
|
public NavigationAbstract(EntityInsentient entityinsentient, World world) {
|
|
this.g = Vec3D.ORIGIN;
|
|
@@ -40,6 +41,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() {
|
|
@@ -223,6 +225,10 @@ public abstract class NavigationAbstract {
|
|
}
|
|
|
|
public void c() {
|
|
+ // Yatopia start
|
|
+ timing.startTiming();
|
|
+ try {
|
|
+ // Yatopia end
|
|
++this.e;
|
|
if (this.m) {
|
|
this.j();
|
|
@@ -250,6 +256,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() {
|