From f1b1538bcffcdfc1decbb2cbb361a7f68b221ef8 Mon Sep 17 00:00:00 2001 From: gnembon Date: Fri, 9 Oct 2020 22:57:27 -0300 Subject: [PATCH] added datapacks to the profiler --- gradle.properties | 4 +-- .../CommandFunctionManager_tickMixin.java | 26 +++++++++++++++++++ .../java/carpet/utils/CarpetProfiler.java | 2 +- src/main/resources/carpet.mixins.json | 1 + 4 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 src/main/java/carpet/mixins/CommandFunctionManager_tickMixin.java diff --git a/gradle.properties b/gradle.properties index 37b76647..186e2d70 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,8 +5,8 @@ org.gradle.jvmargs=-Xmx1G # check these on https://fabricmc.net/use # or better: https://modmuss50.me/fabric.html minecraft_version=1.16.3 - yarn_mappings=1.16.3+build.18 - loader_version=0.10.0+build.208 + yarn_mappings=1.16.3+build.30 + loader_version=0.10.1+build.209 # Mod Properties mod_version = 1.4.12+v201001 diff --git a/src/main/java/carpet/mixins/CommandFunctionManager_tickMixin.java b/src/main/java/carpet/mixins/CommandFunctionManager_tickMixin.java new file mode 100644 index 00000000..301a05d5 --- /dev/null +++ b/src/main/java/carpet/mixins/CommandFunctionManager_tickMixin.java @@ -0,0 +1,26 @@ +package carpet.mixins; + +import carpet.utils.CarpetProfiler; +import net.minecraft.server.function.CommandFunctionManager; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(CommandFunctionManager.class) +public class CommandFunctionManager_tickMixin +{ + CarpetProfiler.ProfilerToken currentSection; + + @Inject(method = "tick", at = @At("HEAD")) + private void beforeDatapacks(CallbackInfo ci) + { + currentSection = CarpetProfiler.start_section(null, "Datapacks", CarpetProfiler.TYPE.GENERAL); + } + + @Inject(method = "tick", at = @At("RETURN")) + private void afterDatapacks(CallbackInfo ci) + { + CarpetProfiler.end_current_section(currentSection); + } +} diff --git a/src/main/java/carpet/utils/CarpetProfiler.java b/src/main/java/carpet/utils/CarpetProfiler.java index fea6c1cb..96c11070 100644 --- a/src/main/java/carpet/utils/CarpetProfiler.java +++ b/src/main/java/carpet/utils/CarpetProfiler.java @@ -22,7 +22,7 @@ public class CarpetProfiler private static int tick_health_elapsed = 0; private static TYPE test_type = TYPE.NONE; //1 for ticks, 2 for entities; private static long current_tick_start = 0; - private static final String[] GENERAL_SECTIONS = {"Network", "Autosave", "Async Tasks"}; + private static final String[] GENERAL_SECTIONS = {"Network", "Autosave", "Async Tasks", "Datapacks",}; private static final String[] SECTIONS = { "Spawning and Random Ticks", "Ticket Manager","Unloading", "Blocks", "Entities", "Block Entities", diff --git a/src/main/resources/carpet.mixins.json b/src/main/resources/carpet.mixins.json index fe26a886..8c154627 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -32,6 +32,7 @@ "ServerChunkManager_tickMixin", "ThreadedAnvilChunkStorage_tickMixin", "ChunkTicketManager_tickMixin", + "CommandFunctionManager_tickMixin", "ThreadedAnvilChunkStorage_scarpetChunkCreationMixin", "ChunkHolder_scarpetChunkCreationMixin",