Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@18f0f8d Updated Upstream (Bukkit/CraftBukkit/Spigot)
PaperMC/Paper@5928327 Remove unneeded patch (#7806)
PaperMC/Paper@9fd870d Fix cancelling PlayerItemFrameChangeEvent (#7761)
PaperMC/Paper@8d1de8d deprecate old MaterialData api (#7585)
PaperMC/Paper@0116751 List world on tile entity placement exception (#7709)
PaperMC/Paper@73bd35d Updated Upstream (Bukkit/CraftBukkit)
PaperMC/Paper@7045f18 Change link to screamingsandals
This commit is contained in:
Encode42
2022-05-18 12:06:06 -04:00
parent 259a9eec4a
commit 9e37478326
26 changed files with 131 additions and 137 deletions

View File

@@ -46,7 +46,7 @@ index 93c1f9e3e9d62cc993fedb93fe43cbeed7d39542..8066a3372d21823357942771adc0b476
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 c2507dead89ea66ea8d2bf9081cbe30b7c4eb7dc..0b4ed7eb6fec1774a6147e48ecc437898578b7b9 100644
index 23ef3a12dcd184edeaad3f939d2a9cbffa7fd35e..923a0afad1b2b14941c94332b373a704c32160a8 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -661,6 +661,15 @@ public class ServerPlayer extends Player {
@@ -66,7 +66,7 @@ index c2507dead89ea66ea8d2bf9081cbe30b7c4eb7dc..0b4ed7eb6fec1774a6147e48ecc43789
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 590099657a83bb0bbeeb3273040672486eaec8a4..a2c349175ddcbec725073d746f55fc7f3d83216f 100644
index add383d9a2b460f48c2d822d4907bb5a12743611..5a8eabd6d7d3457f2b6602f2535747d7d2c54d52 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2475,6 +2475,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -79,7 +79,7 @@ index 590099657a83bb0bbeeb3273040672486eaec8a4..a2c349175ddcbec725073d746f55fc7f
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 ClientboundAddMobPacket((LivingEntity) entity));
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index de9d25ff83818ae0943fd0ed59512bef073a61a2..62fee036e91c77f77fece4a0028f95a111fe3382 100644
index bc46286007e5a6dd691dd51ec43f99fe5c974db8..b2f4428cb8af9fc2168e326acf046b6d68f2a597 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -300,7 +300,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -91,7 +91,7 @@ index de9d25ff83818ae0943fd0ed59512bef073a61a2..62fee036e91c77f77fece4a0028f95a1
private float eyeHeight;
public boolean isInPowderSnow;
public boolean wasInPowderSnow;
@@ -2672,6 +2672,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -2666,6 +2666,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.passengers = ImmutableList.copyOf(list);
}
@@ -104,7 +104,7 @@ index de9d25ff83818ae0943fd0ed59512bef073a61a2..62fee036e91c77f77fece4a0028f95a1
}
return true; // CraftBukkit
}
@@ -2712,6 +2718,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -2706,6 +2712,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return false;
}
// Spigot end
@@ -119,7 +119,7 @@ index de9d25ff83818ae0943fd0ed59512bef073a61a2..62fee036e91c77f77fece4a0028f95a1
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
this.passengers = ImmutableList.of();
} else {
@@ -4440,4 +4454,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -4434,4 +4448,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
}
// Paper end
@@ -272,7 +272,7 @@ index 2fe2307a10cb2e4e2b055cbe615b3750bf8fd310..a8e87b39094756edd111ed321ed6a272
// 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 d7a0fb4727e263932846a67c584da2c8d6d4e275..53c1be16f8efaff4cd66b3c558389bdafcd2ddb0 100644
index 8ee0a80e3427ecef9fa15b7388a8287e26a25fd6..f72b0defbc25ec8efc7346e56a6d1e68aac5a902 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -141,8 +141,8 @@ public abstract class Mob extends LivingEntity {
@@ -286,7 +286,7 @@ index d7a0fb4727e263932846a67c584da2c8d6d4e275..53c1be16f8efaff4cd66b3c558389bda
this.jumpControl = new JumpControl(this);
this.bodyRotationControl = this.createBodyControl();
this.navigation = this.createNavigation(world);
@@ -1310,7 +1310,7 @@ public abstract class Mob extends LivingEntity {
@@ -1309,7 +1309,7 @@ public abstract class Mob extends LivingEntity {
protected void onOffspringSpawnedFromEgg(Player player, Mob child) {}
protected InteractionResult mobInteract(Player player, InteractionHand hand) {
@@ -295,7 +295,7 @@ index d7a0fb4727e263932846a67c584da2c8d6d4e275..53c1be16f8efaff4cd66b3c558389bda
}
public boolean isWithinRestriction() {
@@ -1671,4 +1671,52 @@ public abstract class Mob extends LivingEntity {
@@ -1670,4 +1670,52 @@ public abstract class Mob extends LivingEntity {
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
}
@@ -629,25 +629,19 @@ index f11eb6df9f095109378caaf0fd16575bfb2e4976..ca053df9d4d9120c7bd926b3d2d511b7
BlockPos blockposition = this.blockPosition();
BlockPos blockposition1 = blockposition.above();
diff --git a/src/main/java/net/minecraft/world/entity/animal/AbstractFish.java b/src/main/java/net/minecraft/world/entity/animal/AbstractFish.java
index 3484defdfd5a487b11917310d7b1d1543291eee1..2ae0296b0a2e9585caf81b819742a0a8c1312545 100644
index 1f85f34c1e50f34fb270d2fac7d307c82a550bfa..324f52edd95b5f9a498e46def8c14435cfd00abb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/AbstractFish.java
+++ b/src/main/java/net/minecraft/world/entity/animal/AbstractFish.java
@@ -99,12 +99,9 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable {
@@ -94,7 +94,7 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable {
@Override
protected void registerGoals() {
super.registerGoals();
- this.goalSelector.addGoal(0, new PanicGoal(this, 1.25D));
+ this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(0, new PanicGoal(this, 1.25D));
- GoalSelector pathfindergoalselector = this.goalSelector;
- Predicate predicate = EntitySelector.NO_SPECTATORS;
-
- Objects.requireNonNull(predicate);
- pathfindergoalselector.addGoal(2, new AvoidEntityGoal<>(this, Player.class, 8.0F, 1.6D, 1.4D, predicate::test));
+ this.goalSelector.addGoal(2, new AvoidEntityGoal<>(this, Player.class, 8.0F, 1.6D, 1.4D, EntitySelector.NO_SPECTATORS::test)); // Purpur - decompile fix
this.goalSelector.addGoal(2, new AvoidEntityGoal<>(this, Player.class, 8.0F, 1.6D, 1.4D, EntitySelector.NO_SPECTATORS::test));
this.goalSelector.addGoal(4, new AbstractFish.FishSwimGoal(this));
}
@@ -116,7 +113,7 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable {
@@ -107,7 +107,7 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable {
@Override
public void travel(Vec3 movementInput) {
if (this.isEffectiveAi() && this.isInWater()) {
@@ -656,40 +650,40 @@ index 3484defdfd5a487b11917310d7b1d1543291eee1..2ae0296b0a2e9585caf81b819742a0a8
this.move(MoverType.SELF, this.getDeltaMovement());
this.setDeltaMovement(this.getDeltaMovement().scale(0.9D));
if (this.getTarget() == null) {
@@ -174,7 +171,7 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable {
@Override
protected void playStepSound(BlockPos pos, BlockState state) {}
- private static class FishMoveControl extends MoveControl {
+ private static class FishMoveControl extends org.purpurmc.purpur.controller.WaterMoveControllerWASD { // Purpur
@@ -166,7 +166,7 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable {
protected void playStepSound(BlockPos pos, BlockState state) {
}
- static class FishMoveControl extends MoveControl {
+ static class FishMoveControl extends org.purpurmc.purpur.controller.WaterMoveControllerWASD { // Purpur
private final AbstractFish fish;
@@ -183,14 +180,22 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable {
FishMoveControl(AbstractFish owner) {
@@ -174,14 +174,22 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable {
this.fish = owner;
}
+ // Purpur start
+ @Override
@Override
- public void tick() {
+ public void purpurTick(Player rider) {
+ super.purpurTick(rider);
+ fish.setDeltaMovement(fish.getDeltaMovement().add(0.0D, 0.005D, 0.0D));
+ }
+ // Purpur end
+
@Override
- public void tick() {
+ @Override
+ public void vanillaTick() { // Purpur
if (this.fish.isEyeInFluid(FluidTags.WATER)) {
this.fish.setDeltaMovement(this.fish.getDeltaMovement().add(0.0D, 0.005D, 0.0D));
}
if (this.operation == MoveControl.Operation.MOVE_TO && !this.fish.getNavigation().isDone()) {
- float f = (float) (this.speedModifier * this.fish.getAttributeValue(Attributes.MOVEMENT_SPEED));
+ float f = (float) (this.getSpeedModifier() * this.fish.getAttributeValue(Attributes.MOVEMENT_SPEED)); // Purpur
- float f = (float)(this.speedModifier * this.fish.getAttributeValue(Attributes.MOVEMENT_SPEED));
+ float f = (float)(this.getSpeedModifier() * this.fish.getAttributeValue(Attributes.MOVEMENT_SPEED)); // Purpur
this.fish.setSpeed(Mth.lerp(0.125F, this.fish.getSpeed(), f));
double d0 = this.wantedX - this.fish.getX();
double d = this.wantedX - this.fish.getX();
double e = this.wantedY - this.fish.getY();
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 79a9fa2a2257925685e45329365d2828ccd4c48c..793e7c659af32e8bdc07bd7ecfa31fb5d302ad22 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -873,7 +867,7 @@ index 9f5180271ca8a790aa52763ac46d31b905c9d477..2edd9efb8bf71071807ac1ff5b58bc4b
Item item = itemstack.getItem();
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index 3e6aaf22f5f2891901c91fea988a97a25eade531..435531a41e53b65280ab24ead0d7e3e499d2a57d 100644
index a23568df8d6a700f8a21cda8f0c04742ccf2b837..ddb199c003d07aa0172c09de32e82337baab64bf 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -52,9 +52,27 @@ public class Chicken extends Animal {
@@ -1319,7 +1313,7 @@ index 6d4dc4b09278eca509f86655c6562fb4b05d5069..9d47d010c3917616732ff10a1b0166f4
Pair<MobEffect, Integer> pair = (Pair) optional.get();
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
index 24d14c3a98453622e9805298c56625311f69e8dd..c63377ef2d843aa6ee6ed86e545e2b6a06575edf 100644
index fc2c18a3bfd395882a5f4a08c23b382845d9ccd2..22e0c5dee4efa2e041671c980851db46eabe9402 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
@@ -68,6 +68,23 @@ public class Ocelot extends Animal {
@@ -2183,7 +2177,7 @@ index 249ef89342d2811614507090b79250adf78e33ce..b4825647058df6803be24ea30028c951
this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers());
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index fb800bf3fc198c1aee9a8bdc8d33e5e76f6a8746..46d57c1a852a99db3ddb0ccd10f6229e223e0a32 100644
index bdc65bf098fd3107e36d3738583455e87af82cf4..89b6eedb23bea9239dadb8e5e06549eb7d6c3a26 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -99,6 +99,28 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
@@ -2215,7 +2209,7 @@ index fb800bf3fc198c1aee9a8bdc8d33e5e76f6a8746..46d57c1a852a99db3ddb0ccd10f6229e
@Override
public Map<String, Vector3f> getModelRotationValues() {
return this.modelRotationValues;
@@ -531,14 +553,22 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
@@ -530,14 +552,22 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
private static class AxolotlMoveControl extends SmoothSwimmingMoveControl {
private final Axolotl axolotl;
@@ -2238,7 +2232,7 @@ index fb800bf3fc198c1aee9a8bdc8d33e5e76f6a8746..46d57c1a852a99db3ddb0ccd10f6229e
if (!this.axolotl.isPlayingDead()) {
super.tick();
}
@@ -553,9 +583,9 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
@@ -552,9 +582,9 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
}
@Override
@@ -4587,7 +4581,7 @@ index cd88413f30632307faba63572915656b6a8469f7..8d121dcb646d6d77bde48540b14c5d37
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index ba92be2a63df29cd6eda251f8e56e9ce098d92ac..c9d2938615a254fe76dc9fb8667b3f7dffdfe9bd 100644
index fc6639bd33a13c84c84603db7f9bbb1c5df239a4..fff7aeab25f3a48136f0e5d75cc66a1348091178 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -79,6 +79,23 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -4643,7 +4637,7 @@ index 6fe49abb9d9a273787828e72061e16a7b053e50a..c2cd88e8ef4b543635b02e1fdd2ac257
public void setPersistentAngerTarget(@Nullable UUID angryAt) {
this.persistentAngerTarget = angryAt;
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index fc43b1d5dcb53456bb24ae46ea08b97b14403c86..1d3227a216b7daea6555f1c859c9a571050ff18b 100644
index 127c839c4f9b0ade39065588e275984ea639380b..cb1d7f09195473da382aadb82ffe552a95052254 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -67,6 +67,23 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -4680,7 +4674,7 @@ index fc43b1d5dcb53456bb24ae46ea08b97b14403c86..1d3227a216b7daea6555f1c859c9a571
this.level.getProfiler().pop();
HoglinAi.updateActivity(this);
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
index 3ff720ff67938be3efc0412a7a17c4d5b8eab763..f0d0c178467da127667782856d9a2c9851b2171c 100644
index 05e05793b1fd10cceb4b19ac60c8a10b0c5b7d45..d2c7a7e38a3bac24a176f51d7c143ecedd4ce215 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
@@ -96,6 +96,23 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@@ -4936,7 +4930,7 @@ index a92755211e3d42934b5efaa3f201c6c19ab7d2b4..318456621faf484dbad479b2873ae647
+ // 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 a3c8a0291fa9ae6f3c96d937dd4621edd7c48535..f8150c304346c0ccfb440588663cdc72c22cac6c 100644
index ceacb62aef0dd0f73f1542a1898ceb62c3f4c367..97108c2317a38e11d45fdbef448dca5cb3ddad1c 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 {
@@ -4955,7 +4949,7 @@ index a3c8a0291fa9ae6f3c96d937dd4621edd7c48535..f8150c304346c0ccfb440588663cdc72
return event;
}
@@ -981,6 +990,7 @@ public class CraftEventFactory {
@@ -979,6 +988,7 @@ public class CraftEventFactory {
damageCause = DamageCause.ENTITY_EXPLOSION;
}
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API
@@ -4963,7 +4957,7 @@ index a3c8a0291fa9ae6f3c96d937dd4621edd7c48535..f8150c304346c0ccfb440588663cdc72
}
event.setCancelled(cancelled);
@@ -1085,6 +1095,7 @@ public class CraftEventFactory {
@@ -1083,6 +1093,7 @@ public class CraftEventFactory {
} else {
entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
}
@@ -4971,7 +4965,7 @@ index a3c8a0291fa9ae6f3c96d937dd4621edd7c48535..f8150c304346c0ccfb440588663cdc72
return event;
}
@@ -1144,6 +1155,7 @@ public class CraftEventFactory {
@@ -1142,6 +1153,7 @@ public class CraftEventFactory {
EntityDamageEvent event;
if (damager != null) {
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API