mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-04-20 10:18:16 +02:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@b4192fd fix NPE from changes in e4358b82171 PaperMC/Paper@5b6445a Revert "fix NPE from changes in e4358b82171" PaperMC/Paper@323c087 Revert "#686: Fix contains for default section generating real sections" PaperMC/Paper@c837002 Fix client world difficulty sync issue (#7035) PaperMC/Paper@a4782f7 [ci skip] fixup indent PaperMC/Paper@83aee0f [ci skip] Clarify setSize consequences for Slimes (#7036) PaperMC/Paper@7c8fdc1 Add dropped hunk from mid-tick tasks (#7034) PaperMC/Paper@fd263ef Fix empty/null chunk section check in LevelChunk#getBlockData, rename… (#7039) PaperMC/Paper@b8d486c Create workflow to add new PRs to the PR Queue project (#6918) PaperMC/Paper@a50e273 Include axolotls in affected entities for water splash potions (#7024) PaperMC/Paper@af95df8 Port Actually unload POI data from Tuinity 1.16 (#7044) PaperMC/Paper@04897b1 [ci skip] Revert "Create workflow to add new PRs to the PR Queue project (#6918)" (#7046) PaperMC/Paper@b4a77a8 Updated Upstream (Bukkit/CraftBukkit) (#7045) PaperMC/Paper@0e25db2 Fix mis-placed processEnchantOrder from 1.18 update (#7052) PaperMC/Paper@53d026e Fix unused EntitySectionStorage#getEntities(AABB, Consumer) method being broken PaperMC/Paper@772e880 Fix light propagation in high y sections PaperMC/Paper@33ea869 Bump Starlight light version PaperMC/Paper@74fd151 Fix entity equipment on cancellation of EntityDeathEvent (#5740) PaperMC/Paper@758e2a7 Fix bad ticking checks for blocks PaperMC/Paper@0e91b6a Return 0 for light values if a dimenion does not have them PaperMC/Paper@188a8df Fix ChunkSnapshot#isSectionEmpty(int) PaperMC/Paper@bbc7451 Fix issue with snapshotted biomes in last commit PaperMC/Paper@b475c6a Backport log4j fix PaperMC/Paper@4e355c4 Updated Upstream (CraftBukkit) PaperMC/Paper@dce79f3 Update Log4J (#7069)
This commit is contained in:
@@ -34,7 +34,7 @@ index 7ad6b7b3094156477570b738026d88cb0f0f4f9e..973ea150c2f8ac136736b4ae9f505491
|
||||
|
||||
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 e371ffb1f88e08883a1a2460260ff368c0cfe853..a2185651b35fdf6563b20ec8ea8e2b57f75f9dd5 100644
|
||||
index a770b5abc7fc66b6de9f17dde192447686e70f4a..3035f1d357248f25c01ae8e20ca689bfa4130d80 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -208,6 +208,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -46,7 +46,7 @@ index e371ffb1f88e08883a1a2460260ff368c0cfe853..a2185651b35fdf6563b20ec8ea8e2b57
|
||||
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 3e91bb85adc33434b278bf2ca83164dae3f7a6e5..493c0540c02075d081a5ce404e480625632bd1a4 100644
|
||||
index c516ad43cac2419bcf63e11eaa183785b462de5c..618595add09eef5381307ba2fe154adfc97b2a0e 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -662,6 +662,15 @@ public class ServerPlayer extends Player {
|
||||
@@ -73,7 +73,7 @@ index 3e91bb85adc33434b278bf2ca83164dae3f7a6e5..493c0540c02075d081a5ce404e480625
|
||||
+
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 93a49a423731b31b42e0d240e71f9fecb9ec3c18..cbca17bc6890319fd8df725e53626b7a1e9c4576 100644
|
||||
index 0ecae30242ce098267832633ed8cd28aedcd908d..104601ee18e9bbc4c89d33d58193d0c3799ffd56 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2435,6 +2435,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -86,7 +86,7 @@ index 93a49a423731b31b42e0d240e71f9fecb9ec3c18..cbca17bc6890319fd8df725e53626b7a
|
||||
if ((entity instanceof AbstractFish && 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((AbstractFish) entity));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 390f8398af00b770d48d274970b8b164925b63b5..a33c9089d96ab8e66557be7880e562c88b5d56f9 100644
|
||||
index a7a0d3f29ad3f07236905a764466400e7a22d8d6..5c1a9dc4eab3ecdf7f8ea35733717a3de501d85a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -192,7 +192,7 @@ index 645c1dc9bd09b135a641759c76ce8d957b9bd488..03adc3b746e05bb4b0514ba4a66c101b
|
||||
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 93b616d1b95e9c112dcd4b6fda9bd467177e6dec..6953ff6f4f1b607f9294ca37022226fde260150b 100644
|
||||
index fe7e22d9a69d69dfcce63faa28e90945ea45fc49..76209fd395c65a30201d731448f870610a1e27f2 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 {
|
||||
@@ -208,7 +208,7 @@ index 93b616d1b95e9c112dcd4b6fda9bd467177e6dec..6953ff6f4f1b607f9294ca37022226fd
|
||||
protected int lerpSteps;
|
||||
protected double lerpX;
|
||||
protected double lerpY;
|
||||
@@ -2571,7 +2571,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -2585,7 +2585,7 @@ public abstract class LivingEntity extends Entity {
|
||||
}
|
||||
|
||||
protected long lastJumpTime = 0L; // Paper
|
||||
@@ -217,7 +217,7 @@ index 93b616d1b95e9c112dcd4b6fda9bd467177e6dec..6953ff6f4f1b607f9294ca37022226fd
|
||||
double d0 = (double) this.getJumpPower() + this.getJumpBoostPower();
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
// Paper start
|
||||
@@ -3307,8 +3307,10 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -3321,8 +3321,10 @@ public abstract class LivingEntity extends Entity {
|
||||
this.pushEntities();
|
||||
this.level.getProfiler().pop();
|
||||
// Paper start
|
||||
@@ -230,7 +230,7 @@ index 93b616d1b95e9c112dcd4b6fda9bd467177e6dec..6953ff6f4f1b607f9294ca37022226fd
|
||||
Location from = new Location(this.level.getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
|
||||
Location to = new Location (this.level.getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
|
||||
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
|
||||
@@ -3318,6 +3320,21 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -3332,6 +3334,21 @@ public abstract class LivingEntity extends Entity {
|
||||
absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
|
||||
}
|
||||
}
|
||||
@@ -253,7 +253,7 @@ index 93b616d1b95e9c112dcd4b6fda9bd467177e6dec..6953ff6f4f1b607f9294ca37022226fd
|
||||
// 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 0b46066d35d9bb38d98a9d6e5ca8dbdc0ba1dc5a..2b8c33fe5a34f2ed66630e2d6fc06caf2cd769a1 100644
|
||||
index 8200e33ed4ebcae8a27cccf2a28daba5e10cf75d..b7e3091e9ce5b634c73ac573cf205278507270d5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -143,6 +143,8 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -265,7 +265,7 @@ index 0b46066d35d9bb38d98a9d6e5ca8dbdc0ba1dc5a..2b8c33fe5a34f2ed66630e2d6fc06caf
|
||||
this.jumpControl = new JumpControl(this);
|
||||
this.bodyRotationControl = this.createBodyControl();
|
||||
this.navigation = this.createNavigation(world);
|
||||
@@ -1298,7 +1300,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1300,7 +1302,7 @@ public abstract class Mob extends LivingEntity {
|
||||
protected void onOffspringSpawnedFromEgg(Player player, Mob child) {}
|
||||
|
||||
protected InteractionResult mobInteract(Player player, InteractionHand hand) {
|
||||
@@ -274,7 +274,7 @@ index 0b46066d35d9bb38d98a9d6e5ca8dbdc0ba1dc5a..2b8c33fe5a34f2ed66630e2d6fc06caf
|
||||
}
|
||||
|
||||
public boolean isWithinRestriction() {
|
||||
@@ -1659,4 +1661,52 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1661,4 +1663,52 @@ public abstract class Mob extends LivingEntity {
|
||||
|
||||
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
|
||||
}
|
||||
@@ -2168,10 +2168,10 @@ index 7af7ff4accbcc1b28d96c94e9c3301142541f4f0..a91152df3d443d70b1aa9aff97b3746e
|
||||
protected void randomizeAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)this.generateRandomMaxHealth());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index c4b4adc11179682d19be69d01ebd5f45e5f0e193..fb4af69075323a1d6c5e252115d5973dbdcadcd2 100644
|
||||
index 9a401b3e8db61d0b92ca273db2eb84efc4dfa8fc..3dfab1062824eee91280d8de4cd50be519bf6176 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -69,7 +69,46 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
@@ -72,7 +72,46 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
|
||||
public Llama(EntityType<? extends Llama> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -2218,15 +2218,15 @@ index c4b4adc11179682d19be69d01ebd5f45e5f0e193..fb4af69075323a1d6c5e252115d5973d
|
||||
|
||||
public boolean isTraderLlama() {
|
||||
return false;
|
||||
@@ -114,6 +153,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
@@ -124,6 +163,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
+ this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HorseHasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new RunAroundLikeCrazyGoal(this, 1.2D));
|
||||
this.goalSelector.addGoal(2, new LlamaFollowCaravanGoal(this, (double)2.1F));
|
||||
this.goalSelector.addGoal(2, new LlamaFollowCaravanGoal(this, 2.0999999046325684D));
|
||||
this.goalSelector.addGoal(3, new RangedAttackGoal(this, 1.25D, 40, 20.0F));
|
||||
@@ -124,6 +164,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
@@ -134,6 +174,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 0.7D));
|
||||
this.goalSelector.addGoal(8, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
this.goalSelector.addGoal(9, new RandomLookAroundGoal(this));
|
||||
@@ -2979,7 +2979,7 @@ index ee9194ffb3cc6d660d4f99a3914ede7e4a3643fe..1f789b1d481234cafaa6e75c36a272bb
|
||||
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
index cfdb631500962ec19007db55bd4453687b91c2f8..3ab601ded08c435825202b295bbdb06eb26ce730 100644
|
||||
index d47002d45dabd66f38d25d398d8943f4b911cdc5..3e14ad3c66ff2e14e9f746a0d03bc34e7a48c1c8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -88,9 +88,22 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -4538,7 +4538,7 @@ index 5aae88e20bc04560d6ad52cfcaa872d28bfcee8f..1ba59900ddf403453aeb4f82b097feaa
|
||||
+ // 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 5395dbf1c9bedc1e3e13f6661affdfd94fded502..e8cd2f1cbc6d18cfa7aaa287d28cdeb3b7ee1954 100644
|
||||
index c667baa2da8222eb66344c8f1cc0fed416c4df01..7be3a8ead9fc634ce990b689ac2cd2ae805030ea 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -542,6 +542,15 @@ public class CraftEventFactory {
|
||||
@@ -4557,7 +4557,7 @@ index 5395dbf1c9bedc1e3e13f6661affdfd94fded502..e8cd2f1cbc6d18cfa7aaa287d28cdeb3
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -965,6 +974,7 @@ public class CraftEventFactory {
|
||||
@@ -971,6 +980,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
|
||||
@@ -4565,7 +4565,7 @@ index 5395dbf1c9bedc1e3e13f6661affdfd94fded502..e8cd2f1cbc6d18cfa7aaa287d28cdeb3
|
||||
}
|
||||
event.setCancelled(cancelled);
|
||||
|
||||
@@ -1050,6 +1060,7 @@ public class CraftEventFactory {
|
||||
@@ -1056,6 +1066,7 @@ public class CraftEventFactory {
|
||||
if (!event.isCancelled()) {
|
||||
event.getEntity().setLastDamageCause(event);
|
||||
}
|
||||
@@ -4573,7 +4573,7 @@ index 5395dbf1c9bedc1e3e13f6661affdfd94fded502..e8cd2f1cbc6d18cfa7aaa287d28cdeb3
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -1109,6 +1120,7 @@ public class CraftEventFactory {
|
||||
@@ -1115,6 +1126,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