mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@4fdda9e Keep newlines in outdated client/server message (#10042) PaperMC/Paper@f483b38 fix NPE on EntityTeleportEvent getTo (#10016) PaperMC/Paper@dc62150 Catch async usage of playsound (#10021) PaperMC/Paper@0d6a0c3 Fix command block async message (again) (#10082) PaperMC/Paper@d1f507f Don't fire 2 game events for certain cauldron interactions (#8904) PaperMC/Paper@a401585 Fix campfire recipes not always outputting full result (#8754) PaperMC/Paper@88d28d6 Fix long loading screen when refreshing skins (#10026) PaperMC/Paper@c081104 Add experience points api (#9688) PaperMC/Paper@8221b08 Fix global sound event gamerule not being respected (#8727) PaperMC/Paper@3c0d6aa Updated Upstream (Bukkit/CraftBukkit/Spigot) (#10085) PaperMC/Paper@2c3ccb8 Add drops to shear events (#5678) PaperMC/Paper@b2ffb1b Add PlayerShieldDisableEvent (#9177) PaperMC/Paper@2951732 Add HiddenPotionEffect API (#9910) PaperMC/Paper@e4ab50d Properly disallow async Player#chat (#8123) PaperMC/Paper@5e978d3 Fix Folia scheduler tasks not canceling when plugin disable (#10091)
This commit is contained in:
@@ -34,7 +34,7 @@ index 6e8d7a22e9301704fd8d3e08e806b186f2578038..2dd32f61efa12689b08a54f30deac397
|
||||
this.profiler.push(() -> {
|
||||
return worldserver + " " + worldserver.dimension().location();
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 5493e7e8ec1de5bb52ee7bd145e436fdb03e59b6..53131fc1fc02df8f60f0a44dd8c3a5a53e24fddb 100644
|
||||
index 53e00bb94fd6af9197422218aa92acde897f1aa9..9ded11bdbaf98948a1451e15a237f8423c8cc36d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -225,6 +225,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -66,10 +66,10 @@ index ae9dfb2719ff2372e3a73adc2163330db886dfbe..f709667d2efab5f7dac22bb6e4b0bf32
|
||||
|
||||
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 20cd751a602593740e87eb79d5059b5fc7856cb5..44b8b9dfc9182a6ce0d01b003749946e90e3aedb 100644
|
||||
index ce4c0a721c148ffb3c91d6a59189925aa7a1d766..741b108b2c6ed243c8f4e9124a31a3005e0ce594 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2715,6 +2715,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2722,6 +2722,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -190,7 +190,7 @@ index 1bb8b6e91c44cd13411d96d749fa64835c75a267..75c278b67ad2b78766efd8f89c4c2ca7
|
||||
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 88f736e67107d34514eec231070f42d2ee008e5c..bab5a6c1bcff734620ccb015f071d73b70bbc901 100644
|
||||
index 0a9a77564d624d66e76637eef509e2f321333dc6..5e64293b7392e5a4b19a4c7303b0365d48f90115 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -217,9 +217,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -268,7 +268,7 @@ index 88f736e67107d34514eec231070f42d2ee008e5c..bab5a6c1bcff734620ccb015f071d73b
|
||||
// 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 1d65d8b3e21373b0f0d2c633742da52d6b208942..05eecaf3147051c44f9c4abce178c3126385c825 100644
|
||||
index 6df13ebec8fbb11eb6e2b7469f9e4ebb44256894..62eba7fc2fd013bf17496896c2b7a88c95c070f1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -148,8 +148,8 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -291,7 +291,7 @@ index 1d65d8b3e21373b0f0d2c633742da52d6b208942..05eecaf3147051c44f9c4abce178c312
|
||||
}
|
||||
|
||||
public boolean isWithinRestriction() {
|
||||
@@ -1775,4 +1775,56 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1779,4 +1779,56 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
|
||||
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
|
||||
}
|
||||
@@ -1251,7 +1251,7 @@ index f383928fc5b331ddf128bdcb6a23010d8fe088d3..6815d7350a82c6d32f60aa6116466ebd
|
||||
float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index e42b0b19019ef74733fd19b08f882cccff920142..fdd99d6a9db230f9f68b0a78f41a16e7658c4c16 100644
|
||||
index a7e8b544d7b05efe95182a03cabaf1993da9d839..0e871753024ae39538ed056d27fff98e6bdf8ae0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -63,6 +63,23 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -1278,16 +1278,16 @@ index e42b0b19019ef74733fd19b08f882cccff920142..fdd99d6a9db230f9f68b0a78f41a16e7
|
||||
@Override
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
|
||||
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
|
||||
@@ -123,7 +140,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
} else if (itemstack.is(Items.SHEARS) && this.readyForShearing()) {
|
||||
// CraftBukkit start
|
||||
if (!CraftEventFactory.handlePlayerShearEntityEvent(player, this, itemstack, hand)) {
|
||||
- return InteractionResult.PASS;
|
||||
+ return tryRide(player, hand); // Purpur
|
||||
@@ -127,7 +144,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
org.bukkit.event.player.PlayerShearEntityEvent event = CraftEventFactory.handlePlayerShearEntityEvent(player, this, itemstack, hand, drops);
|
||||
if (event != null) {
|
||||
if (event.isCancelled()) {
|
||||
- return InteractionResult.PASS;
|
||||
+ return tryRide(player, hand); // Purpur
|
||||
}
|
||||
drops = org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getDrops());
|
||||
}
|
||||
// CraftBukkit end
|
||||
this.shear(SoundSource.PLAYERS);
|
||||
@@ -144,7 +161,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -151,7 +168,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
Optional<List<SuspiciousEffectHolder.EffectEntry>> optional = this.getEffectsFromItemStack(itemstack);
|
||||
|
||||
if (optional.isEmpty()) {
|
||||
@@ -1817,7 +1817,7 @@ index 0af79daa357f53a8871e293b57e16c099e5d3f64..87c442fb198cad8671ad1419e589a5a6
|
||||
public int getMaxSchoolSize() {
|
||||
return 5;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
index 55afa58f3df53ce548c7484d8fff62c903f9dc07..80b91cdaffc0af25b9a8b13281519cf093928e85 100644
|
||||
index 1d80678f7e8f658e43616f0baf723f096a99122a..ffcb68cd299370d5a17ed92ba3814c8afe613cf9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
@@ -119,10 +119,28 @@ public class Sheep extends Animal implements Shearable {
|
||||
@@ -1850,7 +1850,7 @@ index 55afa58f3df53ce548c7484d8fff62c903f9dc07..80b91cdaffc0af25b9a8b13281519cf0
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
|
||||
this.goalSelector.addGoal(3, new TemptGoal(this, 1.1D, Ingredient.of(Items.WHEAT), false));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index 8adcfc8f6772a32b5915e4a07100e8eb735f907a..04927f5f06d6dc14ad01319dd22583632c2c511b 100644
|
||||
index b5d6857eaf2bed14adcb5f5e80d91b44eb8b0dcc..bc57978d89db43e97a38ea56c3541e8f6318c2d2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -54,12 +54,31 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -1893,16 +1893,16 @@ index 8adcfc8f6772a32b5915e4a07100e8eb735f907a..04927f5f06d6dc14ad01319dd2258363
|
||||
BlockState iblockdata = Blocks.SNOW.defaultBlockState();
|
||||
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
@@ -154,7 +174,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
if (itemstack.is(Items.SHEARS) && this.readyForShearing()) {
|
||||
// CraftBukkit start
|
||||
if (!CraftEventFactory.handlePlayerShearEntityEvent(player, this, itemstack, hand)) {
|
||||
- return InteractionResult.PASS;
|
||||
+ return tryRide(player, hand); // Purpur
|
||||
@@ -158,7 +178,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
org.bukkit.event.player.PlayerShearEntityEvent event = CraftEventFactory.handlePlayerShearEntityEvent(player, this, itemstack, hand, drops);
|
||||
if (event != null) {
|
||||
if (event.isCancelled()) {
|
||||
- return InteractionResult.PASS;
|
||||
+ return tryRide(player, hand); // Purpur
|
||||
}
|
||||
drops = org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getDrops());
|
||||
}
|
||||
// CraftBukkit end
|
||||
this.shear(SoundSource.PLAYERS);
|
||||
@@ -167,7 +187,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -174,7 +194,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
|
||||
return InteractionResult.sidedSuccess(this.level().isClientSide);
|
||||
} else {
|
||||
@@ -2781,7 +2781,7 @@ index a6f3fba3b02b0b4d2a4e9e5205301c6f52d0188a..4eebfc27ded55e4d764d04f35d3e9c9e
|
||||
protected void defineSynchedData() {
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index f56bb431be7d5f1a1b8edec41af1f3a28289316d..152111ff4c29e6cf13afeba8c9707f407c2b3531 100644
|
||||
index e5b4aaa9e08dbafa46c92e3fce8b2ee9b0167530..b5b8a4fa5b9a016a38053326cc4ba9d665f467ee 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -107,6 +107,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -2935,7 +2935,7 @@ index f56bb431be7d5f1a1b8edec41af1f3a28289316d..152111ff4c29e6cf13afeba8c9707f40
|
||||
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 256598e058db1fd34d36390e45ab9903768343cb..e03a01940eb5a5d7a3924a5ad1214258ce0f4b46 100644
|
||||
index 2732ecac901d99ba44132faeddda194bf06e0193..926850c0b0c36c3e5601ddaeb86176b07af1cb07 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,16 +84,30 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -3101,7 +3101,7 @@ index 256598e058db1fd34d36390e45ab9903768343cb..e03a01940eb5a5d7a3924a5ad1214258
|
||||
int i;
|
||||
|
||||
if (this.getInvulnerableTicks() > 0) {
|
||||
@@ -583,11 +707,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -584,11 +708,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
}
|
||||
|
||||
public int getAlternativeTarget(int headIndex) {
|
||||
@@ -4140,7 +4140,7 @@ index 0c11d9bef8f0129c541e30ad057612e881703b24..cfa324c6a75ac83cff4ba87034677d4e
|
||||
this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(0.0D);
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
index 06ab07fb5d8d0e2f97325890218a11fef551a0ba..7112789a74f90297277fc6175c912cac60c2ca01 100644
|
||||
index b73dac8f68041f8a2e0752d70cc9d08b5cfd1cde..e78d869069bc018f29c5fbc6a7811806c4b2fb2f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -97,12 +97,31 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -5114,7 +5114,7 @@ index 833563e237462ccfc1b730b8f5fb35340d0db854..2bed7b373813660139d2322dcd6b83f3
|
||||
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 7f3466340891b4409d1399ebeb2ca865d77841cd..6e37874dc437285b26bd8e4ad3d3af8c39c38aa5 100644
|
||||
index ccc1caafb0ada52c7b99b7358253826f5390843e..47057f51e034b6695d0b294eaf461dfe6aeedb19 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -194,6 +194,19 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -5172,7 +5172,7 @@ index 78dd3365dc4d1265fc2102f740d75a384f5df5c5..4a2331c22a022881d66bcfd4134b0ffe
|
||||
public boolean isPickable() {
|
||||
return false;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 17113544383fb4e6373d8f6151c536fecb00e0be..1c89cbf1a582604ed4be0849bd65dae5eb17f28a 100644
|
||||
index 1c3e1153d08b59d29b3613fc3b50a4780aa7a3ac..7c8b90444aa635cddf480d49a92a180a1bfa9c34 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1227,4 +1227,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -5204,7 +5204,7 @@ index 17113544383fb4e6373d8f6151c536fecb00e0be..1c89cbf1a582604ed4be0849bd65dae5
|
||||
+ // 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 f67ec3f5f4b7e2f678609f2387cc8afa2adce161..51ed919b56ded23309be1093280a92331c090780 100644
|
||||
index a36ffbbab5bbfec5a4a224dc5ee8812b98dd4d7c..2d934ed6b21ad2df88e1389dd1aa445aa6ccd1ff 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -591,6 +591,15 @@ public class CraftEventFactory {
|
||||
|
||||
Reference in New Issue
Block a user