mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@71c84c8 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#10277) PaperMC/Paper@e3bc4c4 Make debug mode print current configuration phase PaperMC/Paper@d0ebfbb Fix corrupted plugin.yml breaking plugin loading (#10279) PaperMC/Paper@681bbff Fix spawnreason saving
80 lines
3.6 KiB
Diff
80 lines
3.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Encode42 <me@encode42.dev>
|
|
Date: Tue, 9 Mar 2021 16:10:39 -0500
|
|
Subject: [PATCH] Add back player spawned endermite API
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
|
index 7655e6d36e29ba8a64729e6a0688e81ffefa95fa..67f3928f4a03a8d546c55e46a1f094a354ac412d 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
|
@@ -37,6 +37,7 @@ public class Endermite extends Monster {
|
|
|
|
private static final int MAX_LIFE = 2400;
|
|
public int life;
|
|
+ private boolean isPlayerSpawned; // Purpur
|
|
|
|
public Endermite(EntityType<? extends Endermite> type, Level world) {
|
|
super(type, world);
|
|
@@ -70,6 +71,14 @@ public class Endermite extends Monster {
|
|
return this.level().purpurConfig.endermiteTakeDamageFromWater;
|
|
}
|
|
|
|
+ public boolean isPlayerSpawned() {
|
|
+ return this.isPlayerSpawned;
|
|
+ }
|
|
+
|
|
+ public void setPlayerSpawned(boolean playerSpawned) {
|
|
+ this.isPlayerSpawned = playerSpawned;
|
|
+ }
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
|
@@ -122,12 +131,14 @@ public class Endermite extends Monster {
|
|
public void readAdditionalSaveData(CompoundTag nbt) {
|
|
super.readAdditionalSaveData(nbt);
|
|
this.life = nbt.getInt("Lifetime");
|
|
+ this.isPlayerSpawned = nbt.getBoolean("PlayerSpawned"); // Purpur
|
|
}
|
|
|
|
@Override
|
|
public void addAdditionalSaveData(CompoundTag nbt) {
|
|
super.addAdditionalSaveData(nbt);
|
|
nbt.putInt("Lifetime", this.life);
|
|
+ nbt.putBoolean("PlayerSpawned", this.isPlayerSpawned); // Purpur
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
|
index b004f072d2a67ad9fb39dd6fbd3a30c94016202f..326d1db39e3d3cd46cb5a584e2a7b82dd46ff8fa 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
|
@@ -75,6 +75,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
|
|
Endermite entityendermite = (Endermite) EntityType.ENDERMITE.create(this.level());
|
|
|
|
if (entityendermite != null) {
|
|
+ entityendermite.setPlayerSpawned(true); // Purpur
|
|
entityendermite.moveTo(entity.getX(), entity.getY(), entity.getZ(), entity.getYRot(), entity.getXRot());
|
|
this.level().addFreshEntity(entityendermite, CreatureSpawnEvent.SpawnReason.ENDER_PEARL);
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEndermite.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEndermite.java
|
|
index d657fd2c507a5b215aeab0a5f3e9c2ee892a27c8..985e9ec21c60a1f47973bd5fc53b96a6f9b7d04a 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEndermite.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEndermite.java
|
|
@@ -21,12 +21,12 @@ public class CraftEndermite extends CraftMonster implements Endermite {
|
|
|
|
@Override
|
|
public boolean isPlayerSpawned() {
|
|
- return false;
|
|
+ return getHandle().isPlayerSpawned(); // Purpur
|
|
}
|
|
|
|
@Override
|
|
public void setPlayerSpawned(boolean playerSpawned) {
|
|
- // Nop
|
|
+ getHandle().setPlayerSpawned(playerSpawned); // Purpur
|
|
}
|
|
// Paper start
|
|
@Override
|