From a163a96a8d3adbfefdfa8a3f7a3e269dedad2e35 Mon Sep 17 00:00:00 2001 From: Noah van der Aa Date: Sat, 22 Oct 2022 16:16:24 +0200 Subject: [PATCH] Load Allay duplication cooldown as a long (#8410) It is saved as a long, and the API exposes a long, so loading it as an int may cause issues like overflows. --- ...rs.patch => 0236-Fix-NBT-type-issues.patch} | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) rename patches/server/{0236-MC-135506-Experience-should-save-as-Integers.patch => 0236-Fix-NBT-type-issues.patch} (58%) diff --git a/patches/server/0236-MC-135506-Experience-should-save-as-Integers.patch b/patches/server/0236-Fix-NBT-type-issues.patch similarity index 58% rename from patches/server/0236-MC-135506-Experience-should-save-as-Integers.patch rename to patches/server/0236-Fix-NBT-type-issues.patch index 009e8580e..b8f7a3afb 100644 --- a/patches/server/0236-MC-135506-Experience-should-save-as-Integers.patch +++ b/patches/server/0236-Fix-NBT-type-issues.patch @@ -1,8 +1,11 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 3 Aug 2018 00:04:54 -0400 -Subject: [PATCH] MC-135506: Experience should save as Integers +Subject: [PATCH] Fix NBT type issues +Addresses two issues: +- MC-135506: Experience should save as Integers +- Allay duplication cooldown is saved and exposed as a long, but loaded as an int diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java index 2fead19c1c4b04f94999887b196ceaee025edd99..2d1228670696224452cb432e0279456d8c5fe710 100644 @@ -26,3 +29,16 @@ index 2fead19c1c4b04f94999887b196ceaee025edd99..2d1228670696224452cb432e0279456d this.count = Math.max(nbt.getInt("Count"), 1); this.loadPaperNBT(nbt); // Paper } +diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java +index 2d87b740e84435ef9bd3eee3d3e2af9f707a0826..1dcd0c494681b7665b6b86dbe20375afd8d2fad8 100644 +--- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java ++++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java +@@ -484,7 +484,7 @@ public class Allay extends PathfinderMob implements InventoryCarrier { + }); + } + +- this.duplicationCooldown = (long) nbt.getInt("DuplicationCooldown"); ++ this.duplicationCooldown = nbt.getLong("DuplicationCooldown"); // Paper - Load as long + this.entityData.set(Allay.DATA_CAN_DUPLICATE, nbt.getBoolean("CanDuplicate")); + } +