From 95510fad1025bc6eee1933ce4d4a42f55fd9c14a Mon Sep 17 00:00:00 2001 From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> Date: Thu, 17 Jun 2021 03:26:16 -0700 Subject: [PATCH] Update "Add canSaveToDisk to Entity" --- .../0067-Add-canSaveToDisk-to-Entity.patch | 36 ------------------- .../0067-Add-canSaveToDisk-to-Entity.patch | 32 +++++++++++++++++ ...spenser-curse-of-binding-protection.patch} | 4 +-- ...-for-boats-to-eject-players-on-land.patch} | 2 +- ...-mends-most-damages-equipment-first.patch} | 4 +-- ...071-Add-5-second-tps-average-in-tps.patch} | 2 +- ...h => 0072-Implement-elytra-settings.patch} | 4 +-- ...atch => 0073-Item-entity-immunities.patch} | 6 ++-- ...mand.patch => 0074-Add-ping-command.patch} | 0 ...=> 0075-Configurable-jockey-options.patch} | 0 10 files changed, 43 insertions(+), 47 deletions(-) delete mode 100644 patches/removed/1.17/0067-Add-canSaveToDisk-to-Entity.patch create mode 100644 patches/server/0067-Add-canSaveToDisk-to-Entity.patch rename patches/server/{0067-Dispenser-curse-of-binding-protection.patch => 0068-Dispenser-curse-of-binding-protection.patch} (94%) rename patches/server/{0068-Add-option-for-boats-to-eject-players-on-land.patch => 0069-Add-option-for-boats-to-eject-players-on-land.patch} (95%) rename patches/server/{0069-Mending-mends-most-damages-equipment-first.patch => 0070-Mending-mends-most-damages-equipment-first.patch} (96%) rename patches/server/{0070-Add-5-second-tps-average-in-tps.patch => 0071-Add-5-second-tps-average-in-tps.patch} (98%) rename patches/server/{0071-Implement-elytra-settings.patch => 0072-Implement-elytra-settings.patch} (97%) rename patches/server/{0072-Item-entity-immunities.patch => 0073-Item-entity-immunities.patch} (96%) rename patches/server/{0073-Add-ping-command.patch => 0074-Add-ping-command.patch} (100%) rename patches/server/{0074-Configurable-jockey-options.patch => 0075-Configurable-jockey-options.patch} (100%) diff --git a/patches/removed/1.17/0067-Add-canSaveToDisk-to-Entity.patch b/patches/removed/1.17/0067-Add-canSaveToDisk-to-Entity.patch deleted file mode 100644 index 5aa524a71..000000000 --- a/patches/removed/1.17/0067-Add-canSaveToDisk-to-Entity.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: William Blake Galbreath -Date: Tue, 18 Feb 2020 20:07:08 -0600 -Subject: [PATCH] Add canSaveToDisk to Entity - -1.17: major stuff was changed around this area - -diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5a235642c702e6a0c1971d060b5e5a41ad277b65..0bb2b362f257801d3ec8d232f2970d88b32f2748 100644 ---- a/src/main/java/net/minecraft/world/entity/Entity.java -+++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -388,6 +388,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne - this.headHeight = this.getHeadHeight(EntityPose.STANDING, this.size); - } - -+ // Purpur start -+ public boolean canSaveToDisk() { -+ return true; -+ } -+ // Purpur end -+ - public boolean isSpectator() { - return false; - } -diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java -index 4eaf497d048324a85ce49fc1c6e9559991c20df7..4eb89daf27621a212d12d410aa819e2453708922 100644 ---- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java -+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java -@@ -546,6 +546,7 @@ public class ChunkRegionLoader { - - while (iterator1.hasNext()) { - Entity entity = (Entity) iterator1.next(); -+ if (!entity.canSaveToDisk()) continue; // Purpur - final EntityTypes entityType = entity.getEntityType(); - final int saveLimit = worldserver.paperConfig.entityPerChunkSaveLimits.getOrDefault(entityType, -1); - if (saveLimit > -1) { diff --git a/patches/server/0067-Add-canSaveToDisk-to-Entity.patch b/patches/server/0067-Add-canSaveToDisk-to-Entity.patch new file mode 100644 index 000000000..87ff8421c --- /dev/null +++ b/patches/server/0067-Add-canSaveToDisk-to-Entity.patch @@ -0,0 +1,32 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +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 0ca18754b27b8e9dfab9ebf20d1677c66482fb17..3eebc432befec2223e487a6bd48f30d2160feb0a 100644 +--- a/src/main/java/net/minecraft/world/entity/Entity.java ++++ b/src/main/java/net/minecraft/world/entity/Entity.java +@@ -4058,5 +4058,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/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java +index 6204c6c9cf2cb620e41105889807f85438bd006c..29f1ae2df9bd792e7d77479432ae48b0d070586b 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 +@@ -90,6 +90,7 @@ public class EntityStorage implements EntityPersistentStorage { + } else { + ListTag listTag = new ListTag(); + dataList.getEntities().forEach((entity) -> { ++ if (!entity.canSaveToDisk()) return; // Purpur + CompoundTag compoundTag = new CompoundTag(); + if (entity.save(compoundTag)) { + listTag.add(compoundTag); diff --git a/patches/server/0067-Dispenser-curse-of-binding-protection.patch b/patches/server/0068-Dispenser-curse-of-binding-protection.patch similarity index 94% rename from patches/server/0067-Dispenser-curse-of-binding-protection.patch rename to patches/server/0068-Dispenser-curse-of-binding-protection.patch index 2566e1c57..7b1f24046 100644 --- a/patches/server/0067-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0068-Dispenser-curse-of-binding-protection.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 0cbc90a8c1277a0f35e6636ca73b134b22544db3..5ca7c4f73a05c3d2f4859e2abc3404bb71a6a8ac 100644 +index 3348c6b27d2a39f66dbaf3f2920160d9d56705aa..2dc71a7d387a4b96c7ad27e0329aed8f3b25135e 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -63,6 +63,7 @@ import net.minecraft.world.item.ProjectileWeaponItem; @@ -43,7 +43,7 @@ index aab4a63e61aced51b1b6c885fd8b8426a4f14408..ad095c6bc7e00d286c83e37f84d8ed5d // CraftBukkit start Level world = pointer.getLevel(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 669c03fb31ece7c79100c9c85086b021eaaa0508..313db66e32607b40613ba8d2088cad6710cebf0e 100644 +index 2a495257c825e8f3bed2483e3c5dddabf7cc209b..814392519212aeea11cc1613df58e44962ad0f68 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -198,6 +198,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0068-Add-option-for-boats-to-eject-players-on-land.patch b/patches/server/0069-Add-option-for-boats-to-eject-players-on-land.patch similarity index 95% rename from patches/server/0068-Add-option-for-boats-to-eject-players-on-land.patch rename to patches/server/0069-Add-option-for-boats-to-eject-players-on-land.patch index d53eb2b14..39a57b73a 100644 --- a/patches/server/0068-Add-option-for-boats-to-eject-players-on-land.patch +++ b/patches/server/0069-Add-option-for-boats-to-eject-players-on-land.patch @@ -17,7 +17,7 @@ index aa7c022c4faade23bd9061311d4152cf845d3331..d4a19fc38027717e43353bc62ef23e56 } else { return Boat.Status.IN_AIR; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 313db66e32607b40613ba8d2088cad6710cebf0e..db1b55015b3515ff5c54c07f5fa4f526b5179c1a 100644 +index 814392519212aeea11cc1613df58e44962ad0f68..3e80ae254f7ac14046f02ae63cd6f6819fe0f93e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -73,6 +73,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0069-Mending-mends-most-damages-equipment-first.patch b/patches/server/0070-Mending-mends-most-damages-equipment-first.patch similarity index 96% rename from patches/server/0069-Mending-mends-most-damages-equipment-first.patch rename to patches/server/0070-Mending-mends-most-damages-equipment-first.patch index 87e158a45..3cab4c141 100644 --- a/patches/server/0069-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0070-Mending-mends-most-damages-equipment-first.patch @@ -18,7 +18,7 @@ index a30f9d57257e1de1641f4af1fa7afaea3f0fd37c..5fffe07176ece547a0224aefbf7660a3 if (entry != null) { ItemStack itemstack = (ItemStack) entry.getValue(); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 2c73eec83af8bbf7f1dba08315542c94f81512a6..324ec7f0284c68ee5f667f587b72a6dacc6eaad3 100644 +index f85e9fb13ddeb5c3260592e3cdfe958a14bd63f6..70d0fcd323f1ab54dec770eb6aee394ae356b67d 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -511,6 +511,16 @@ public final class ItemStack { @@ -73,7 +73,7 @@ index 069ce59faab5184ab9da8ca3fe1cebf7449cd7fe..b391b6f457b9a2df9d59eac46473576b Entry entry = getRandomItemWith(enchantment, entityliving); return entry != null ? entry.getValue() : ItemStack.EMPTY; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index db1b55015b3515ff5c54c07f5fa4f526b5179c1a..f6ed942db08ecbcc67a70491b854c703978c63c0 100644 +index 3e80ae254f7ac14046f02ae63cd6f6819fe0f93e..c8eee7769fb33c1fb69699744cc31314c7de8e27 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -73,6 +73,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0070-Add-5-second-tps-average-in-tps.patch b/patches/server/0071-Add-5-second-tps-average-in-tps.patch similarity index 98% rename from patches/server/0070-Add-5-second-tps-average-in-tps.patch rename to patches/server/0071-Add-5-second-tps-average-in-tps.patch index f8d8bd4ba..da66cdb7a 100644 --- a/patches/server/0070-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0071-Add-5-second-tps-average-in-tps.patch @@ -27,7 +27,7 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216 setListData(vector); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 98b7ccbd1ee4d14fde0cdea2c08c432709fa6e56..e294de7b7e0753bde5a1439ecafdb5abc2ceeea4 100644 +index 8e8980ef7b2273da6e7dbf4d8d5eb9529a3392af..3b523e53b0224bb9b727b22753ea39c34d1e515d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -306,7 +306,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop