Jump to content

[solved] [1.19] Struggling using PerformCommand


Scytale

Recommended Posts

Dear all,

I am struggling to correctly use performCommand and I was hoping for a little help. Firstly, yes I am checking the side (I read the Common Issues) and have before this an event that sends the code server side. Now when looking at many examples or threads they all pass a CommandSourceStack directly into performCommand as the first argument. Now I see that the first arg wants a ParseResults, not a CommandSourceStack.

if (!serverPlayer.level.isClientSide() && serverPlayer.getServer() != null) {
   CommandSourceStack commandSourceStack = serverPlayer.createCommandSourceStack().withSuppressedOutput().withPermission(4);
   ParseResults<CommandSourceStack> results = new ParseResults<CommandSourceStack>();
   serverPlayer.getServer().getCommands().performCommand(results, cmd);
}

My challenge is that I do not know how to build the ParseResults<CommandSourceStack> correctly so that it can be passed and read.

I would be grateful for any suggestions (and exceptionally thankful for any lines of code) that would assist resolving this.

 

Edited by Scytale
Link to comment
Share on other sites

  • 3 weeks later...

In case anyone else finds this, the answer is ...

String command = "some command";
CommandSourceStack commandSourceStack = serverPlayer.createCommandSourceStack().withSuppressedOutput().withPermission(4);

CommandDispatcher<CommandSourceStack> commanddispatcher = serverPlayer.getServer().getCommands().getDispatcher();
ParseResults<CommandSourceStack> results = commanddispatcher.parse(command, commandSourceStack);
int result = serverPlayer.getServer().getCommands().performCommand(results, command);

 

  • Thanks 1
Link to comment
Share on other sites

  • Scytale changed the title to [solved] [1.19] Struggling using PerformCommand

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.