Interface Arguments


@NonExtendable public interface Arguments
The argument types the server knows how to parse, suggest and send to clients.

Arguments depending on the executor or location parse to an ArgumentResolver.

argument("targets", Arguments.arguments().players())
Since:
0.1.0
  • Method Summary

    Modifier and Type
    Method
    Description
    com.mojang.brigadier.arguments.ArgumentType<AngleResolver>
    Returns an angle in degrees, absolute or relative (~).
    static Arguments
    Returns the argument types.
    com.mojang.brigadier.arguments.ArgumentType<BlockPositionResolver>
    Returns a block position, absolute, relative (~) or local (^).
    com.mojang.brigadier.arguments.ArgumentType<BossBar.Color>
    Returns a boss bar color.
    com.mojang.brigadier.arguments.ArgumentType<BossBar.Flag>
    Returns a boss bar flag.
    com.mojang.brigadier.arguments.ArgumentType<BossBar.Overlay>
    Returns a boss bar overlay.
    com.mojang.brigadier.arguments.ArgumentType<ColumnPositionResolver>
    Returns a block column, absolute or relative (~).
    com.mojang.brigadier.arguments.ArgumentType<Component>
    Returns a text component.
    com.mojang.brigadier.arguments.ArgumentType<Range<Double>>
    Returns an inclusive double range, possibly open on either end.
    com.mojang.brigadier.arguments.ArgumentType<Duration>
    Returns a chain of amount/unit pairs (w, d, h, m, s), such as 1w3d12h.
    com.mojang.brigadier.arguments.ArgumentType<EntitiesResolver>
    Returns a selector matching any number of entities.
    com.mojang.brigadier.arguments.ArgumentType<EntitiesResolver>
    Returns a selector matching any number of entities accepted by filter.
    com.mojang.brigadier.arguments.ArgumentType<EntityResolver>
    Returns a selector matching exactly one entity.
    com.mojang.brigadier.arguments.ArgumentType<EntityResolver>
    Returns a selector matching exactly one entity accepted by filter.
    com.mojang.brigadier.arguments.ArgumentType<GameMode>
    Returns a game mode.
    com.mojang.brigadier.arguments.ArgumentType<TextColor>
    Returns a hex color.
    com.mojang.brigadier.arguments.ArgumentType<Range<Integer>>
    Returns an inclusive integer range, possibly open on either end.
    com.mojang.brigadier.arguments.ArgumentType<Predicate<ItemStack>>
    Returns a predicate matching item stacks.
    com.mojang.brigadier.arguments.ArgumentType<ItemStack>
    Returns an item stack, with its components.
    com.mojang.brigadier.arguments.ArgumentType<Key>
    key()
    Returns a key.
    <N,T> com.mojang.brigadier.arguments.ArgumentType<T>
    map(com.mojang.brigadier.arguments.ArgumentType<N> nativeType, ArgumentMapper<N,T> mapper)
    Returns nativeType, its parsed value converted by mapper.
    <N,T> com.mojang.brigadier.arguments.ArgumentType<T>
    map(com.mojang.brigadier.arguments.ArgumentType<N> nativeType, ArgumentMapper<N,T> mapper, com.mojang.brigadier.suggestion.SuggestionProvider<CommandSource> suggestions)
    Returns nativeType, its parsed value converted by mapper and its suggestions replaced.
    com.mojang.brigadier.arguments.ArgumentType<NamedTextColor>
    Returns a NamedTextColor.
    com.mojang.brigadier.arguments.ArgumentType<NbtPath>
    Returns an NBT path.
    com.mojang.brigadier.arguments.ArgumentType<String>
    pattern(Pattern pattern, @Nullable Component errorMessage)
    Returns the input matching pattern from the cursor.
    com.mojang.brigadier.arguments.ArgumentType<PlayerResolver>
    Returns a selector matching exactly one player.
    com.mojang.brigadier.arguments.ArgumentType<PlayerResolver>
    Returns a selector matching exactly one player accepted by filter.
    com.mojang.brigadier.arguments.ArgumentType<PlayerProfilesResolver>
    Returns a selector or name resolving to player profiles.
    com.mojang.brigadier.arguments.ArgumentType<PlayerProfilesResolver>
    Returns a selector or name resolving to player profiles, online players filtered by filter.
    com.mojang.brigadier.arguments.ArgumentType<PlayersResolver>
    Returns a selector matching any number of players.
    com.mojang.brigadier.arguments.ArgumentType<PlayersResolver>
    Returns a selector matching any number of players accepted by filter.
    com.mojang.brigadier.arguments.ArgumentType<PositionResolver>
    Returns a position, absolute, relative (~) or local (^).
    com.mojang.brigadier.arguments.ArgumentType<Key>
    Returns a post effect; players are suggested those of their loaded resource packs when possible.
    <T> com.mojang.brigadier.arguments.ArgumentType<T>
    resource(RegistryKey<T> registryKey)
    Returns a value of registryKey, resolved when parsed; suggested by the client.
    <T> com.mojang.brigadier.arguments.ArgumentType<TypedKey<T>>
    resourceKey(RegistryKey<T> registryKey)
    Returns a typed key of registryKey, not checked against the registry.
    <T> com.mojang.brigadier.arguments.ArgumentType<T>
    serverResource(RegistryKey<T> registryKey)
    Returns a value of registryKey, resolved when parsed; validated and suggested by the server.
    com.mojang.brigadier.arguments.ArgumentType<Style>
    Returns a style.
    com.mojang.brigadier.arguments.ArgumentType<SwingAnimation.SwingAnimationType>
    Returns a swing animation type.
    default com.mojang.brigadier.arguments.ArgumentType<Integer>
    Returns a time in ticks, such as 1d, 5s, 6t or 2.
    com.mojang.brigadier.arguments.ArgumentType<Integer>
    time(int minTicks)
    Returns a time in ticks of at least minTicks.
    com.mojang.brigadier.arguments.ArgumentType<UUID>
    Returns a UUID.
    <T> com.mojang.brigadier.arguments.ArgumentType<T>
    withClientSuggestions(com.mojang.brigadier.arguments.ArgumentType<T> type, List<String> values)
    Returns type, suggested by the client from values.
    <T> com.mojang.brigadier.arguments.ArgumentType<T>
    withClientSuggestions(com.mojang.brigadier.arguments.ArgumentType<T> type, Key suggestionSource, @Nullable com.mojang.brigadier.suggestion.SuggestionProvider<CommandSource> fallbackSuggestions)
    Returns type, suggested by the client from suggestionSource.
    <T> com.mojang.brigadier.arguments.ArgumentType<T>
    withServerSuggestions(com.mojang.brigadier.arguments.ArgumentType<T> type)
    Returns type, suggested by the server instead of the client.
    com.mojang.brigadier.arguments.ArgumentType<World>
    Returns a loaded world.
  • Method Details

    • arguments

      static Arguments arguments()
      Returns the argument types.
      Returns:
      the argument types
      Since:
      0.1.0
    • entity

      com.mojang.brigadier.arguments.ArgumentType<EntityResolver> entity()
      Returns a selector matching exactly one entity.
      Returns:
      a selector matching exactly one entity
      Since:
      0.1.0
    • entity

      com.mojang.brigadier.arguments.ArgumentType<EntityResolver> entity(Predicate<Entity> filter)
      Returns a selector matching exactly one entity accepted by filter.
      Parameters:
      filter - the predicate the entity must satisfy
      Returns:
      a selector matching exactly one entity accepted by filter
      Since:
      0.1.0
    • entities

      com.mojang.brigadier.arguments.ArgumentType<EntitiesResolver> entities()
      Returns a selector matching any number of entities.
      Returns:
      a selector matching any number of entities
      Since:
      0.1.0
    • entities

      com.mojang.brigadier.arguments.ArgumentType<EntitiesResolver> entities(Predicate<Entity> filter)
      Returns a selector matching any number of entities accepted by filter.
      Parameters:
      filter - the predicate each entity must satisfy
      Returns:
      a selector matching any number of entities accepted by filter
      Since:
      0.1.0
    • player

      com.mojang.brigadier.arguments.ArgumentType<PlayerResolver> player()
      Returns a selector matching exactly one player.
      Returns:
      a selector matching exactly one player
      Since:
      0.1.0
    • player

      com.mojang.brigadier.arguments.ArgumentType<PlayerResolver> player(Predicate<Player> filter)
      Returns a selector matching exactly one player accepted by filter.
      Parameters:
      filter - the predicate the player must satisfy
      Returns:
      a selector matching exactly one player accepted by filter
      Since:
      0.1.0
    • players

      com.mojang.brigadier.arguments.ArgumentType<PlayersResolver> players()
      Returns a selector matching any number of players.
      Returns:
      a selector matching any number of players
      Since:
      0.1.0
    • players

      com.mojang.brigadier.arguments.ArgumentType<PlayersResolver> players(Predicate<Player> filter)
      Returns a selector matching any number of players accepted by filter.
      Parameters:
      filter - the predicate each player must satisfy
      Returns:
      a selector matching any number of players accepted by filter
      Since:
      0.1.0
    • playerProfiles

      com.mojang.brigadier.arguments.ArgumentType<PlayerProfilesResolver> playerProfiles()
      Returns a selector or name resolving to player profiles.
      Returns:
      a selector or name resolving to player profiles
      Since:
      0.1.0
    • playerProfiles

      com.mojang.brigadier.arguments.ArgumentType<PlayerProfilesResolver> playerProfiles(Predicate<Player> filter)
      Returns a selector or name resolving to player profiles, online players filtered by filter.
      Parameters:
      filter - the predicate each online player must satisfy
      Returns:
      a selector or name resolving to player profiles, online players filtered by filter
      Since:
      0.1.0
    • gameMode

      com.mojang.brigadier.arguments.ArgumentType<GameMode> gameMode()
      Returns a game mode.
      Returns:
      a game mode
      Since:
      0.1.0
    • uuid

      com.mojang.brigadier.arguments.ArgumentType<UUID> uuid()
      Returns a UUID.
      Returns:
      a UUID
      Since:
      0.1.0
    • blockPosition

      com.mojang.brigadier.arguments.ArgumentType<BlockPositionResolver> blockPosition()
      Returns a block position, absolute, relative (~) or local (^).
      Returns:
      a block position, absolute, relative (~) or local (^)
      Since:
      0.1.0
    • columnPosition

      com.mojang.brigadier.arguments.ArgumentType<ColumnPositionResolver> columnPosition()
      Returns a block column, absolute or relative (~).
      Returns:
      a block column, absolute or relative (~)
      Since:
      0.1.0
    • position

      com.mojang.brigadier.arguments.ArgumentType<PositionResolver> position()
      Returns a position, absolute, relative (~) or local (^).
      Returns:
      a position, absolute, relative (~) or local (^)
      Since:
      0.1.0
    • angle

      com.mojang.brigadier.arguments.ArgumentType<AngleResolver> angle()
      Returns an angle in degrees, absolute or relative (~).
      Returns:
      an angle in degrees, absolute or relative (~)
      Since:
      0.1.0
    • world

      com.mojang.brigadier.arguments.ArgumentType<World> world()
      Returns a loaded world.
      Returns:
      a loaded world
      Since:
      0.1.0
    • itemStack

      com.mojang.brigadier.arguments.ArgumentType<ItemStack> itemStack()
      Returns an item stack, with its components.
      Returns:
      an item stack, with its components
      Since:
      0.1.0
    • itemPredicate

      com.mojang.brigadier.arguments.ArgumentType<Predicate<ItemStack>> itemPredicate()
      Returns a predicate matching item stacks.
      Returns:
      a predicate matching item stacks
      Since:
      0.1.0
    • swingAnimationType

      com.mojang.brigadier.arguments.ArgumentType<SwingAnimation.SwingAnimationType> swingAnimationType()
      Returns a swing animation type.
      Returns:
      a swing animation type
      Since:
      0.1.0
    • component

      com.mojang.brigadier.arguments.ArgumentType<Component> component()
      Returns a text component.
      Returns:
      a text component
      Since:
      0.1.0
    • style

      com.mojang.brigadier.arguments.ArgumentType<Style> style()
      Returns a style.
      Returns:
      a style
      Since:
      0.1.0
    • namedColor

      com.mojang.brigadier.arguments.ArgumentType<NamedTextColor> namedColor()
      Returns a NamedTextColor.
      Returns:
      a NamedTextColor
      Since:
      0.1.0
    • hexColor

      com.mojang.brigadier.arguments.ArgumentType<TextColor> hexColor()
      Returns a hex color.
      Returns:
      a hex color
      Since:
      0.1.0
    • bossBarColor

      com.mojang.brigadier.arguments.ArgumentType<BossBar.Color> bossBarColor()
      Returns a boss bar color.
      Returns:
      a boss bar color
      Since:
      0.1.0
    • bossBarOverlay

      com.mojang.brigadier.arguments.ArgumentType<BossBar.Overlay> bossBarOverlay()
      Returns a boss bar overlay.
      Returns:
      a boss bar overlay
      Since:
      0.1.0
    • bossBarFlag

      com.mojang.brigadier.arguments.ArgumentType<BossBar.Flag> bossBarFlag()
      Returns a boss bar flag.
      Returns:
      a boss bar flag
      Since:
      0.1.0
    • integerRange

      com.mojang.brigadier.arguments.ArgumentType<Range<Integer>> integerRange()
      Returns an inclusive integer range, possibly open on either end.
      Returns:
      an inclusive integer range, possibly open on either end
      Since:
      0.1.0
    • doubleRange

      com.mojang.brigadier.arguments.ArgumentType<Range<Double>> doubleRange()
      Returns an inclusive double range, possibly open on either end.
      Returns:
      an inclusive double range, possibly open on either end
      Since:
      0.1.0
    • time

      default com.mojang.brigadier.arguments.ArgumentType<Integer> time()
      Returns a time in ticks, such as 1d, 5s, 6t or 2.
      Returns:
      a time in ticks, such as 1d, 5s, 6t or 2
      Since:
      0.1.0
    • time

      com.mojang.brigadier.arguments.ArgumentType<Integer> time(int minTicks)
      Returns a time in ticks of at least minTicks.
      Parameters:
      minTicks - the minimum, inclusive
      Returns:
      a time in ticks of at least minTicks
      Since:
      0.1.0
    • duration

      com.mojang.brigadier.arguments.ArgumentType<Duration> duration()
      Returns a chain of amount/unit pairs (w, d, h, m, s), such as 1w3d12h.

      A bare number is rejected.

      Returns:
      a chain of amount/unit pairs (w, d, h, m, s), such as 1w3d12h
      Since:
      0.1.0
    • key

      com.mojang.brigadier.arguments.ArgumentType<Key> key()
      Returns a key.
      Returns:
      a key
      Since:
      0.1.0
    • pattern

      com.mojang.brigadier.arguments.ArgumentType<String> pattern(Pattern pattern, @Nullable Component errorMessage)
      Returns the input matching pattern from the cursor.

      The match may stop before the end of the input. Only the pattern's source is sent to clients, so it is necessary to use inline flags, such as (?i), instead of Pattern.flags().

      Parameters:
      pattern - the pattern, without flags
      errorMessage - shown when the input doesn't match or null
      Returns:
      the input matching pattern from the cursor
      Since:
      0.1.0
    • resourceKey

      <T> com.mojang.brigadier.arguments.ArgumentType<TypedKey<T>> resourceKey(RegistryKey<T> registryKey)
      Returns a typed key of registryKey, not checked against the registry.
      Type Parameters:
      T - the registry value type
      Parameters:
      registryKey - the registry
      Returns:
      a typed key of registryKey, not checked against the registry
      Since:
      0.1.0
    • resource

      <T> com.mojang.brigadier.arguments.ArgumentType<T> resource(RegistryKey<T> registryKey)
      Returns a value of registryKey, resolved when parsed; suggested by the client.
      Type Parameters:
      T - the registry value type
      Parameters:
      registryKey - the registry
      Returns:
      a value of registryKey, resolved when parsed; suggested by the client
      Since:
      0.1.0
    • serverResource

      <T> com.mojang.brigadier.arguments.ArgumentType<T> serverResource(RegistryKey<T> registryKey)
      Returns a value of registryKey, resolved when parsed; validated and suggested by the server.
      Type Parameters:
      T - the registry value type
      Parameters:
      registryKey - the registry
      Returns:
      a value of registryKey, resolved when parsed; validated and suggested by the server
      Since:
      0.1.0
      API Note:
      Sent to clients as resourceKey(RegistryKey), for registries clients don't know.
    • postEffect

      com.mojang.brigadier.arguments.ArgumentType<Key> postEffect()
      Returns a post effect; players are suggested those of their loaded resource packs when possible.
      Returns:
      a post effect; players are suggested those of their loaded resource packs when possible
      Since:
      0.1.0
    • nbtPath

      com.mojang.brigadier.arguments.ArgumentType<NbtPath> nbtPath()
      Returns an NBT path.
      Returns:
      an NBT path
      Since:
      0.1.0
    • map

      <N,T> com.mojang.brigadier.arguments.ArgumentType<T> map(com.mojang.brigadier.arguments.ArgumentType<N> nativeType, ArgumentMapper<N,T> mapper)
      Returns nativeType, its parsed value converted by mapper.

      Keeps the native type's client-side grammar, highlighting and suggestions.

      Type Parameters:
      N - the native value type
      T - the mapped value type
      Parameters:
      nativeType - the type providing grammar and suggestions
      mapper - converts the parsed value
      Returns:
      nativeType, its parsed value converted by mapper
      Since:
      0.1.0
    • map

      <N,T> com.mojang.brigadier.arguments.ArgumentType<T> map(com.mojang.brigadier.arguments.ArgumentType<N> nativeType, ArgumentMapper<N,T> mapper, com.mojang.brigadier.suggestion.SuggestionProvider<CommandSource> suggestions)
      Returns nativeType, its parsed value converted by mapper and its suggestions replaced.

      For when the native grammar fits but its completions don't, like a StringArgumentType.word() mapped to an enum.

      Type Parameters:
      N - the native value type
      T - the mapped value type
      Parameters:
      nativeType - the type providing grammar
      mapper - converts the parsed value
      suggestions - suggestions computed by the server
      Returns:
      nativeType, its parsed value converted by mapper and its suggestions replaced
      Since:
      0.1.0
    • withServerSuggestions

      <T> com.mojang.brigadier.arguments.ArgumentType<T> withServerSuggestions(com.mojang.brigadier.arguments.ArgumentType<T> type)
      Returns type, suggested by the server instead of the client.

      For hand-rolled parse/listSuggestions logic.

      Type Parameters:
      T - the parsed value type
      Parameters:
      type - the argument type
      Returns:
      type, suggested by the server instead of the client
      Since:
      0.1.0
    • withClientSuggestions

      <T> com.mojang.brigadier.arguments.ArgumentType<T> withClientSuggestions(com.mojang.brigadier.arguments.ArgumentType<T> type, Key suggestionSource, @Nullable com.mojang.brigadier.suggestion.SuggestionProvider<CommandSource> fallbackSuggestions)
      Returns type, suggested by the client from suggestionSource.

      When the server has to answer (console, client unaware of the source), it uses fallbackSuggestions, or type's own if null.

      Type Parameters:
      T - the parsed value type
      Parameters:
      type - the argument type
      suggestionSource - the client-side suggestion source
      fallbackSuggestions - server-side suggestions, or null
      Returns:
      type, suggested by the client from suggestionSource
      Since:
      0.1.0
    • withClientSuggestions

      <T> com.mojang.brigadier.arguments.ArgumentType<T> withClientSuggestions(com.mojang.brigadier.arguments.ArgumentType<T> type, List<String> values)
      Returns type, suggested by the client from values.

      When the server has to answer, it suggests the same values.

      Type Parameters:
      T - the parsed value type
      Parameters:
      type - the argument type
      values - the suggested values
      Returns:
      type, suggested by the client from values
      Since:
      0.1.0