2021-06-13 01:45:00 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Aikar <aikar@aikar.co>
|
|
|
|
Date: Fri, 3 Aug 2018 00:04:54 -0400
|
2022-10-22 16:16:24 +02:00
|
|
|
Subject: [PATCH] Fix NBT type issues
|
2021-06-13 01:45:00 +02:00
|
|
|
|
2022-10-22 16:16:24 +02:00
|
|
|
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
|
2021-06-13 01:45:00 +02:00
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
2023-03-14 19:59:51 +01:00
|
|
|
index 28949deb54e89742541c1a14e8b69bb5b13848a9..2d3994de8e40eedc78c27ea842b6265b1c5ea822 100644
|
2021-06-13 01:45:00 +02:00
|
|
|
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
2022-12-07 20:22:28 +01:00
|
|
|
@@ -287,7 +287,7 @@ public class ExperienceOrb extends Entity {
|
2021-06-13 01:45:00 +02:00
|
|
|
public void addAdditionalSaveData(CompoundTag nbt) {
|
|
|
|
nbt.putShort("Health", (short) this.health);
|
|
|
|
nbt.putShort("Age", (short) this.age);
|
|
|
|
- nbt.putShort("Value", (short) this.value);
|
|
|
|
+ nbt.putInt("Value", this.value); // Paper - save as Integer
|
|
|
|
nbt.putInt("Count", this.count);
|
|
|
|
this.savePaperNBT(nbt); // Paper
|
|
|
|
}
|
2022-12-07 20:22:28 +01:00
|
|
|
@@ -296,7 +296,7 @@ public class ExperienceOrb extends Entity {
|
2021-06-13 01:45:00 +02:00
|
|
|
public void readAdditionalSaveData(CompoundTag nbt) {
|
|
|
|
this.health = nbt.getShort("Health");
|
|
|
|
this.age = nbt.getShort("Age");
|
|
|
|
- this.value = nbt.getShort("Value");
|
|
|
|
+ this.value = nbt.getInt("Value"); // Paper - load as Integer
|
|
|
|
this.count = Math.max(nbt.getInt("Count"), 1);
|
|
|
|
this.loadPaperNBT(nbt); // Paper
|
|
|
|
}
|
2022-10-22 16:16:24 +02:00
|
|
|
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
|
2023-03-14 19:59:51 +01:00
|
|
|
index cc8c99e8f260ffe5c2e3f81f928e15efdece6228..9b57d2b766f2de2d3fb4a3b5ef4df8d6756a1942 100644
|
2022-10-22 16:16:24 +02:00
|
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
|
2023-03-14 19:59:51 +01:00
|
|
|
@@ -516,7 +516,7 @@ public class Allay extends PathfinderMob implements InventoryCarrier {
|
2022-10-22 16:16:24 +02:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
- 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"));
|
|
|
|
}
|
|
|
|
|