aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0752-properly-read-and-store-sus-effect-duration.patch
blob: 20754fe9a1a412b33e9ce0ce8bf4929471d85ce4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Mon, 18 Dec 2023 20:05:50 -0800
Subject: [PATCH] properly read and store sus effect duration


diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSuspiciousStew.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSuspiciousStew.java
index df1df2ad759622b5b1355fae322cbc0333c932fb..adb804f6f81f35ceeb1dc36157c70267136a1e81 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSuspiciousStew.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSuspiciousStew.java
@@ -49,7 +49,14 @@ public class CraftMetaSuspiciousStew extends CraftMetaItem implements Suspicious
                 if (type == null) {
                     continue;
                 }
-                int duration = effect.getInt(CraftMetaSuspiciousStew.DURATION.NBT);
+                // Paper start - default duration is 160
+                final int duration;
+                if (effect.contains(CraftMetaSuspiciousStew.DURATION.NBT)) {
+                    duration = effect.getInt(CraftMetaSuspiciousStew.DURATION.NBT);
+                } else {
+                    duration = net.minecraft.world.item.SuspiciousStewItem.DEFAULT_DURATION;
+                }
+                // Paper end start - default duration is 160
                 this.customEffects.add(new PotionEffect(type, duration, 0));
             }
         }
@@ -80,7 +87,7 @@ public class CraftMetaSuspiciousStew extends CraftMetaItem implements Suspicious
             for (PotionEffect effect : this.customEffects) {
                 CompoundTag effectData = new CompoundTag();
                 effectData.putString(CraftMetaSuspiciousStew.ID.NBT, effect.getType().getKey().toString());
-                effectData.putInt(CraftMetaSuspiciousStew.DURATION.NBT, effect.getDuration());
+                if (effect.getDuration() != net.minecraft.world.item.SuspiciousStewItem.DEFAULT_DURATION) effectData.putInt(CraftMetaSuspiciousStew.DURATION.NBT, effect.getDuration()); // Paper - don't save duration if it's the default value
                 effectList.add(effectData);
             }
         }