mirror of
https://github.com/PaperMC/Paper.git
synced 2025-03-02 11:22:01 +01:00
Signs no longer have a specific isEdiable state, the entire API in this regard needs updating/deprecation. The boolean field is completely gone, replaced by a uuid (which will need a new setEditingPlayer(UUID) method on the Sign interface), and the current upstream implementation of setEdiable simply flips the is_waxed state. This patch is hence not needed as it neither allows editing (which will be redone in a later patch) nor is required to copy the is_waxed boolean flag as it lives in the signs compound tag and is covered by applyTo.
45 lines
2.0 KiB
Diff
45 lines
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
|