
injection reflection magic
I have no idea what magic is, I assume that's color?
Here is a snippet I copied from the wikipedia that's reasonably accurate
"Injection and reflection bots work in similar ways, however they use different methods to accomplish this.
Injection bots inject into the RuneScape applet, reading the game's code directly to determine what is what. Reflection bots create a mirror image of the RuneScape applet by accessing the loaded classes and then read the code of the "reflected" copy, without injecting any code - considered to be much harder to detect than injection but - if done right - both are completely undetectable. Most bots, such as RSBuddy (now EOL) or RSBot, used both injection and reflection to be able to gather as much data as possible. A custom-engineered game client is used to run the bot, rather than through a web browser with Jagex's official client (as is done with most colour-based bots). This allows the game to be slightly modified, making it listen to fake mouse - or key events (allowing you to play other games while using the bot) and to disable direct system access (say: faking runtime information) to mislead Jagex's servers.
The fact that the bots both read the game's actual code, rather than looking at the screen (colour bot) make it very easy for them to complete random events - for example, instead of trying to identify the correct spinning object visually with shapes and colours, the bot simply sees a few sets of numbers, called IDs - unique numbers used by the game to identify every individual entity in the RuneScape world - and picks the one ID that matches the correct answer.
IDs are the basis of injection and reflection bots and it was what made them so powerful. As injection and reflection both exist in Java, the only way to stop bot developers using these functions would be to use something other than Java to run the game applet. This could be done without rewriting the whole game (only the applet would need to be written in a different language, rather than the servers) - however the loss of Java would mean the loss of a lot of compatibility for many users."