mirror of
https://github.com/BX-Team/DivineMC.git
synced 2025-12-20 15:29:15 +00:00
[ci-skip] starting update 1.20.6
This commit is contained in:
45
patches/unapplied/server/0007-Fix-entity-serialization.patch
Normal file
45
patches/unapplied/server/0007-Fix-entity-serialization.patch
Normal file
@@ -0,0 +1,45 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: NONPLAYT <76615486+NONPLAYT@users.noreply.github.com>
|
||||
Date: Fri, 31 Mar 2023 00:39:40 +0300
|
||||
Subject: [PATCH] Fix entity serialization
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index f2c6b52fe7fbb05afa0074684cd195f6ae598f1f..8f948df85246ecbbca2c3c2b99e24f847b7386c6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2356,15 +2356,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
}
|
||||
|
||||
- // Paper start - Entity serialization api
|
||||
- public boolean serializeEntity(CompoundTag compound) {
|
||||
- List<Entity> pass = new java.util.ArrayList<>(this.getPassengers());
|
||||
- this.passengers = ImmutableList.of();
|
||||
- boolean result = save(compound);
|
||||
- this.passengers = ImmutableList.copyOf(pass);
|
||||
- return result;
|
||||
- }
|
||||
- // Paper end - Entity serialization api
|
||||
public boolean save(CompoundTag nbt) {
|
||||
return this.isPassenger() ? false : this.saveAsPassenger(nbt);
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
index e29dc1101c7aa4b7b2a2d2e732e27a1a14a2a234..bdbf2724204cb36de171900c2a8f92097da5102d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
@@ -528,8 +528,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
Preconditions.checkNotNull(entity, "null cannot be serialized");
|
||||
Preconditions.checkArgument(entity instanceof org.bukkit.craftbukkit.entity.CraftEntity, "only CraftEntities can be serialized");
|
||||
|
||||
+ net.minecraft.world.entity.Entity nmsEntity = ((org.bukkit.craftbukkit.entity.CraftEntity) entity).getHandle();
|
||||
CompoundTag compound = new CompoundTag();
|
||||
- ((org.bukkit.craftbukkit.entity.CraftEntity) entity).getHandle().serializeEntity(compound);
|
||||
+ compound.putString("id", net.minecraft.world.entity.EntityType.getKey(nmsEntity.getType()).toString());
|
||||
+ List<net.minecraft.world.entity.Entity> pass = new java.util.ArrayList<>(nmsEntity.getPassengers());
|
||||
+ nmsEntity.passengers = com.google.common.collect.ImmutableList.of();
|
||||
+ nmsEntity.saveWithoutId(compound);
|
||||
+ nmsEntity.passengers = com.google.common.collect.ImmutableList.copyOf(pass);
|
||||
return serializeNbtToBytes(compound);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user