/MythicMobsRegionEx

Mythic Mobs WorldGuard Region Extensions

Primary LanguageJava

MythicMobsRegionEx

Mythic Mobs WorldGuard Region Extensions

This is a small plugin which adds a couple new conditions to Mythic Mobs for WorldGuard regions.

Conditions:
- InRegions{r=Region1,Region2,Region3}
- NotInRegions{r=Region4,Region5}

*Region1,2,3,4,5,etc can be either WorldGuard Regions or Template Regions

There's already "region" and "notinregion" conditions in Mythic Mobs, why would you bother doing this?

Two reasons:

  1. I wanted to control a large range of mob levels based on the region they spawned in instead of relying on Mythic Mobs distance from spawn point auto leveling mechanic. While Mythic Mobs aready includes this functionality, you can only specify one region per condition. This gets tedious quickly if you have a lot of regions.
  2. More importantly, I noticed that Mythic Mob's conditions do not respect parent regions, or global Template Regions. Without this plugin extension, I would have had to create condition checks for every individual physical region I defined. Combine that with the only one region per condition statement restriction, and your Mythic Mobs configs become unmanageable quickly.

So what does it all mean?

For me, it meant I could decouple my physical regions from level ranges in Mythic Mobs. I did this by creating templates for each level range, and using the new region conditions against them.

Basically, I went from this:

Conditions:
- inregion{r=TheDarkWoods} true
- inregion{r=TheFlats} true
- inregion{r=TheRollingHills} true
- inregion{r=SomeOtherPhysicalRegionWithLeveledMobs} true
#exclude for overlapping regions
- notinregion{r=StartingArea} true
- notinregion{r=Homesteads} true
- notinregion{r=Farms} true
- inregion{r=SomeOtherPhysicalRegionWithoutLeveledMobs}
Skills:
- setlevel{a=set;l=5}
- setlevel{a=set;l=6} .33
- setlevel{a=set;l=7} .33

To this:

Conditions:
- notinregions{r=leveledRegion_none,leveledRegion_1_3,leveledRegion_3_5} true
- inregions{r=leveledRegion_5_7} true
Skills:
- setlevel{a=set;l=5}
- setlevel{a=set;l=6} .33
- setlevel{a=set;l=7} .33