Fix a ClassCastException from shooting fireworks

This commit is contained in:
Shane Freeder 2019-05-07 19:56:32 +01:00
parent 389c72c62e
commit 427078900e
No known key found for this signature in database
GPG Key ID: A3F61EA5A085289C
2 changed files with 12 additions and 13 deletions

View File

@ -1,4 +1,4 @@
From fd5b30936be418b1270633aa80c6df0c12665ab6 Mon Sep 17 00:00:00 2001
From d703171a91b490c086f656418317449ad3e6896f Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 15 Jun 2013 19:52:04 -0400
Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
@ -6,7 +6,7 @@ Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
Adds ability to get what arrow was shot, and control if it should be consumed.
diff --git a/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java b/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
index ec12b57e..d086f331 100644
index 18c5e31ab..37dbc12eb 100644
--- a/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
@@ -2,6 +2,7 @@ package org.bukkit.event.entity;
@ -30,19 +30,18 @@ index ec12b57e..d086f331 100644
+ public boolean getConsumeArrow() {
+ return consumeArrow;
+ }
+
+ @NotNull
+ public ItemStack getArrowItem() {
+ return arrowItem;
+ }
+
+ @Deprecated
+ public EntityShootBowEvent(@NotNull final LivingEntity shooter, @Nullable final ItemStack bow, @NotNull final Projectile projectile, final float force) {
public EntityShootBowEvent(@NotNull final LivingEntity shooter, @Nullable final ItemStack bow, @NotNull final Entity projectile, final float force) {
+ this(shooter, bow, new ItemStack(org.bukkit.Material.AIR), projectile, force);
+ }
- public EntityShootBowEvent(@NotNull final LivingEntity shooter, @Nullable final ItemStack bow, @NotNull final Entity projectile, final float force) {
+ public EntityShootBowEvent(@NotNull final LivingEntity shooter, @Nullable final ItemStack bow, @NotNull ItemStack arrowItem, @NotNull final Projectile projectile, final float force) {
+
+ public EntityShootBowEvent(@NotNull final LivingEntity shooter, @Nullable final ItemStack bow, @NotNull ItemStack arrowItem, @NotNull final Entity projectile, final float force) {
super(shooter);
+ this.arrowItem = arrowItem;
+ // Paper end

View File

@ -1,4 +1,4 @@
From 2fe176bc1b672bcf7c69ef65687e041a10e9fa84 Mon Sep 17 00:00:00 2001
From 6aa7f996f54b550a634d8b78040f237483d18157 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 15 Jun 2013 19:51:17 -0400
Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
@ -6,7 +6,7 @@ Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
Adds ability to get what arrow was shot, and control if it should be consumed.
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
index e575d3cff7..85157e80d2 100644
index e575d3cff..85157e80d 100644
--- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
+++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
@@ -157,7 +157,7 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR
@ -19,7 +19,7 @@ index e575d3cff7..85157e80d2 100644
event.getProjectile().remove();
return;
diff --git a/src/main/java/net/minecraft/server/ItemBow.java b/src/main/java/net/minecraft/server/ItemBow.java
index 50b815dc89..4ec02c8ce7 100644
index 50b815dc8..4ec02c8ce 100644
--- a/src/main/java/net/minecraft/server/ItemBow.java
+++ b/src/main/java/net/minecraft/server/ItemBow.java
@@ -36,6 +36,7 @@ public class ItemBow extends ItemProjectileWeapon {
@ -59,7 +59,7 @@ index 50b815dc89..4ec02c8ce7 100644
if (itemstack1.isEmpty()) {
entityhuman.inventory.f(itemstack1);
diff --git a/src/main/java/net/minecraft/server/ItemCrossbow.java b/src/main/java/net/minecraft/server/ItemCrossbow.java
index 6da9e5e4b7..cd17b47771 100644
index 6da9e5e4b..cd17b4777 100644
--- a/src/main/java/net/minecraft/server/ItemCrossbow.java
+++ b/src/main/java/net/minecraft/server/ItemCrossbow.java
@@ -213,7 +213,7 @@ public class ItemCrossbow extends ItemProjectileWeapon {
@ -72,7 +72,7 @@ index 6da9e5e4b7..cd17b47771 100644
event.getProjectile().remove();
return;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index db44e82a10..30fe2528ae 100644
index db44e82a1..f0958e770 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -49,6 +49,7 @@ import net.minecraft.server.GeneratorAccess;
@ -99,7 +99,7 @@ index db44e82a10..30fe2528ae 100644
}
- EntityShootBowEvent event = new EntityShootBowEvent(shooter, itemInHand, arrow, force);
+ EntityShootBowEvent event = new EntityShootBowEvent(shooter, itemInHand, CraftItemStack.asCraftMirror(arrowItem), (Projectile) arrow, force); // Paper
+ EntityShootBowEvent event = new EntityShootBowEvent(shooter, itemInHand, CraftItemStack.asCraftMirror(arrowItem), arrow, force); // Paper
Bukkit.getPluginManager().callEvent(event);
return event;