diff --git a/src/main/kotlin/me/clip/voteparty/cmds/CommandVoteParty.kt b/src/main/kotlin/me/clip/voteparty/cmds/CommandVoteParty.kt index 5fbddb92..2c3fdc6c 100644 --- a/src/main/kotlin/me/clip/voteparty/cmds/CommandVoteParty.kt +++ b/src/main/kotlin/me/clip/voteparty/cmds/CommandVoteParty.kt @@ -145,6 +145,16 @@ internal class CommandVoteParty(override val plugin: VotePartyPlugin) : BaseComm sendMessage(issuer, Messages.PARTY__FORCE_START_SUCCESSFUL) } + @Subcommand("startmulti") + @Description("Start Multi") + @Syntax("") + @CommandPermission(ADMIN_PERM) + fun startMulti(issuer: CommandIssuer, amount: Int) + { + party.partyHandler.startParty(amount) + sendMessage(issuer, Messages.PARTY__FORCE_START_SUCCESSFUL) + } + @Subcommand("giveparty") @CommandCompletion("@players") @Description("Give Party") diff --git a/src/main/kotlin/me/clip/voteparty/handler/PartyHandler.kt b/src/main/kotlin/me/clip/voteparty/handler/PartyHandler.kt index 11052f5b..eaaa415f 100644 --- a/src/main/kotlin/me/clip/voteparty/handler/PartyHandler.kt +++ b/src/main/kotlin/me/clip/voteparty/handler/PartyHandler.kt @@ -30,7 +30,7 @@ class PartyHandler(override val plugin: VotePartyPlugin) : Addon var voted = mutableListOf() - fun giveRandomPartyRewards(player: Player) + fun giveRandomPartyRewards(player: Player, amount: Int = 1) { if (player.world.name in party.conf().getProperty(PartySettings.DISABLED_WORLDS)) { return @@ -47,7 +47,7 @@ class PartyHandler(override val plugin: VotePartyPlugin) : Addon return } - val iter = settings.commands.takeRandomly(settings.max_possible).iterator() + val iter = settings.commands.takeRandomly(settings.max_possible * amount).iterator() plugin.runTaskTimer(party.conf().getProperty(PartySettings.COMMAND_DELAY).toLong() * 20L) { @@ -150,7 +150,7 @@ class PartyHandler(override val plugin: VotePartyPlugin) : Addon } } - fun startParty() + fun startParty(amount: Int = 1) { val prePartyEvent = PrePartyEvent() @@ -189,14 +189,14 @@ class PartyHandler(override val plugin: VotePartyPlugin) : Addon if (party.conf().getProperty(PartySettings.USE_CRATE)) { val disabledWorlds = party.conf().getProperty(PartySettings.DISABLED_WORLDS) targets.filterNot { it.world.name in disabledWorlds }.forEach { - it.inventory.addItem(buildCrate(1)) + it.inventory.addItem(buildCrate(amount)) } } else { targets.forEach() { giveGuaranteedPartyRewards(it) - giveRandomPartyRewards(it) + giveRandomPartyRewards(it, amount) givePermissionPartyRewards(it) } } diff --git a/src/main/kotlin/me/clip/voteparty/messages/Messages.kt b/src/main/kotlin/me/clip/voteparty/messages/Messages.kt index 97cce258..083dbdcd 100644 --- a/src/main/kotlin/me/clip/voteparty/messages/Messages.kt +++ b/src/main/kotlin/me/clip/voteparty/messages/Messages.kt @@ -41,6 +41,7 @@ enum class Messages : MessageKeyProvider DESCRIPTIONS__SETCOUNTER, DESCRIPTIONS__ADDVOTE, DESCRIPTIONS__STARTPARTY, + DESCRIPTIONS__STARTMULTI, DESCRIPTIONS__GIVECRATE, DESCRIPTIONS__GIVEPARTY, DESCRIPTIONS__RELOAD, diff --git a/src/main/resources/languages/de-DE.yml b/src/main/resources/languages/de-DE.yml index 3bd3dd03..e6625760 100644 --- a/src/main/resources/languages/de-DE.yml +++ b/src/main/resources/languages/de-DE.yml @@ -4,6 +4,7 @@ descriptions: setcounter: "Setzt den aktuellen Stimmenzähler." addvote: "Fügt Stimmen zu aktuellen Abzählung hinzu." startparty: "Erzwingt eine VoteParty." + startmulti: "Force launch a multi-crate/reward party." givecrate: "Versorge ein Player mit einem Vote." giveparty: "Führt eine Private Vote Party für einen Spieler durch." reload: "Lädt die Kon­fi­gu­ra­ti­on und die Sprach Daten erneut." diff --git a/src/main/resources/languages/en-US.yml b/src/main/resources/languages/en-US.yml index 13ffb564..bebf4de2 100644 --- a/src/main/resources/languages/en-US.yml +++ b/src/main/resources/languages/en-US.yml @@ -3,6 +3,7 @@ descriptions: setcounter: "Set the current vote counter." addvote: "Add votes to the current vote tally." startparty: "Force launch a VoteParty." + startmulti: "Force launch a multi-crate/reward party." givecrate: "Supply a player with a Vote crate." giveparty: "Host a private Vote Party for a player." reload: "Reload the config and language file." diff --git a/src/main/resources/languages/fr-FR.yml b/src/main/resources/languages/fr-FR.yml index 606a7305..a34326a4 100644 --- a/src/main/resources/languages/fr-FR.yml +++ b/src/main/resources/languages/fr-FR.yml @@ -4,6 +4,7 @@ descriptions: setcounter: "Régler le compteur de vote actuel." addvote: "Ajouter les votes au décompte actuel." startparty: "Forcer le lancement d'un VoteParty." + startmulti: "Force launch a multi-crate/reward party." givecrate: "Fournir une caisse de vote à un joueur." giveparty: "Organiser un VoteParty privée pour un joueur." reload: "Rechargez le fichier de configuration." diff --git a/src/main/resources/languages/nl-NL.yml b/src/main/resources/languages/nl-NL.yml index 169b63ad..57687298 100644 --- a/src/main/resources/languages/nl-NL.yml +++ b/src/main/resources/languages/nl-NL.yml @@ -4,6 +4,7 @@ descriptions: setcounter: "Stel de huidige stem teller in." addvote: "Voeg stemmen toe aan de huidige stemmentelling." startparty: "Forceer het starten van een VoteParty." + startmulti: "Force launch a multi-crate/reward party." givecrate: "Voorzie een speler van een Vote crate." giveparty: "Organiseer een privé Vote Party voor een speler." reload: "Herlaad het configuratie- en taalbestand." diff --git a/src/main/resources/languages/sv-SE.yml b/src/main/resources/languages/sv-SE.yml index 36ca01ed..0586c470 100644 --- a/src/main/resources/languages/sv-SE.yml +++ b/src/main/resources/languages/sv-SE.yml @@ -4,6 +4,7 @@ descriptions: setcounter: "Ange nuvarande röstantal." addvote: "Lägg till röster i nuvarande rösträkning." startparty: "Tvångs kör ett VoteParty." + startmulti: "Force launch a multi-crate/reward party." givecrate: "Förse en spelare med en röstlåda." giveparty: "Aktivera ett privat Vote Party för en spelare." reload: "Ladda om konfigurations filerna."