Files
Purpur/patches/server/0067-Add-canSaveToDisk-to-Entity.patch
William Blake Galbreath 2040a9ac8a Updated Upstream (Paper & Tuinity)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
8fe5611 Fix Player#playerListName nullability annotation (#6089)
8827886 Add back linking to Adventure Javadoc (#6088)
6ea4da4 AbstractSkeleton should extend RangedEntity (#6087)
a831634 add Optimize Light Engine patch (#5863)
56fd1a2 Update to Minecraft 1.17.1 (#6097)
f8d6cbd Deobfuscate stacktraces in sync load info (#6103)

Tuinity Changes:
5065deb Make CollisionContext initialisation lazy
388bdf5 Optimise ActivationRange#activateEntities again
2310a94 Update to 1.17.1
2021-07-07 04:05:03 -05:00

81 lines
4.0 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Tue, 18 Feb 2020 20:07:08 -0600
Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b4d0df32fb9e8357ee87c779ff1228fb4f0009f5..d4f1984fcf965cb5b9bb9f2e10d790286d25c613 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4259,5 +4259,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
public boolean processClick(InteractionHand hand) {
return false;
}
+
+ public boolean canSaveToDisk() {
+ return true;
+ }
// Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 2f33897a74ff2bd629b4ffacc4a1e1e0cd6b7987..4527fdd2c2001767c225574e1610ddfaa7bb4f34 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -192,6 +192,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
// do not hit rider
return target != rider && super.canHitEntity(target);
}
+
+ @Override
+ public boolean canSaveToDisk() {
+ return false;
+ }
};
skull.setPosRaw(headX, headY, headZ);
level.addFreshEntity(skull);
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
index 69ac9ed94b1890f9bd5ba21cdfe31e42529274e1..7ee8272b40d5c1dcd45a948e1a72063c8106ea5f 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
@@ -92,6 +92,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
ListTag listTag = new ListTag();
final java.util.Map<net.minecraft.world.entity.EntityType<?>, Integer> savedEntityCounts = new java.util.HashMap<>(); // Paper
dataList.getEntities().forEach((entity) -> {
+ if (!entity.canSaveToDisk()) return; // Purpur
// Paper start
final EntityType<?> entityType = entity.getType();
final int saveLimit = this.level.paperConfig.entityPerChunkSaveLimits.getOrDefault(entityType, -1);
diff --git a/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java b/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java
index fda24d4ecff91cc28d2a7a45fbb55ea734261153..3cabafb00c293cbbcc60a0cc98479c2d62ddaa2d 100644
--- a/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java
+++ b/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java
@@ -35,6 +35,11 @@ public class DolphinSpit extends LlamaSpit {
dolphin.getZ() + (double) (dolphin.getBbWidth() + 1.0F) * 0.5D * (double) Mth.cos(dolphin.yBodyRot * 0.017453292F));
}
+ @Override
+ public boolean canSaveToDisk() {
+ return false;
+ }
+
public void tick() {
super_tick();
diff --git a/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java b/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java
index 57b59a12f609fda0787d49575724762362ce12af..9a9b7f80859c70fbd1fa66b390ab005cde813d02 100644
--- a/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java
+++ b/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java
@@ -38,6 +38,11 @@ public class PhantomFlames extends LlamaSpit {
phantom.getZ() + (double) (phantom.getBbWidth() + 1.0F) * 0.5D * (double) Mth.cos(phantom.yBodyRot * 0.017453292F));
}
+ @Override
+ public boolean canSaveToDisk() {
+ return false;
+ }
+
public void tick() {
super_tick();