Updated Upstream (Paper, Tuinity, & Airplane)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
bca97a8f7 replace spaces in world key (touches #5397)
de94f6485 Refactor chat message composition (#5396)
e27f334bb [CI-SKIP] Fix makemcdevsrc.sh for nms relocations (#5389)
ae15e85da Updated Upstream (CraftBukkit)
26fe0ac5a Only set despawnTimer for Wandering Traders spawned by MobSpawnerTrader (#5391)
b748eb7b8 Fix VanillaMobGoalTest#testBukkitMap (#5390)
18dbbb578 [Auto] Updated Upstream (CraftBukkit)
fac9cc5d5 [CI-SKIP] Ignore .gitignore
087aa70e7 Deprecate ItemStack#setLore(List<String>) and ItemStack#getLore, add Component based alternatives
9889c651c apply fixup
c310f0a61 Updated Upstream (Bukkit/CraftBukkit)
f17560ab0 wtf is this t file -jmp
347f3a9b8 fix compile
700e9e6a5 rebase
cf4dc464a Revert de5f4e469...c270abe96
6870db613 script & POM fix
743c6533c Replace ** with * (BSD/macOS)
376d7b097 Don't remove the .java
fcb3fd42a Fix macOS/BSD support
8cfc05249 Link correctly
ba1031ca7 Rename work dir
c8d844ab7 Actually fix preloading this time
e62aa5e3e Fix class preloading
1c03cf898 It's mojang math, not minecraft math
1034873df Apply fixups
39b125771 Use revision file
956150da7 Welcome to 1.16.5-R0.2
ccb217c01 Change cache keys
0d217001c more work
f6d820f07 It compiles
0f78e9525 More work
1718f61bf Updated Upstream (CraftBukkit/Spigot)
b28d46114 Update scripts for NMS repackaging

Tuinity Changes:
9bdcb9b8e Delete work dir when running jar
6351d7ca7 Update Upstream (Paper)
932c199a6 Generate md-dev correctly
bf3e73778 Make packet limiter work from IDE
1686f3861 Fix packet limiter config
f40f7b425 Update README.md styling (#264)
da1c3ace5 GH Actions Changes (#213)
5f325ecf1 Update Upstream (Paper)
0f83fe48d Update Upstream (Paper)

Airplane Changes:
f94d39947 Merge pull request #18 from notOM3GA/upstream/nms-repackage
0fc622631 Force build for Flare update
08439d6a9 Update Upstream (Tuinity)
This commit is contained in:
BillyGalbreath
2021-03-21 21:35:08 -05:00
parent 5bf86159f2
commit 1362f49b24
195 changed files with 17670 additions and 16826 deletions

View File

@@ -4,11 +4,61 @@ Date: Sat, 22 Feb 2020 15:54:08 -0600
Subject: [PATCH] Item entity immunities
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index e93d028a3908aa4d0c1daf7929acc2a426bbb0df..3ba980830d6ecab81aa4c07f4804e1c30c7a12d6 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1488,6 +1488,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
diff --git a/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java
index 3a66a34db2b8ac612431131cea80e57ee72de05f..70a1ff235690a5990f94bd9cf97d670b2f4c2aea 100644
--- a/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java
@@ -31,6 +31,7 @@ import net.minecraft.world.entity.EntityLiving;
import net.minecraft.world.entity.EnumItemSlot;
import net.minecraft.world.entity.ai.attributes.AttributeModifiable;
import net.minecraft.world.entity.decoration.EntityItemFrame;
+import net.minecraft.world.entity.item.EntityItem;
import net.minecraft.world.entity.player.EntityHuman;
import net.minecraft.world.entity.projectile.EntityArrow;
import net.minecraft.world.item.ItemStack;
@@ -67,7 +68,7 @@ public class EntityTrackerEntry {
private boolean q;
private boolean r;
// CraftBukkit start
- final Set<EntityPlayer> trackedPlayers; // Paper - private -> package
+ public final Set<EntityPlayer> trackedPlayers; // Paper - private -> public
// Paper start
private java.util.Map<EntityPlayer, Boolean> trackedPlayerMap = null;
@@ -143,6 +144,15 @@ public class EntityTrackerEntry {
this.c();
}
+ // Purpur start - respawn burning item entities on client (client kills them)
+ if (tracker.fireTicks > 0 && tracker instanceof EntityItem) {
+ EntityItem item = (EntityItem) tracker;
+ if (item.immuneToFire && !item.dead) {
+ item.respawnOnClient();
+ }
+ }
+ // Purpur end
+
if (this.tickCounter % this.d == 0 || this.tracker.impulse || this.tracker.getDataWatcher().a()) {
int i;
int j;
diff --git a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
index c9d6ddd8874195c07b3573c6b1f61ffdcff2dddd..4f11a19137531a0406a5214cd0cce0bea06d0088 100644
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
@@ -2487,7 +2487,7 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
public class EntityTracker {
- final EntityTrackerEntry trackerEntry; // Paper - private -> package private
+ public final EntityTrackerEntry trackerEntry; // Paper - private -> public
public final Entity tracker; // Airplane - public for chunk
private final int trackingDistance;
private SectionPosition e;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b114d12d9d17071fb96f5ab225b85cdd5ad06861..7f897bebdc1fe2b7ce9528db9a7dd0fc0cf6c008 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1580,6 +1580,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
}
@@ -16,11 +66,24 @@ index e93d028a3908aa4d0c1daf7929acc2a426bbb0df..3ba980830d6ecab81aa4c07f4804e1c3
public boolean a(Tag<FluidType> tag) {
return this.O == tag;
}
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index 9a8b7e06f14f17dfea08d7031c83f77491aaca65..c25dce9a75b0e79f9b59f31892d863f46e2565e9 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -24,6 +24,9 @@ public class EntityItem extends Entity {
diff --git a/src/main/java/net/minecraft/world/entity/item/EntityItem.java b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
index 5dc3670f35b04d933e96c4b42aa9fbcf941e69c7..3b84039a76843a0784e2d71bb66dc322450c2cab 100644
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
@@ -10,10 +10,12 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.chat.ChatMessage;
import net.minecraft.network.chat.IChatBaseComponent;
import net.minecraft.network.protocol.Packet;
+import net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata;
import net.minecraft.network.protocol.game.PacketPlayOutSpawnEntity;
import net.minecraft.network.syncher.DataWatcher;
import net.minecraft.network.syncher.DataWatcherObject;
import net.minecraft.network.syncher.DataWatcherRegistry;
+import net.minecraft.server.level.EntityPlayer;
import net.minecraft.server.level.WorldServer;
import net.minecraft.sounds.SoundEffects;
import net.minecraft.stats.StatisticList;
@@ -50,6 +52,9 @@ public class EntityItem extends Entity {
public final float b;
private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit
public boolean canMobPickup = true; // Paper
@@ -30,7 +93,7 @@ index 9a8b7e06f14f17dfea08d7031c83f77491aaca65..c25dce9a75b0e79f9b59f31892d863f4
public EntityItem(EntityTypes<? extends EntityItem> entitytypes, World world) {
super(entitytypes, world);
@@ -275,6 +278,16 @@ public class EntityItem extends Entity {
@@ -301,6 +306,16 @@ public class EntityItem extends Entity {
return false;
} else if (!this.getItemStack().getItem().a(damagesource)) {
return false;
@@ -47,7 +110,7 @@ index 9a8b7e06f14f17dfea08d7031c83f77491aaca65..c25dce9a75b0e79f9b59f31892d863f4
} else {
// CraftBukkit start
if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, damagesource, f)) {
@@ -455,6 +468,9 @@ public class EntityItem extends Entity {
@@ -481,6 +496,9 @@ public class EntityItem extends Entity {
com.google.common.base.Preconditions.checkArgument(!itemstack.isEmpty(), "Cannot drop air"); // CraftBukkit
this.getDataWatcher().set(EntityItem.ITEM, itemstack);
this.getDataWatcher().markDirty(EntityItem.ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty
@@ -57,7 +120,7 @@ index 9a8b7e06f14f17dfea08d7031c83f77491aaca65..c25dce9a75b0e79f9b59f31892d863f4
}
@Override
@@ -536,4 +552,15 @@ public class EntityItem extends Entity {
@@ -562,4 +580,15 @@ public class EntityItem extends Entity {
super.setPositionRaw(x, y, z);
}
// Paper end - fix MC-4
@@ -73,28 +136,8 @@ index 9a8b7e06f14f17dfea08d7031c83f77491aaca65..c25dce9a75b0e79f9b59f31892d863f4
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index 9f6d767ce8139999032d4c51221da743c694cb09..63bcd1b61d0485b064d619ddfa0e201034087772 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -114,6 +114,15 @@ public class EntityTrackerEntry {
this.c();
}
+ // Purpur start - respawn burning item entities on client (client kills them)
+ if (tracker.fireTicks > 0 && tracker instanceof EntityItem) {
+ EntityItem item = (EntityItem) tracker;
+ if (item.immuneToFire && !item.dead) {
+ item.respawnOnClient();
+ }
+ }
+ // Purpur end
+
if (this.tickCounter % this.d == 0 || this.tracker.impulse || this.tracker.getDataWatcher().a()) {
int i;
int j;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ef977c50ab987f0762e1f9efd8ac6f559c38aaef..1e38e2e87ad30a908d9cf8d1455bb9250e281e55 100644
index 7f6b028f32af113e5898a0f2f39e0ec6c4e4dd11..54ec01c01026f14f1f91aad2639109af853e10e4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -101,6 +101,39 @@ public class PurpurWorldConfig {
@@ -138,7 +181,7 @@ index ef977c50ab987f0762e1f9efd8ac6f559c38aaef..1e38e2e87ad30a908d9cf8d1455bb925
public boolean idleTimeoutTickNearbyEntities = true;
public boolean idleTimeoutCountAsSleeping = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
index bcbaad11852a51436a00c8e172bdd841ba93ec3c..8c0b618ac66688f1fef42ae292745c2844aa12df 100644
index 7a78ef2f6f673568c0528fa46168c69d21f51a66..0418291a69216081353c05c99d11dcd913b6b8cb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -114,4 +114,36 @@ public class CraftItem extends CraftEntity implements Item {