Merge pull request #1 from m0pt0pmatt/master

bats on flying horse now invis. removed degub print statement. fixed imp...
Merge https://github.com/m0pt0pmatt/Bukkit_MobSpawn
Fixed null-pointer when trying to load into yaml var 'config' without
creating first. Added comment and skeleton for canSpawn method in
CustomMob.java
Created MobToSpawn, a class that acts like an Entry. Got rid of the
HashMap mob in MonsterSpawner.java, and instead load up config values
(monsters and their respective spawn rates) into an ArrayList of
MobToSpawn. Made the appropriate changes to the getRandomEntity method in
MonsterSpawner.java
Added line creating "Main" section in default config!
Added check in MobSpawner.java's parseArmorString for the string 'none',
which specifies no piece of armor in that slot.
Changed storage method in PotionEffect class from tree to list.
Fixed scoping of local variable 'spawn' in MobSpawnPlugin.java (a local
variable to the onEnable method was created. This was removed, and the
instance-variable is used instead)
Fixed error in defaultconfig involving typos.
Now cast name retrieved from config file to caps, so that it can be looked
up in EntityType enum.
A few other small fixes usually dealing with silent null-pointers being
passed.
Fixed health in simpleMob's : We were setting their health, not max
health; as such, we got an error when their health exceeded max-health.
Checked for the name 'none' before assigning it to the monster to conform
with config standards.
Fixed scoping of Config in MobspawnPlugin's default config creation
method: it previously created the 'main' section and put in the world
list, and then actually created the config file. Whuut
Fixed a bug in LoadWorlds that looked for a section called "Worlds" rather
than the nested "Main.Worlds"
Added method canSpawn to CustomMob; i.e. set up prototype for a canSpawn
method. THIS COMMIT INTRODUCED FAILURE TO COMPILE, AS canSpawn HASN'T BEEN
IMPLEMENTED YET.
Added the canSpawn method to CustomMob interface.
Defined canSpawn method in SimpleMob and StackedMob.
Created HorseMob, a SimpleMob child that extends to horses.
Worked a little on converting PredefinedMob to work with CustomMob
Finished up SimpleMob.canSpawn -- filling out the switch statement
Added spawnMob and canSpawn to PredefinedMob that works with new layout
Changed the return type of enumerated values for PredefinedMob to
PredefinedMob, so that MonsterSpawner can store it into an arraylist of
CustomMobs it can just call spawnMob on later.
Also added descriptions and skeletons of each predefined mob type-method.
Also introduced an error with MobSpawner that involves NOT casting to
uppercase the string that is to be used to 'invoke' PredefinedMob's
enumerated functions.
Changed enumerated method calls in PredefinedMob to CAPS.
Changed the interpretation of values in config file by MonsterSpawner to
accurately read them in and convert them.
Added a 'none' potion effect, and added checks for it in methods.
Finished declarations of ech PredefinedMob enumerated function type with
updated methodology.
ADDED TWO FUNCTIONS WHICH WORK DIFFERENTLY THAT THE REST (to avoid
creating two new subclasses of SimpleMob) -- WitherSkeleton(with args) and
WitherSkeletonOnHorse(with args)
Finished PredefinedMob and changed it from an enum to actual class.
Created PredefinedMobType enum within PredefinedMob
Fixed bug in SimpleMob that didn't copy over weapon from SimpleMob
template to actaul entity.
Added call to canSpawn in getRandomEntity & Changed arguments to include
the location to spawn the mob (needed to check if the randomly picked mob
can spawn there)