merge upstream

This commit is contained in:
Ben Kerllenevich
2022-06-09 07:12:26 -04:00
parent 9ab5b07c78
commit 4b168c7792
41 changed files with 253 additions and 270 deletions

View File

@@ -22,7 +22,7 @@ index 153451ecd5b3c8e8ecb2d5ec91ccd582d4300899..56536c39bccfe097f8227c74a0d16799
super(x, y, z);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 7c7d98d889fe799990b1bb5c416be50719c21194..50cbdd0e38b61a8290d6689d5fb9c7d13285ec34 100644
index 9df1401eb9361df0532b8f5fbfbb46e9923ae558..0d024cf636e0a6fa430fc6f920375e9e353beda3 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1531,6 +1531,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -30,11 +30,11 @@ index 7c7d98d889fe799990b1bb5c416be50719c21194..50cbdd0e38b61a8290d6689d5fb9c7d1
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
+ worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig.disableHopperMoveEvents || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper
this.profiler.push(() -> {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 960b7248228d97547bfc2410d234adab4a548a7b..45764686750f867b3b9dff3af2a6d600ff0a519a 100644
index 50f0fa0ebfe5b34af6ce8162d18bd0f7b1a57fb1..3d209313c594f1f2f9beb5c47894b30f7e0b0fd7 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -217,6 +217,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -46,7 +46,7 @@ index 960b7248228d97547bfc2410d234adab4a548a7b..45764686750f867b3b9dff3af2a6d600
return new Throwable(entity + " Added to world at " + new java.util.Date());
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 54999c41a39e8c5baed67e01be3d28385d9f64b7..347c01f091144f82f6eed996d424400d82634cff 100644
index cfc3645215b18f76514acfdab63718adcdc5d938..7a28ac8d31ed5712e6fb2fbd59c72be5855165fe 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -668,6 +668,15 @@ public class ServerPlayer extends Player {
@@ -66,7 +66,7 @@ index 54999c41a39e8c5baed67e01be3d28385d9f64b7..347c01f091144f82f6eed996d424400d
public void doTick() {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 0f41f7207ab38ed353800cb8cd621e9a93bbbea0..3c237c300af4e6e4fc304ac389baca261af13736 100644
index 12b454e50f65b6bdbbec8b3d149881c2a27c7e34..57e7c37aaa118e1fd4f933f66d10338ece4bb635 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2658,6 +2658,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -79,7 +79,7 @@ index 0f41f7207ab38ed353800cb8cd621e9a93bbbea0..3c237c300af4e6e4fc304ac389baca26
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
ServerGamePacketListenerImpl.this.send(new ClientboundAddEntityPacket(entity));
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2c42e2c39a13372833a4ba9a027e0315b150ab6c..f3c2cec6cef8f372cb56c28f985bce090bca2be0 100644
index 3f8bddf450f3b0382144bac750195c6390dd7495..a964f9a09b9b9d16c72691ee4d7924e0a25b7876 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -356,7 +356,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -194,7 +194,7 @@ index c1e9b40a4a0f9cdc650caa88b5ea132e06ee2496..882ab40c8cdea8c214cb8344b3ccecdd
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 32b0603063032677d734a1c173677f544ce7cc5c..52086efc539b854c159d5166e33b49d933128185 100644
index e8dc99752d06ca40f17f3ad2c829b2447b703d7c..577e7737d234e89a8a0a16bd00b4f2757f8443f8 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -221,9 +221,9 @@ public abstract class LivingEntity extends Entity {
@@ -272,7 +272,7 @@ index 32b0603063032677d734a1c173677f544ce7cc5c..52086efc539b854c159d5166e33b49d9
// Paper end
if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index a55c30d86793bf224b536a7ceefce75c70b618c7..a6217bc88e3a9d302e2ce8d453170017c8cfaf54 100644
index 3646b969fa51b9683ab4137e530c3a6f6fc6c465..c04de0abe8ff2eb9a8ca38912e60520f6b2af0f5 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -146,8 +146,8 @@ public abstract class Mob extends LivingEntity {
@@ -1222,7 +1222,7 @@ index 8f294f10aca2df007830b12da0506f7614206a89..7bb7aaaff1e6e11db68b0f206bdf04fd
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
index 0a239df9a43669047be3d6006597128860862060..467d3b4b750e816f1c9d03114e9514252039bad4 100644
index e73acfa2f5a4066fa1beee1758082a2fe97a43b3..bdd7d46781598fd54e65d9df1efe790579f94c24 100644
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
@@ -69,8 +69,27 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
@@ -2718,7 +2718,7 @@ index 69c6a0c64ef5371dc57da1fdb60a8ac295bf327a..314454b8c0197002c6c2529ffb75724d
this.dragonFight.updateDragon(this);
}
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 d347ab0a638a972ea53a982f29af40423919870c..b09b8d79e837b613e20fdac2a419403f3e0d07d7 100644
index b3e2e834f4f151497bf842796dd8e3a8b5143f1b..b271c8b1aa75df1b9e0d7b011aacacccfe5ea4bc 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
@@ -84,6 +84,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -2885,7 +2885,7 @@ index d347ab0a638a972ea53a982f29af40423919870c..b09b8d79e837b613e20fdac2a419403f
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
index e5bb1baa22db202a6d17ef639bc4940ed1605337..4188d8b564999ba3befa53e78f103a6d2777845f 100644
index b8abee145fc92faddef98da913eca7715b6bfc03..8cc4f6a4e8ef66c4e799a0e5bdb4ddc5466007e6 100644
--- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
@@ -69,12 +69,14 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
@@ -3016,7 +3016,7 @@ index d980b906d9206560741576fa4153c57212f307a0..790d4abbc8e0b288e20e72e63f8190e9
public boolean doHurtTarget(Entity target) {
if (super.doHurtTarget(target)) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index f9193f8cd3b0d0e689a523c7142a897c342c2931..1476372a78092b103c037028f08cb1eae9464706 100644
index 8c328d72c42ccaa6891249cc700b70bb34c09545..a5250d7a85f11c58732d7e3d3ca3321efac42fc0 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -60,21 +60,98 @@ public class Creeper extends Monster implements PowerableMob {
@@ -3683,7 +3683,7 @@ index ea4fa9eba301e462c159cdb970079f6d87d25f4d..3a2261687ec8b3b1f69b89ceeb2cc8cc
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index b55640ed068becd40cbb7d7507b4e67ae9ee792a..79c2f0482a7adbd50e1063edf2839f4fb3ab0847 100644
index cb81c5d37c72845133c4e59acaf8de56dcc9e62a..a8565816836e5ab55086a6024dc47df277cd7277 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -60,6 +60,64 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -4028,7 +4028,7 @@ index 3a3f3358c4bbd16bdcadc56c6a865ecfb942ad54..e73644f453bed8523bfad47764018362
protected void defineSynchedData() {
super.defineSynchedData();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
index 0c5ca7fabb7dc95587bae72d714d4712bdf0cc40..14be612dbef97f26f7a0bb145452e44e9d50edb5 100644
index ae95867efd21280d81180f2c4ac27fd6c94d868f..e84a23c52a53095a077ed21bf4d1ddbad303442d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
@@ -64,18 +64,55 @@ public class Slime extends Mob implements Enemy {
@@ -4157,7 +4157,7 @@ index 0c5ca7fabb7dc95587bae72d714d4712bdf0cc40..14be612dbef97f26f7a0bb145452e44e
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
index 694643c8ee7447da01ae02ca242338dbdbb3412a..2a0821c288dd07d7a87f5df91d04d739030fa3c5 100644
index c3085ad5410b41d9c7703b28ca835dbee3f49ee7..7e0e7d3247010c0008df355a5b44db9f55287fe6 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
@@ -51,14 +51,33 @@ public class Spider extends Monster {
@@ -4379,7 +4379,7 @@ index 78b1fb5e163cbe6b95ab39aa3b1b33da95c62cee..9bc60081a1d3f63f3b452ee5a8c8ae32
Vec3 vec3d1 = Vex.this.getDeltaMovement();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
index 8914a0e2aab28fe2198f8e117f206abffae8b7d0..5f550e683b61ef3312f4500e43d6723fcbdef214 100644
index a9e75a16a7dc0ff5d4f0faa92ebc444559a39325..c0421de54b2d192d67c54cef359f6b12d2d013c1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -58,14 +58,33 @@ public class Vindicator extends AbstractIllager {
@@ -4458,7 +4458,7 @@ index f9eb4a3a37454de78c65f895a82e67a854b6909b..7775f1428a455f0d52f43ed07102cb24
this.targetSelector.addGoal(2, this.healRaidersGoal);
this.targetSelector.addGoal(3, this.attackPlayersGoal);
diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
index c65319caa4bf95bd1d3bc41811b9cd401cc5c705..7259a56007ac0af079a4794952f69bf2706841c8 100644
index 6449213d717271bcc516e393a78dfe1e5c762d68..3b272b5653c6e7672f16eb35314c689910c14250 100644
--- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
@@ -35,6 +35,23 @@ public class WitherSkeleton extends AbstractSkeleton {
@@ -4545,10 +4545,10 @@ index 056e4c2f7f632dadc0015710c032a0b718d46ff9..a6aaffc41a39be4ae1da44d54a27d324
this.level.getProfiler().pop();
this.updateActivity();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 7b01bd1409dcb64c097badbbd73110d40e712751..87676587c71306f38e25d0f9548132526a7e481f 100644
index 97b3082dc020043fa38d9e5e4591102f97519ed3..be664e96a63bf6042375654e8297e4d6a54c7c8b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -104,11 +104,30 @@ public class Zombie extends Monster {
@@ -105,11 +105,30 @@ public class Zombie extends Monster {
this(EntityType.ZOMBIE, world);
}
@@ -4572,7 +4572,7 @@ index 7b01bd1409dcb64c097badbbd73110d40e712751..87676587c71306f38e25d0f954813252
@Override
protected void registerGoals() {
+ this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
if (level.paperConfig.zombiesTargetTurtleEggs) this.goalSelector.addGoal(4, new Zombie.ZombieAttackTurtleEggGoal(this, 1.0D, 3)); // Paper
if (level.paperConfig().entities.behavior.zombiesTargetTurtleEggs) this.goalSelector.addGoal(4, new Zombie.ZombieAttackTurtleEggGoal(this, 1.0D, 3)); // Paper
this.goalSelector.addGoal(8, new LookAtPlayerGoal(this, Player.class, 8.0F));
this.goalSelector.addGoal(8, new RandomLookAroundGoal(this));
+ this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
@@ -4753,7 +4753,7 @@ index ac75c54e897565e340b66823caeed92ba1d1641a..ff149234a8f3e1c94961e41d5bc81174
this.level.getProfiler().pop();
PiglinBruteAi.updateActivity(this);
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 98debcec829ddaa9d37b7e9cc1f42dfd9123393c..75fbf7f29e1cb90f87a4ba074f4ce256c810a3f8 100644
index 10b45ec24a5a0867106d1694312385ad1e267f43..850bfb8d08281c91ae8e17b4db38ffdaae2dbf96 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -153,6 +153,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -4853,7 +4853,7 @@ index 86e1ba898d6b92735258419fa74352e5116226dc..2ae9a5da91ad20f1b566a686dcc8d4f1
this.setTradingPlayer(player);
this.openTradingScreen(player, this.getDisplayName(), 1);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 2987d675af3b778d20be66e2ac2cddf6b4957d1d..4a04249441959340ad5f3a1879edd21208c7a9dc 100644
index cd9cbfa5ef94994b3f7f2ecdde843620e7e6c071..02cf1fdc58c33431a070a970add325eb7a278974 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -197,6 +197,19 @@ public abstract class Player extends LivingEntity {
@@ -4926,7 +4926,7 @@ index 5b92c2ca03baed38f7d41a73fae7dd23ce541d43..3cc9dab362141fdf61bdcd542ffa5e5c
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index ceacb62aef0dd0f73f1542a1898ceb62c3f4c367..97108c2317a38e11d45fdbef448dca5cb3ddad1c 100644
index 389bf0d695dccb1d2547d61d62be97376e2505f9..25ba267fb0bdfc2e74471593574f56d542178234 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -543,6 +543,15 @@ public class CraftEventFactory {