2 * Decompiled with CFR 0.151.
4 * Could not load the following classes:
5 * com.wurmonline.client.renderer.gui.HeadsUpDisplay
6 * com.wurmonline.client.renderer.gui.MainMenu
7 * com.wurmonline.client.renderer.gui.WindowSerializer
8 * com.wurmonline.client.renderer.gui.WurmComponent
9 * com.wurmonline.client.settings.SavePosManager
10 * org.gotti.wurmunlimited.modloader.ReflectionUtil
12 package net
.encode
.wurmesp
.feature
.hook
;
14 import java
.lang
.reflect
.Field
;
15 import java
.util
.List
;
16 import java
.util
.logging
.Level
;
18 import org
.gotti
.wurmunlimited
.modloader
.ReflectionUtil
;
20 import com
.wurmonline
.client
.renderer
.gui
.HeadsUpDisplay
;
21 import com
.wurmonline
.client
.renderer
.gui
.MainMenu
;
22 import com
.wurmonline
.client
.renderer
.gui
.WindowSerializer
;
23 import com
.wurmonline
.client
.renderer
.gui
.WurmComponent
;
24 import com
.wurmonline
.client
.renderer
.gui
.WurmEspWindow
;
25 import com
.wurmonline
.client
.settings
.SavePosManager
;
27 import net
.encode
.wurmesp
.WurmEspMod
;
29 public class HeadsUpDisplayInit
31 public HeadsUpDisplayInit() {
32 this.prepareHook("com.wurmonline.client.renderer.gui.HeadsUpDisplay", "init", "(II)V", () -> (proxy
, method
, args
) -> {
33 method
.invoke(proxy
, args
);
34 WurmEspMod
.hud
= (HeadsUpDisplay
)proxy
;
38 WurmEspMod
.logger
.log(Level
.INFO
, "[WurmEspMod] HeadsUpDisplay.init hooked");
41 private void initEspWR() {
43 WurmEspWindow wurmEspWindow
= new WurmEspWindow();
44 MainMenu mainMenu
= (MainMenu
)ReflectionUtil
.getPrivateField((Object
)WurmEspMod
.hud
, (Field
)ReflectionUtil
.getField(WurmEspMod
.hud
.getClass(), (String
)"mainMenu"));
45 mainMenu
.registerComponent("Esp", (WurmComponent
)wurmEspWindow
);
46 @SuppressWarnings("unchecked")
47 List
<WurmEspWindow
> components
= (List
<WurmEspWindow
>)ReflectionUtil
.getPrivateField((Object
)WurmEspMod
.hud
, (Field
)ReflectionUtil
.getField(WurmEspMod
.hud
.getClass(), (String
)"components"));
48 components
.add(wurmEspWindow
);
49 SavePosManager savePosManager
= (SavePosManager
)ReflectionUtil
.getPrivateField((Object
)WurmEspMod
.hud
, (Field
)ReflectionUtil
.getField(WurmEspMod
.hud
.getClass(), (String
)"savePosManager"));
50 savePosManager
.registerAndRefresh((WindowSerializer
)wurmEspWindow
, "wurmespwindow");
52 catch (ClassCastException
| IllegalAccessException
| IllegalArgumentException
| NoSuchFieldException e
) {
53 throw new RuntimeException(e
);