Clean
[esp.git] / src / net / encode / wurmesp / feature / hook / MobileModelRenderableInit.java
1 package net.encode.wurmesp.feature.hook;
2
3 import com.wurmonline.client.renderer.PickableUnit;
4 import com.wurmonline.client.renderer.cell.CellRenderable;
5 import com.wurmonline.client.renderer.cell.CreatureCellRenderable;
6 import java.util.logging.Level;
7 import net.encode.wurmesp.Unit;
8 import net.encode.wurmesp.WurmEspMod;
9 import net.encode.wurmesp.util.SoundUtils;
10
11 public class MobileModelRenderableInit
12 extends Hook {
13 public MobileModelRenderableInit() {
14 this.prepareHook("com.wurmonline.client.renderer.cell.MobileModelRenderable", "initialize", "()V", () -> (proxy, method, args) -> {
15 method.invoke(proxy, args);
16 PickableUnit pUnit = (PickableUnit)proxy;
17 Unit unit = new Unit(CellRenderable.world, pUnit.getId(), pUnit, ((CreatureCellRenderable)proxy).getModelName().toString(), ((CreatureCellRenderable)proxy).getHoverName());
18 if (unit.isPlayer() || unit.isMob()) {
19 WurmEspMod.pickableUnits.add(unit);
20 if (unit.isUnique() && WurmEspMod.uniques && WurmEspMod.playsoundunique) {
21 SoundUtils.playSound(WurmEspMod.soundunique);
22 }
23 } else if (unit.isSpecial()) {
24 WurmEspMod.pickableUnits.add(unit);
25 if (WurmEspMod.specials && WurmEspMod.playsoundspecial) {
26 SoundUtils.playSound(WurmEspMod.soundspecial);
27 }
28 } else if (unit.isSpotted()) {
29 WurmEspMod.pickableUnits.add(unit);
30 if (WurmEspMod.items && WurmEspMod.playsounditem) {
31 SoundUtils.playSound(WurmEspMod.sounditem);
32 }
33 }
34 return null;
35 });
36 WurmEspMod.logger.log(Level.INFO, "[WurmEspMod] MobileModelRenderable.initialize hooked");
37 }
38 }
39