Files
Purpur/patches/server/0275-Remove-Mojang-Profiler.patch
2023-03-18 16:35:47 -04:00

1841 lines
94 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <blake.galbreath@gmail.com>
Date: Sat, 16 Jul 2022 21:37:10 -0500
Subject: [PATCH] Remove Mojang Profiler
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 314ab6183e31b4bac6a40c1f8007d48e9cab1760..6b05907bfec377e72a8858534d001bda10a1c88a 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -149,7 +149,7 @@ public class Commands {
DamageCommand.register(this.dispatcher, commandRegistryAccess);
DataCommands.register(this.dispatcher);
DataPackCommand.register(this.dispatcher);
- DebugCommand.register(this.dispatcher);
+ //DebugCommand.register(this.dispatcher); // Purpur
DefaultGameModeCommands.register(this.dispatcher);
DifficultyCommand.register(this.dispatcher);
EffectCommands.register(this.dispatcher, commandRegistryAccess);
@@ -315,9 +315,9 @@ public class Commands {
public int performCommand(ParseResults<CommandSourceStack> parseresults, String s, String label) { // CraftBukkit
CommandSourceStack commandlistenerwrapper = (CommandSourceStack) parseresults.getContext().getSource();
- commandlistenerwrapper.getServer().getProfiler().push(() -> {
+ /*commandlistenerwrapper.getServer().getProfiler().push(() -> { // Purpur
return "/" + s;
- });
+ });*/ // Purpur
byte b0;
@@ -400,7 +400,7 @@ public class Commands {
b0 = 0;
}
} finally {
- commandlistenerwrapper.getServer().getProfiler().pop();
+ //commandlistenerwrapper.getServer().getProfiler().pop(); // Purpur
}
return b0;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 305934c4c2d88b87cee2ae3e956dedbca4bdc7fe..cb6c9f278bed1e70814af51e0a8644c3cabfb050 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -340,13 +340,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public MinecraftServer(OptionSet options, WorldLoader.DataLoadContext worldLoader, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, Proxy proxy, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) {
super("Server");
SERVER = this; // Paper - better singleton
- this.metricsRecorder = InactiveMetricsRecorder.INSTANCE;
- this.profiler = this.metricsRecorder.getProfiler();
- this.onMetricsRecordingStopped = (methodprofilerresults) -> {
+ //this.metricsRecorder = InactiveMetricsRecorder.INSTANCE; // Purpur
+ //this.profiler = this.metricsRecorder.getProfiler(); // Purpur
+ /*this.onMetricsRecordingStopped = (methodprofilerresults) -> { // Purpur
this.stopRecordingMetrics();
- };
- this.onMetricsRecordingFinished = (path) -> {
- };
+ };*/ // Purpur
+ //this.onMetricsRecordingFinished = (path) -> { // Purpur
+ //}; // Purpur
this.random = RandomSource.create();
this.port = -1;
this.levels = Maps.newLinkedHashMap();
@@ -937,9 +937,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Paper end
// CraftBukkit end
- if (this.metricsRecorder.isRecording()) {
+ /*if (this.metricsRecorder.isRecording()) { // Purpur
this.cancelRecordingMetrics();
- }
+ }*/ // Purpur
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Shutdown and don't bother finishing
@@ -1179,18 +1179,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Spigot end
- if (this.debugCommandProfilerDelayStart) {
+ /*if (this.debugCommandProfilerDelayStart) { // Purpur
this.debugCommandProfilerDelayStart = false;
this.debugCommandProfiler = new MinecraftServer.TimeProfiler(Util.getNanos(), this.tickCount);
- }
+ }*/ // Purpur
//MinecraftServer.currentTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit // Paper - don't overwrite current tick time
lastTick = curTime;
this.nextTickTime += 50L;
- this.startMetricsRecordingTick();
- this.profiler.push("tick");
+ //this.startMetricsRecordingTick(); // Purpur
+ //this.profiler.push("tick"); // Purpur
this.tickServer(this::haveTime);
- this.profiler.popPush("nextTickWait");
+ //this.profiler.popPush("nextTickWait"); // Purpur
this.mayHaveDelayedTasks = true;
// Purpur start - tps catchup
if (org.purpurmc.purpur.PurpurConfig.tpsCatchup) {
@@ -1200,8 +1200,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Purpur end - tps catchup
this.waitUntilNextTick();
- this.profiler.pop();
- this.endMetricsRecordingTick();
+ //this.profiler.pop(); // Purpur
+ //this.endMetricsRecordingTick(); // Purpur
this.isReady = true;
JvmProfiler.INSTANCE.onServerTick(this.averageTickTime);
}
@@ -1362,7 +1362,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void doRunTask(TickTask ticktask) { // CraftBukkit - decompile error
- this.getProfiler().incrementCounter("runTask");
+ //this.getProfiler().incrementCounter("runTask"); // Purpur
super.doRunTask(ticktask);
}
@@ -1429,7 +1429,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (playerSaveInterval < 0) {
playerSaveInterval = autosavePeriod;
}
- this.profiler.push("save");
+ //this.profiler.push("save"); // Purpur
final boolean fullSave = autosavePeriod > 0 && this.tickCount % autosavePeriod == 0;
try {
this.isSaving = true;
@@ -1444,7 +1444,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} finally {
this.isSaving = false;
}
- this.profiler.pop();
+ //this.profiler.pop(); // Purpur
// Paper end
io.papermc.paper.util.CachedLists.reset(); // Paper
// Paper start - move executeAll() into full server tick timing
@@ -1457,7 +1457,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime;
new com.destroystokyo.paper.event.server.ServerTickEndEvent(this.tickCount, ((double)(endTime - lastTick) / 1000000D), remaining).callEvent();
// Paper end
- this.profiler.push("tallying");
+ //this.profiler.push("tallying"); // Purpur
long j = this.tickTimes[this.tickCount % 100] = Util.getNanos() - i;
this.averageTickTime = this.averageTickTime * 0.8F + (float) j / 1000000.0F * 0.19999999F;
@@ -1469,7 +1469,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
tickTimes60s.add(this.tickCount, j);
// Paper end
this.frameTimer.logFrameDuration(k - i);
- this.profiler.pop();
+ //this.profiler.pop(); // Purpur
org.spigotmc.WatchdogThread.tick(); // Spigot
//co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper // Purpur
}
@@ -1507,11 +1507,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.server.getScheduler().mainThreadHeartbeat(this.tickCount); // CraftBukkit
MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
- this.profiler.push("commandFunctions");
+ //this.profiler.push("commandFunctions"); // Purpur
MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot // Paper
this.getFunctions().tick();
MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot // Paper
- this.profiler.popPush("levels");
+ //this.profiler.popPush("levels"); Purpur
//Iterator iterator = this.getAllLevels().iterator(); // Paper - moved down
// CraftBukkit start
@@ -1553,18 +1553,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
- this.profiler.push(() -> {
+ /*this.profiler.push(() -> { // Purpur
return worldserver + " " + worldserver.dimension().location();
- });
+ });*/ // Purpur
/* Drop global time updates
if (this.tickCount % 20 == 0) {
- this.profiler.push("timeSync");
+ //this.profiler.push("timeSync"); // Purpur
this.synchronizeTime(worldserver);
- this.profiler.pop();
+ //this.profiler.pop(); // Purpur
}
// CraftBukkit end */
- this.profiler.push("tick");
+ //this.profiler.push("tick"); // Purpur
try {
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur
@@ -1590,17 +1590,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport);
}
- this.profiler.pop();
- this.profiler.pop();
+ //this.profiler.pop(); // Purpur
+ //this.profiler.pop(); // Purpur
worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
}
this.isIteratingOverLevels = false; // Paper
- this.profiler.popPush("connection");
+ //this.profiler.popPush("connection"); // Purpur
//MinecraftTimings.connectionTimer.startTiming(); // Spigot // Purpur
this.getConnection().tick();
//MinecraftTimings.connectionTimer.stopTiming(); // Spigot // Purpur
- this.profiler.popPush("players");
+ //this.profiler.popPush("players"); // Purpur
//MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur
this.playerList.tick();
//MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -1608,7 +1608,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
GameTestTicker.SINGLETON.tick();
}
- this.profiler.popPush("server gui refresh");
+ //this.profiler.popPush("server gui refresh"); // Purpur
//MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur
for (int i = 0; i < this.tickables.size(); ++i) {
@@ -1616,7 +1616,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
//MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur
- this.profiler.pop();
+ //this.profiler.pop(); // Purpur
}
private void synchronizeTime(ServerLevel world) {
@@ -2287,7 +2287,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public ProfilerFiller getProfiler() {
- return this.profiler;
+ return net.minecraft.util.profiling.InactiveProfiler.INSTANCE; // Purpur
}
public abstract boolean isSingleplayerOwner(GameProfile profile);
@@ -2526,7 +2526,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end
private void startMetricsRecordingTick() {
- if (this.willStartRecordingMetrics) {
+ if (false && this.willStartRecordingMetrics) { // Purpur
this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(Util.timeSource, this.isDedicatedServer()), Util.timeSource, Util.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> {
this.executeBlocking(() -> {
this.saveDebugReport(path.resolve("server"));
@@ -2536,40 +2536,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.willStartRecordingMetrics = false;
}
- this.profiler = SingleTickProfiler.decorateFiller(this.metricsRecorder.getProfiler(), SingleTickProfiler.createTickProfiler("Server"));
- this.metricsRecorder.startTick();
- this.profiler.startTick();
+ //this.profiler = SingleTickProfiler.decorateFiller(this.metricsRecorder.getProfiler(), SingleTickProfiler.createTickProfiler("Server")); // Purpur
+ //this.metricsRecorder.startTick(); // Purpur
+ //this.profiler.startTick(); // Purpur
}
private void endMetricsRecordingTick() {
- this.profiler.endTick();
- this.metricsRecorder.endTick();
+ //this.profiler.endTick(); // Purpur
+ //this.metricsRecorder.endTick(); // Purpur
}
public boolean isRecordingMetrics() {
- return this.metricsRecorder.isRecording();
+ return false; //this.metricsRecorder.isRecording(); // Purpur
}
public void startRecordingMetrics(Consumer<ProfileResults> resultConsumer, Consumer<Path> dumpConsumer) {
- this.onMetricsRecordingStopped = (methodprofilerresults) -> {
+ /*this.onMetricsRecordingStopped = (methodprofilerresults) -> { // Purpur
this.stopRecordingMetrics();
resultConsumer.accept(methodprofilerresults);
};
this.onMetricsRecordingFinished = dumpConsumer;
- this.willStartRecordingMetrics = true;
+ this.willStartRecordingMetrics = true;*/ // Purpur
}
public void stopRecordingMetrics() {
- this.metricsRecorder = InactiveMetricsRecorder.INSTANCE;
+ //this.metricsRecorder = InactiveMetricsRecorder.INSTANCE; // Purpur
}
public void finishRecordingMetrics() {
- this.metricsRecorder.end();
+ //this.metricsRecorder.end(); // Purpur
}
public void cancelRecordingMetrics() {
- this.metricsRecorder.cancel();
- this.profiler = this.metricsRecorder.getProfiler();
+ //this.metricsRecorder.cancel(); // Purpur
+ //this.profiler = this.metricsRecorder.getProfiler(); // Purpur
}
public Path getWorldPath(LevelResource worldSavePath) {
@@ -2618,15 +2618,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public boolean isTimeProfilerRunning() {
- return this.debugCommandProfilerDelayStart || this.debugCommandProfiler != null;
+ return false; //this.debugCommandProfilerDelayStart || this.debugCommandProfiler != null; // Purpur
}
public void startTimeProfiler() {
- this.debugCommandProfilerDelayStart = true;
+ //this.debugCommandProfilerDelayStart = true; // Purpur
}
public ProfileResults stopTimeProfiler() {
- if (this.debugCommandProfiler == null) {
+ if (true || this.debugCommandProfiler == null) { // Purpur
return EmptyProfileResults.EMPTY;
} else {
ProfileResults methodprofilerresults = this.debugCommandProfiler.stop(Util.getNanos(), this.tickCount);
diff --git a/src/main/java/net/minecraft/server/ServerFunctionManager.java b/src/main/java/net/minecraft/server/ServerFunctionManager.java
index f662278d302661e57c850529ede81ea2889a82cb..8645313e646e6d5278e285f7449447761d7aae29 100644
--- a/src/main/java/net/minecraft/server/ServerFunctionManager.java
+++ b/src/main/java/net/minecraft/server/ServerFunctionManager.java
@@ -57,10 +57,10 @@ public class ServerFunctionManager {
}
private void executeTagFunctions(Collection<CommandFunction> functions, ResourceLocation label) {
- ProfilerFiller gameprofilerfiller = this.server.getProfiler();
+ //ProfilerFiller gameprofilerfiller = this.server.getProfiler(); // Purpur
Objects.requireNonNull(label);
- gameprofilerfiller.push(label::toString);
+ //gameprofilerfiller.push(label::toString); // Purpur
Iterator iterator = functions.iterator();
while (iterator.hasNext()) {
@@ -69,7 +69,7 @@ public class ServerFunctionManager {
this.execute(customfunction, this.getGameLoopSender());
}
- this.server.getProfiler().pop();
+ //this.server.getProfiler().pop(); // Purpur
}
public int execute(CommandFunction function, CommandSourceStack source) {
@@ -177,10 +177,10 @@ public class ServerFunctionManager {
try {
ServerFunctionManager.QueuedCommand customfunctiondata_b = (ServerFunctionManager.QueuedCommand) this.commandQueue.removeFirst();
- ProfilerFiller gameprofilerfiller = ServerFunctionManager.this.server.getProfiler();
+ //ProfilerFiller gameprofilerfiller = ServerFunctionManager.this.server.getProfiler(); // Purpur
Objects.requireNonNull(customfunctiondata_b);
- gameprofilerfiller.push(customfunctiondata_b::toString);
+ //gameprofilerfiller.push(customfunctiondata_b::toString); // Purpur
this.depth = customfunctiondata_b.depth;
customfunctiondata_b.execute(ServerFunctionManager.this, this.commandQueue, i, this.tracer);
if (!this.nestedCalls.isEmpty()) {
@@ -192,7 +192,7 @@ public class ServerFunctionManager {
this.nestedCalls.clear();
}
} finally {
- ServerFunctionManager.this.server.getProfiler().pop();
+ //ServerFunctionManager.this.server.getProfiler().pop(); // Purpur
}
++j;
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index b57320f9b4cb0e6817b56a71c5cf0de4ff8d4f57..5d330c938aa0d707460b740ecf5c51d001c89c49 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -621,20 +621,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
protected void tick(BooleanSupplier shouldKeepTicking) {
- ProfilerFiller gameprofilerfiller = this.level.getProfiler();
+ //ProfilerFiller gameprofilerfiller = this.level.getProfiler(); // Purpur
//try (Timing ignored = this.level.timings.poiUnload.startTiming()) { // Paper // Purpur
- gameprofilerfiller.push("poi");
+ //gameprofilerfiller.push("poi"); // Purpur
this.poiManager.tick(shouldKeepTicking);
//} // Paper // Purpur
- gameprofilerfiller.popPush("chunk_unload");
+ //gameprofilerfiller.popPush("chunk_unload"); // Purpur
if (!this.level.noSave()) {
//try (Timing ignored = this.level.timings.chunkUnload.startTiming()) { // Paper // Purpur
this.processUnloads(shouldKeepTicking);
//} // Paper // Purpur
}
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
}
public boolean hasWork() {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 2338be893b15eeecda336aea12803b7d2636f4be..105cdab3a1c912299dbcfb670ace810b9202731c 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -428,16 +428,16 @@ public class ServerChunkCache extends ChunkSource {
return ifLoaded;
}
// Paper end
- ProfilerFiller gameprofilerfiller = this.level.getProfiler();
+ //ProfilerFiller gameprofilerfiller = this.level.getProfiler(); // Purpur
- gameprofilerfiller.incrementCounter("getChunk");
+ //gameprofilerfiller.incrementCounter("getChunk"); // Purpur
long k = ChunkPos.asLong(x, z);
ChunkAccess ichunkaccess;
// Paper - rewrite chunk system - there are no correct callbacks to remove items from cache in the new chunk system
- gameprofilerfiller.incrementCounter("getChunkCacheMiss");
+ //gameprofilerfiller.incrementCounter("getChunkCacheMiss"); // Purpur
CompletableFuture<Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>> completablefuture = this.getChunkFutureMainThread(x, z, leastStatus, create, true); // Paper
ServerChunkCache.MainThreadExecutor chunkproviderserver_b = this.mainThreadProcessor;
@@ -625,24 +625,24 @@ public class ServerChunkCache extends ChunkSource {
// CraftBukkit start - modelled on below
public void purgeUnload() {
if (true) return; // Paper - tickets will be removed later, this behavior isn't really well accounted for by the chunk system
- this.level.getProfiler().push("purge");
+ //this.level.getProfiler().push("purge"); // Purpur
this.distanceManager.purgeStaleTickets();
this.runDistanceManagerUpdates();
- this.level.getProfiler().popPush("unload");
+ //this.level.getProfiler().popPush("unload"); // Purpur
this.chunkMap.tick(() -> true);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
this.clearCache();
}
// CraftBukkit end
@Override
public void tick(BooleanSupplier shouldKeepTicking, boolean tickChunks) {
- this.level.getProfiler().push("purge");
+ //this.level.getProfiler().push("purge"); // Purpur
//this.level.timings.doChunkMap.startTiming(); // Spigot // Purpur
this.distanceManager.purgeStaleTickets();
this.runDistanceManagerUpdates();
//this.level.timings.doChunkMap.stopTiming(); // Spigot // Purpur
- this.level.getProfiler().popPush("chunks");
+ //this.level.getProfiler().popPush("chunks"); // Purpur
if (tickChunks) {
//this.level.timings.chunks.startTiming(); // Paper - timings // Purpur
this.chunkMap.playerChunkManager.tick(); // Paper - this is mostly is to account for view distance changes
@@ -651,10 +651,10 @@ public class ServerChunkCache extends ChunkSource {
}
//this.level.timings.doChunkUnload.startTiming(); // Spigot // Purpur
- this.level.getProfiler().popPush("unload");
+ //this.level.getProfiler().popPush("unload"); // Purpur
this.chunkMap.tick(shouldKeepTicking);
//this.level.timings.doChunkUnload.stopTiming(); // Spigot // Purpur
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
this.clearCache();
}
@@ -700,13 +700,13 @@ public class ServerChunkCache extends ChunkSource {
}
// Paper end - optimize isOutisdeRange
LevelData worlddata = this.level.getLevelData();
- ProfilerFiller gameprofilerfiller = this.level.getProfiler();
+ //ProfilerFiller gameprofilerfiller = this.level.getProfiler(); // Purpur
- gameprofilerfiller.push("pollingChunks");
+ //gameprofilerfiller.push("pollingChunks"); // Purpur
int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
boolean flag1 = level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && worlddata.getGameTime() % level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit
- gameprofilerfiller.push("naturalSpawnCount");
+ //gameprofilerfiller.push("naturalSpawnCount"); // Purpur
//this.level.timings.countNaturalMobs.startTiming(); // Paper - timings // Purpur
int l = this.distanceManager.getNaturalSpawnChunkCount();
// Paper start - per player mob spawning
@@ -724,13 +724,13 @@ public class ServerChunkCache extends ChunkSource {
//this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings // Purpur
this.lastSpawnState = spawnercreature_d;
- gameprofilerfiller.popPush("filteringLoadedChunks");
+ //gameprofilerfiller.popPush("filteringLoadedChunks"); // Purpur
// Paper - moved down
//this.level.timings.chunkTicks.startTiming(); // Paper // Purpur
// Paper - moved down
- gameprofilerfiller.popPush("spawnAndTick");
+ //gameprofilerfiller.popPush("spawnAndTick"); // Purpur
boolean flag2 = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit
// Paper - only shuffle if per-player mob spawning is disabled
@@ -781,15 +781,15 @@ public class ServerChunkCache extends ChunkSource {
}
// Paper end - optimise chunk tick iteration
//this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur
- gameprofilerfiller.popPush("customSpawners");
+ //gameprofilerfiller.popPush("customSpawners"); // Purpur
if (flag2) {
//try (co.aikar.timings.Timing ignored = this.level.timings.miscMobSpawning.startTiming()) { // Paper - timings // Purpur
this.level.tickCustomSpawners(this.spawnEnemies, this.spawnFriendlies);
//} // Paper - timings // Purpur
}
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
// Paper start - use set of chunks requiring updates, rather than iterating every single one loaded
- gameprofilerfiller.popPush("broadcast");
+ //gameprofilerfiller.popPush("broadcast"); // Purpur
//this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing // Purpur
if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) {
ReferenceOpenHashSet<ChunkHolder> copy = this.chunkMap.needsChangeBroadcasting.clone();
@@ -803,7 +803,7 @@ public class ServerChunkCache extends ChunkSource {
}
}
//this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing // Purpur
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
// Paper end - use set of chunks requiring updates, rather than iterating every single one loaded
// Paper start - controlled flush for entity tracker packets
List<net.minecraft.network.Connection> disabledFlushes = new java.util.ArrayList<>(this.level.players.size());
@@ -994,7 +994,7 @@ public class ServerChunkCache extends ChunkSource {
@Override
protected void doRunTask(Runnable task) {
- ServerChunkCache.this.level.getProfiler().incrementCounter("runTask");
+ //ServerChunkCache.this.level.getProfiler().incrementCounter("runTask"); // Purpur
super.doRunTask(task);
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 752a298e96e75580ec7eef14cc7eab964f57414c..69ba84de4880a579c400b6daefdb98b44e9e28e8 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -654,12 +654,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
}
// Paper end - optimise checkDespawn
- ProfilerFiller gameprofilerfiller = this.getProfiler();
+ //ProfilerFiller gameprofilerfiller = this.getProfiler(); // Purpur
this.handlingTick = true;
- gameprofilerfiller.push("world border");
+ //gameprofilerfiller.push("world border"); // Purpur
this.getWorldBorder().tick();
- gameprofilerfiller.popPush("weather");
+ //gameprofilerfiller.popPush("weather"); // Purpur
this.advanceWeatherCycle();
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
long j;
@@ -686,32 +686,32 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.updateSkyBrightness();
this.tickTime();
- gameprofilerfiller.popPush("tickPending");
+ //gameprofilerfiller.popPush("tickPending"); // Purpur
//timings.scheduledBlocks.startTiming(); // Paper // Purpur
if (!this.isDebug()) {
j = this.getGameTime();
- gameprofilerfiller.push("blockTicks");
+ //gameprofilerfiller.push("blockTicks"); // Purpur
this.blockTicks.tick(j, 65536, this::tickBlock);
- gameprofilerfiller.popPush("fluidTicks");
+ //gameprofilerfiller.popPush("fluidTicks"); // Purpur
this.fluidTicks.tick(j, 65536, this::tickFluid);
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
}
//timings.scheduledBlocks.stopTiming(); // Paper // Purpur
- gameprofilerfiller.popPush("raid");
+ //gameprofilerfiller.popPush("raid"); // Purpur
//this.timings.raids.startTiming(); // Paper - timings // Purpur
this.raids.tick();
//this.timings.raids.stopTiming(); // Paper - timings // Purpur
- gameprofilerfiller.popPush("chunkSource");
+ //gameprofilerfiller.popPush("chunkSource"); // Purpur
//this.timings.chunkProviderTick.startTiming(); // Paper - timings // Purpur
this.getChunkSource().tick(shouldKeepTicking, true);
//this.timings.chunkProviderTick.stopTiming(); // Paper - timings // Purpur
- gameprofilerfiller.popPush("blockEvents");
+ //gameprofilerfiller.popPush("blockEvents"); // Purpur
//timings.doSounds.startTiming(); // Spigot // Purpur
this.runBlockEvents();
//timings.doSounds.stopTiming(); // Spigot // Purpur
this.handlingTick = false;
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
if (flag) {
@@ -719,12 +719,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
if (flag || this.emptyTime++ < 300) {
- gameprofilerfiller.push("entities");
+ //gameprofilerfiller.push("entities"); // Purpur
//timings.tickEntities.startTiming(); // Spigot // Purpur
if (this.dragonFight != null) {
- gameprofilerfiller.push("dragonFight");
+ //gameprofilerfiller.push("dragonFight"); // Purpur
this.dragonFight.tick();
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
}
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -734,9 +734,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
entity.discard();
} else {
- gameprofilerfiller.push("checkDespawn");
+ //gameprofilerfiller.push("checkDespawn"); // Purpur
entity.checkDespawn();
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - now always true if in the ticking list
Entity entity1 = entity.getVehicle();
@@ -748,22 +748,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
entity.stopRiding();
}
- gameprofilerfiller.push("tick");
+ //gameprofilerfiller.push("tick"); // Purpur
this.guardEntityTick(this::tickNonPassenger, entity);
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
}
}
}
});
//timings.entityTick.stopTiming(); // Spigot // Purpur
//timings.tickEntities.stopTiming(); // Spigot // Purpur
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
this.tickBlockEntities();
}
- gameprofilerfiller.push("entityManagement");
+ //gameprofilerfiller.push("entityManagement"); // Purpur
//this.entityManager.tick(); // Paper - rewrite chunk system
- gameprofilerfiller.pop();
}
@Override
@@ -843,9 +842,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
boolean flag = this.isRaining();
int j = chunkcoordintpair.getMinBlockX();
int k = chunkcoordintpair.getMinBlockZ();
- ProfilerFiller gameprofilerfiller = this.getProfiler();
+ //ProfilerFiller gameprofilerfiller = this.getProfiler(); // Purpur
- gameprofilerfiller.push("thunder");
+ //gameprofilerfiller.push("thunder"); // Purpur
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - disable thunder
@@ -883,7 +882,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
}
- gameprofilerfiller.popPush("iceandsnow");
+ //gameprofilerfiller.popPush("iceandsnow"); // Purpur
int l;
if (!this.paperConfig().environment.disableIceAndSnow && this.random.nextInt(16) == 0) { // Paper - Disable ice and snow
@@ -934,7 +933,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
// Paper start - optimise random block ticking
- gameprofilerfiller.popPush("randomTick");
+ //gameprofilerfiller.popPush("randomTick"); // Purpur
//timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
if (randomTickSpeed > 0) {
LevelChunkSection[] sections = chunk.getSections();
@@ -970,7 +969,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
// Paper end - optimise random block ticking
//timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
}
public Optional<BlockPos> findLightningRod(BlockPos pos) {
@@ -1266,19 +1265,19 @@ public class ServerLevel extends Level implements WorldGenLevel {
//try { // Purpur
// Paper end - timings
entity.setOldPosAndRot();
- ProfilerFiller gameprofilerfiller = this.getProfiler();
+ //ProfilerFiller gameprofilerfiller = this.getProfiler(); // Purpur
++entity.tickCount;
- this.getProfiler().push(() -> {
+ /*this.getProfiler().push(() -> { // Purpur
return BuiltInRegistries.ENTITY_TYPE.getKey(entity.getType()).toString();
- });
- gameprofilerfiller.incrementCounter("tickNonPassenger");
+ });*/ // Purpur
+ //gameprofilerfiller.incrementCounter("tickNonPassenger"); // Purpur
if (isActive) { // Paper - EAR 2
TimingHistory.activatedEntityTicks++;
entity.tick();
entity.postTick(); // CraftBukkit
} else { entity.inactiveTick(); } // Paper - EAR 2
- this.getProfiler().pop();
+ //this.getProfiler().pop(); // Purpur
//} finally { timer.stopTiming(); } // Paper - timings // Purpur
Iterator iterator = entity.getPassengers().iterator();
@@ -1307,12 +1306,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper end
passenger.setOldPosAndRot();
++passenger.tickCount;
- ProfilerFiller gameprofilerfiller = this.getProfiler();
+ //ProfilerFiller gameprofilerfiller = this.getProfiler(); // Purpur
- gameprofilerfiller.push(() -> {
+ /*gameprofilerfiller.push(() -> { // Purpur
return BuiltInRegistries.ENTITY_TYPE.getKey(passenger.getType()).toString();
- });
- gameprofilerfiller.incrementCounter("tickPassenger");
+ });*/ // Purpur
+ //gameprofilerfiller.incrementCounter("tickPassenger"); // Purpur
// Paper start - EAR 2
if (isActive) {
passenger.rideTick();
@@ -1324,7 +1323,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
vehicle.positionRider(passenger);
}
// Paper end - EAR 2
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
Iterator iterator = passenger.getPassengers().iterator();
while (iterator.hasNext()) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 087fd880ec62fed20383ef665b4f4d2e4aa882c7..ef56e8e8496443c85474bfc98a71518f0515b763 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1196,7 +1196,7 @@ public class ServerPlayer extends Player {
PortalInfo shapedetectorshape = this.findDimensionEntryPoint(worldserver);
if (shapedetectorshape != null) {
- worldserver1.getProfiler().push("moving");
+ //worldserver1.getProfiler().push("moving"); // Purpur
worldserver = shapedetectorshape.world; // CraftBukkit
if (worldserver == null) { } else // CraftBukkit - empty to fall through to null to event
if (resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit
@@ -1219,8 +1219,8 @@ public class ServerPlayer extends Player {
worldserver = ((CraftWorld) exit.getWorld()).getHandle();
// CraftBukkit end
- worldserver1.getProfiler().pop();
- worldserver1.getProfiler().push("placing");
+ //worldserver1.getProfiler().pop(); // Purpur
+ //worldserver1.getProfiler().push("placing"); // Purpur
if (true) { // CraftBukkit
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds
@@ -1239,7 +1239,7 @@ public class ServerPlayer extends Player {
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
this.connection.resetPosition();
worldserver.addDuringPortalTeleport(this);
- worldserver1.getProfiler().pop();
+ //worldserver1.getProfiler().pop(); // Purpur
this.triggerDimensionChangeTriggers(worldserver1);
this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities()));
playerlist.sendLevelInfo(this, worldserver);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 82fcf0593b4739e32d02ffc779f9fbb5f64d26f1..bae407c9aeb71494e1aac1776e3b891f08575a14 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -407,7 +407,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
this.aboveGroundVehicleTickCount = 0;
}
- this.server.getProfiler().push("keepAlive");
+ //this.server.getProfiler().push("keepAlive"); // Purpur
// Paper Start - give clients a longer time to respond to pings as per pre 1.12.2 timings
// This should effectively place the keepalive handling back to "as it was" before 1.12.2
long currentTime = Util.getMillis();
@@ -443,7 +443,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
// Paper end
- this.server.getProfiler().pop();
+ //this.server.getProfiler().pop(); // Purpur
// CraftBukkit start
for (int spam; (spam = this.chatSpamTickCount.get()) > 0 && !this.chatSpamTickCount.compareAndSet(spam, spam - 1); ) ;
if (tabSpamLimiter.get() > 0) tabSpamLimiter.getAndDecrement(); // Paper - split to seperate variable
diff --git a/src/main/java/net/minecraft/server/packs/resources/ResourceManagerReloadListener.java b/src/main/java/net/minecraft/server/packs/resources/ResourceManagerReloadListener.java
index 9ddbfcf80d9a381dace78a62880f85a4d767e0eb..7383c7d3820dce06108eaafd236a7c6c06a10a42 100644
--- a/src/main/java/net/minecraft/server/packs/resources/ResourceManagerReloadListener.java
+++ b/src/main/java/net/minecraft/server/packs/resources/ResourceManagerReloadListener.java
@@ -9,11 +9,11 @@ public interface ResourceManagerReloadListener extends PreparableReloadListener
@Override
default CompletableFuture<Void> reload(PreparableReloadListener.PreparationBarrier synchronizer, ResourceManager manager, ProfilerFiller prepareProfiler, ProfilerFiller applyProfiler, Executor prepareExecutor, Executor applyExecutor) {
return synchronizer.wait(Unit.INSTANCE).thenRunAsync(() -> {
- applyProfiler.startTick();
- applyProfiler.push("listener");
+ //applyProfiler.startTick(); // Purpur
+ //applyProfiler.push("listener"); // Purpur
this.onResourceManagerReload(manager);
- applyProfiler.pop();
- applyProfiler.endTick();
+ //applyProfiler.pop(); // Purpur
+ //applyProfiler.endTick(); // Purpur
}, applyExecutor);
}
diff --git a/src/main/java/net/minecraft/util/profiling/ActiveProfiler.java b/src/main/java/net/minecraft/util/profiling/ActiveProfiler.java
index 196c7331138fee2822c76aacd136f9da040e0049..c6c30d99399c5cde2b0ec2f320d81d952b422d78 100644
--- a/src/main/java/net/minecraft/util/profiling/ActiveProfiler.java
+++ b/src/main/java/net/minecraft/util/profiling/ActiveProfiler.java
@@ -55,7 +55,7 @@ public class ActiveProfiler implements ProfileCollector {
this.started = true;
this.path = "";
this.paths.clear();
- this.push("root");
+ //this.push("root"); // Purpur
}
}
@@ -64,7 +64,7 @@ public class ActiveProfiler implements ProfileCollector {
if (!this.started) {
LOGGER.error("Profiler tick already ended - missing startTick()?");
} else {
- this.pop();
+ //this.pop(); // Purpur
this.started = false;
if (!this.path.isEmpty()) {
LOGGER.error("Profiler tick ended before path was fully popped (remainder: '{}'). Mismatched push/pop?", LogUtils.defer(() -> {
@@ -93,7 +93,7 @@ public class ActiveProfiler implements ProfileCollector {
@Override
public void push(Supplier<String> locationGetter) {
- this.push(locationGetter.get());
+ //this.push(locationGetter.get()); // Purpur
}
@Override
@@ -132,14 +132,14 @@ public class ActiveProfiler implements ProfileCollector {
@Override
public void popPush(String location) {
- this.pop();
- this.push(location);
+ //this.pop(); // Purpur
+ //this.push(location); // Purpur
}
@Override
public void popPush(Supplier<String> locationGetter) {
- this.pop();
- this.push(locationGetter);
+ //this.pop(); // Purpur
+ //this.push(locationGetter); // Purpur
}
private ActiveProfiler.PathEntry getCurrentEntry() {
diff --git a/src/main/java/net/minecraft/util/profiling/ProfilerFiller.java b/src/main/java/net/minecraft/util/profiling/ProfilerFiller.java
index 2e6e8eac987c4ef6b2dcd3de592d8a51d2b29792..863343a87fe34d72f04af89d75268b477b2adc7a 100644
--- a/src/main/java/net/minecraft/util/profiling/ProfilerFiller.java
+++ b/src/main/java/net/minecraft/util/profiling/ProfilerFiller.java
@@ -6,32 +6,44 @@ import net.minecraft.util.profiling.metrics.MetricCategory;
public interface ProfilerFiller {
String ROOT = "root";
+ @io.papermc.paper.annotation.DoNotUse // Purpur
void startTick();
+ @io.papermc.paper.annotation.DoNotUse // Purpur
void endTick();
+ @io.papermc.paper.annotation.DoNotUse // Purpur
void push(String location);
+ @io.papermc.paper.annotation.DoNotUse // Purpur
void push(Supplier<String> locationGetter);
+ @io.papermc.paper.annotation.DoNotUse // Purpur
void pop();
+ @io.papermc.paper.annotation.DoNotUse // Purpur
void popPush(String location);
+ @io.papermc.paper.annotation.DoNotUse // Purpur
void popPush(Supplier<String> locationGetter);
+ @io.papermc.paper.annotation.DoNotUse // Purpur
void markForCharting(MetricCategory type);
+ @io.papermc.paper.annotation.DoNotUse // Purpur
default void incrementCounter(String marker) {
- this.incrementCounter(marker, 1);
+ //this.incrementCounter(marker, 1); // Purpur
}
+ @io.papermc.paper.annotation.DoNotUse // Purpur
void incrementCounter(String marker, int num);
+ @io.papermc.paper.annotation.DoNotUse // Purpur
default void incrementCounter(Supplier<String> markerGetter) {
- this.incrementCounter(markerGetter, 1);
+ //this.incrementCounter(markerGetter, 1); // Purpur
}
+ @io.papermc.paper.annotation.DoNotUse // Purpur
void incrementCounter(Supplier<String> markerGetter, int num);
static ProfilerFiller tee(final ProfilerFiller a, final ProfilerFiller b) {
@@ -41,62 +53,62 @@ public interface ProfilerFiller {
return b == InactiveProfiler.INSTANCE ? a : new ProfilerFiller() {
@Override
public void startTick() {
- a.startTick();
- b.startTick();
+ //a.startTick(); // Purpur
+ //b.startTick(); // Purpur
}
@Override
public void endTick() {
- a.endTick();
- b.endTick();
+ //a.endTick(); // Purpur
+ //b.endTick(); // Purpur
}
@Override
public void push(String location) {
- a.push(location);
- b.push(location);
+ //a.push(location); // Purpur
+ //b.push(location); // Purpur
}
@Override
public void push(Supplier<String> locationGetter) {
- a.push(locationGetter);
- b.push(locationGetter);
+ //a.push(locationGetter); // Purpur
+ //b.push(locationGetter); // Purpur
}
@Override
public void markForCharting(MetricCategory type) {
- a.markForCharting(type);
- b.markForCharting(type);
+ //a.markForCharting(type); // Purpur
+ //b.markForCharting(type); // Purpur
}
@Override
public void pop() {
- a.pop();
- b.pop();
+ //a.pop(); // Purpur
+ //b.pop(); // Purpur
}
@Override
public void popPush(String location) {
- a.popPush(location);
- b.popPush(location);
+ //a.popPush(location); // Purpur
+ //b.popPush(location); // Purpur
}
@Override
public void popPush(Supplier<String> locationGetter) {
- a.popPush(locationGetter);
- b.popPush(locationGetter);
+ //a.popPush(locationGetter); // Purpur
+ //b.popPush(locationGetter); // Purpur
}
@Override
public void incrementCounter(String marker, int num) {
- a.incrementCounter(marker, num);
- b.incrementCounter(marker, num);
+ //a.incrementCounter(marker, num); // Purpur
+ //b.incrementCounter(marker, num); // Purpur
}
@Override
public void incrementCounter(Supplier<String> markerGetter, int num) {
- a.incrementCounter(markerGetter, num);
- b.incrementCounter(markerGetter, num);
+ //a.incrementCounter(markerGetter, num); // Purpur
+ //b.incrementCounter(markerGetter, num); // Purpur
}
};
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b7f1dad5ffe5a0f5d337fbe39345242940b82e4b..ffe329e624b4d7db6c2b6f49f31093ab02116214 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -789,7 +789,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
// CraftBukkit end
public void baseTick() {
- this.level.getProfiler().push("entityBaseTick");
+ //this.level.getProfiler().push("entityBaseTick"); // Purpur
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking
this.feetBlockState = null;
if (this.isPassenger() && this.getVehicle().isRemoved()) {
@@ -850,7 +850,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
this.firstTick = false;
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
}
public void setSharedFlagOnFire(boolean onFire) {
@@ -1024,7 +1024,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
}
- this.level.getProfiler().push("move");
+ //this.level.getProfiler().push("move"); // Purpur
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) {
movement = movement.multiply(this.stuckSpeedMultiplier);
this.stuckSpeedMultiplier = Vec3.ZERO;
@@ -1033,7 +1033,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
// Paper start - ignore movement changes while inactive.
if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) {
setDeltaMovement(Vec3.ZERO);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
return;
}
// Paper end
@@ -1054,8 +1054,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z);
}
- this.level.getProfiler().pop();
- this.level.getProfiler().push("rest");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("rest"); // Purpur
boolean flag = !Mth.equal(movement.x, vec3d1.x);
boolean flag1 = !Mth.equal(movement.z, vec3d1.z);
@@ -1074,7 +1074,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.checkFallDamage(vec3d1.y, this.onGround, iblockdata, blockposition);
if (this.isRemoved()) {
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
} else {
if (this.horizontalCollision) {
Vec3 vec3d2 = this.getDeltaMovement();
@@ -1215,7 +1215,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.setRemainingFireTicks(-this.getFireImmuneTicks());
}
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
}
}
// Paper start - detailed watchdog information
@@ -2929,7 +2929,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey);
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
- this.level.getProfiler().push("portal");
+ //this.level.getProfiler().push("portal"); // Purpur
this.portalTime = i;
// Paper start
io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER);
@@ -2947,7 +2947,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
} // Paper
// CraftBukkit end
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
}
this.isInsidePortal = false;
@@ -3414,14 +3414,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
// Paper end
if (this.level instanceof ServerLevel && !this.isRemoved()) {
- this.level.getProfiler().push("changeDimension");
+ //this.level.getProfiler().push("changeDimension"); // Purpur
// CraftBukkit start
// this.decouple();
if (worldserver == null) {
return null;
}
// CraftBukkit end
- this.level.getProfiler().push("reposition");
+ //this.level.getProfiler().push("reposition"); // Purpur
PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit
if (shapedetectorshape == null) {
@@ -3455,7 +3455,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.unRide();
// CraftBukkit end
- this.level.getProfiler().popPush("reloading");
+ //this.level.getProfiler().popPush("reloading"); // Purpur
// Paper start - Change lead drop timing to prevent dupe
if (this instanceof Mob) {
((Mob) this).dropLeash(true, true); // Paper drop lead
@@ -3478,10 +3478,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
this.removeAfterChangingDimensions();
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
((ServerLevel) this.level).resetEmptyTime();
worldserver.resetEmptyTime();
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
return entity;
}
} else {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 9ff8a54f48d0f3c8a4b434f5dae7bf31c7a334e5..64ddf35722640fa764b6b508196f0303676193cb 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -394,7 +394,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
super.baseTick();
- this.level.getProfiler().push("livingEntityBaseTick");
+ //this.level.getProfiler().push("livingEntityBaseTick"); // Purpur
if (this.fireImmune() || this.level.isClientSide) {
this.clearFire();
}
@@ -497,7 +497,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.yHeadRotO = this.yHeadRot;
this.yRotO = this.getYRot();
this.xRotO = this.getXRot();
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
}
public boolean canSpawnSoulSpeedParticle() {
@@ -3070,10 +3070,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.run += (f3 - this.run) * 0.3F;
- this.level.getProfiler().push("headTurn");
+ //this.level.getProfiler().push("headTurn"); // Purpur
f2 = this.tickHeadTurn(f1, f2);
- this.level.getProfiler().pop();
- this.level.getProfiler().push("rangeChecks");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("rangeChecks"); // Purpur
// Paper start - stop large pitch and yaw changes from crashing the server
this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F;
@@ -3085,7 +3085,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F;
// Paper end
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
this.animStep += f2;
if (this.isFallFlying()) {
++this.fallFlyTicks;
@@ -3374,19 +3374,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.setDeltaMovement(d4, d5, d6);
- this.level.getProfiler().push("ai");
+ //this.level.getProfiler().push("ai"); // Purpur
if (this.isImmobile()) {
this.jumping = false;
this.xxa = 0.0F;
this.zza = 0.0F;
} else if (this.isEffectiveAi()) {
- this.level.getProfiler().push("newAi");
+ //this.level.getProfiler().push("newAi"); // Purpur
this.serverAiStep();
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
}
- this.level.getProfiler().pop();
- this.level.getProfiler().push("jump");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("jump"); // Purpur
if (this.jumping && this.isAffectedByFluids()) {
double d7;
@@ -3413,8 +3413,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.noJumpDelay = 0;
}
- this.level.getProfiler().pop();
- this.level.getProfiler().push("travel");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("travel"); // Purpur
this.xxa *= 0.98F;
this.zza *= 0.98F;
this.updateFallFlying();
@@ -3430,8 +3430,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
//SpigotTimings.timerEntityAIMove.stopTiming(); // Spigot // Paper
- this.level.getProfiler().pop();
- this.level.getProfiler().push("freezing");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("freezing"); // Purpur
if (!this.level.isClientSide && !this.isDeadOrDying() && !freezeLocked) { // Paper - Freeze Tick Lock API
int i = this.getTicksFrozen();
@@ -3448,15 +3448,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurt(this.damageSources().freeze(), 1.0F);
}
- this.level.getProfiler().pop();
- this.level.getProfiler().push("push");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("push"); // Purpur
if (this.autoSpinAttackTicks > 0) {
--this.autoSpinAttackTicks;
this.checkAutoSpinAttack(axisalignedbb, this.getBoundingBox());
}
this.pushEntities();
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
// Paper start
// Purpur start
if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 4ec17daac1b4dc1dc6a4dfe22d37ff87c6feb8fe..a56cec72ab0df3e655fc05ad59e1e0ad9794a9b2 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -360,14 +360,14 @@ public abstract class Mob extends LivingEntity implements Targeting {
@Override
public void baseTick() {
super.baseTick();
- this.level.getProfiler().push("mobBaseTick");
+ //this.level.getProfiler().push("mobBaseTick"); // Purpur
if (this.isAlive() && this.random.nextInt(1000) < this.ambientSoundTime++) {
this.resetAmbientSoundTime();
this.playAmbientSound();
}
incrementTicksSinceLastInteraction(); // Purpur
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
}
// Purpur start
@@ -697,7 +697,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@Override
public void aiStep() {
super.aiStep();
- this.level.getProfiler().push("looting");
+ //this.level.getProfiler().push("looting"); // Purpur
if (!this.level.isClientSide && this.canPickUpLoot() && this.isAlive() && !this.dead && (this.level.purpurConfig.entitiesPickUpLootBypassMobGriefing || this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) {
Vec3i baseblockposition = this.getPickupReach();
List<ItemEntity> list = this.level.getEntitiesOfClass(ItemEntity.class, this.getBoundingBox().inflate((double) baseblockposition.getX(), (double) baseblockposition.getY(), (double) baseblockposition.getZ()));
@@ -717,7 +717,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
}
}
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
}
protected Vec3i getPickupReach() {
@@ -929,42 +929,42 @@ public abstract class Mob extends LivingEntity implements Targeting {
return;
}
// Paper end
- this.level.getProfiler().push("sensing");
+ //this.level.getProfiler().push("sensing"); // Purpur
this.sensing.tick();
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
int i = this.level.getServer().getTickCount() + this.getId();
if (i % 2 != 0 && this.tickCount > 1) {
- this.level.getProfiler().push("targetSelector");
+ //this.level.getProfiler().push("targetSelector"); // Purpur
this.targetSelector.tickRunningGoals(false);
- this.level.getProfiler().pop();
- this.level.getProfiler().push("goalSelector");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("goalSelector"); // Purpur
this.goalSelector.tickRunningGoals(false);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
} else {
- this.level.getProfiler().push("targetSelector");
+ //this.level.getProfiler().push("targetSelector"); // Purpur
this.targetSelector.tick();
- this.level.getProfiler().pop();
- this.level.getProfiler().push("goalSelector");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("goalSelector"); // Purpur
this.goalSelector.tick();
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
}
- this.level.getProfiler().push("navigation");
+ //this.level.getProfiler().push("navigation"); // Purpur
this.navigation.tick();
- this.level.getProfiler().pop();
- this.level.getProfiler().push("mob tick");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("mob tick"); // Purpur
this.customServerAiStep();
- this.level.getProfiler().pop();
- this.level.getProfiler().push("controls");
- this.level.getProfiler().push("move");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("controls"); // Purpur
+ //this.level.getProfiler().push("move"); // Purpur
this.moveControl.tick();
- this.level.getProfiler().popPush("look");
+ //this.level.getProfiler().popPush("look"); // Purpur
this.lookControl.tick();
- this.level.getProfiler().popPush("jump");
+ //this.level.getProfiler().popPush("jump"); // Purpur
this.jumpControl.tick();
- this.level.getProfiler().pop();
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().pop(); // Purpur
this.sendDebugPackets();
}
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java b/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java
index b738ee2d3801fadfd09313f05ae24593e56b0ec6..8a70bc63e12838f45fa3eade74f2899438715886 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java
@@ -102,8 +102,8 @@ public class GoalSelector {
}
public void tick() {
- ProfilerFiller profilerFiller = this.profiler.get();
- profilerFiller.push("goalCleanup");
+ //ProfilerFiller profilerFiller = this.profiler.get(); // Purpur
+ //profilerFiller.push("goalCleanup"); // Purpur
for(WrappedGoal wrappedGoal : this.availableGoals) {
if (wrappedGoal.isRunning() && (goalContainsAnyFlags(wrappedGoal, this.goalTypes) || !wrappedGoal.canContinueToUse())) {
@@ -120,8 +120,8 @@ public class GoalSelector {
}
}
- profilerFiller.pop();
- profilerFiller.push("goalUpdate");
+ //profilerFiller.pop(); // Purpur
+ //profilerFiller.push("goalUpdate"); // Purpur
for(WrappedGoal wrappedGoal2 : this.availableGoals) {
// Paper start
@@ -141,13 +141,13 @@ public class GoalSelector {
}
}
- profilerFiller.pop();
+ //profilerFiller.pop(); // Purpur
this.tickRunningGoals(true);
}
public void tickRunningGoals(boolean tickAll) {
- ProfilerFiller profilerFiller = this.profiler.get();
- profilerFiller.push("goalTick");
+ //ProfilerFiller profilerFiller = this.profiler.get(); // Purpur
+ //profilerFiller.push("goalTick"); // Purpur
for(WrappedGoal wrappedGoal : this.availableGoals) {
if (wrappedGoal.isRunning() && (tickAll || wrappedGoal.requiresUpdateEveryTick())) {
@@ -155,7 +155,7 @@ public class GoalSelector {
}
}
- profilerFiller.pop();
+ //profilerFiller.pop(); // Purpur
}
public Set<WrappedGoal> getAvailableGoals() {
diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java
index 7ffe5bef3778d5971ea4ceadf3102725fd0d08cd..6d127ed3da899851ca95b2be6792e2abca1aca12 100644
--- a/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java
+++ b/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java
@@ -172,12 +172,12 @@ public abstract class PathNavigation {
}
}
// Paper end
- this.level.getProfiler().push("pathfind");
+ //this.level.getProfiler().push("pathfind"); // Purpur
BlockPos blockPos = useHeadPos ? this.mob.blockPosition().above() : this.mob.blockPosition();
int i = (int)(followRange + (float)range);
PathNavigationRegion pathNavigationRegion = new PathNavigationRegion(this.level, blockPos.offset(-i, -i, -i), blockPos.offset(i, i, i));
Path path = this.pathFinder.findPath(pathNavigationRegion, this.mob, positions, followRange, distance, this.maxVisitedNodesMultiplier);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
if (path != null && path.getTarget() != null) {
this.targetPos = path.getTarget();
this.reachRange = distance;
diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/Sensing.java b/src/main/java/net/minecraft/world/entity/ai/sensing/Sensing.java
index 288c6627906d07c0d223eacd84ae4eb31a349998..9babe636176da3c40598eb5bdac0919a1704eaa0 100644
--- a/src/main/java/net/minecraft/world/entity/ai/sensing/Sensing.java
+++ b/src/main/java/net/minecraft/world/entity/ai/sensing/Sensing.java
@@ -26,9 +26,9 @@ public class Sensing {
} else if (this.unseen.contains(i)) {
return false;
} else {
- this.mob.level.getProfiler().push("hasLineOfSight");
+ //this.mob.level.getProfiler().push("hasLineOfSight"); // Purpur
boolean bl = this.mob.hasLineOfSight(entity);
- this.mob.level.getProfiler().pop();
+ //this.mob.level.getProfiler().pop(); // Purpur
if (bl) {
this.seen.add(i);
} else {
diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
index 4e9f4bddaf9221c02e5dc127aa796a24c83ed8f7..afbce4fdece213e456ef4e993f07bfb448bb2dd1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
+++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
@@ -260,12 +260,12 @@ public class Allay extends PathfinderMob implements InventoryCarrier {
@Override
protected void customServerAiStep() {
- this.level.getProfiler().push("allayBrain");
+ //this.level.getProfiler().push("allayBrain"); // Purpur
this.getBrain().tick((ServerLevel) this.level, this);
- this.level.getProfiler().pop();
- this.level.getProfiler().push("allayActivityUpdate");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("allayActivityUpdate"); // Purpur
AllayAi.updateActivity(this);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
super.customServerAiStep();
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index d61d9a7e7fa4d360dc740fdcb31efd028452fe61..e46105d1d15b4f8d24f726cc75be3020a5770c5c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -324,12 +324,12 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
@Override
protected void customServerAiStep() {
- this.level.getProfiler().push("axolotlBrain");
+ //this.level.getProfiler().push("axolotlBrain"); // Purpur
this.getBrain().tick((ServerLevel) this.level, this);
- this.level.getProfiler().pop();
- this.level.getProfiler().push("axolotlActivityUpdate");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("axolotlActivityUpdate"); // Purpur
AxolotlAi.updateActivity(this);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
if (!this.isNoAi()) {
Optional<Integer> optional = this.getBrain().getMemory(MemoryModuleType.PLAY_DEAD_TICKS);
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index bda7a0e29e40386c57766c224ffb8938d33447e8..450bbceb12b8edf48afc3512fad33a4952298791 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -156,13 +156,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
@Override
protected void customServerAiStep() {
- this.level.getProfiler().push("camelBrain");
+ //this.level.getProfiler().push("camelBrain"); // Purpur
Brain<Camel> brain = (Brain<Camel>) this.getBrain(); // Paper - decompile fix
brain.tick((ServerLevel)this.level, this);
- this.level.getProfiler().pop();
- this.level.getProfiler().push("camelActivityUpdate");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("camelActivityUpdate"); // Purpur
CamelAi.updateActivity(this);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
super.customServerAiStep();
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
index 61c604a05eedb1928bdac8c8544b0cad074f29ee..695b4fa27fc989ead95e4c46d9305a62f17487fa 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
@@ -222,12 +222,12 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
@Override
protected void customServerAiStep() {
- this.level.getProfiler().push("frogBrain");
+ //this.level.getProfiler().push("frogBrain"); // Purpur
this.getBrain().tick((ServerLevel)this.level, this);
- this.level.getProfiler().pop();
- this.level.getProfiler().push("frogActivityUpdate");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("frogActivityUpdate"); // Purpur
FrogAi.updateActivity(this);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
super.customServerAiStep();
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
index f12bd0227af77bec164f2938957c0c8100be9d03..16cc27ad7c152c5ea0854ba095a72ea3de64eb7e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
@@ -116,12 +116,12 @@ public class Tadpole extends AbstractFish {
@Override
protected void customServerAiStep() {
- this.level.getProfiler().push("tadpoleBrain");
+ //this.level.getProfiler().push("tadpoleBrain"); // Purpur
this.getBrain().tick((ServerLevel) this.level, this);
- this.level.getProfiler().pop();
- this.level.getProfiler().push("tadpoleActivityUpdate");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("tadpoleActivityUpdate"); // Purpur
TadpoleAi.updateActivity(this);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
super.customServerAiStep();
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index f61843b76ad0dd50ed0ccaaf5f83a0c63e460343..07fa6220417a3df8f2471d74e1c3cb22d245fd06 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -225,10 +225,10 @@ public class Goat extends Animal {
this.level.getProfiler().push("goatBrain");
if ((getRider() == null || !this.isControllable())/* && this.behaviorTick++ % this.activatedPriority == 0*/) // Pufferfish // Purpur - only use brain if no rider TODO: uncomment when including Pufferfish
this.getBrain().tick((ServerLevel) this.level, this);
- this.level.getProfiler().pop();
- this.level.getProfiler().push("goatActivityUpdate");
+ //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("goatActivityUpdate"); // Purpur
GoatAi.updateActivity(this);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
super.customServerAiStep();
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
index af31d334485139ef06bc534484a69f720ed1b5cf..d5cc573bd73a241594bd6c0505821ec10acf9b3d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
@@ -230,10 +230,10 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
@Override
protected void customServerAiStep() {
- this.level.getProfiler().push("zoglinBrain");
+ //this.level.getProfiler().push("zoglinBrain"); // Purpur
if (getRider() == null || !this.isControllable()) // Purpur - only use brain if no rider
this.getBrain().tick((ServerLevel)this.level, this);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
this.updateActivity();
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index 92685decf4ed1c9f673cf607458788c2f807d626..d3524004f447fff9b091f03b8fe18f6656b98313 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -165,10 +165,10 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@Override
protected void customServerAiStep() {
- this.level.getProfiler().push("hoglinBrain");
+ //this.level.getProfiler().push("hoglinBrain"); // Purpur
if ((getRider() == null || !this.isControllable())/* && this.behaviorTick++ % this.activatedPriority == 0*/) // Pufferfish // Purpur - only use brain if no rider TODO: uncomment when including Pufferfish
this.getBrain().tick((ServerLevel)this.level, this);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
HoglinAi.updateActivity(this);
if (this.isConverting()) {
++this.timeInOverworld;
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
index ff2c7610d39e50ffb548aa9a687d7973a1f17a35..e7528b55713c0719c1510856fd029bcf5c2b75c2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
@@ -342,10 +342,10 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@Override
protected void customServerAiStep() {
- this.level.getProfiler().push("piglinBrain");
+ //this.level.getProfiler().push("piglinBrain"); // Purpur
if ((getRider() == null || !this.isControllable())/* && this.behaviorTick++ % this.activatedPriority == 0*/) // Pufferfish // Purpur - only use brain if no rider TODO: uncomment when including Pufferfish
this.getBrain().tick((ServerLevel) this.level, this);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
PiglinAi.updateActivity(this);
super.customServerAiStep();
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
index b6165a1d513bea0d441289eb0df05ea866941bb3..061868ea8d7bb9825a2f097949e1430cf59dbf81 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
@@ -117,10 +117,10 @@ public class PiglinBrute extends AbstractPiglin {
@Override
protected void customServerAiStep() {
- this.level.getProfiler().push("piglinBruteBrain");
+ //this.level.getProfiler().push("piglinBruteBrain"); // Purpur
if (getRider() == null || this.isControllable()) // Purpur - only use brain if no rider
this.getBrain().tick((ServerLevel)this.level, this);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
PiglinBruteAi.updateActivity(this);
PiglinBruteAi.maybePlayActivitySound(this);
super.customServerAiStep();
diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
index a268f6a39b972f91ca04d6b0004efda4cf086e10..d72221ab3e6d92a1bb5b8303ce3152f8f15449d8 100644
--- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
+++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
@@ -298,9 +298,9 @@ public class Warden extends Monster implements VibrationListener.VibrationListen
protected void customServerAiStep() {
ServerLevel worldserver = (ServerLevel) this.level;
- worldserver.getProfiler().push("wardenBrain");
+ //worldserver.getProfiler().push("wardenBrain"); // Purpur
this.getBrain().tick(worldserver, this);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
super.customServerAiStep();
if ((this.tickCount + this.getId()) % 120 == 0) {
Warden.applyDarknessAround(worldserver, this.position(), this, 20);
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index d5fce1215d99de3393d06fdc65939920386b9318..9d19f6701acd9b5e430263347ee8a9925b9c49c2 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -332,7 +332,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@Override
protected void customServerAiStep() { mobTick(false); }
protected void mobTick(boolean inactive) {
- this.level.getProfiler().push("villagerBrain");
+ //this.level.getProfiler().push("villagerBrain"); // Purpur
// Purpur start
if (this.level.purpurConfig.villagerLobotomizeEnabled) {
// treat as inactive if lobotomized
@@ -352,7 +352,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
restock();
}
// Purpur end
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
if (this.assignProfessionWhenSpawned) {
this.assignProfessionWhenSpawned = false;
}
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index 59837144c2c0460aca6e8c349eb3d6528111d1dc..4392336d28aa3cc7a767a2e638e2227c16a597f4 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -372,7 +372,7 @@ public class Explosion {
if (!iblockdata.isAir() && iblockdata.isDestroyable()) { // Paper
BlockPos blockposition1 = blockposition.immutable();
- this.level.getProfiler().push("explosion_blocks");
+ //this.level.getProfiler().push("explosion_blocks"); // Purpur
if (block.dropFromExplosion(this)) {
Level world = this.level;
@@ -394,7 +394,7 @@ public class Explosion {
this.level.setBlock(blockposition, Blocks.AIR.defaultBlockState(), 3);
block.wasExploded(this.level, blockposition, this);
- this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur
}
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 65b815a2e68e70639ed555a2a2635b6c5f98fe6c..d6cfb0f147c8269b9ab8736a2e00294a83d560e0 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -615,9 +615,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
BlockState iblockdata2 = this.getBlockState(pos);
if ((flags & 128) == 0 && iblockdata2 != iblockdata1 && (iblockdata2.getLightBlock(this, pos) != iblockdata1.getLightBlock(this, pos) || iblockdata2.getLightEmission() != iblockdata1.getLightEmission() || iblockdata2.useShapeForLightOcclusion() || iblockdata1.useShapeForLightOcclusion())) {
- this.getProfiler().push("queueCheckLight");
+ //this.getProfiler().push("queueCheckLight"); // Purpur
this.getChunkSource().getLightEngine().checkBlock(pos);
- this.getProfiler().pop();
+ //this.getProfiler().pop(); // Purpur
}
/*
@@ -916,9 +916,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
protected void tickBlockEntities() {
- ProfilerFiller gameprofilerfiller = this.getProfiler();
+ //ProfilerFiller gameprofilerfiller = this.getProfiler(); // Purpur
- gameprofilerfiller.push("blockEntities");
+ //gameprofilerfiller.push("blockEntities"); // Purpur
//timings.tileEntityPending.startTiming(); // Spigot // Purpur
this.tickingBlockEntities = true;
if (!this.pendingBlockEntityTickers.isEmpty()) {
@@ -963,7 +963,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
//timings.tileEntityTick.stopTiming(); // Spigot // Purpur
this.tickingBlockEntities = false;
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
spigotConfig.currentPrimedTnt = 0; // Spigot
}
@@ -1156,7 +1156,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@Override
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
- this.getProfiler().incrementCounter("getEntities");
+ //this.getProfiler().incrementCounter("getEntities"); // Purpur
List<Entity> list = Lists.newArrayList();
((ServerLevel)this).getEntityLookup().getEntities(except, box, list, predicate); // Paper - optimise this call
return list;
@@ -1175,7 +1175,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
public <T extends Entity> void getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate, List<? super T> result, int limit) {
- this.getProfiler().incrementCounter("getEntities");
+ //this.getProfiler().incrementCounter("getEntities"); // Purpur
// Paper start - optimise this call
//TODO use limit
if (filter instanceof net.minecraft.world.entity.EntityType entityTypeTest) {
@@ -1500,7 +1500,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
public ProfilerFiller getProfiler() {
- return (ProfilerFiller) this.profiler.get();
+ return net.minecraft.util.profiling.InactiveProfiler.INSTANCE; // Purpur
}
public Supplier<ProfilerFiller> getProfilerSupplier() {
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index ee594416ede3deed34170d04bee29492ba221061..6d9af03d434c372f3d306c37809365659122d019 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -132,7 +132,7 @@ public final class NaturalSpawner {
}
public static void spawnForChunk(ServerLevel world, LevelChunk chunk, NaturalSpawner.SpawnState info, boolean spawnAnimals, boolean spawnMonsters, boolean rareSpawn) {
- world.getProfiler().push("spawner");
+ //world.getProfiler().push("spawner"); // Purpur
//world.timings.mobSpawn.startTiming(); // Spigot // Purpur
MobCategory[] aenumcreaturetype = NaturalSpawner.SPAWNING_CATEGORIES;
int i = aenumcreaturetype.length;
@@ -189,7 +189,7 @@ public final class NaturalSpawner {
}
//world.timings.mobSpawn.stopTiming(); // Spigot // Purpur
- world.getProfiler().pop();
+ //world.getProfiler().pop(); // Purpur
}
// Paper start
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index 3fe35f4ea24ed541e11986ce5ea487290b993a03..96d7927fb2a2a57e5bc10e680baefa2917a033e2 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -1306,9 +1306,9 @@ public class LevelChunk extends ChunkAccess {
if (LevelChunk.this.isTicking(blockposition)) {
try {
- ProfilerFiller gameprofilerfiller = LevelChunk.this.level.getProfiler();
+ //ProfilerFiller gameprofilerfiller = LevelChunk.this.level.getProfiler(); // Purpur
- gameprofilerfiller.push(this::getType);
+ //gameprofilerfiller.push(this::getType); // Purpur
//this.blockEntity.tickTimer.startTiming(); // Spigot // Purpur
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
@@ -1320,7 +1320,7 @@ public class LevelChunk extends ChunkAccess {
LevelChunk.LOGGER.warn("Block entity {} @ {} state {} invalid for ticking:", new Object[]{LogUtils.defer(this::getType), LogUtils.defer(this::getPos), iblockdata});
}
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
} catch (Throwable throwable) {
if (throwable instanceof ThreadDeath) throw throwable; // Paper
// Paper start - Prevent tile entity and entity crashes
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
index d23481453717f715124156b5d83f6448f720d049..a8af51a25b0f99c3a64d9150fdfcd6b818aa7581 100644
--- a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
+++ b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
@@ -53,8 +53,8 @@ public class PathFinder {
@Nullable
// Paper start - optimize collection
private Path findPath(ProfilerFiller profiler, Node startNode, List<Map.Entry<Target, BlockPos>> positions, float followRange, int distance, float rangeMultiplier) {
- profiler.push("find_path");
- profiler.markForCharting(MetricCategory.PATH_FINDING);
+ //profiler.push("find_path"); // Purpur
+ //profiler.markForCharting(MetricCategory.PATH_FINDING); // Purpur
// Set<Target> set = positions.keySet();
startNode.g = 0.0F;
startNode.h = this.getBestH(startNode, positions); // Paper - optimize collection
diff --git a/src/main/java/net/minecraft/world/ticks/LevelTicks.java b/src/main/java/net/minecraft/world/ticks/LevelTicks.java
index 1d7c663fa0e550bd0cfb9a4b83ccd7e2968666f0..0043c0087896a6df6910b0500da37d84b287c901 100644
--- a/src/main/java/net/minecraft/world/ticks/LevelTicks.java
+++ b/src/main/java/net/minecraft/world/ticks/LevelTicks.java
@@ -86,20 +86,20 @@ public class LevelTicks<T> implements LevelTickAccess<T> {
}
public void tick(long time, int maxTicks, BiConsumer<BlockPos, T> ticker) {
- ProfilerFiller profilerFiller = this.profiler.get();
- profilerFiller.push("collect");
- this.collectTicks(time, maxTicks, profilerFiller);
- profilerFiller.popPush("run");
- profilerFiller.incrementCounter("ticksToRun", this.toRunThisTick.size());
+ //ProfilerFiller profilerFiller = this.profiler.get(); // Purpur
+ //profilerFiller.push("collect"); // Purpur
+ this.collectTicks(time, maxTicks, null); // Purpur
+ //profilerFiller.popPush("run"); // Purpur
+ //profilerFiller.incrementCounter("ticksToRun", this.toRunThisTick.size()); // Purpur
this.runCollectedTicks(ticker);
- profilerFiller.popPush("cleanup");
+ //profilerFiller.popPush("cleanup"); // Purpur
this.cleanupAfterTick();
- profilerFiller.pop();
+ //profilerFiller.pop(); // Purpur
}
private void collectTicks(long time, int maxTicks, ProfilerFiller profiler) {
this.sortContainersToTick(time);
- profiler.incrementCounter("containersToTick", this.containersToTick.size());
+ //profiler.incrementCounter("containersToTick", this.containersToTick.size()); // Purpur
this.drainContainers(time, maxTicks);
this.rescheduleLeftoverContainers();
}