mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-30 06:24:06 +01:00
Fix a ClassCastException from shooting fireworks
This commit is contained in:
parent
389c72c62e
commit
427078900e
@ -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>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sat, 15 Jun 2013 19:52:04 -0400
|
Date: Sat, 15 Jun 2013 19:52:04 -0400
|
||||||
Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
|
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.
|
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
|
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
|
--- a/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
|
||||||
+++ b/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;
|
@@ -2,6 +2,7 @@ package org.bukkit.event.entity;
|
||||||
@ -30,19 +30,18 @@ index ec12b57e..d086f331 100644
|
|||||||
+ public boolean getConsumeArrow() {
|
+ public boolean getConsumeArrow() {
|
||||||
+ return consumeArrow;
|
+ return consumeArrow;
|
||||||
+ }
|
+ }
|
||||||
+
|
|
||||||
+ @NotNull
|
+ @NotNull
|
||||||
+ public ItemStack getArrowItem() {
|
+ public ItemStack getArrowItem() {
|
||||||
+ return arrowItem;
|
+ return arrowItem;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Deprecated
|
+ @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);
|
+ 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 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) {
|
|
||||||
super(shooter);
|
super(shooter);
|
||||||
+ this.arrowItem = arrowItem;
|
+ this.arrowItem = arrowItem;
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
|
@ -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>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sat, 15 Jun 2013 19:51:17 -0400
|
Date: Sat, 15 Jun 2013 19:51:17 -0400
|
||||||
Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
|
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.
|
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
|
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
|
--- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
|
||||||
+++ b/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
|
@@ -157,7 +157,7 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR
|
||||||
@ -19,7 +19,7 @@ index e575d3cff7..85157e80d2 100644
|
|||||||
event.getProjectile().remove();
|
event.getProjectile().remove();
|
||||||
return;
|
return;
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemBow.java b/src/main/java/net/minecraft/server/ItemBow.java
|
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
|
--- a/src/main/java/net/minecraft/server/ItemBow.java
|
||||||
+++ b/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 {
|
@@ -36,6 +36,7 @@ public class ItemBow extends ItemProjectileWeapon {
|
||||||
@ -59,7 +59,7 @@ index 50b815dc89..4ec02c8ce7 100644
|
|||||||
if (itemstack1.isEmpty()) {
|
if (itemstack1.isEmpty()) {
|
||||||
entityhuman.inventory.f(itemstack1);
|
entityhuman.inventory.f(itemstack1);
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemCrossbow.java b/src/main/java/net/minecraft/server/ItemCrossbow.java
|
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
|
--- a/src/main/java/net/minecraft/server/ItemCrossbow.java
|
||||||
+++ b/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 {
|
@@ -213,7 +213,7 @@ public class ItemCrossbow extends ItemProjectileWeapon {
|
||||||
@ -72,7 +72,7 @@ index 6da9e5e4b7..cd17b47771 100644
|
|||||||
event.getProjectile().remove();
|
event.getProjectile().remove();
|
||||||
return;
|
return;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
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
|
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
+++ b/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;
|
@@ -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, 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);
|
Bukkit.getPluginManager().callEvent(event);
|
||||||
|
|
||||||
return event;
|
return event;
|
||||||
|
Loading…
Reference in New Issue
Block a user