diff --git a/src/main/java/com/garbagemule/MobArena/ArenaImpl.java b/src/main/java/com/garbagemule/MobArena/ArenaImpl.java index add1502..c0ab053 100644 --- a/src/main/java/com/garbagemule/MobArena/ArenaImpl.java +++ b/src/main/java/com/garbagemule/MobArena/ArenaImpl.java @@ -71,6 +71,7 @@ public class ArenaImpl implements Arena private Set randoms; // Classes stuff + private ArenaClass defaultClass; private Map classes; private Map attachments; @@ -139,6 +140,11 @@ public class ArenaImpl implements Arena this.classes = plugin.getArenaMaster().getClasses(); this.attachments = new HashMap(); this.limitManager = new ClassLimitManager(this, classes, makeSection(section, "class-limits")); + + String defaultClassName = settings.getString("default-class", null); + if (defaultClassName != null) { + this.defaultClass = classes.get(defaultClassName); + } // Blocks and pets this.repairQueue = new PriorityBlockingQueue(100, new RepairableComparator()); @@ -615,6 +621,14 @@ public class ArenaImpl implements Arena } else if (autoStartTimer.isRunning()) { Messenger.tell(p, Msg.ARENA_AUTO_START, "" + autoStartTimer.getRemaining() / 20l); } + + if (defaultClass != null) { + // Assign default class if applicable + if (!ClassChests.assignClassFromStoredClassChest(this, p, defaultClass)) { + assignClass(p, defaultClass.getLowercaseName()); + Messenger.tell(p, Msg.LOBBY_CLASS_PICKED, defaultClass.getConfigName()); + } + } return true; } diff --git a/src/main/resources/res/settings.yml b/src/main/resources/res/settings.yml index 0778a0b..435785a 100644 --- a/src/main/resources/res/settings.yml +++ b/src/main/resources/res/settings.yml @@ -2,6 +2,7 @@ world: '' enabled: true protect: true entry-fee: '' +default-class: '' clear-wave-before-next: false clear-boss-before-next: false clear-wave-before-boss: false