aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0356-Fix-PotionEffect-ignores-icon-flag.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0356-Fix-PotionEffect-ignores-icon-flag.patch')
-rw-r--r--patches/server/0356-Fix-PotionEffect-ignores-icon-flag.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/patches/server/0356-Fix-PotionEffect-ignores-icon-flag.patch b/patches/server/0356-Fix-PotionEffect-ignores-icon-flag.patch
new file mode 100644
index 0000000000..db96543261
--- /dev/null
+++ b/patches/server/0356-Fix-PotionEffect-ignores-icon-flag.patch
@@ -0,0 +1,60 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: kickash32 <[email protected]>
+Date: Fri, 8 May 2020 00:49:18 -0400
+Subject: [PATCH] Fix PotionEffect ignores icon flag
+
+Co-authored-by: Tamion <[email protected]>
+
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+index b6238c327e91a52b77135290762feb8b1085fc7e..b1c4970920ca8972f637c846106ae37822e495cf 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+@@ -484,7 +484,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+
+ @Override
+ public boolean addPotionEffect(PotionEffect effect, boolean force) {
+- this.getHandle().addEffect(new MobEffectInstance(CraftPotionEffectType.bukkitToMinecraftHolder(effect.getType()), effect.getDuration(), effect.getAmplifier(), effect.isAmbient(), effect.hasParticles()), EntityPotionEffectEvent.Cause.PLUGIN);
++ this.getHandle().addEffect(org.bukkit.craftbukkit.potion.CraftPotionUtil.fromBukkit(effect), EntityPotionEffectEvent.Cause.PLUGIN); // Paper - Don't ignore icon
+ return true;
+ }
+
+@@ -505,7 +505,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+ @Override
+ public PotionEffect getPotionEffect(PotionEffectType type) {
+ MobEffectInstance handle = this.getHandle().getEffect(CraftPotionEffectType.bukkitToMinecraftHolder(type));
+- return (handle == null) ? null : new PotionEffect(CraftPotionEffectType.minecraftHolderToBukkit(handle.getEffect()), handle.getDuration(), handle.getAmplifier(), handle.isAmbient(), handle.isVisible());
++ return (handle == null) ? null : org.bukkit.craftbukkit.potion.CraftPotionUtil.toBukkit(handle); // Paper
+ }
+
+ @Override
+@@ -517,7 +517,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+ public Collection<PotionEffect> getActivePotionEffects() {
+ List<PotionEffect> effects = new ArrayList<PotionEffect>();
+ for (MobEffectInstance handle : this.getHandle().activeEffects.values()) {
+- effects.add(new PotionEffect(CraftPotionEffectType.minecraftHolderToBukkit(handle.getEffect()), handle.getDuration(), handle.getAmplifier(), handle.isAmbient(), handle.isVisible()));
++ effects.add(org.bukkit.craftbukkit.potion.CraftPotionUtil.toBukkit(handle)); // Paper
+ }
+ return effects;
+ }
+diff --git a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionUtil.java b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionUtil.java
+index b7525f6ddc8f315ec9830b6b8f225d4839d306ad..01af4db5d0f17ea2943e5c464d4122a358503bc1 100644
+--- a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionUtil.java
++++ b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionUtil.java
+@@ -78,7 +78,7 @@ public class CraftPotionUtil {
+
+ public static MobEffectInstance fromBukkit(PotionEffect effect) {
+ Holder<MobEffect> type = CraftPotionEffectType.bukkitToMinecraftHolder(effect.getType());
+- return new MobEffectInstance(type, effect.getDuration(), effect.getAmplifier(), effect.isAmbient(), effect.hasParticles());
++ return new MobEffectInstance(type, effect.getDuration(), effect.getAmplifier(), effect.isAmbient(), effect.hasParticles(), effect.hasIcon()); // Paper
+ }
+
+ public static PotionEffect toBukkit(MobEffectInstance effect) {
+@@ -87,7 +87,7 @@ public class CraftPotionUtil {
+ int duration = effect.getDuration();
+ boolean ambient = effect.isAmbient();
+ boolean particles = effect.isVisible();
+- return new PotionEffect(type, duration, amp, ambient, particles);
++ return new PotionEffect(type, duration, amp, ambient, particles, effect.showIcon()); // Paper
+ }
+
+ public static boolean equals(Holder<MobEffect> mobEffect, PotionEffectType type) {