It might interest you all to know that the idea of using the java.lang.reflect package as a means to automate runescape was first conceived in a conversation between ruler_eric (as he was then known, I hear he just goes by ruler now). Shortly thereafter I developed the first reflection interface to the RS client that did anything useful (sort of at the request of solarwind, who was the only person stupid enough at the time to keep bugging me). Later reflection evolved at the hands of hardcore bot devs to fully replace the injection bots that had been king.
When I first worked on it, I had a bit of a different idea of what it should be (when compared to what it became). I intended it to be more of a utility to simplify the tedious parts of color scripting. I assumed injection would remain the java way of doing things, because in some ways it is more powerful, although more detectable and unstable. In this light, I never intended to implement object finding or anything of that sort. Reflection in pure java forms implemented these "color replacing" functions because they needed them to do anything at all, and they already had the injection based approach to model off of. They went their own way, then, after I added reflection functionality to SMART, reflection devs here implemented the java-bot approach to reflection, ultimately replacing the stability of color with the instability of reflection.
Now that Jagex has significantly changed the inner workings of the client, the algorithms developed in Aryan (the first "injection" bot --- it really decompiled the client and applied regexs to the source code, then recompiled) that were the base of all injection/java-reflection bots are invalid and since the client is currently in a highly obfuscated and corrupt state unlike it was in the days Aryan was developed, it is highly unlikely that this will ever get fixed, at least in any short amount of time. Why? There's very little/none of the old guard left that understood the client well, no one has had to play with bytecode from scratch ever, and the client is in a terrible state. Put simply: Java based bots are not going to come back in the short or mid term.This means no one is going to implement things that could replace color, simply because no one that knows how is around or wants to, and thus color is now (again) the only way to bot, and will remain that way for quite some time. So, I was thinking, why not try to re-implement my original conceptualization of reflection? What is that you ask?
Reflection should have done the following (stable):
- Given your current location
- Allowed you to click specific tiles on the minimap (for walking)
These features were/are relatively easy and simple to maintain.
Other (less stable) things reflection could offer well:
- Let you click specific on screen objects (in a static way, i.e. by tile and height)
- Your current animation / hp / info about your player
- Access to the settings array that (used to at least) hold the answers to on-screen randoms, etc.
These are significantly more likely to break/change, but still pretty simple.
These are the things I intended reflection to do, more or less to aid color scripts by giving them stability over long distances / information about things that are not easy to derive by examining colors in even an advanced way. (tl;dr read the other red text and: ) I believe minimap-based walking and location information is very achievable on the short term. Further I believe the other things I intended for reflection are achievable mid/long term. But no one is going to bother/be successful at implementing anything more advanced in at least the short-mid term. I'm curious:
Is SRL open to Reflection being re-implemented in such a way? Please vote.

