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@efd47e3 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9188) PaperMC/Paper@1edfefd Add option to flush region files on save (#9149) PaperMC/Paper@9daa019 Added wither vanilla invulnerability API (#9124)
This commit is contained in:
@@ -34,7 +34,7 @@ index 0f6d1c56efbab0f9b84f09f7dc27eb705f4006a9..7f37231b33d6cfbd3d10c6c5d0b3e0b9
|
||||
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 a6da001a03760a6ae5d842d8aaeb8fc435883b1f..3d641a5721b90230c79dca9e43ccc6fa21f24946 100644
|
||||
index de2d7bdd7c6f38f4d9c943162846c816bc814bd4..4ea1b4eb5e843753f02b7f683c82c82ba8a134ef 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -220,6 +220,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -46,10 +46,10 @@ index a6da001a03760a6ae5d842d8aaeb8fc435883b1f..3d641a5721b90230c79dca9e43ccc6fa
|
||||
final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date());
|
||||
io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr);
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 145103a89017bf749d25e82ab924df3d99fdb811..eff60ea9a26b8f00f4efaddc0f756b07f232e843 100644
|
||||
index 74e2731c614e0387de8eee93af005c7c1bf109f1..055915f609d1181bbcfa2ce72e1282ace71cb45c 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -708,6 +708,15 @@ public class ServerPlayer extends Player {
|
||||
@@ -710,6 +710,15 @@ public class ServerPlayer extends Player {
|
||||
this.trackStartFallingPosition();
|
||||
this.trackEnteredOrExitedLavaOnVehicle();
|
||||
this.advancements.flushDirty(this);
|
||||
@@ -66,10 +66,10 @@ index 145103a89017bf749d25e82ab924df3d99fdb811..eff60ea9a26b8f00f4efaddc0f756b07
|
||||
|
||||
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 162e3acade6d1a25cf55bc0838c8f7b851daaaac..a44b847f8597823e7fd380638ffaf9027a8dd438 100644
|
||||
index 299d43f714637beb6cdce186368c4171cac74c4c..ec4891a736c5c91af7589071f87fa664983f7f72 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2803,6 +2803,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2809,6 +2809,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -79,10 +79,10 @@ index 162e3acade6d1a25cf55bc0838c8f7b851daaaac..a44b847f8597823e7fd380638ffaf902
|
||||
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)) {
|
||||
entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it.
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb10fa2140a 100644
|
||||
index 7238a6e3ffdbd7421ed978e007d256aaad84ea58..546ae68177a3188efe911aa535e058ae69341818 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -361,7 +361,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -362,7 +362,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
private final Set<String> tags;
|
||||
private final double[] pistonDeltas;
|
||||
private long pistonDeltasGameTime;
|
||||
@@ -91,7 +91,7 @@ index 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb1
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
public boolean wasInPowderSnow;
|
||||
@@ -2822,6 +2822,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2823,6 +2823,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.passengers = ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ index 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb1
|
||||
this.gameEvent(GameEvent.ENTITY_MOUNT, entity);
|
||||
}
|
||||
return true; // CraftBukkit
|
||||
@@ -2863,6 +2870,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2864,6 +2871,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return false;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -120,7 +120,7 @@ index 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb1
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4737,4 +4752,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4738,4 +4753,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -4112,10 +4112,10 @@ index 9258d0f7c5c27b6d3d8f99db947169d6800d8ea9..78bd5a76f105ff1ebf005ccb2590b4a0
|
||||
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 19657390ddb73992d7b68dc77776faa99c6f1b15..e46bd4944801c75a197e67ef66b5e87517a68a03 100644
|
||||
index 8cb910da17d75a9d9c7dbeb3c9e24b6de657a2f7..6f652413d5375e0e6ddf82b3be682560ea6f5d67 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -95,12 +95,31 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -98,12 +98,31 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
this.lookControl = new Shulker.ShulkerLookControl(this);
|
||||
}
|
||||
|
||||
@@ -4147,7 +4147,7 @@ index 19657390ddb73992d7b68dc77776faa99c6f1b15..e46bd4944801c75a197e67ef66b5e875
|
||||
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{this.getClass()})).setAlertOthers());
|
||||
this.targetSelector.addGoal(2, new Shulker.ShulkerNearestAttackGoal(this));
|
||||
this.targetSelector.addGoal(3, new Shulker.ShulkerDefenseAttackGoal(this));
|
||||
@@ -608,7 +627,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -611,7 +630,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
return b0 != 16 && b0 <= 15 ? DyeColor.byId(b0) : null;
|
||||
}
|
||||
|
||||
@@ -5121,7 +5121,7 @@ index c4f4a26e016eea744f587461af80461074d48303..10b109de5abc015b61a896d363ad37a0
|
||||
public void tick() {
|
||||
super.tick();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 57a0dbb23a32123d30c3b3572f4d129be9d97847..fa6938626c64ed17a2f56739d5801494ea6f3be1 100644
|
||||
index 56c75029a94e8812c9e0ce5375aaa7cbcda90b87..a4644b1d9abb7ffeda89801e4562a078ffe43288 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1442,4 +1442,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -5153,10 +5153,10 @@ index 57a0dbb23a32123d30c3b3572f4d129be9d97847..fa6938626c64ed17a2f56739d5801494
|
||||
+ // 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 dee0168b50c7fbaefb762939a04e8f51e7bc58f7..85180c61e6124989e227150e0fdd5484ae3ebf1c 100644
|
||||
index 221f5088953b3452966d07eabd4ea8b38c465fd9..bfb8039a65fbfdb6d2fa6fc4fdeb146fbc4e147f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -561,6 +561,15 @@ public class CraftEventFactory {
|
||||
@@ -563,6 +563,15 @@ public class CraftEventFactory {
|
||||
// Paper end
|
||||
craftServer.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -5172,7 +5172,7 @@ index dee0168b50c7fbaefb762939a04e8f51e7bc58f7..85180c61e6124989e227150e0fdd5484
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -998,6 +1007,7 @@ public class CraftEventFactory {
|
||||
@@ -1000,6 +1009,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
|
||||
@@ -5180,7 +5180,7 @@ index dee0168b50c7fbaefb762939a04e8f51e7bc58f7..85180c61e6124989e227150e0fdd5484
|
||||
}
|
||||
event.setCancelled(cancelled);
|
||||
|
||||
@@ -1112,6 +1122,7 @@ public class CraftEventFactory {
|
||||
@@ -1114,6 +1124,7 @@ public class CraftEventFactory {
|
||||
} else {
|
||||
entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
|
||||
}
|
||||
@@ -5188,7 +5188,7 @@ index dee0168b50c7fbaefb762939a04e8f51e7bc58f7..85180c61e6124989e227150e0fdd5484
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -1171,6 +1182,7 @@ public class CraftEventFactory {
|
||||
@@ -1173,6 +1184,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
|
||||
|
||||
Reference in New Issue
Block a user