From 3821c552e547241f4e3c2956d95f815c391e5c2a Mon Sep 17 00:00:00 2001 From: Taiyou06 Date: Thu, 8 May 2025 13:34:09 +0200 Subject: [PATCH] Optimise BlockEntity tickersInLevel --- ...ptimise-BlockEntities-tickersInLevel.patch | 19 +++++++++++++++++++ .../modules/opt/OptimiseBlockEntities.java | 18 ++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 leaf-server/minecraft-patches/features/0169-Optimise-BlockEntities-tickersInLevel.patch create mode 100644 leaf-server/src/main/java/org/dreeam/leaf/config/modules/opt/OptimiseBlockEntities.java diff --git a/leaf-server/minecraft-patches/features/0169-Optimise-BlockEntities-tickersInLevel.patch b/leaf-server/minecraft-patches/features/0169-Optimise-BlockEntities-tickersInLevel.patch new file mode 100644 index 00000000..0f09babb --- /dev/null +++ b/leaf-server/minecraft-patches/features/0169-Optimise-BlockEntities-tickersInLevel.patch @@ -0,0 +1,19 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Taiyou06 +Date: Thu, 8 May 2025 13:30:07 +0200 +Subject: [PATCH] Optimise BlockEntities tickersInLevel + + +diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java +index 546fb78339c005ed71142cb3c894f816b8c72d08..22ccc6bc8444f2dba1db8a0e06d5018b6631c442 100644 +--- a/net/minecraft/world/level/chunk/LevelChunk.java ++++ b/net/minecraft/world/level/chunk/LevelChunk.java +@@ -72,7 +72,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p + return ""; + } + }; +- private final Map tickersInLevel = Maps.newHashMap(); ++ private final Map tickersInLevel = org.dreeam.leaf.config.modules.opt.OptimiseBlockEntities.enabled ? new it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap<>() : Maps.newHashMap(); + public boolean loaded; + public final ServerLevel level; // CraftBukkit - type + @Nullable diff --git a/leaf-server/src/main/java/org/dreeam/leaf/config/modules/opt/OptimiseBlockEntities.java b/leaf-server/src/main/java/org/dreeam/leaf/config/modules/opt/OptimiseBlockEntities.java new file mode 100644 index 00000000..e1ddf5eb --- /dev/null +++ b/leaf-server/src/main/java/org/dreeam/leaf/config/modules/opt/OptimiseBlockEntities.java @@ -0,0 +1,18 @@ +package org.dreeam.leaf.config.modules.opt; + +import org.dreeam.leaf.config.ConfigModules; +import org.dreeam.leaf.config.EnumConfigCategory; + +public class OptimiseBlockEntities extends ConfigModules { + + public String getBasePath() { + return EnumConfigCategory.PERF.getBaseKeyName(); + } + + public static boolean enabled = true; + + @Override + public void onLoaded() { + enabled = config.getBoolean(getBasePath() + ".optimise-block-entities", enabled); + } +}