1.16.2 Release (#4123)
PaperMC believes that 1.16.2 is now ready for general release as we fixed the main issue plagueing the 1.16.x release, the MapLike data conversion issues. Until now, it was not safe for a server to convert a world to 1.16.2 without data conversion issues around villages and potentially other things. If you did, those MapLike errors meant something went wrong. This is now resolved. Big thanks to all those that helped, notably @BillyGalbreath and @Proximyst who did large parts of the update process with me. Please as always, backup your worlds and test before updating to 1.16.2! If you update to 1.16.2, there is no going back to an older build than this. --------------------------------- Co-authored-by: William Blake Galbreath <Blake.Galbreath@GMail.com> Co-authored-by: Mariell Hoversholm <proximyst@proximyst.com> Co-authored-by: krolik-exe <69214078+krolik-exe@users.noreply.github.com> Co-authored-by: BillyGalbreath <BillyGalbreath@users.noreply.github.com> Co-authored-by: stonar96 <minecraft.stonar96@gmail.com> Co-authored-by: Shane Freeder <theboyetronic@gmail.com> Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com> Co-authored-by: Riley Park <rileysebastianpark@gmail.com> Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com> Co-authored-by: Nassim Jahnke <nassim@njahnke.dev> Co-authored-by: commandblockguy <commandblockguy1@gmail.com> Co-authored-by: DigitalRegent <misterwener@gmail.com> Co-authored-by: ishland <ishlandmc@yeah.net>
This commit is contained in:
@@ -42,10 +42,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
this.fallDistance = 0.0F;
|
||||
}
|
||||
|
||||
+ public final void onKill(EntityLiving entityLiving) { this.a_(entityLiving); } // Paper - OBFHELPER
|
||||
public void a_(EntityLiving entityliving) {}
|
||||
+ public final void onKill(WorldServer worldserver, EntityLiving entityLiving) { this.a(worldserver, entityLiving); } // Paper - OBFHELPER
|
||||
public void a(WorldServer worldserver, EntityLiving entityliving) {}
|
||||
|
||||
protected void k(double d0, double d1, double d2) {
|
||||
protected void l(double d0, double d1, double d2) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
@@ -123,14 +123,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
|
||||
protected float aS;
|
||||
protected float aT;
|
||||
protected float aU;
|
||||
- protected int aV;
|
||||
+ protected int aV; protected int getKillCount() { return this.aV; } // Paper - OBFHELPER
|
||||
protected float aL;
|
||||
protected float aM;
|
||||
protected float aN;
|
||||
- protected int aO;
|
||||
+ protected int aO;protected int getKillCount() { return this.aO; } // Paper - OBFHELPER
|
||||
public float lastDamage;
|
||||
protected boolean jumping;
|
||||
public float aY;
|
||||
public float aR;
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
|
||||
public Set<UUID> collidableExemptions = new HashSet<>();
|
||||
public boolean canPickUpLoot;
|
||||
@@ -165,9 +165,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
Entity entity = damagesource.getEntity();
|
||||
EntityLiving entityliving = this.getKillingEntity();
|
||||
|
||||
+ /* // Paper - move down to make death event cancellable
|
||||
if (this.aV >= 0 && entityliving != null) {
|
||||
entityliving.a(this, this.aV, damagesource);
|
||||
+ /* // Paper - move down to make death event cancellable - this is the runKillTrigger below
|
||||
if (this.aO >= 0 && entityliving != null) {
|
||||
entityliving.a(this, this.aO, damagesource);
|
||||
}
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
|
||||
if (this.isSleeping()) {
|
||||
@@ -177,28 +177,33 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
|
||||
this.killed = true;
|
||||
- this.getCombatTracker().g();
|
||||
+ //this.getCombatTracker().g(); // Paper
|
||||
if (!this.world.isClientSide) {
|
||||
+ // this.getCombatTracker().g(); // Paper - moved into if below as .reset()
|
||||
if (this.world instanceof WorldServer) {
|
||||
if (entity != null) {
|
||||
- entity.a((WorldServer) this.world, this);
|
||||
+ // entity.a((WorldServer) this.world, this); // Paper - move below into if for onKill
|
||||
}
|
||||
|
||||
- this.d(damagesource);
|
||||
+ // Paper start
|
||||
+ org.bukkit.event.entity.EntityDeathEvent deathEvent = this.d(damagesource);
|
||||
+ if (deathEvent == null || !deathEvent.isCancelled()) {
|
||||
+ if (this.getKillCount() >= 0 && entityliving != null) {
|
||||
+ entityliving.runKillTrigger(this, this.getKillCount(), damagesource);
|
||||
+ }
|
||||
+ if (entity != null) {
|
||||
+ entity.onKill(this);
|
||||
+ }
|
||||
+ if (this.isSleeping()) {
|
||||
+ this.entityWakeup();
|
||||
+ }
|
||||
+ this.getCombatTracker().reset();
|
||||
+ if (entity != null) {
|
||||
+ entity.onKill((WorldServer) this.world, this);
|
||||
+ }
|
||||
+ } else {
|
||||
+ this.killed = false;
|
||||
+ this.setHealth((float) deathEvent.getReviveHealth());
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
this.g(entityliving);
|
||||
this.f(entityliving);
|
||||
}
|
||||
|
||||
+ if (this.killed) { // Paper
|
||||
|
||||
Reference in New Issue
Block a user