Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Documentation
Action:
tab_complete
Adds, removes, or otherwise changes the tab completion options returned to the player.
Usage:
tab_complete: [<mode>;][<option1>[,<option2>[,<option3>[...]]]]
Where mode is one of:
remove
,clear
,set
,add
.Mode examples
Mode:
add
(default)Add tab completion options for spawn and fortress. (No semicolon ⇒
add
mode)- "tab_complete: spawn,fortress"
Mode:
remove
Remove options for an Acacia Boat or a Bee:
- "tab_complete: remove;minecraft:acacia_boat,minecraft:bee"
Mode:
clear
Clear tab completion options. (Note that there must be a semicolon after the keyword)
- "tab_complete: clear;"
Mode:
set
Set tab completion options to only an Armor Stand and Area Effect Cloud:
- "tab_complete: set;minecraft:armor_stand,minecraft:area_effect_cloud"
Full example & use case
Allow players without the
conditionalevents.fullsummon
permission to still summon Item Display and Text Display entities.But, of course, their
/summon
tab-complete is still cluttered with everything else. So, let's change that:Easy as that!
Action:
show_command
Adds a root command to the player's client-side list, making it show up as a valid option during tab completion. Registering the command should be preferred, as it will not show up in the
/help
menu.Usage:
show_command: <command1>[;<command2>[;<command3>[...]]]
E.g.
show_command: hello;john
will make/hello
and/john
appear as valid options when typed by the player, but will not add any functionality to them.Action:
hide_command
Removes a command from the player's client-side list, making it appear to be invalid during tab completion. Deregistering the command or blocking it out with permissions should be preferred, as it will still show up in the
/help
menu.Usage:
hide_command: <command1>[;<command2>[;<command3>[...]]]
E.g.
hide_command: help
will make/help
appear as an invalid option when typed by the player (red italics), but it will still function normally when run. If you want to stop the command from working, also include aplayer_command
event with acancel_event
action.Changes
listeners/PlayerEventsListener.java
onTabComplete
function.onCommandSend
function.model/EventType.java
PLAYER_SEND_COMMAND_EVENT
event typemodel/ActionType.java
TAB_COMPLETION_OPTION
actionHIDE_COMMAND
actionSHOW_COMMAND
actionmodel/internal/ExecutedEvent.java
TAB_COMPLETION_OPTION
toActionUtils.addTabCompleteOption
HIDE_COMMAND
toActionUtils.hideCommand
SHOW_COMMAND
toActionUtils.showCommand
utils/ActionUtils.java
addTabCompleteOption
functionhideCommand
functionshowCommand
functionNote
I do not have a good way to reliably build or lint this code at the moment. As such, there is a high probability that I missed a semicolon or an import somewhere, and such file will need minor repairs. There is also a decent probability that I misunderstood the purpose of, or simply overlooked an import or usage, and therefore more major repairs will be necessary.
En Español
Documentación
Acción:
tab_complete
Agrega, elimina o cambia de alguna otra forma las opciones de finalización de tabulación que se le devuelven al jugador.
Uso:
tab_complete: [<modo>;][<opción1>[,<opción2>[,<opción3>[...]]]]
modo
es:remove
,clear
,set
,add
.Ejemplos de `modo`
Modo:
add
(por omisión)Agrega opciones de la tecla tab para spawn y fortress. (Sin el punto y coma ⇒ modo
add
)- "tab_complete: spawn,fortress"
Modo:
remove
Eliminar opciones por una Barca de Acacia o una Abeja:
- "tab_complete: remove;minecraft:acacia_boat,minecraft:bee"
Modo:
clear
Borrar las opciones de la tecla tab. (Ten en cuenta que debe haber un punto y coma después de la palabra clave)
- "tab_complete: clear;"
Modo:
set
Establecer las opciones de la tecla tab solo para el Soporte Para Armadura y la Nube de Efectos de Área:
- "tab_complete: set;minecraft:armor_stand,minecraft:area_effect_cloud"
Ejemplo completo y caso de uso
Permitir que los jugadores sin el permiso
conditionalevents.fullsummon
sigan invocando entidades de Objecto Holográfico y Texto Holográfico.Pero, por supuesto, su pestaña de autocompletar (gracias, Google Translate!)
/summon
todavía está abarrotada de todo lo demás. Entonces, cambiemos eso:Acción:
show_command
Agrega un comando a la lista del lado del cliente del jugador, haciendo que aparezca como una opción válida en la pestaña de autocompletar. Se recomienda registrar el comando, ya que no aparecerá en el menú
/help
.Uso:
show_command: <comando1>[;<comando2>[;<comando3>[...]]]
Por ejemplo:
show_command: hello;john
hará que/hello
y/john
aparezcan como opciones válidas cuando el jugador las escriba, pero no les agregará ninguna funcionalidad.Acción:
hide_command
Elimina un comando de la lista del lado del cliente del jugador, lo que hace que parezca inválido en la pestaña de autocompletar. Sería preferible anular el registro del comando o bloquearlo con permisos, ya que seguirá apareciendo en el menú
/help
.Uso:
hide_command: <comando1>[;<comando2>[;<comando3>[...]]]
Por ejemplo,
hide_command: help
hará que/help
aparezca como una opción inválida cuando el jugador la escriba (cursiva roja), pero seguirá funcionando normalmente cuando se ejecute. Si desea que el comando deje de funcionar, incluya también un eventoplayer_command
con una accióncancel_event
.Cambios
listeners/PlayerEventsListener.java
onTabComplete
.onCommandSend
.model/EventType.java
PLAYER_SEND_COMMAND_EVENT
model/ActionType.java
TAB_COMPLETION_OPTION
HIDE_COMMAND
SHOW_COMMAND
model/internal/ExecutedEvent.java
TAB_COMPLETION_OPTION
aActionUtils.addTabCompleteOption
HIDE_COMMAND
aActionUtils.hideCommand
SHOW_COMMAND
aActionUtils.showCommand
utils/ActionUtils.java
addTabCompleteOption
hideCommand
showCommand
Nota
No tengo una buena manera de compilar o anlizar este código. Entonces, existe una gran probabilidad de que haya pasado por alto un punto y coma o una importación, y ese archivo necesitara reparaciones menores. También existe una probabilidad considerable de que haya entendido mal el propósito de, o simplemente haya pasado por alto una importación o uso, y entonces serán necesarias reparaciones más importantes.
Let me know if you have any questions or suggestions.