[Brigadier] Forks and redirects
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- java
- Área
- documentation
Línea de trabajo
Comienza localizando la página de temas avanzados de la documentación de Paper Brigadier y revisa el ejemplo de Java proporcionado junto con CommandSourceStack#withExecutor/Location. Documenta las diferencias entre .fork, .forward y .redirect, incluye un ejemplo e indica su disponibilidad desde la versión 1.21.4.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
[!NOTE]
This issue is part of a series of issues regarding the extension of the Paper documentation regarding Paper's Brigadier API.
Continuing with the advanced topics, there should also be a page noting the usage of .fork, .forward, and .redirect. Thanks to https://github.com/PaperMC/Paper/pull/11868, this can now be achieved without the usage of internals or userdev.
Basically, the difference between these "flow controlling" methods should be noted and an example should be given. Furthermore, a reference to the CommandSourceStack#withExecutor/Location should be included. The fact that this is only available since the middle of version 1.21.4 could also be helpful.
A possible example could look like this:
final CommandDispatcher<CommandSourceStack> dispatcher = commands.getDispatcher();
final LiteralCommandNode<CommandSourceStack> node = dispatcher.register(Commands.literal("say")
.then(Commands.literal("hi")
.executes(ctx -> {
if (ctx.getSource().getExecutor() instanceof Entity entity) {
Bukkit.broadcast(MiniMessage.miniMessage().deserialize("<aqua><entity></aqua> says hi!",
Placeholder.component("entity", entity.name())
));
}
return 1;
})));
dispatcher.register(Commands.literal("say-five").forward(node, ctx -> {
final List<CommandSourceStack> stacks = new ArrayList<>();
final List<Entity> entities = ctx.getSource().getLocation().getWorld().getEntities().stream().toList();
for (int i = 0; i < 5; i++) {
if (entities.size() < i) {
break;
}
stacks.add(ctx.getSource().withExecutor(entities.get(i)));
}
return stacks;
}, true));
- Lenguaje dominante
- MDX
- Estrellas
- 73
- Forks
- 280
- Merge medio
- 16 h 42 min
- PR fusionados (30 d)
- 5
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PaperMC/docs
-
Improve Menu Type example Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
-
good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Document custom ChatType usage Abiertodev guide project: Paper
Todos los issues de PaperMC/docs
Issues similares
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
githubnext/gh-aw-workshop#3692 ·
-
agent/guide documentation hive/hosted-available-lke648397-260827-5n31
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
-
release-notes in .NET 11 RC2 Abiertopriority-0
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
sync-en
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
-
sync-en
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100