9147456fc9
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: ab8ace685 SPIGOT-7236: Bone meal doesn't increase use statistic 7dcb59b8e Avoid switch on material in previous commit Spigot Changes: 19641c75 SPIGOT-7235: World.Spigot#strikeLightningEffect doesn't do anything
45 Zeilen
2.0 KiB
Diff
45 Zeilen
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Sceri <scerimail@gmail.com>
|
|
Date: Fri, 14 May 2021 19:06:51 +0500
|
|
Subject: [PATCH] Fix CraftPotionBrewer cache
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionBrewer.java b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionBrewer.java
|
|
index 1e4bc0d9f9d2e45157929af685f116988cbb8c03..8fdc9a3bb2f1b6bdc6c2c96f8ade7e9cd88ea4e0 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionBrewer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionBrewer.java
|
|
@@ -15,12 +15,18 @@ import org.bukkit.potion.PotionEffectType;
|
|
import org.bukkit.potion.PotionType;
|
|
|
|
public class CraftPotionBrewer implements PotionBrewer {
|
|
- private static final Map<PotionType, Collection<PotionEffect>> cache = Maps.newHashMap();
|
|
+ private static final Map<Integer, Collection<PotionEffect>> cache = Maps.newHashMap(); // Paper
|
|
|
|
@Override
|
|
public Collection<PotionEffect> getEffects(PotionType damage, boolean upgraded, boolean extended) {
|
|
- if (CraftPotionBrewer.cache.containsKey(damage))
|
|
- return CraftPotionBrewer.cache.get(damage);
|
|
+ // Paper start
|
|
+ int key = damage.ordinal() << 2;
|
|
+ key |= (upgraded ? 1 : 0) << 1;
|
|
+ key |= extended ? 1 : 0;
|
|
+
|
|
+ if (CraftPotionBrewer.cache.containsKey(key))
|
|
+ return CraftPotionBrewer.cache.get(key);
|
|
+ // Paper end
|
|
|
|
List<MobEffectInstance> mcEffects = Potion.byName(CraftPotionUtil.fromBukkit(new PotionData(damage, extended, upgraded))).getEffects();
|
|
|
|
@@ -29,9 +35,9 @@ public class CraftPotionBrewer implements PotionBrewer {
|
|
builder.add(CraftPotionUtil.toBukkit(effect));
|
|
}
|
|
|
|
- CraftPotionBrewer.cache.put(damage, builder.build());
|
|
+ CraftPotionBrewer.cache.put(key, builder.build()); // Paper
|
|
|
|
- return CraftPotionBrewer.cache.get(damage);
|
|
+ return CraftPotionBrewer.cache.get(key); // Paper
|
|
}
|
|
|
|
@Override
|