Skip to content

Commit 7949f56

Browse files
committed
Update for caption changes
1 parent 1b24e7d commit 7949f56

3 files changed

Lines changed: 30 additions & 38 deletions

File tree

cloud-sponge/src/main/java/cloud/commandframework/sponge/SpongeCommandManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public SpongeCommandManager(
117117
this.parserMapper = new SpongeParserMapper<>();
118118
this.registerCommandPreProcessor(new SpongeCommandPreprocessor<>(this));
119119
this.registerParsers();
120-
this.captionRegistry(new SpongeCaptionRegistry<>());
120+
this.captionRegistry().registerProvider(new SpongeDefaultCaptionsProvider<>());
121121
this.suggestionFactory = super.suggestionFactory().mapped(SpongeSuggestion::spongeSuggestion);
122122

123123
SpongeDefaultExceptionHandlers.register(this);

cloud-sponge/src/main/java/cloud/commandframework/sponge/SpongeCaptionRegistry.java renamed to cloud-sponge/src/main/java/cloud/commandframework/sponge/SpongeDefaultCaptionsProvider.java

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,15 @@
2424
package cloud.commandframework.sponge;
2525

2626
import cloud.commandframework.captions.CaptionProvider;
27-
import cloud.commandframework.captions.StandardCaptionRegistry;
27+
import cloud.commandframework.captions.DelegatingCaptionProvider;
28+
import org.checkerframework.checker.nullness.qual.NonNull;
2829

2930
/**
30-
* Caption registry that uses bi-functions to produce messages.
31+
* Provides the default captions for messages in cloud-sponge.
3132
*
3233
* @param <C> command sender type
3334
*/
34-
public class SpongeCaptionRegistry<C> extends StandardCaptionRegistry<C> {
35+
public final class SpongeDefaultCaptionsProvider<C> extends DelegatingCaptionProvider<C> {
3536

3637
/**
3738
* Default caption for {@link SpongeCaptionKeys#ARGUMENT_PARSE_FAILURE_REGISTRY_ENTRY_UNKNOWN_ENTRY}
@@ -63,26 +64,27 @@ public class SpongeCaptionRegistry<C> extends StandardCaptionRegistry<C> {
6364
public static final String ARGUMENT_PARSE_FAILURE_GAME_PROFILE_TOO_MANY_SELECTED =
6465
"The provided selector matched multiple game profiles, but only one is allowed.";
6566

66-
protected SpongeCaptionRegistry() {
67-
super();
67+
private static final CaptionProvider<?> PROVIDER = CaptionProvider.constantProvider()
68+
.putCaption(
69+
SpongeCaptionKeys.ARGUMENT_PARSE_FAILURE_REGISTRY_ENTRY_UNKNOWN_ENTRY,
70+
ARGUMENT_PARSE_FAILURE_REGISTRY_ENTRY_UNKNOWN_ENTRY)
71+
.putCaption(
72+
SpongeCaptionKeys.ARGUMENT_PARSE_FAILURE_USER_CANNOT_FIND_USER_WITH_NAME,
73+
ARGUMENT_PARSE_FAILURE_USER_CANNOT_FIND_USER_WITH_NAME)
74+
.putCaption(
75+
SpongeCaptionKeys.ARGUMENT_PARSE_FAILURE_USER_CANNOT_FIND_USER_WITH_UUID,
76+
ARGUMENT_PARSE_FAILURE_USER_CANNOT_FIND_USER_WITH_UUID)
77+
.putCaption(
78+
SpongeCaptionKeys.ARGUMENT_PARSE_FAILURE_USER_INVALID_INPUT,
79+
ARGUMENT_PARSE_FAILURE_USER_INVALID_INPUT)
80+
.putCaption(
81+
SpongeCaptionKeys.ARGUMENT_PARSE_FAILURE_GAME_PROFILE_TOO_MANY_SELECTED,
82+
ARGUMENT_PARSE_FAILURE_GAME_PROFILE_TOO_MANY_SELECTED)
83+
.build();
6884

69-
this.registerProvider(CaptionProvider.<C>constantProvider()
70-
.putCaptions(
71-
SpongeCaptionKeys.ARGUMENT_PARSE_FAILURE_REGISTRY_ENTRY_UNKNOWN_ENTRY,
72-
ARGUMENT_PARSE_FAILURE_REGISTRY_ENTRY_UNKNOWN_ENTRY)
73-
.putCaptions(
74-
SpongeCaptionKeys.ARGUMENT_PARSE_FAILURE_USER_CANNOT_FIND_USER_WITH_NAME,
75-
ARGUMENT_PARSE_FAILURE_USER_CANNOT_FIND_USER_WITH_NAME)
76-
.putCaptions(
77-
SpongeCaptionKeys.ARGUMENT_PARSE_FAILURE_USER_CANNOT_FIND_USER_WITH_UUID,
78-
ARGUMENT_PARSE_FAILURE_USER_CANNOT_FIND_USER_WITH_UUID)
79-
.putCaptions(
80-
SpongeCaptionKeys.ARGUMENT_PARSE_FAILURE_USER_INVALID_INPUT,
81-
ARGUMENT_PARSE_FAILURE_USER_INVALID_INPUT)
82-
.putCaptions(
83-
SpongeCaptionKeys.ARGUMENT_PARSE_FAILURE_GAME_PROFILE_TOO_MANY_SELECTED,
84-
ARGUMENT_PARSE_FAILURE_GAME_PROFILE_TOO_MANY_SELECTED)
85-
.build());
85+
@SuppressWarnings("unchecked")
86+
@Override
87+
public @NonNull CaptionProvider<C> delegate() {
88+
return (CaptionProvider<C>) PROVIDER;
8689
}
87-
8890
}

cloud-sponge/src/main/java/cloud/commandframework/sponge/SpongeParserMapper.java

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -301,19 +301,9 @@ private static final class MappingBuilderImpl<C, A extends ArgumentParser<C, ?>>
301301

302302
}
303303

304-
private static final class Mapping<C, A extends ArgumentParser<C, ?>> {
305-
306-
private final Function<A, CommandTreeNode.Argument<? extends CommandTreeNode.Argument<?>>> mapper;
307-
private final boolean cloudSuggestions;
308-
309-
private Mapping(
310-
final Function<A, CommandTreeNode.Argument<? extends CommandTreeNode.Argument<?>>> mapper,
311-
final boolean cloudSuggestions
312-
) {
313-
this.mapper = mapper;
314-
this.cloudSuggestions = cloudSuggestions;
315-
}
316-
317-
}
304+
private record Mapping<C, A extends ArgumentParser<C, ?>>(
305+
Function<A, CommandTreeNode.Argument<? extends CommandTreeNode.Argument<?>>> mapper,
306+
boolean cloudSuggestions
307+
) {}
318308

319309
}

0 commit comments

Comments
 (0)