Files
CatServer/patches/net/minecraft/entity/monster/EntitySlime.java.patch

41 lines
1.4 KiB
Diff

--- ../src-base/minecraft/net/minecraft/entity/monster/EntitySlime.java
+++ ../src-work/minecraft/net/minecraft/entity/monster/EntitySlime.java
@@ -1,6 +1,9 @@
package net.minecraft.entity.monster;
import javax.annotation.Nullable;
+
+import org.bukkit.event.entity.SlimeSplitEvent;
+
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
@@ -66,7 +69,7 @@
this.dataManager.register(SLIME_SIZE, Integer.valueOf(1));
}
- protected void setSlimeSize(int size)
+ public void setSlimeSize(int size)
{
this.dataManager.set(SLIME_SIZE, Integer.valueOf(size));
this.setSize(0.51000005F * (float)size, 0.51000005F * (float)size);
@@ -199,6 +202,18 @@
{
int j = 2 + this.rand.nextInt(3);
+ // CraftBukkit start
+ SlimeSplitEvent event = new SlimeSplitEvent((org.bukkit.entity.Slime) this.getBukkitEntity(), j);
+ this.worldObj.getServer().getPluginManager().callEvent(event);
+
+ if (!event.isCancelled() && event.getCount() > 0) {
+ j = event.getCount();
+ } else {
+ super.setDead();
+ return;
+ }
+ // CraftBukkit end
+
for (int k = 0; k < j; ++k)
{
float f = ((float)(k % 2) - 0.5F) * (float)i / 4.0F;