From c0073e466d3f0724078797b49a6b87c456f76055 Mon Sep 17 00:00:00 2001 From: Andrew Ardill Date: Mon, 28 Nov 2011 11:17:04 +1100 Subject: [PATCH] Add CraftMagmaCube --- .../net/minecraft/server/EntityLavaSlime.java | 82 +++++++++++++++++++ .../craftbukkit/entity/CraftMagmaCube.java | 22 +++++ 2 files changed, 104 insertions(+) create mode 100644 src/main/java/net/minecraft/server/EntityLavaSlime.java create mode 100644 src/main/java/org/bukkit/craftbukkit/entity/CraftMagmaCube.java diff --git a/src/main/java/net/minecraft/server/EntityLavaSlime.java b/src/main/java/net/minecraft/server/EntityLavaSlime.java new file mode 100644 index 0000000000..b9c61b0647 --- /dev/null +++ b/src/main/java/net/minecraft/server/EntityLavaSlime.java @@ -0,0 +1,82 @@ +package net.minecraft.server; + +public class EntityLavaSlime extends EntitySlime { + + public EntityLavaSlime(World world) { + super(world); + this.texture = "/mob/lava.png"; + this.fireProof = true; + this.ak = 0.2F; + } + + public boolean g() { + return this.world.difficulty > 0 && this.world.containsEntity(this.boundingBox) && this.world.getEntities(this, this.boundingBox).size() == 0 && !this.world.c(this.boundingBox); + } + + protected int O() { + return this.getSize() * 3; + } + + public float a(float f) { + return 1.0F; + } + + protected String w() { + return "flame"; + } + + protected EntitySlime y() { + return new EntityLavaSlime(this.world); + } + + protected int e() { + return 0; + } + + public boolean z() { + return false; + } + + protected int A() { + return super.A() * 4; + } + + protected void B() { + this.a *= 0.9F; + } + + protected void X() { + this.motY = (double) (0.42F + (float) this.getSize() * 0.1F); + this.cb = true; + } + + protected void b(float f) {} + + protected boolean C() { + return true; + } + + protected int D() { + return super.D() + 2; + } + + protected String m() { + return "mob.slime"; + } + + protected String n() { + return "mob.slime"; + } + + protected String E() { + return this.getSize() > 1 ? "mob.magmacube.big" : "mob.magmacube.small"; + } + + public boolean aA() { + return false; + } + + protected boolean G() { + return true; + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMagmaCube.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMagmaCube.java new file mode 100644 index 0000000000..4b68370248 --- /dev/null +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMagmaCube.java @@ -0,0 +1,22 @@ +package org.bukkit.craftbukkit.entity; + + +import net.minecraft.server.EntityLavaSlime; +import org.bukkit.craftbukkit.CraftServer; +import org.bukkit.entity.MagmaCube; + +public class CraftMagmaCube extends CraftSlime implements MagmaCube { + + public CraftMagmaCube(CraftServer server, EntityLavaSlime entity) { + super(server, entity); + } + + @Override + public String toString() { + return "CraftMagmaCube"; + } + + public EntityLavaSlime getHandle() { + return (EntityLavaSlime) super.getHandle(); + } +}