Skip to content
This repository has been archived by the owner on Mar 4, 2023. It is now read-only.

Latest commit

 

History

History
113 lines (112 loc) · 4.53 KB

README.md

File metadata and controls

113 lines (112 loc) · 4.53 KB

MCOverlay

A blazing fast overlay to never get sniped again!

Task Checklist

Backend

  • Initial alt+tab + config (overwrite default delay)
  • Do not reset config upon startup
  • AutoTrash
    • Trash
    • Bad
    • Suck
    • Gay
    • :oof:
    • Check if works
  • SplitWarner
    • Requires death event.
    • Requires list of teammates (can be done from party only, I think) - [ ] Potentially add a chat-based command that lets you enter another
  • Only load config when it's last edited date is changed
  • Party member nicked in game
  • Session lock to prevent multiples
  • Chat based commands
  • Support for multiple API keys on one account (breaks hypixel TOS, be warned.)

Frontend

  • Average time per game
  • GUI Layout
  • Selectable statistics in table
    • Index score
    • Dynamic system showing all
    • Party detection
    • Guild detection
  • Alarm when not all party members in lobby (detect amount)
  • Navigate to log file
    • Perhaps navigate to C:/Users, let the user pick a folder.
    • Then see if there's a .minecraft folder in */AppData/
    • If there is, just pick that, go into */logs/latest.log
    • If there is not, let the user select a minecraft game folder manually
    • Then check if there exists a logs folder, if not, return to previous step ^
  • Dynamic game type selection system
    • Multiple games
  • Version in title of program
  • Finish TODO's
  • Configurable autoinvite statistics
    • Statistics check

Completed tasks

  • Upon open, disregard all entries before that timestamp (set linenumber)
    • Improved by only discarding certain elements
      • lobbyname, among other things, is maintained.
      • Downloads are completely ignored. /who will autodownload again.
  • Autowho
    • Don't use when first player in lobby
    • [X] Maybe with party size
  • Autoleave+pwarp after game
    • Toggle (both leave & pwarp)
  • Improve request getting (now less than 100ms! (based on your connection!))
  • Read latest.log
    • Detect changes, filter unimportant data
  • Interpret latest.log
    • Lobby 1
      • [HH:MM:SS] [Client thread/INFO]: [CHAT] [STARS?] NAME: CHAT
      • [HH:MM:SS] [Client thread/INFO]: [CHAT] [STARS?] [RANK] NAME: CHAT
      • [HH:MM:SS] [Client thread/INFO]: [CHAT] [RANK] NAME joined the lobby!
        • RANK can be MVP+ and MVP++
    • Game lobby ->
      • [HH:MM:SS] [Client thread/INFO]: [CHAT] NAME has joined (X/Y)!
        • X varies from 1 to Y
        • Y is 8 (solo or 4v4), 12 (3s) 16 (2s or 4s)
  • Request UUID from Minecraft username API
    • Save uuid->player and player->uuid tables between runs
  • Get API token from file
  • Use API token and UUID to retrieve player information from Hypixel API
  • Upkeep list of party members
    • On party member disconnect leave lobby etc
    • On party disconnect write message in party chat (?) (toggleable)
    • If party size = 1 (only self), don't /p warp after autoLeave
  • Suppress keyboard input when sending a command Not possible within python
  • Lobby playername toggle (semi-command?)
    • Chat
    • Joined lobby
    • All
    • Added more
  • Error and warning system for API
    • [ ] Timeout Scrapped due to default integration. Adding would need threads inside threads so will not.
    • API overload (diff MCAPI / HyAPI)
  • Detection and marking system (join & leave)
    • Player detection
    • Player already in list (do not request API again)
    • Rank detection
    • Staff detection
    • Party list detection
      • Party promotion detection (who is leader, moderator, GUI option)
    • Who-command detection
  • Refresh player statistics at the end of the game
  • Party alarm
    • Leave gamelobby if party member disconnects or leaves
  • Mistake "/who" detection and marking
  • Autoinvite
    • Toggle
    • Name mention
  • Monitor API Load
    • API overload handling
  • Statistics check bypass whitelist
  • Add origin to commandSender
  • Removed from party ([RANK] username has been kicked from the party.)
  • Kicked from party (You have been kicked from the party by [RANK] username)
  • Empty party (The party was disbanded because all invites expired and the party was empty)
  • Disbanded the party ([RANK] username has disbanded the party!)
  • Configurable thread count (api gets x-1 since main thread runs all other stuff)
  • [ ] Statistics to SQL Scrapped in favour of native python implementation
  • Native python statistics implementation
  • Fix autoWho when leaving lobby
  • Config options for:
    • Delay initial /who /plist