summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
diff options
context:
space:
mode:
authorZeerix <zeerix@draig.de>2011-12-28 21:36:02 +0100
committerErik Broes <erikbroes@grum.nl>2012-01-17 19:51:06 +0100
commitbcf6440bc42fcc80c0ec3b08c79f8d501f464749 (patch)
treee063a3cbaa1522b1b55707349b57cbfec234a4f5 /src/main/java/org
parentedbb7358fc8837218768d584c28f75ea3dedbadc (diff)
downloadcraftbukkit-bcf6440bc42fcc80c0ec3b08c79f8d501f464749.tar
craftbukkit-bcf6440bc42fcc80c0ec3b08c79f8d501f464749.tar.gz
craftbukkit-bcf6440bc42fcc80c0ec3b08c79f8d501f464749.tar.lz
craftbukkit-bcf6440bc42fcc80c0ec3b08c79f8d501f464749.tar.xz
craftbukkit-bcf6440bc42fcc80c0ec3b08c79f8d501f464749.zip
[Bleeding] Implement EntityShootBowEvent. Thanks Zeerix.
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index cc1518b3..955d1a90 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -5,6 +5,7 @@ import java.util.List;
import net.minecraft.server.ChunkCoordinates;
import net.minecraft.server.Entity;
+import net.minecraft.server.EntityArrow;
import net.minecraft.server.EntityBlaze;
import net.minecraft.server.EntityCaveSpider;
import net.minecraft.server.EntityChicken;
@@ -51,7 +52,9 @@ import org.bukkit.craftbukkit.entity.CraftLivingEntity;
import org.bukkit.craftbukkit.entity.CraftPlayer;
import org.bukkit.craftbukkit.inventory.CraftItemStack;
import org.bukkit.entity.AnimalTamer;
+import org.bukkit.entity.Arrow;
import org.bukkit.entity.CreatureType;
+import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.Event.Type;
import org.bukkit.event.block.*;
@@ -183,6 +186,24 @@ public class CraftEventFactory {
}
/**
+ * EntityShootBowEvent
+ */
+ public static EntityShootBowEvent callEntityShootBowEvent(EntityLiving who, ItemStack itemstack, EntityArrow entityArrow, float force) {
+ LivingEntity shooter = (LivingEntity) who.getBukkitEntity();
+ CraftItemStack itemInHand = new CraftItemStack(itemstack);
+ Arrow arrow = (Arrow) entityArrow.getBukkitEntity();
+
+ if (itemInHand != null && (itemInHand.getType() == Material.AIR || itemInHand.getAmount() == 0)) {
+ itemInHand = null;
+ }
+
+ EntityShootBowEvent event = new EntityShootBowEvent(shooter, itemInHand, arrow, force);
+ Bukkit.getPluginManager().callEvent(event);
+
+ return event;
+ }
+
+ /**
* BlockDamageEvent
*/
public static BlockDamageEvent callBlockDamageEvent(EntityHuman who, int x, int y, int z, ItemStack itemstack, boolean instaBreak) {