proximaclient.json: command hints in the ProximaClient console
The content block of proximaclient.json adds the commands of your plugin or mod, and its items, effects and other objects, to the server console hints in ProximaClient. The server owner starts typing a command, and the app offers its name, then its arguments in order. Hints are gathered from every enabled plugin in the plugins folder and every enabled mod in the mods folder. Where the file goes and how the app checks it is on the settings screen page.
{
"schemaVersion": 1,
"content": {
"addedCommands": [
{ "name": "home", "slots": [],
"description": { "ru": "Телепорт домой", "en": "Teleport home" },
"usage": { "ru": "<имя дома>", "en": "<home name>" } },
{ "name": "homeadmin", "slots": [
{ "kind": "enum", "values": [
{ "value": "delete", "followedBy": [{ "kind": "player" }] },
{ "value": "give", "followedBy": [{ "kind": "player" }, { "kind": "items" }] },
{ "value": "reload" }
] }
] }
],
"addedItems": [
{ "id": "homes:home_stone", "name": { "ru": "Камень дома", "en": "Home stone" } }
]
}
}
A command
| Key | What it is |
|---|---|
name | The name without /, up to 64 characters: Latin letters, digits, _, : and -. A subcommand is an enum slot, not a space in the name. |
slots | The arguments in order, up to 64. An empty list means a command with no arguments. |
description | The description next to the name in the hint. Optional. |
usage | A hint for the free text typed after the last slot, such as <home name>. Optional. |
addedCommands holds up to 200 commands. A command with a built-in command's name replaces it in the hints, and removedCommands, a list of up to 200 names, takes commands out of the hints.
Slots
A slot {"kind": "enum", "values": […]} offers its own options, 1 to 256 of them. An option has a value (up to 64 characters, sent in the command as is), and an optional label, description and followedBy, the last being up to 64 slots that come after this option, which can include another enum. That's how subcommands work: in the example, delete and give have their own arguments and reload has none.
Every other slot is a single key, such as {"kind": "player"}:
kind | What it suggests |
|---|---|
player | The names of players online, and the selectors @a, @e, @p, @s, @r, @n. |
items, effect, enchantment, mob, biome, attribute, sound, particle, structure, dimension | Items, effects, enchantments, mobs, biomes, attributes, sounds, particles, structures and dimensions: the built-in ones for the server's version and those added by plugins and mods. |
Items and other objects
The object lists come in pairs: addedItems and removedItems, addedEffects and removedEffects, and the same for Enchantments, Mobs, Biomes, Attributes, Sounds, Particles, Structures and Dimensions. Each list holds up to 2000 entries. Any list in the block, like addedCommands and removedCommands, can be left out.
An object in an added… list:
| Key | What it is |
|---|---|
id | Up to 128 characters, sent in the command as is: namespace:path, or a single word with no colon. Before the colon, and in an id without one, only Latin letters, digits and _; after the colon, also ., / and -. |
name | The name in the hint. |
iconUrl | An http:// or https:// link to an icon shown next to the name. Optional. |
A removed… list holds ids only. An object with a built-in object's id replaces it. What one plugin or mod removes from the hints, another can't bring back.
Check: after replacing the .jar, open the "Plugins" or "Mods" tab and start typing the command's name in the server console: the command is in the hint.