summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/EntitySkeleton.java
diff options
context:
space:
mode:
authorTaylor Kelly <tkelly910@gmail.com>2011-01-08 15:40:42 +0800
committerDinner Bone <dinnerbone@dinnerbone.com>2011-01-10 09:46:57 +0800
commit103d4ee88728b80887e007b07254ceba77e5a943 (patch)
tree16644fc9933922dcf1785d8599a66459d6250bcd /src/main/java/net/minecraft/server/EntitySkeleton.java
parent814967ddd2e5425cff9ae03e6f84fa4bdabda7b9 (diff)
downloadcraftbukkit-103d4ee88728b80887e007b07254ceba77e5a943.tar
craftbukkit-103d4ee88728b80887e007b07254ceba77e5a943.tar.gz
craftbukkit-103d4ee88728b80887e007b07254ceba77e5a943.tar.lz
craftbukkit-103d4ee88728b80887e007b07254ceba77e5a943.tar.xz
craftbukkit-103d4ee88728b80887e007b07254ceba77e5a943.zip
EntityCombustEvent
Diffstat (limited to 'src/main/java/net/minecraft/server/EntitySkeleton.java')
-rw-r--r--src/main/java/net/minecraft/server/EntitySkeleton.java87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/EntitySkeleton.java b/src/main/java/net/minecraft/server/EntitySkeleton.java
new file mode 100644
index 00000000..2cd50c1a
--- /dev/null
+++ b/src/main/java/net/minecraft/server/EntitySkeleton.java
@@ -0,0 +1,87 @@
+package net.minecraft.server;
+
+import java.util.Random;
+
+import org.bukkit.craftbukkit.CraftEntity;
+import org.bukkit.craftbukkit.CraftLivingEntity;
+import org.bukkit.craftbukkit.CraftServer;
+import org.bukkit.event.Event.Type;
+import org.bukkit.event.entity.EntityCombustEvent;
+
+public class EntitySkeleton extends EntityMobs {
+
+ private static final ItemStack a;
+
+ public EntitySkeleton(World world) {
+ super(world);
+ aQ = "/mob/skeleton.png";
+ }
+
+ protected String d() {
+ return "mob.skeleton";
+ }
+
+ protected String e() {
+ return "mob.skeletonhurt";
+ }
+
+ protected String f() {
+ return "mob.skeletonhurt";
+ }
+
+ public void G() {
+ if (l.b()) {
+ float f1 = b(1.0F);
+
+ if (f1 > 0.5F && l.h(MathHelper.b(p), MathHelper.b(q), MathHelper.b(r)) && W.nextFloat() * 30F < (f1 - 0.4F) * 2.0F) {
+ //Craftbukkit start
+ CraftServer server = ((WorldServer) l).getServer();
+ EntityCombustEvent event = new EntityCombustEvent(Type.ENTITY_COMBUST, new CraftLivingEntity(server, (EntityLiving) this));
+ server.getPluginManager().callEvent(event);
+ if (!event.isCancelled()) {
+ Z = 300;
+ }
+ //Craftbukkit stop
+ }
+ }
+ super.G();
+ }
+
+ protected void a(Entity entity, float f1) {
+ if (f1 < 10F) {
+ double d1 = entity.p - p;
+ double d2 = entity.r - r;
+
+ if (bg == 0) {
+ EntityArrow entityarrow = new EntityArrow(l, this);
+
+ entityarrow.q += 1.3999999761581421D;
+ double d3 = entity.q - 0.20000000298023224D - entityarrow.q;
+ float f2 = MathHelper.a(d1 * d1 + d2 * d2) * 0.2F;
+
+ l.a(this, "random.bow", 1.0F, 1.0F / (W.nextFloat() * 0.4F + 0.8F));
+ l.a(entityarrow);
+ entityarrow.a(d1, d3 + (double) f2, d2, 0.6F, 12F);
+ bg = 30;
+ }
+ v = (float) ((Math.atan2(d2, d1) * 180D) / 3.1415927410125732D) - 90F;
+ ak = true;
+ }
+ }
+
+ public void a(NBTTagCompound nbttagcompound) {
+ super.a(nbttagcompound);
+ }
+
+ public void b(NBTTagCompound nbttagcompound) {
+ super.b(nbttagcompound);
+ }
+
+ protected int g() {
+ return Item.j.aW;
+ }
+
+ static {
+ a = new ItemStack(Item.i, 1);
+ }
+}