Yatopia/patches/server/0028-Add-timings-for-Pathfinder.patch
Ivan Pekov 784079fc31
optimizations (#297)
* Drop useless stuff

* Faster Random

* TE opts

* Patches.md

* More Faster Random

* Fix Build

* More Opts

* AirplaneLite

* Update README.md

removed TIC-TACS and adding AirplaneLite

* Add AirplaneLite to the update script

* Rebuild patches

* Make enchanting table ticking configurable

* AirplaneLite to commitUpstream.sh

* Use FastRandom on more places

Co-authored-by: Bud Gidiere <sgidiere@gmail.com>
Co-authored-by: Simon Gardling <Titaniumtown@gmail.com>
2020-11-30 20:08:41 -06:00

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 55fa3911703f96cf1f97c82b19d8e2d0d220016b..20780ad78eeb6ae3426e24c655624aa27360e382 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() {