Class ScenarioDescriptor.Builder

java.lang.Object
dev.itsharshxd.zentrix.api.scenario.ScenarioDescriptor.Builder
Enclosing class:
ScenarioDescriptor

public static final class ScenarioDescriptor.Builder extends Object
Fluent builder for ScenarioDescriptor.
  • Method Details

    • displayName

      @NotNull public @NotNull ScenarioDescriptor.Builder displayName(@Nullable @Nullable String displayName)
    • description

      @NotNull public @NotNull ScenarioDescriptor.Builder description(@NotNull @NotNull String... lines)
    • announcement

      @NotNull public @NotNull ScenarioDescriptor.Builder announcement(@NotNull @NotNull String... lines)
      The lines this scenario suggests announcing when a match running it starts.

      Optional. Leaving it out lets the locale's shared announcement layout describe the scenario from its name and description, and a server owner can override whatever is given here in the locale file either way.

    • icon

      @NotNull public @NotNull ScenarioDescriptor.Builder icon(@NotNull @NotNull org.bukkit.Material icon)
    • version

      @NotNull public @NotNull ScenarioDescriptor.Builder version(@NotNull @NotNull String version)
    • authors

      @NotNull public @NotNull ScenarioDescriptor.Builder authors(@NotNull @NotNull String... authors)
    • priority

      @NotNull public @NotNull ScenarioDescriptor.Builder priority(int priority)
      Higher activates and receives gameplay hooks earlier.
    • dependsOn

      @NotNull public @NotNull ScenarioDescriptor.Builder dependsOn(@NotNull @NotNull String... scenarioIds)
    • conflictsWith

      @NotNull public @NotNull ScenarioDescriptor.Builder conflictsWith(@NotNull @NotNull String... scenarioIds)
    • provides

      @NotNull public @NotNull ScenarioDescriptor.Builder provides(@NotNull @NotNull ScenarioCapability... values)
      Declares the gameplay areas this scenario takes charge of.

      Use this instead of naming every scenario that might one day get in the way: a scenario conflicting with the capability keeps clear of this one without either side knowing the other.

    • provides

      @NotNull public @NotNull ScenarioDescriptor.Builder provides(@NotNull @NotNull String... capabilityIds)
      Declares provided capabilities by identifier, for configuration-driven scenarios.
    • conflictsWithCapability

      @NotNull public @NotNull ScenarioDescriptor.Builder conflictsWithCapability(@NotNull @NotNull ScenarioCapability... values)
      Declares the gameplay areas this scenario cannot share a match with.

      Passing a capability this scenario also provides makes it mutually exclusive with every other scenario providing the same one.

    • conflictsWithCapability

      @NotNull public @NotNull ScenarioDescriptor.Builder conflictsWithCapability(@NotNull @NotNull String... capabilityIds)
      Declares conflicting capabilities by identifier.
    • requiresPlugin

      @NotNull public @NotNull ScenarioDescriptor.Builder requiresPlugin(@NotNull @NotNull String... pluginNames)
    • tags

      @NotNull public @NotNull ScenarioDescriptor.Builder tags(@NotNull @NotNull String... tags)
    • setting

      @NotNull public @NotNull ScenarioDescriptor.Builder setting(@NotNull @NotNull ScenarioSetting setting)
    • settings

      @NotNull public @NotNull ScenarioDescriptor.Builder settings(@NotNull @NotNull ScenarioSetting... values)
    • votable

      @NotNull public @NotNull ScenarioDescriptor.Builder votable(boolean votable)
      Whether players may vote for this scenario. Defaults to true.
    • enabledByDefault

      @NotNull public @NotNull ScenarioDescriptor.Builder enabledByDefault(boolean enabledByDefault)
      Whether the scenario is enabled before an administrator configures it.
    • build

      @NotNull public @NotNull ScenarioDescriptor build()