Skip to content

Commit 0dbe424

Browse files
committed
Update for 1.4 mobs (witch, bat, wither, wither skeleton, zombie villager)
1 parent 20aa09b commit 0dbe424

12 files changed

+40
-4
lines changed

src/main/java/org/dynmap/mobs/DynmapMobsPlugin.java

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,19 @@
1111
import org.bukkit.Location;
1212
import org.bukkit.OfflinePlayer;
1313
import org.bukkit.World;
14+
import org.bukkit.World.Environment;
1415
import org.bukkit.block.Block;
1516
import org.bukkit.configuration.file.FileConfiguration;
1617
import org.bukkit.craftbukkit.entity.CraftEntity;
1718
import org.bukkit.entity.AnimalTamer;
1819
import org.bukkit.entity.Entity;
1920
import org.bukkit.entity.Ocelot;
21+
import org.bukkit.entity.Skeleton;
22+
import org.bukkit.entity.Skeleton.SkeletonType;
2023
import org.bukkit.entity.Villager;
2124
import org.bukkit.entity.Villager.Profession;
2225
import org.bukkit.entity.Wolf;
26+
import org.bukkit.entity.Zombie;
2327
import org.bukkit.event.EventHandler;
2428
import org.bukkit.event.EventPriority;
2529
import org.bukkit.event.Listener;
@@ -121,11 +125,14 @@ private static class MobMapping {
121125
new MobMapping("snake", "org.bukkit.entity.Animals", "Snake", "net.minecraft.server.MoCEntitySnake"),
122126
new MobMapping("ostrich", "org.bukkit.entity.Animals", "Ostrich", "net.minecraft.server.MoCEntityOstrich"),
123127
// Standard
128+
new MobMapping("bat", "org.bukkit.entity.Bat", "Bat"),
129+
new MobMapping("witch", "org.bukkit.entity.Witch", "Witch"),
130+
new MobMapping("wither", "org.bukkit.entity.Wither", "Wither"),
124131
new MobMapping("blaze", "org.bukkit.entity.Blaze", "Blaze"),
125-
new MobMapping("enderdragon", "org.bukkit.entity.EnderDragon", "Enderdragon"),
132+
new MobMapping("enderdragon", "org.bukkit.entity.EnderDragon", "Ender Dragon"),
126133
new MobMapping("ghast", "org.bukkit.entity.EnderDragon", "Ghast"),
127-
new MobMapping("cow", "org.bukkit.entity.Cow", "Cow"),
128134
new MobMapping("mooshroom", "org.bukkit.entity.MushroomCow", "Mooshroom"),
135+
new MobMapping("cow", "org.bukkit.entity.Cow", "Cow"),
129136
new MobMapping("silverfish", "org.bukkit.entity.Silverfish", "Silverfish"),
130137
new MobMapping("slime", "org.bukkit.entity.Slime", "Slime"),
131138
new MobMapping("snowgolem", "org.bukkit.entity.Snowman", "Snow Golem"),
@@ -139,8 +146,10 @@ private static class MobMapping {
139146
new MobMapping("zombiepigman", "org.bukkit.entity.PigZombie", "Zombie Pigman"),
140147
new MobMapping("creeper", "org.bukkit.entity.Creeper", "Creeper"),
141148
new MobMapping("skeleton", "org.bukkit.entity.Skeleton", "Skeleton"),
149+
new MobMapping("witherskeleton", "org.bukkit.entity.Skeleton", "Wither Skeleton"), /* Must be just after "skeleton" */
142150
new MobMapping("enderman", "org.bukkit.entity.Enderman", "Enderman"),
143151
new MobMapping("zombie", "org.bukkit.entity.Zombie", "Zombie"),
152+
new MobMapping("zombievilager", "org.bukkit.entity.Zombie", "Zombie Villager"), /* Must be just after "zomnie" */
144153
new MobMapping("giant", "org.bukkit.entity.Giant", "Giant"),
145154
new MobMapping("chicken", "org.bukkit.entity.Chicken", "Chicken"),
146155
new MobMapping("pig", "org.bukkit.entity.Pig", "Pig"),
@@ -189,11 +198,10 @@ else if ((mobs[i].entclass != null) && (mobs[i].entclass.isInstance(ce.getHandle
189198
if(i >= mobs.length) {
190199
continue;
191200
}
192-
String label = mobs[i].label;
201+
String label = null;
193202
if(mobs[i].mobid.equals("spider")) { /* Check for jockey */
194203
if(le.getPassenger() != null) { /* Has passenger? */
195204
i++; /* Make jockey */
196-
label = mobs[i].label;
197205
}
198206
}
199207
else if(mobs[i].mobid.equals("wolf")) { /* Check for tamed wolf */
@@ -216,6 +224,18 @@ else if(mobs[i].mobid.equals("ocelot")) { /* Check for tamed ocelot */
216224
}
217225
}
218226
}
227+
else if(mobs[i].mobid.equals("zombie")) {
228+
Zombie zom = (Zombie)le;
229+
if(zom.isVillager()) {
230+
i++; /* Make in to zombie villager */
231+
}
232+
}
233+
else if(mobs[i].mobid.equals("skeleton")) {
234+
Skeleton sk = (Skeleton)le;
235+
if(sk.getSkeletonType() == SkeletonType.WITHER) {
236+
i++; /* Make in to wither skeleton */
237+
}
238+
}
219239
else if(mobs[i].mobid.equals("villager")) {
220240
Villager v = (Villager)le;
221241
Profession p = v.getProfession();
@@ -239,6 +259,12 @@ else if(mobs[i].mobid.equals("villager")) {
239259
}
240260
}
241261
}
262+
if(i >= mobs.length) {
263+
continue;
264+
}
265+
if(label == null) {
266+
label = mobs[i].label;
267+
}
242268
Location loc = le.getLocation();
243269
Block blk = null;
244270
if(hideifshadow < 15) {

src/main/resources/8x8/bat.png

2.91 KB
Loading

src/main/resources/8x8/witch.png

1.38 KB
Loading

src/main/resources/8x8/wither.png

2.86 KB
Loading
2.86 KB
Loading
2.91 KB
Loading

src/main/resources/bat.png

3.43 KB
Loading

src/main/resources/config.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,16 @@ mobs:
6363
cat: true
6464
# Include Iron golems
6565
golem: false
66+
# Include witches
67+
witch: false
68+
# Include wither skeletons
69+
witherskeleton: true
70+
# Include wither
71+
wither: true
72+
# Include zombie villager
73+
zombievillager: true
74+
# Include bats
75+
bat: false
6676
# Mo'Creatures Mobs
6777
horse: false
6878
fireogre: false

src/main/resources/witch.png

1.76 KB
Loading

src/main/resources/wither.png

3.14 KB
Loading

src/main/resources/witherskeleton.png

3.14 KB
Loading

src/main/resources/zombievillager.png

3.36 KB
Loading

0 commit comments

Comments
 (0)