1 package net
.encode
.wurmesp
.feature
.hook
;
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
;
11 public class MobileModelRenderableInit
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
);
23 } else if (unit
.isSpecial()) {
24 WurmEspMod
.pickableUnits
.add(unit
);
25 if (WurmEspMod
.specials
&& WurmEspMod
.playsoundspecial
) {
26 SoundUtils
.playSound(WurmEspMod
.soundspecial
);
28 } else if (unit
.isSpotted()) {
29 WurmEspMod
.pickableUnits
.add(unit
);
30 if (WurmEspMod
.items
&& WurmEspMod
.playsounditem
) {
31 SoundUtils
.playSound(WurmEspMod
.sounditem
);
36 WurmEspMod
.logger
.log(Level
.INFO
, "[WurmEspMod] MobileModelRenderable.initialize hooked");