CommandAliases icon indicating copy to clipboard operation
CommandAliases copied to clipboard

Unable to Figure Out How to Use COMMAND_LIST_LOOKUP Suggestions From Documentation

Open jebug29 opened this issue 10 months ago • 1 comments

I'm trying to use this mod to fix some of the issues I have with Essential Command's (Fabric Mod) syntax and make it more like the syntax from EssentialsX (Paper Plugin). Essentially map /home tp home to just simply /home and then any other home to /home {home name}. So far I've figured out how to get everything working but the suggestions, and the documentation seems to cover nothing but CommandAliases' built-in database.

{
	"schemaVersion": 1,
	"commandMode": "COMMAND_CUSTOM",
	"command": "home",
	"message": "Teleporting to default home",
	"children": [
	{
		"child": "homename",
		"type": "argument",
		"argumentType": "minecraft:word",
		"suggestionProvider": {
			"suggestionMode": "COMMAND_LIST_LOOKUP",
			"suggestion": "essentialcommands:home tp"
		},
		"actions": [
		{
			"command": "essentialcommands:home tp {{homename}}",
			"commandType": "CLIENT"
		}
		]
	}
	],
	"actions": [
	{
		"command": "essentialcommands:home tp home",
		"commandType": "CLIENT"
	}
	]
}

(For clarity, I've remapped /home to essentialcommands:home, and the commands themselves do work).

When I try this I get the following message in my server console:

[Server thread/ERROR]: [SERVER] COMMAND_CUSTOM - Invalid suggestion "essentialcommands:home tp": <filepath>\homehome.json

I'm sure there's some other syntax I'm supposed to be using for this use case. Any help would be much appreciated!

Thanks!

jebug29 avatar Apr 05 '24 06:04 jebug29

For now I've gotten around the problem by switching to the internal database and mimicking the behavior of the homes example file and writing a command to add and remove homes from a database.

Since I believe using command-literals as child commands is also undocumented in the Wiki, here's the JSON I wrote as an example:

{
	"schemaVersion": 1,
	"commandMode": "COMMAND_CUSTOM",
	"command": "dbhome",
	"message": "Give argument /dbhome <set|del> <home_name> to add home to tab-complete list",
	"children": [
	{
		"child": "set",
		"type": "literal",
		"message": "Add home to database",
		"children": [
		{
			"child": "home_name",
			"type": "argument",
			"argumentType": "minecraft:word",
			"message": "Added home {{home_name}} to database.",
			"actions": [
			{
				"command": "commandaliases database put $executor_name().homes.suggestions.{{home_name}} {{home_name}}",
				"commandType": "SERVER"
			}
			]
		}
		]
	},
	{
		"child": "del",
		"type": "literal",
		"message": "Remove home from database",
		"children": [
		{
			"child": "home_name",
			"type": "argument",
			"argumentType": "minecraft:word",
			"message": "Removed home {{home_name}} from database.",
			"actions": [
			{
				"command": "commandaliases database delete $executor_name().homes.suggestions.{{home_name}}",
				"commandType": "SERVER"
			}
			]
		}
		]
	}
	]
}

I hope this helps someone with a similar issue! I'll leave this open for now as documentation for COMMAND_LIST_LOOKUP would still be extremely helpful. This is a tremendously useful plugin, so thank you to the maintainers.

jebug29 avatar Apr 06 '24 00:04 jebug29