aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjosemarcellio <josemarcellio01@gmail.com>2024-09-26 00:24:21 +0800
committerKrakenied <46192742+Krakenied@users.noreply.github.com>2025-05-13 17:12:26 +0200
commit80a695cea2494f531c813045ce3a50e18f498f47 (patch)
tree0c6792a9a489e152dff36baa795dea19404c4994
parent6e5353755f4a394a2d1db6c08f102d9fe166c5fb (diff)
Add BedWars1058 dedicated task types
-rw-r--r--bukkit/build.gradle.kts4
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java8
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BedBreakTask.java69
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058FinalKillTask.java68
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058LoseTask.java71
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058WinTask.java71
-rw-r--r--bukkit/src/main/resources/plugin.yml1
-rw-r--r--docs/task-types/bedwars1058_bedbreak-(task-type).md31
-rw-r--r--docs/task-types/bedwars1058_finalkill-(task-type).md31
-rw-r--r--docs/task-types/bedwars1058_lose-(task-type).md31
-rw-r--r--docs/task-types/bedwars1058_win-(task-type).md31
11 files changed, 416 insertions, 0 deletions
diff --git a/bukkit/build.gradle.kts b/bukkit/build.gradle.kts
index b07c5a6f..9921bafb 100644
--- a/bukkit/build.gradle.kts
+++ b/bukkit/build.gradle.kts
@@ -51,6 +51,8 @@ repositories {
maven("https://repo.bg-software.com/repository/api/")
// ZNPCsPlus
maven("https://repo.pyr.lol/snapshots")
+ // BedWars1058
+ maven("https://repo.andrei1058.dev/releases/")
// bungeecord-chat, HikariCP, hppc, JetBrains Annotations, slf4j
mavenCentral()
@@ -123,6 +125,8 @@ dependencies {
compileOnlyPlugin("com.bgsoftware:WildStackerAPI:2023.3")
// ZNPCsPlus
compileOnlyPlugin("lol.pyr:znpcsplus-api:2.0.0-SNAPSHOT")
+ // BedWars1058
+ compileOnlyPlugin("com.andrei1058.bedwars:bedwars-api:24.9")
// IridiumSkyblock, PyroFishingPro, uSkyBlock
compileOnlyLibs("libs", listOf("*.jar"))
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
index bafe5381..d2f26d23 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
@@ -131,6 +131,10 @@ import com.leonardobishop.quests.bukkit.tasktype.type.dependent.VotingPluginVote
import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ZNPCsPlusDeliverTaskType;
import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ZNPCsPlusInteractTaskType;
import com.leonardobishop.quests.bukkit.tasktype.type.dependent.uSkyBlockLevelTaskType;
+import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058BedBreakTask;
+import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058FinalKillTask;
+import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058WinTask;
+import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058LoseTask;
import com.leonardobishop.quests.bukkit.util.CompatUtils;
import com.leonardobishop.quests.bukkit.util.FormatUtils;
import com.leonardobishop.quests.bukkit.util.LogHistory;
@@ -501,6 +505,10 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests {
taskTypeManager.registerTaskType(() -> new VotingPluginVoteType(this), () -> CompatUtils.isPluginEnabled("VotingPlugin")); // not tested
taskTypeManager.registerTaskType(() -> new ZNPCsPlusDeliverTaskType(this), () -> CompatUtils.isPluginEnabled("ZNPCsPlus"));
taskTypeManager.registerTaskType(() -> new ZNPCsPlusInteractTaskType(this), () -> CompatUtils.isPluginEnabled("ZNPCsPlus"));
+ taskTypeManager.registerTaskType(() -> new BedWars1058BedBreakTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058"));
+ taskTypeManager.registerTaskType(() -> new BedWars1058FinalKillTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058"));
+ taskTypeManager.registerTaskType(() -> new BedWars1058WinTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058"));
+ taskTypeManager.registerTaskType(() -> new BedWars1058LoseTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058"));
// Register task types with enabled specific version plugin compatibility requirement
taskTypeManager.registerTaskType(() -> new IridiumSkyblockValueTaskType(this), () -> { // TODO FIX
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BedBreakTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BedBreakTask.java
new file mode 100644
index 00000000..600ce31e
--- /dev/null
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BedBreakTask.java
@@ -0,0 +1,69 @@
+package com.leonardobishop.quests.bukkit.tasktype.type.dependent;
+
+import com.andrei1058.bedwars.api.events.player.PlayerBedBreakEvent;
+import com.google.common.collect.HashBasedTable;
+import com.google.common.collect.Table;
+import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin;
+import com.leonardobishop.quests.bukkit.item.QuestItem;
+import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType;
+import com.leonardobishop.quests.bukkit.util.TaskUtils;
+import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet;
+import com.leonardobishop.quests.common.player.QPlayer;
+import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress;
+import com.leonardobishop.quests.common.quest.Quest;
+import com.leonardobishop.quests.common.quest.Task;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+
+public final class BedWars1058BedBreakTask extends BukkitTaskType {
+
+ private final BukkitQuestsPlugin plugin;
+ private final Table<String, String, QuestItem> fixedQuestItemCache = HashBasedTable.create();
+
+ public BedWars1058BedBreakTask(BukkitQuestsPlugin plugin) {
+ super("bedwars1058_bedbreak", TaskUtils.TASK_ATTRIBUTION_STRING, "Break a set amount of beds in BedWars1058.");
+ this.plugin = plugin;
+
+ super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount"));
+ super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount"));
+ }
+
+ @Override
+ public void onReady() {
+ fixedQuestItemCache.clear();
+ }
+
+ @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
+ public void onPlayerBedBreak(PlayerBedBreakEvent event) {
+ Player player = event.getPlayer();
+
+ QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId());
+ if (qPlayer == null) {
+ return;
+ }
+
+ for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) {
+ Quest quest = pendingTask.quest();
+ Task task = pendingTask.task();
+ TaskProgress taskProgress = pendingTask.taskProgress();
+
+ super.debug("Player break a bed in BedWars", quest.getId(), task.getId(), player.getUniqueId());
+
+ Runnable increment = () -> {
+ int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress);
+ super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), player.getUniqueId());
+
+ int amount = (int) task.getConfigValue("amount");
+ if (progress >= amount) {
+ super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId());
+ taskProgress.setCompleted(true);
+ }
+
+ TaskUtils.sendTrackAdvancement(player, quest, task, pendingTask, amount);
+ };
+
+ increment.run();
+ }
+ }
+}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058FinalKillTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058FinalKillTask.java
new file mode 100644
index 00000000..5bfb441e
--- /dev/null
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058FinalKillTask.java
@@ -0,0 +1,68 @@
+package com.leonardobishop.quests.bukkit.tasktype.type.dependent;
+
+import com.andrei1058.bedwars.api.events.player.PlayerKillEvent;
+import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin;
+import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType;
+import com.leonardobishop.quests.bukkit.util.TaskUtils;
+import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet;
+import com.leonardobishop.quests.common.player.QPlayer;
+import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress;
+import com.leonardobishop.quests.common.quest.Quest;
+import com.leonardobishop.quests.common.quest.Task;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+import org.bukkit.event.Listener;
+
+public final class BedWars1058FinalKillTask extends BukkitTaskType implements Listener {
+
+ private final BukkitQuestsPlugin plugin;
+
+ public BedWars1058FinalKillTask(BukkitQuestsPlugin plugin) {
+ super("bedwars1058_finalkill", TaskUtils.TASK_ATTRIBUTION_STRING, "Get a final kill in BedWars1058.");
+ this.plugin = plugin;
+
+ super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount"));
+ super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount"));
+ }
+
+ @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
+ public void onPlayerKill(PlayerKillEvent event) {
+ Player killer = event.getKiller();
+ if (killer == null) {
+ return;
+ }
+
+ if (!event.getCause().isFinalKill()) {
+ return;
+ }
+
+ QPlayer qPlayer = plugin.getPlayerManager().getPlayer(killer.getUniqueId());
+ if (qPlayer == null) {
+ return;
+ }
+
+ for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(killer, qPlayer, this, TaskConstraintSet.ALL)) {
+ Quest quest = pendingTask.quest();
+ Task task = pendingTask.task();
+ TaskProgress taskProgress = pendingTask.taskProgress();
+
+ super.debug("Player got a final kill", quest.getId(), task.getId(), killer.getUniqueId());
+
+ Runnable increment = () -> {
+ int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress);
+ super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), killer.getUniqueId());
+
+ int amount = (int) task.getConfigValue("amount");
+ if (progress >= amount) {
+ super.debug("Marking task as complete", quest.getId(), task.getId(), killer.getUniqueId());
+ taskProgress.setCompleted(true);
+ }
+
+ TaskUtils.sendTrackAdvancement(killer, quest, task, pendingTask, amount);
+ };
+
+ increment.run();
+ }
+ }
+}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058LoseTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058LoseTask.java
new file mode 100644
index 00000000..55b30a98
--- /dev/null
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058LoseTask.java
@@ -0,0 +1,71 @@
+package com.leonardobishop.quests.bukkit.tasktype.type.dependent;
+
+import com.andrei1058.bedwars.api.events.gameplay.GameEndEvent;
+import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin;
+import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType;
+import com.leonardobishop.quests.bukkit.util.TaskUtils;
+import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet;
+import com.leonardobishop.quests.common.player.QPlayer;
+import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress;
+import com.leonardobishop.quests.common.quest.Quest;
+import com.leonardobishop.quests.common.quest.Task;
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+import org.bukkit.event.Listener;
+
+import java.util.UUID;
+
+public final class BedWars1058LoseTask extends BukkitTaskType implements Listener {
+
+ private final BukkitQuestsPlugin plugin;
+
+ public BedWars1058LoseTask(BukkitQuestsPlugin plugin) {
+ super("bedwars1058_lose", TaskUtils.TASK_ATTRIBUTION_STRING, "Lose a game of BedWars in BedWars1058.");
+ this.plugin = plugin;
+
+ super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount"));
+ super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount"));
+ }
+
+ @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
+ public void onGameEnd(GameEndEvent event) {
+
+ for (UUID uuid : event.getLosers()) {
+ Player player = Bukkit.getPlayer(uuid);
+
+ if (player == null) {
+ return;
+ }
+
+ QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId());
+ if (qPlayer == null) {
+ return;
+ }
+
+ for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) {
+ Quest quest = pendingTask.quest();
+ Task task = pendingTask.task();
+ TaskProgress taskProgress = pendingTask.taskProgress();
+
+ super.debug("Player lost a BedWars game", quest.getId(), task.getId(), player.getUniqueId());
+
+ Runnable increment = () -> {
+ int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress);
+ super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), player.getUniqueId());
+
+ int amount = (int) task.getConfigValue("amount");
+ if (progress >= amount) {
+ super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId());
+ taskProgress.setCompleted(true);
+ }
+
+ TaskUtils.sendTrackAdvancement(player, quest, task, pendingTask, amount);
+ };
+
+ increment.run();
+ }
+ }
+ }
+}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058WinTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058WinTask.java
new file mode 100644
index 00000000..8e2a445f
--- /dev/null
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058WinTask.java
@@ -0,0 +1,71 @@
+package com.leonardobishop.quests.bukkit.tasktype.type.dependent;
+
+import com.andrei1058.bedwars.api.events.gameplay.GameEndEvent;
+import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin;
+import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType;
+import com.leonardobishop.quests.bukkit.util.TaskUtils;
+import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet;
+import com.leonardobishop.quests.common.player.QPlayer;
+import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress;
+import com.leonardobishop.quests.common.quest.Quest;
+import com.leonardobishop.quests.common.quest.Task;
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+import org.bukkit.event.Listener;
+
+import java.util.UUID;
+
+public final class BedWars1058WinTask extends BukkitTaskType implements Listener {
+
+ private final BukkitQuestsPlugin plugin;
+
+ public BedWars1058WinTask(BukkitQuestsPlugin plugin) {
+ super("bedwars1058_win", TaskUtils.TASK_ATTRIBUTION_STRING, "Win a game of BedWars in BedWars1058.");
+ this.plugin = plugin;
+
+ super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount"));
+ super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount"));
+ }
+
+ @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
+ public void onGameEnd(GameEndEvent event) {
+
+ for (UUID uuid : event.getWinners()) {
+ Player player = Bukkit.getPlayer(uuid);
+
+ if (player == null) {
+ return;
+ }
+
+ QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId());
+ if (qPlayer == null) {
+ return;
+ }
+
+ for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) {
+ Quest quest = pendingTask.quest();
+ Task task = pendingTask.task();
+ TaskProgress taskProgress = pendingTask.taskProgress();
+
+ super.debug("Player won a BedWars game", quest.getId(), task.getId(), player.getUniqueId());
+
+ Runnable increment = () -> {
+ int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress);
+ super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), player.getUniqueId());
+
+ int amount = (int) task.getConfigValue("amount");
+ if (progress >= amount) {
+ super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId());
+ taskProgress.setCompleted(true);
+ }
+
+ TaskUtils.sendTrackAdvancement(player, quest, task, pendingTask, amount);
+ };
+
+ increment.run();
+ }
+ }
+ }
+}
diff --git a/bukkit/src/main/resources/plugin.yml b/bukkit/src/main/resources/plugin.yml
index 43ff65f8..95fcac3f 100644
--- a/bukkit/src/main/resources/plugin.yml
+++ b/bukkit/src/main/resources/plugin.yml
@@ -34,6 +34,7 @@ softdepend:
- VotingPlugin
- WildStacker
- ZNPCsPlus
+- BedWars1058
prefix: Quests
api-version: "1.13" # allows new API features but Quests will still work pre-1.13
folia-supported: true
diff --git a/docs/task-types/bedwars1058_bedbreak-(task-type).md b/docs/task-types/bedwars1058_bedbreak-(task-type).md
new file mode 100644
index 00000000..8ed88ecd
--- /dev/null
+++ b/docs/task-types/bedwars1058_bedbreak-(task-type).md
@@ -0,0 +1,31 @@
+---
+title: bedwars1058_bedbreak
+parent: External task types
+grand_parent: Task types
+---
+
+# bedwars1058_bedbreak (task type)
+
+Since v3.15
+{: .label .label-green }
+
+Plugin 'BedWars1058' required
+{: .label }
+
+Break a set amount of beds in BedWars1058.
+
+## Options
+
+| Key | Description | Type | Required | Default | Notes |
+|----------|------------------------------|---------------------|----------|---------|-------|
+| `amount` | The amount of beds to break. | Integer | Yes | \- | \- |
+
+## Examples
+
+Break 10 beds:
+
+``` yaml
+bedwars1058:
+ type: "bedwars1058_bedbreak"
+ amount: 10 # amount of beds to break
+```
diff --git a/docs/task-types/bedwars1058_finalkill-(task-type).md b/docs/task-types/bedwars1058_finalkill-(task-type).md
new file mode 100644
index 00000000..5ba48755
--- /dev/null
+++ b/docs/task-types/bedwars1058_finalkill-(task-type).md
@@ -0,0 +1,31 @@
+---
+title: bedwars1058_finalkill
+parent: External task types
+grand_parent: Task types
+---
+
+# bedwars1058_finalkill (task type)
+
+Since v3.15
+{: .label .label-green }
+
+Plugin 'BedWars1058' required
+{: .label }
+
+Get a final kill in BedWars1058.
+
+## Options
+
+| Key | Description | Type | Required | Default | Notes |
+|----------|----------------------------|---------------------|----------|---------|-------|
+| `amount` | The amount of final kills. | Integer | Yes | \- | \- |
+
+## Examples
+
+Final kill 5 players:
+
+``` yaml
+bedwars1058:
+ type: "bedwars1058_finalkill"
+ amount: 5 # amount of final kills
+```
diff --git a/docs/task-types/bedwars1058_lose-(task-type).md b/docs/task-types/bedwars1058_lose-(task-type).md
new file mode 100644
index 00000000..46e75457
--- /dev/null
+++ b/docs/task-types/bedwars1058_lose-(task-type).md
@@ -0,0 +1,31 @@
+---
+title: bedwars1058_lose
+parent: External task types
+grand_parent: Task types
+---
+
+# bedwars1058_lose (task type)
+
+Since v3.15
+{: .label .label-green }
+
+Plugin 'BedWars1058' required
+{: .label }
+
+Lose a game of BedWars in BedWars1058.
+
+## Options
+
+| Key | Description | Type | Required | Default | Notes |
+|----------|------------------------------|---------------------|----------|---------|-------|
+| `amount` | The amount of games to lose. | Integer | Yes | \- | \- |
+
+## Examples
+
+Lose 5 Game:
+
+``` yaml
+bedwars1058:
+ type: "bedwars1058_lose"
+ amount: 5 # amount of games to lose
+```
diff --git a/docs/task-types/bedwars1058_win-(task-type).md b/docs/task-types/bedwars1058_win-(task-type).md
new file mode 100644
index 00000000..bf0913cc
--- /dev/null
+++ b/docs/task-types/bedwars1058_win-(task-type).md
@@ -0,0 +1,31 @@
+---
+title: bedwars1058_win
+parent: External task types
+grand_parent: Task types
+---
+
+# bedwars1058_win (task type)
+
+Since v3.15
+{: .label .label-green }
+
+Plugin 'BedWars1058' required
+{: .label }
+
+Win a game of BedWars in BedWars1058.
+
+## Options
+
+| Key | Description | Type | Required | Default | Notes |
+|----------|-----------------------------|---------------------|----------|---------|-------|
+| `amount` | The amount of games to win. | Integer | Yes | \- | \- |
+
+## Examples
+
+Win 5 Game:
+
+``` yaml
+bedwars1058:
+ type: "bedwars1058_win"
+ amount: 5 # amount of games to win
+```