First Commit
[esp.git] / src / net / encode / wurmesp / feature / hook / HandleDevInput.java
1 /*
2 * Decompiled with CFR 0.151.
3 *
4 * Could not load the following classes:
5 * com.wurmonline.client.game.PlayerPosition
6 * javassist.CannotCompileException
7 * javassist.ClassPool
8 * javassist.CtClass
9 * javassist.NotFoundException
10 * org.gotti.wurmunlimited.modloader.classhooks.HookManager
11 */
12 package net.encode.wurmesp.feature.hook;
13
14 import com.wurmonline.client.game.PlayerPosition;
15 import java.util.logging.Level;
16 import java.util.logging.Logger;
17 import javassist.CannotCompileException;
18 import javassist.ClassPool;
19 import javassist.CtClass;
20 import javassist.NotFoundException;
21 import net.encode.wurmesp.WurmEspMod;
22 import net.encode.wurmesp.util.ConfigUtils;
23 import org.gotti.wurmunlimited.modloader.classhooks.HookManager;
24
25 public class HandleDevInput {
26 public HandleDevInput() {
27 try {
28 ClassPool classPool = HookManager.getInstance().getClassPool();
29 CtClass ctWurmConsole = classPool.getCtClass("com.wurmonline.client.console.WurmConsole");
30 ctWurmConsole.getMethod("handleDevInput", "(Ljava/lang/String;[Ljava/lang/String;)Z").insertBefore("if (net.encode.wurmesp.feature.hook.HandleDevInput.handleInput($1,$2)) return true;");
31 WurmEspMod.logger.log(Level.INFO, "[WurmEspMod] Return inserted on handleDevInput");
32 }
33 catch (CannotCompileException | NotFoundException ex) {
34 Logger.getLogger(HandleDevInput.class.getName()).log(Level.SEVERE, null, ex);
35 }
36 WurmEspMod.logger.log(Level.INFO, "[WurmEspMod] Return inserted on handleDevInput");
37 }
38
39 public static boolean handleInput(String cmd, String[] data) {
40 if (cmd.equals("esp")) {
41 if (data.length == 2) {
42 switch (data[1]) {
43 case "players": {
44 WurmEspMod.players = !WurmEspMod.players;
45 WurmEspMod.hud.consoleOutput("ESP players changed to: " + Boolean.toString(WurmEspMod.players));
46 break;
47 }
48 case "mobs": {
49 WurmEspMod.mobs = !WurmEspMod.mobs;
50 WurmEspMod.hud.consoleOutput("ESP mobs changed to: " + Boolean.toString(WurmEspMod.mobs));
51 break;
52 }
53 case "specials": {
54 WurmEspMod.specials = !WurmEspMod.specials;
55 WurmEspMod.hud.consoleOutput("ESP specials changed to: " + Boolean.toString(WurmEspMod.specials));
56 break;
57 }
58 case "uniques": {
59 WurmEspMod.uniques = !WurmEspMod.uniques;
60 WurmEspMod.hud.consoleOutput("ESP uniques changed to: " + Boolean.toString(WurmEspMod.uniques));
61 break;
62 }
63 case "conditioned": {
64 WurmEspMod.conditioned = !WurmEspMod.conditioned;
65 WurmEspMod.hud.consoleOutput("ESP champions changed to: " + Boolean.toString(WurmEspMod.conditioned));
66 break;
67 }
68 case "xray": {
69 WurmEspMod.xray = !WurmEspMod.xray;
70 WurmEspMod.hud.consoleOutput("ESP xray changed to: " + Boolean.toString(WurmEspMod.xray));
71 break;
72 }
73 case "tilescloseby": {
74 WurmEspMod.tilescloseby = !WurmEspMod.tilescloseby;
75 WurmEspMod.hud.consoleOutput("ESP tilescloseby changed to: " + Boolean.toString(WurmEspMod.tilescloseby));
76 break;
77 }
78 case "deedsize": {
79 WurmEspMod.deedsize = !WurmEspMod.deedsize;
80 WurmEspMod.hud.consoleOutput("ESP deedsize changed to: " + Boolean.toString(WurmEspMod.deedsize));
81 break;
82 }
83 case "search": {
84 WurmEspMod.hud.consoleOutput("Usage: esp search {h/m/hm/off} <name>");
85 break;
86 }
87 case "planner": {
88 WurmEspMod.hud.consoleOutput("Usage: esp planner {n/s/e/w} <tiles> <times> <space>");
89 WurmEspMod.hud.consoleOutput("Usage: esp planner square <startX> <startY> <endX> <endY>");
90 WurmEspMod.hud.consoleOutput("Usage: esp planner square <radius>");
91 WurmEspMod.hud.consoleOutput("Usage: esp planner tile <tileX> <tileY>");
92 WurmEspMod.hud.consoleOutput("Usage: esp planner clear");
93 break;
94 }
95 case "reload": {
96 ConfigUtils.loadProperties("wurmesp");
97 ConfigUtils.DoConfig(WurmEspMod.modProperties);
98 WurmEspMod.hud.consoleOutput("[WurmEspMod] Config Reloaded");
99 break;
100 }
101 default: {
102 WurmEspMod.hud.consoleOutput("Usage: esp {players|mobs|specials|uniques|conditioned|xray|tilescloseby|deedsize|reload}");
103 }
104 }
105 return true;
106 }
107 if (data.length > 2) {
108 switch (data[1]) {
109 case "search": {
110 if (data[2].equals("h")) {
111 WurmEspMod.search = data[3];
112 WurmEspMod.searchType = WurmEspMod.SEARCHTYPE.HOVER;
113 WurmEspMod.hud.consoleOutput("Searching for " + WurmEspMod.search + " in HoverName");
114 break;
115 }
116 if (data[2].equals("m")) {
117 WurmEspMod.search = data[3];
118 WurmEspMod.searchType = WurmEspMod.SEARCHTYPE.MODEL;
119 WurmEspMod.hud.consoleOutput("Searching for " + WurmEspMod.search + " in ModelName");
120 break;
121 }
122 if (data[2].equals("hm")) {
123 WurmEspMod.search = data[3];
124 WurmEspMod.searchType = WurmEspMod.SEARCHTYPE.BOTH;
125 WurmEspMod.hud.consoleOutput("Searching for " + WurmEspMod.search + " in HoverName and ModelName");
126 break;
127 }
128 if (data[2].equals("off")) {
129 WurmEspMod.search = "";
130 WurmEspMod.searchType = WurmEspMod.SEARCHTYPE.NONE;
131 WurmEspMod.hud.consoleOutput("Searching off");
132 break;
133 }
134 WurmEspMod.hud.consoleOutput("Usage: esp search {h/m/hm/off} <name>");
135 break;
136 }
137 case "planner": {
138 if (data.length == 3 && data[2].equals("clear")) {
139 WurmEspMod._tilesHighlightBase.clear();
140 WurmEspMod.tileshighlight = false;
141 WurmEspMod.hud.consoleOutput("Planner data cleared.");
142 break;
143 }
144 if (data.length == 3 && data[2].equals("tile")) {
145 PlayerPosition pos = WurmEspMod.hud.getWorld().getPlayer().getPos();
146 int tileX = pos.getTileX();
147 int tileY = pos.getTileY();
148 WurmEspMod.tilesHighlightManager.addData(tileX, tileY);
149 WurmEspMod.tileshighlight = true;
150 WurmEspMod.hud.consoleOutput("Added planner data. [TileX: " + String.valueOf(tileX) + "][tileY: " + String.valueOf(tileY) + "]");
151 break;
152 }
153 if (data.length == 4 && data[2].equals("square")) {
154 int radius = Integer.parseInt(data[3]);
155 WurmEspMod.tilesHighlightManager.addData(radius);
156 WurmEspMod.tileshighlight = true;
157 WurmEspMod.hud.consoleOutput("Added planner data. [radius: " + data[3] + "]");
158 break;
159 }
160 if (data.length == 5 && data[2].equals("tile")) {
161 int tileX = Integer.parseInt(data[3]);
162 int tileY = Integer.parseInt(data[4]);
163 WurmEspMod.tilesHighlightManager.addData(tileX, tileY);
164 WurmEspMod.tileshighlight = true;
165 WurmEspMod.hud.consoleOutput("Added planner data. [TileX: " + data[3] + "][tileY: " + data[4] + "]");
166 break;
167 }
168 if (data.length == 6 && "nsew".contains(data[2])) {
169 String direction = data[2];
170 int tiles = Integer.parseInt(data[3]);
171 int times = Integer.parseInt(data[4]);
172 int space = Integer.parseInt(data[5]);
173 WurmEspMod.tilesHighlightManager.addData(direction, tiles, times, space);
174 WurmEspMod.tileshighlight = true;
175 WurmEspMod.hud.consoleOutput("Added planner data. [direction: " + direction + "][tiles: " + data[3] + "][times: " + data[4] + "][space: " + data[5] + "]");
176 break;
177 }
178 if (data.length == 7 && data[2].equals("square")) {
179 int startX = Integer.parseInt(data[3]);
180 int startY = Integer.parseInt(data[4]);
181 int endX = Integer.parseInt(data[5]);
182 int endY = Integer.parseInt(data[6]);
183 WurmEspMod.tilesHighlightManager.addData(startX, startY, endX, endY);
184 WurmEspMod.tileshighlight = true;
185 WurmEspMod.hud.consoleOutput("Added planner data. [startX: " + data[3] + "][startY: " + data[4] + "][endX: " + data[5] + "][endY: " + data[6] + "]");
186 break;
187 }
188 WurmEspMod.hud.consoleOutput("Usage: esp planner {n/s/e/w} <tiles> <times> <space>");
189 WurmEspMod.hud.consoleOutput("Usage: esp planner square <startX> <startY> <endX> <endY>");
190 WurmEspMod.hud.consoleOutput("Usage: esp planner square <radius>");
191 WurmEspMod.hud.consoleOutput("Usage: esp planner tile <tileX> <tileY>");
192 WurmEspMod.hud.consoleOutput("Usage: esp planner clear");
193 break;
194 }
195 default: {
196 WurmEspMod.hud.consoleOutput("Error.");
197 }
198 }
199 return true;
200 }
201 WurmEspMod.hud.consoleOutput("Error.");
202 return true;
203 }
204 return false;
205 }
206 }
207