MCPcopy Index your code
hub / github.com/Semx11/Autotip

github.com/Semx11/Autotip @v3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.0 ↗ · + Follow
453 symbols 1,112 edges 68 files 9 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

General Information

This Forge mod automatically tips all active Network Boosters and other Autotip users on the Hypixel Network (hypixel.net), allowing the user to collect coins, karma, and experience (earnable currencies) over time. At its most effective, a user may leave the mod on at all possible times in order to maximize profit. The mod also includes detailed tracking features in order to visualize earnings and modify the messages that tipping causes for an simpler user experience.

Downloads and more information can be found at autotip.pro.

Processes

Autotip runs in waves of 15 minutes (viewable by the ingame command /autotip wave), starting at the first login to the Hypixel Network of the Minecraft session. At every pulse, a request will be made to a endpoint on our server side API with the client's username, which first fetches an all in order to tip online boosters, and then a list of random other online autotip users, plus random gamemodes for each user in the format Username GameMode.

The command /tip is hardcoded into the client, and the server only returns the list of what should be suffixed after that command. This is in order to appease any fears that people with access to the Autotip backend may commit malicious acts on the basis that they have remote access to a player's commands. Any person with such fears can have the peace of mind that this is impossible with how the client acts on the response.

Server Side Components

Many of the components that make Autotip work take place on the autotip.pro servers, the primary being the mechanic of tipping other online players. Upon the first login to Hypixel, a player will be authenticated with our server side API with basic information, including their Minecraft UUID, Minecraft version, Autotip version, operating system. These are both used in both analytics of the mod and authentication with our online player system. A number of checks will be run on the player in order to prevent spoofing. After authenticated, a request will be made to our API every 15 minutes in order to fetch the tip queue, as discribed in Processes above. The API code is not currently avalible in order to not reveal our authentication methods, and more importantly to not reveal the embarrasingly written code that lies there.

Contributors

  • Semx11 - Developer of mod, developer of API, PR.
  • 2Pi - Developer of API, developer of mod from April 2016 to August 2016, PR.
  • Sk1er - Host, PR.

Distribution

If you would like to distribute Autotip in either your own client or a larger Forge mod, we ask that you contact us for permission so we can make sure you're not doing anything malicious with the code. You can PM us at any of the above Hypixel Forums user pages or DM us on twitter at @HypixelAutotip. If you plan on making your own client, we will only allow you to use the code if the client is an injectable instead of an actual variation of the Minecraft client itself. In other words, you must not be distributing the Minecraft client for download, which is against Mojang's EULA, rather modifying one that is already on a user's computer.

Extension points exported contracts — how you extend this code

Request (Interface)
(no doc) [6 implementers]
src/main/java/me/semx11/autotip/api/request/Request.java
TypeAdapter (Interface)
(no doc) [4 implementers]
src/main/java/me/semx11/autotip/gson/adapter/TypeAdapter.java
Event (Interface)
(no doc) [3 implementers]
src/main/java/me/semx11/autotip/event/Event.java

Core symbols most depended-on inside this repo

get
called by 28
src/main/java/me/semx11/autotip/util/Version.java
get
called by 21
src/main/java/me/semx11/autotip/core/StatsManager.java
reportException
called by 21
src/main/java/me/semx11/autotip/util/ErrorReport.java
format
called by 19
src/main/java/me/semx11/autotip/util/StringUtil.java
sendKey
called by 17
src/main/java/me/semx11/autotip/chat/MessageUtil.java
sendKey
called by 17
src/main/java/me/semx11/autotip/chat/KeyHelper.java
getVersion
called by 14
src/main/java/me/semx11/autotip/util/VersionInfo.java
findMethod
called by 13
src/main/java/me/semx11/autotip/universal/ReflectionUtil.java

Shape

Method 372
Class 70
Enum 8
Interface 3

Languages

Java100%

Modules by API surface

src/main/java/me/semx11/autotip/stats/Stats.java26 symbols
src/main/java/me/semx11/autotip/Autotip.java24 symbols
src/main/java/me/semx11/autotip/universal/ReflectionUtil.java18 symbols
src/main/java/me/semx11/autotip/config/GlobalSettings.java18 symbols
src/main/java/me/semx11/autotip/core/SessionManager.java16 symbols
src/main/java/me/semx11/autotip/util/FileUtil.java15 symbols
src/main/java/me/semx11/autotip/config/Config.java14 symbols
src/main/java/me/semx11/autotip/chat/MessageUtil.java13 symbols
src/main/java/me/semx11/autotip/chat/KeyHelper.java13 symbols
src/main/java/me/semx11/autotip/stats/Coins.java12 symbols
src/main/java/me/semx11/autotip/core/TaskManager.java11 symbols
src/main/java/me/semx11/autotip/api/reply/impl/TipReply.java11 symbols

For agents

$ claude mcp add Autotip \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact