Wurst7 icon indicating copy to clipboard operation
Wurst7 copied to clipboard

Fix Baritone Chat Command Bug

Open Soulevoker opened this issue 4 years ago • 1 comments

Why:

  • Baritone has the ability to click on messages in the chat to execute commands. These commands use a "Force Command" system that prefixes the commands with <<UUID>>.
  • In a fix to prevent plugins from detecting whether or not a user is running a hacked client like Wurst, run command chat actions were disabled in the ScreenMixin. This breaks clicking Baritone chat commands.

How:

  • There are two proposed solutions.
    1. Solution one checks whether or not a message has the "Force Command" system prefix, and tells the mixin to return, allowing the command to execute.
    2. Solution two checks whether or not a message starts with the Wurst command prefix, ".". If it does, force sending that message to the chat window to emulate a vanilla client typing that exact string. This solution has the added benefit of "fixing" the Xaero's Map teleport integration. The teleport integration allows for running a custom command, such at Baritone's #goto command.

Test Plan: Common:

  • Ensure Wurst commands still work
  • Ensure Baritone Chat commands work
  • Ensure servers cannot detect the Wurst client with Captchas
  • Run this command in-game, and click the result: /tellraw @a {"text":"Click this!","clickEvent":{"action":"run_command","value":".say /say Hello!"}} The result should have the player say the exact string, ".say /say Hello!"

Solution 1:

  • Ensure Xaero's map integration remains broken; when "teleporting" the #goto command should be said by the player

Solution 2:

  • Ensure Xaero's map integration works

Soulevoker avatar Apr 14 '21 02:04 Soulevoker

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Apr 14 '21 02:04 CLAassistant

This pull request has been open for a while with no recent activity. If you're still working on this or waiting for a review, please add a comment or commit within the next 7 days to keep it open. Otherwise, the pull request will be automatically closed to free up time for other tasks.

Pull requests should be closed if:

  • They have been superseded by another pull request
  • They are out of scope or don't align with the project
  • They have become obsolete due to other changes
  • They have bugs or conflicts that won't be resolved

github-actions[bot] avatar Dec 28 '23 02:12 github-actions[bot]