9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-29 03:49:10 +00:00

Don't trigger lootable refresh for non-player interaction

This commit is contained in:
violetc
2023-07-17 22:52:25 +08:00
parent 033479c0a7
commit d28a1651d5
2 changed files with 26 additions and 2 deletions

View File

@@ -128,10 +128,10 @@ index 35d2da9d91dcdd89de7c0f4af028fd182376ea8d..d73482fb1e71fe2951e96ae0593de268
.withRequiredArg()
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..a1ed0e61e230d56f8f2b327a0f2c5129c00b8b23
index 0000000000000000000000000000000000000000..415b726132f549495b5bff09bed2ca4eaf2e01fe
--- /dev/null
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
@@ -0,0 +1,831 @@
@@ -0,0 +1,836 @@
+package top.leavesmc.leaves;
+
+import com.destroystokyo.paper.util.SneakyThrow;
@@ -788,6 +788,11 @@ index 0000000000000000000000000000000000000000..a1ed0e61e230d56f8f2b327a0f2c5129
+ useFastItemMergeRaytracing = getBoolean("settings.performance.use-fast-item-merge-raytracing", useFastItemMergeRaytracing);
+ }
+
+ public static boolean dontTriggerLootableRefreshNonPlayer = true;
+ private static void dontTriggerLootableRefreshNonPlayer() {
+ dontTriggerLootableRefreshNonPlayer = getBoolean("settings.performance.dont-trigger-lootable-refresh-for-non-player", dontTriggerLootableRefreshNonPlayer);
+ }
+
+ public static final class WorldConfig {
+
+ public final String worldName;

View File

@@ -0,0 +1,19 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: violetc <58360096+s-yh-china@users.noreply.github.com>
Date: Mon, 17 Jul 2023 22:51:31 +0800
Subject: [PATCH] Don't trigger lootable refresh for non-player interaction
This patch is Powered by Gale(https://github.com/GaleMC/Gale)
diff --git a/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java
index 081691f9710ff1115e4308f79ed49fbc38941193..b9f4e2df35a12f6aebd7ef9fca94dd456a34682b 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java
@@ -70,6 +70,7 @@ public abstract class RandomizableContainerBlockEntity extends BaseContainerBloc
}
public void unpackLootTable(@Nullable Player player) {
+ if (top.leavesmc.leaves.LeavesConfig.dontTriggerLootableRefreshNonPlayer && player == null) return; // Leaves - don't trigger lootable refresh for non-player interaction
if (this.lootableData.shouldReplenish(player) && this.level.getServer() != null) { // Paper
LootTable lootTable = this.level.getServer().getLootData().getLootTable(this.lootTable);
if (player instanceof ServerPlayer) {