mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 09:27:43 +01:00
Fix error when using non living entity on monster egg
This commit is contained in:
@@ -6,14 +6,14 @@ Subject: [PATCH] EMC - MonsterEggSpawnEvent
|
|||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/event/entity/MonsterEggSpawnEvent.java b/src/main/java/net/pl3x/purpur/event/entity/MonsterEggSpawnEvent.java
|
diff --git a/src/main/java/net/pl3x/purpur/event/entity/MonsterEggSpawnEvent.java b/src/main/java/net/pl3x/purpur/event/entity/MonsterEggSpawnEvent.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..983d67234b15c83c3785d9fbc191da70cf67ccab
|
index 0000000000000000000000000000000000000000..8f1c9c421aeeb0ddf331f076a9b646c510ea4337
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/net/pl3x/purpur/event/entity/MonsterEggSpawnEvent.java
|
+++ b/src/main/java/net/pl3x/purpur/event/entity/MonsterEggSpawnEvent.java
|
||||||
@@ -0,0 +1,67 @@
|
@@ -0,0 +1,67 @@
|
||||||
+package net.pl3x.purpur.event.entity;
|
+package net.pl3x.purpur.event.entity;
|
||||||
+
|
+
|
||||||
|
+import org.bukkit.entity.Entity;
|
||||||
+import org.bukkit.entity.HumanEntity;
|
+import org.bukkit.entity.HumanEntity;
|
||||||
+import org.bukkit.entity.LivingEntity;
|
|
||||||
+import org.bukkit.entity.Player;
|
+import org.bukkit.entity.Player;
|
||||||
+import org.bukkit.event.Cancellable;
|
+import org.bukkit.event.Cancellable;
|
||||||
+import org.bukkit.event.Event;
|
+import org.bukkit.event.Event;
|
||||||
@@ -27,10 +27,10 @@ index 0000000000000000000000000000000000000000..983d67234b15c83c3785d9fbc191da70
|
|||||||
+ private boolean canceled;
|
+ private boolean canceled;
|
||||||
+
|
+
|
||||||
+ private final Player player;
|
+ private final Player player;
|
||||||
+ private LivingEntity entity;
|
+ private Entity entity;
|
||||||
+ private final ItemStack item;
|
+ private final ItemStack item;
|
||||||
+
|
+
|
||||||
+ public MonsterEggSpawnEvent(@Nullable HumanEntity player, @NotNull LivingEntity entity, @NotNull ItemStack item) {
|
+ public MonsterEggSpawnEvent(@Nullable HumanEntity player, @NotNull Entity entity, @NotNull ItemStack item) {
|
||||||
+ this.player = (Player) player;
|
+ this.player = (Player) player;
|
||||||
+ this.entity = entity;
|
+ this.entity = entity;
|
||||||
+ this.item = item;
|
+ this.item = item;
|
||||||
@@ -42,11 +42,11 @@ index 0000000000000000000000000000000000000000..983d67234b15c83c3785d9fbc191da70
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @NotNull
|
+ @NotNull
|
||||||
+ public LivingEntity getEntity() {
|
+ public Entity getEntity() {
|
||||||
+ return entity;
|
+ return entity;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public void setEntity(@Nullable LivingEntity entity) {
|
+ public void setEntity(@Nullable Entity entity) {
|
||||||
+ if (entity == null) {
|
+ if (entity == null) {
|
||||||
+ canceled = true;
|
+ canceled = true;
|
||||||
+ return;
|
+ return;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] EMC - MonsterEggSpawnEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityTypes.java b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityTypes.java b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
index e858e41e046665016327f0ef3f19cf5db765fe3b..acf4cbfd9780f186880c595c8fac8d91b8f56e68 100644
|
index e858e41e046665016327f0ef3f19cf5db765fe3b..a2ceb426026a8bf632643232f5f9f7d33f04079b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
@@ -320,13 +320,20 @@ public class EntityTypes<T extends Entity> {
|
@@ -320,13 +320,20 @@ public class EntityTypes<T extends Entity> {
|
||||||
@@ -47,7 +47,7 @@ index e858e41e046665016327f0ef3f19cf5db765fe3b..acf4cbfd9780f186880c595c8fac8d91
|
|||||||
|
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ if (spawnReason == org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG && itemstack != null && t0 != null) {
|
+ if (spawnReason == org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG && itemstack != null && t0 != null) {
|
||||||
+ final net.pl3x.purpur.event.entity.MonsterEggSpawnEvent event = new net.pl3x.purpur.event.entity.MonsterEggSpawnEvent(entityhuman != null ? entityhuman.getBukkitEntity() : null, (org.bukkit.entity.LivingEntity) t0.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack));
|
+ final net.pl3x.purpur.event.entity.MonsterEggSpawnEvent event = new net.pl3x.purpur.event.entity.MonsterEggSpawnEvent(entityhuman != null ? entityhuman.getBukkitEntity() : null, t0.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack));
|
||||||
+ if (!event.callEvent()) {
|
+ if (!event.callEvent()) {
|
||||||
+ worldserver.removeEntity(t0);
|
+ worldserver.removeEntity(t0);
|
||||||
+ return null;
|
+ return null;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Short enderman height
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityTypes.java b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityTypes.java b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
index acf4cbfd9780f186880c595c8fac8d91b8f56e68..cc963bbc0fa909b3121a25786b511b31ee4b9561 100644
|
index a2ceb426026a8bf632643232f5f9f7d33f04079b..e1ef642f06078202fb782ac16b268e6429c5e202 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
@@ -268,7 +268,8 @@ public class EntityTypes<T extends Entity> {
|
@@ -268,7 +268,8 @@ public class EntityTypes<T extends Entity> {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
|
|||||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityTypes.java b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityTypes.java b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
index cc963bbc0fa909b3121a25786b511b31ee4b9561..6569f3d07e89383ff3ebed9c2ff5615b81ddd2f5 100644
|
index e1ef642f06078202fb782ac16b268e6429c5e202..778c981d4458957533fc3ac44095051b279c74e3 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
@@ -534,6 +534,7 @@ public class EntityTypes<T extends Entity> {
|
@@ -534,6 +534,7 @@ public class EntityTypes<T extends Entity> {
|
||||||
|
|||||||
Reference in New Issue
Block a user