Actually the keys are extremely common, but the values should be caches that expire.
This commit is contained in:
@@ -42,10 +42,10 @@ index 241808d8619e17c0681f79acbbc98af5bf52dd89..aa3263bbede7b104482cec295c17e038
|
||||
standardInput = System.`in`
|
||||
workingDir = rootProject.layout.projectDirectory
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index d06185566b447c432d4dc2e3ba04d121bcdbc71b..268bebac970646a9d697ec31ea5c89b9f583618f 100644
|
||||
index 93b661e9cb7743aeff7da3972942cb73049a5e4c..2db7cb6f86a88f93fbdef0565b901c42f5c03e73 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1855,7 +1855,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1865,7 +1865,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
@@ -55,7 +55,7 @@ index d06185566b447c432d4dc2e3ba04d121bcdbc71b..268bebac970646a9d697ec31ea5c89b9
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 9f7ed337463cc9bb370a5541d9de5cd8f9c1a78a..1d7b338c281d85eef3f3196f401af8f375df600a 100644
|
||||
index c490a29bcf7410bc54959ee71375605964379ed5..93fde7271340d157ed12129930656aeedd95ea79 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -266,7 +266,7 @@ import javax.annotation.Nullable; // Paper
|
||||
|
||||
@@ -59,7 +59,7 @@ index e3e0f306ebed31ce4742e7d2f15ab102b93a9dff..4f4ea6dcef4e1960ac69271fbd771dd3
|
||||
|
||||
if (!this.entity.getPassengers().isEmpty()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 23570a0b1227a840b9c1e6ae326827ea655bb5f7..b6bd645a0afafa17992f4958f56e84c418d47f82 100644
|
||||
index 23570a0b1227a840b9c1e6ae326827ea655bb5f7..e2b6d539395fbc59116cfce56189e0f129a34e0d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -143,7 +143,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
@@ -75,7 +75,7 @@ index 23570a0b1227a840b9c1e6ae326827ea655bb5f7..b6bd645a0afafa17992f4958f56e84c4
|
||||
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
|
||||
|
||||
+ // Slice start
|
||||
+ private static final com.google.common.cache.Cache<String, Map<ItemStack, ItemStack>> equipmentPacketCache = com.google.common.cache.CacheBuilder.newBuilder().expireAfterWrite(15, java.util.concurrent.TimeUnit.MINUTES).build();
|
||||
+ private static final java.util.Map<String, com.google.common.cache.Cache<ItemStack, ItemStack>> equipmentPacketCache = new java.util.HashMap<>();
|
||||
+ protected final java.util.Map<String, net.minecraft.network.protocol.game.ClientboundSetEquipmentPacket> cachedEquipmentPacket = new java.util.HashMap<>();
|
||||
+ // Slice end
|
||||
+
|
||||
@@ -124,8 +124,8 @@ index 23570a0b1227a840b9c1e6ae326827ea655bb5f7..b6bd645a0afafa17992f4958f56e84c4
|
||||
+
|
||||
+ // Slice start
|
||||
+ public ItemStack getOrCreateCachedEquipmentItem(String tag, EquipmentSlot slot, ItemStack itemStack) {
|
||||
+ return equipmentPacketCache.asMap()
|
||||
+ .computeIfAbsent(tag, s -> new java.util.HashMap<>())
|
||||
+ return equipmentPacketCache.computeIfAbsent(tag, s -> com.google.common.cache.CacheBuilder.newBuilder().expireAfterWrite(15, java.util.concurrent.TimeUnit.MINUTES).build())
|
||||
+ .asMap()
|
||||
+ .computeIfAbsent(itemStack, i -> {
|
||||
+ String name = slot.name();
|
||||
+
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Shared Data Storage
|
||||
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
||||
index b53b6cc4463675096b061b3b65f14a4695c742e2..6100d75e5d9184fd4ec79ffbd00cea0d637e5073 100644
|
||||
index f2e30d8743a97c0541808dc5c03300c0d881b843..4087fb8ab1b42ea5367b4461cf9b1f2f6bed0309 100644
|
||||
--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
||||
+++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
||||
@@ -333,6 +333,7 @@ public class GlobalConfiguration extends ConfigurationPart {
|
||||
@@ -334,6 +334,7 @@ public class GlobalConfiguration extends ConfigurationPart {
|
||||
public boolean useDimensionTypeForCustomSpawners = false;
|
||||
public boolean strictAdvancementDimensionCheck = false;
|
||||
public IntOr.Default compressionLevel = IntOr.Default.USE_DEFAULT;
|
||||
@@ -17,7 +17,7 @@ index b53b6cc4463675096b061b3b65f14a4695c742e2..6100d75e5d9184fd4ec79ffbd00cea0d
|
||||
|
||||
public BlockUpdates blockUpdates;
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 268bebac970646a9d697ec31ea5c89b9f583618f..59db2872229b4229f959bf227d1a2cf54c208ce8 100644
|
||||
index 2db7cb6f86a88f93fbdef0565b901c42f5c03e73..017644fb55a2713d911d0a8bb1cc8a2aff456f8a 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -2,6 +2,7 @@ package net.minecraft.server;
|
||||
@@ -74,7 +74,7 @@ index 268bebac970646a9d697ec31ea5c89b9f583618f..59db2872229b4229f959bf227d1a2cf5
|
||||
this.nextTickTimeNanos = Util.getNanos();
|
||||
this.statusIcon = (ServerStatus.Favicon) this.loadStatusIcon().orElse(null); // CraftBukkit - decompile error
|
||||
this.status = this.buildServerStatus();
|
||||
@@ -1536,6 +1555,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1546,6 +1565,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
level.saveIncrementally(fullSave);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user