Use slugs internally in Upgrade Waves.

This just removes the internal use of "lowercase name" in Upgrade Waves
and _should_ have no effect on the actual config-file and the parsing
done there.
This commit is contained in:
Andreas Troelsen 2020-11-01 16:52:01 +01:00
parent 2a87aef9f3
commit 31282014b3
3 changed files with 9 additions and 6 deletions

View File

@ -283,8 +283,8 @@ public class MASpawnThread implements Runnable
UpgradeWave uw = (UpgradeWave) w;
for (Player p : arena.getPlayersInArena()) {
String className = arena.getArenaPlayer(p).getArenaClass().getLowercaseName();
uw.grantItems(p, className);
String slug = arena.getArenaPlayer(p).getArenaClass().getSlug();
uw.grantItems(p, slug);
uw.grantItems(p, "all");
}

View File

@ -9,6 +9,7 @@ import com.garbagemule.MobArena.things.ThingManager;
import com.garbagemule.MobArena.things.ThingPicker;
import com.garbagemule.MobArena.util.ItemParser;
import com.garbagemule.MobArena.util.PotionEffectParser;
import com.garbagemule.MobArena.util.Slugs;
import com.garbagemule.MobArena.waves.ability.Ability;
import com.garbagemule.MobArena.waves.ability.AbilityManager;
import com.garbagemule.MobArena.waves.enums.BossHealth;
@ -468,16 +469,18 @@ public class WaveParser
String path = "upgrades.";
for (String className : classes) {
String slug = Slugs.create(className);
// Legacy support
Object val = config.get(path + className, null);
if (val instanceof String) {
List<Thing> things = loadUpgradesFromString(className, (String) val, name, arena, thingman);
upgrades.put(className.toLowerCase(), things);
upgrades.put(slug, things);
}
// New complex setup
else if (val instanceof ConfigurationSection) {
List<Thing> list = loadUpgradesFromSection(className, (ConfigurationSection) val, name, arena, thingman);
upgrades.put(className.toLowerCase(), list);
upgrades.put(slug, list);
}
}

View File

@ -27,8 +27,8 @@ public class UpgradeWave extends AbstractWave
return new HashMap<>();
}
public void grantItems(Player p, String className) {
List<Thing> list = upgrades.get(className);
public void grantItems(Player p, String slug) {
List<Thing> list = upgrades.get(slug);
if (list == null) return;
list.forEach(thing -> thing.giveTo(p));