summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2013-06-01 23:33:31 +0100
committerKHobbits <rob@khobbits.co.uk>2013-06-01 23:33:31 +0100
commitd6756a26058a38c3755934536b3e923956804ada (patch)
treeb48d4dfad96b79dc5ab64fc4026fdfe3c4af07f6
parentb065f4a05a9c03cfa56004787aa2377f818b5474 (diff)
downloadEssentials-d6756a26058a38c3755934536b3e923956804ada.tar
Essentials-d6756a26058a38c3755934536b3e923956804ada.tar.gz
Essentials-d6756a26058a38c3755934536b3e923956804ada.tar.lz
Essentials-d6756a26058a38c3755934536b3e923956804ada.tar.xz
Essentials-d6756a26058a38c3755934536b3e923956804ada.zip
[Fix] Set some default mob data.
Fixes skeletons spawning without bows.
-rw-r--r--Essentials/src/com/earth2me/essentials/SpawnMob.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/Essentials/src/com/earth2me/essentials/SpawnMob.java b/Essentials/src/com/earth2me/essentials/SpawnMob.java
index 5305f6539..36a195212 100644
--- a/Essentials/src/com/earth2me/essentials/SpawnMob.java
+++ b/Essentials/src/com/earth2me/essentials/SpawnMob.java
@@ -10,11 +10,14 @@ import java.util.Random;
import java.util.Set;
import org.bukkit.DyeColor;
import org.bukkit.Location;
+import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.block.Block;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.*;
import org.bukkit.entity.Skeleton.SkeletonType;
+import org.bukkit.inventory.EntityEquipment;
+import org.bukkit.inventory.ItemStack;
import org.bukkit.material.Colorable;
@@ -161,6 +164,7 @@ public class SpawnMob
{
mob = Mob.fromName(parts.get(i));
spawnedMob = mob.spawn(sloc.getWorld(), server, sloc);
+ defaultMobData(mob.getType(), spawnedMob);
if (data.get(i) != null)
{
@@ -173,6 +177,7 @@ public class SpawnMob
{
Mob mMob = Mob.fromName(parts.get(next));
spawnedMount = mMob.spawn(sloc.getWorld(), server, sloc);
+ defaultMobData(mMob.getType(), spawnedMount);
if (data.get(next) != null)
{
@@ -324,4 +329,35 @@ public class SpawnMob
}
}
}
+
+ private static void defaultMobData(final EntityType type, final Entity spawned)
+ {
+ if (type == EntityType.SKELETON)
+ {
+ final EntityEquipment invent = ((LivingEntity)spawned).getEquipment();
+ invent.setItemInHand(new ItemStack(Material.BOW, 1));
+ invent.setItemInHandDropChance(0.1f);
+
+ invent.setBoots(new ItemStack(Material.GOLD_BOOTS, 1));
+ invent.setBootsDropChance(0.0f);
+ }
+
+ if (type == EntityType.PIG_ZOMBIE)
+ {
+ final EntityEquipment invent = ((LivingEntity)spawned).getEquipment();
+ invent.setItemInHand(new ItemStack(Material.GOLD_SWORD, 1));
+ invent.setItemInHandDropChance(0.1f);
+
+ invent.setBoots(new ItemStack(Material.GOLD_BOOTS, 1));
+ invent.setBootsDropChance(0.0f);
+ }
+
+ if (type == EntityType.ZOMBIE)
+ {
+ final EntityEquipment invent = ((LivingEntity)spawned).getEquipment();
+ invent.setBoots(new ItemStack(Material.GOLD_BOOTS, 1));
+ invent.setBootsDropChance(0.0f);
+ }
+
+ }
}