Files
Purpur/patches/server/0067-Add-canSaveToDisk-to-Entity.patch
granny 8ea46a7e26 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@a3dfe6d Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6722)
PaperMC/Paper@fdd5c65 Fix CraftCriteria defaults map (#6723)
PaperMC/Paper@d54e8c5 Support components in command permission msgs (#6676)
PaperMC/Paper@e155002 Fix EntityPortalExitEvent not being called (#5617)
PaperMC/Paper@e4d8c47 Update adventure and fix command perm serialization NPE (#6729)
PaperMC/Paper@0cdeeef Remove unnecessary Velocity repo from server (#6730)
PaperMC/Paper@a419941 Add download link to the /version command (#6482)
PaperMC/Paper@8e661c6 Deprecate API methods added by 'Close Plugin Class Loaders on Disable' (#6737)
PaperMC/Paper@7991c4b Fix upstream block state factories (#6738)
PaperMC/Paper@bfe5622 Fix EntityPortalExitEvent target location
PaperMC/Paper@3391ccf Discard out of bounds chunks during regionfile header recalculation
PaperMC/Paper@cf4af9f Add config setting for logging player ip addresses. (#6342)
PaperMC/Paper@6dfc0f5 Add getChangedBlockData() property to BlockPhysicsEvent to expose BlockData (#6743)
PaperMC/Paper@0d1e187 Fix kicking ops when whitelist is reloaded (MC-171420) (#6742)
PaperMC/Paper@975f2e5 Filter ip address on join if setting is true (#6748)
2021-10-08 01:57:27 -07:00

81 lines
3.9 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 0d9a161e4e9e497104ebea60d89dbc702afe6fe0..160f08cc4cae0fbc7914e1589888a3fceb423b0a 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4384,5 +4384,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 8a4440f766ea39857c1f1ededeed18313e0f38cb..43de1fa753e54ae09d43a9aef8dda22c27c67b81 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 916f93b097a65f95e830fe5e1567c85d304f808f..0ec5522e0233877792cb85e170a0d58883789d5d 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
@@ -109,6 +109,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
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 b196bee2ea6e67897b367d2be1800f16a89a6167..d8a9f3296c46f12e156f1611811cb55470703b03 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();