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@2914457 Allow seting custom podium location for ender dragon (#7695) PaperMC/Paper@11e0dcd Fix NBT pieces overriding a block entity during worldgen deadlock (#7692) PaperMC/Paper@2f16393 Updated Upstream (CraftBukkit) PaperMC/Paper@4322c05 Use patched spigot decompiler (#7706) PaperMC/Paper@f8e8d6c Strip enderpearl owners when they are no longer ticked (#7559) PaperMC/Paper@e42d683 Fix StructureGrowEvent species for RED_MUSHROOM PaperMC/Paper@a9ee104 Prevent tile entity copies loading chunks PaperMC/Paper@d4a712d [CI-SKIP] Remove unused import from last patch
This commit is contained in:
@@ -34,7 +34,7 @@ index a6f29c00d6716b501d0f52db8670d81e1304b7c0..1b3784eaac409c86806b6deeffcb0848
|
||||
|
||||
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 1b6d32d8720f66908b9f1b872115fcff081f5378..81bde8cd6c4a883bb10b2de5fb27634bba5cef6f 100644
|
||||
index c63ee396e990d11e2f613f3b5a478b486076ed56..ce247a8412d8adcac995d71c4a42bd9372da947e 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -212,6 +212,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -66,7 +66,7 @@ index ea7bbe0463858ebdf438f2aae40657f6682b7b06..3abb10c70b09c63462f0090a6b576ba2
|
||||
|
||||
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 a28f0f2c405a17bf57904a1a69f21f5c8243bbab..0944a2d84c6b7c2c85405823cbeb8deb25bd1459 100644
|
||||
index abf42afaa8ba3585d746e33220ca525b8858e4a6..009f4258731cb8053ddf1f8080db7401ac211589 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
|
||||
@@ -2566,18 +2566,18 @@ index 305a891e4b51d1031d9e9238ff00e2ea7de8d954..84625d09df800fcfd477fc493fb5f824
|
||||
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 1eb76c456790b81b657090377dd5ea547898f9a5..24fb7e822ed91581f09e85ac92ad58088bd8980b 100644
|
||||
index 8c4db2f0e5158872879da52a96bc592145e52e13..114e5296645a06e222c5ed977e984f9611c27789 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
|
||||
@@ -100,6 +100,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
private final int[] nodeAdjacency = new int[24];
|
||||
private final BinaryHeap openSet = new BinaryHeap();
|
||||
private Explosion explosionSource = new Explosion(null, this, null, null, Double.NaN, Double.NaN, Double.NaN, Float.NaN, true, Explosion.BlockInteraction.DESTROY); // CraftBukkit - reusable source for CraftTNTPrimed.getSource()
|
||||
@@ -104,6 +104,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@Nullable
|
||||
private BlockPos podium;
|
||||
// Paper end
|
||||
+ private boolean hadRider; // Purpur
|
||||
|
||||
public EnderDragon(EntityType<? extends EnderDragon> entitytypes, Level world) {
|
||||
super(EntityType.ENDER_DRAGON, world);
|
||||
@@ -114,8 +115,50 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -118,8 +119,50 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
}
|
||||
|
||||
this.phaseManager = new EnderDragonPhaseManager(this);
|
||||
@@ -2628,7 +2628,7 @@ index 1eb76c456790b81b657090377dd5ea547898f9a5..24fb7e822ed91581f09e85ac92ad5808
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
|
||||
}
|
||||
@@ -164,6 +207,37 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -181,6 +224,37 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
|
||||
@Override
|
||||
public void aiStep() {
|
||||
@@ -2666,7 +2666,7 @@ index 1eb76c456790b81b657090377dd5ea547898f9a5..24fb7e822ed91581f09e85ac92ad5808
|
||||
this.processFlappingMovement();
|
||||
if (this.level.isClientSide) {
|
||||
this.setHealth(this.getHealth());
|
||||
@@ -177,6 +251,8 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -194,6 +268,8 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
float f;
|
||||
|
||||
if (this.isDeadOrDying()) {
|
||||
@@ -2675,7 +2675,7 @@ index 1eb76c456790b81b657090377dd5ea547898f9a5..24fb7e822ed91581f09e85ac92ad5808
|
||||
float f1 = (this.random.nextFloat() - 0.5F) * 8.0F;
|
||||
|
||||
f = (this.random.nextFloat() - 0.5F) * 4.0F;
|
||||
@@ -189,9 +265,9 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -206,9 +282,9 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
|
||||
f = 0.2F / ((float) vec3d.horizontalDistance() * 10.0F + 1.0F);
|
||||
f *= (float) Math.pow(2.0D, vec3d.y);
|
||||
@@ -2687,7 +2687,7 @@ index 1eb76c456790b81b657090377dd5ea547898f9a5..24fb7e822ed91581f09e85ac92ad5808
|
||||
this.flapTime += f * 0.5F;
|
||||
} else {
|
||||
this.flapTime += f;
|
||||
@@ -236,7 +312,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -253,7 +329,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
}
|
||||
|
||||
this.phaseManager.getCurrentPhase().doClientTick();
|
||||
@@ -2696,7 +2696,7 @@ index 1eb76c456790b81b657090377dd5ea547898f9a5..24fb7e822ed91581f09e85ac92ad5808
|
||||
DragonPhaseInstance idragoncontroller = this.phaseManager.getCurrentPhase();
|
||||
|
||||
idragoncontroller.doServerTick();
|
||||
@@ -305,7 +381,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -322,7 +398,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
this.tickPart(this.body, (double) (f11 * 0.5F), 0.0D, (double) (-f12 * 0.5F));
|
||||
this.tickPart(this.wing1, (double) (f12 * 4.5F), 2.0D, (double) (f11 * 4.5F));
|
||||
this.tickPart(this.wing2, (double) (f12 * -4.5F), 2.0D, (double) (f11 * -4.5F));
|
||||
@@ -2705,7 +2705,7 @@ index 1eb76c456790b81b657090377dd5ea547898f9a5..24fb7e822ed91581f09e85ac92ad5808
|
||||
this.knockBack(this.level.getEntities((Entity) this, this.wing1.getBoundingBox().inflate(4.0D, 2.0D, 4.0D).move(0.0D, -2.0D, 0.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR));
|
||||
this.knockBack(this.level.getEntities((Entity) this, this.wing2.getBoundingBox().inflate(4.0D, 2.0D, 4.0D).move(0.0D, -2.0D, 0.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR));
|
||||
this.hurt(this.level.getEntities((Entity) this, this.head.getBoundingBox().inflate(1.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR));
|
||||
@@ -349,7 +425,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -366,7 +442,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
}
|
||||
|
||||
if (!this.level.isClientSide) {
|
||||
|
||||
Reference in New Issue
Block a user