Commit | Line | Data |
---|---|---|
82327c1d | 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()); | |
f281706b IS |
18 | |
19 | if(unit.getHoverName().contains("preserved")) { | |
20 | return null; | |
21 | } | |
22 | ||
82327c1d | 23 | if (unit.isPlayer() || unit.isMob()) { |
24 | WurmEspMod.pickableUnits.add(unit); | |
25 | if (unit.isUnique() && WurmEspMod.uniques && WurmEspMod.playsoundunique) { | |
26 | SoundUtils.playSound(WurmEspMod.soundunique); | |
27 | } | |
28 | } else if (unit.isSpecial()) { | |
29 | WurmEspMod.pickableUnits.add(unit); | |
30 | if (WurmEspMod.specials && WurmEspMod.playsoundspecial) { | |
31 | SoundUtils.playSound(WurmEspMod.soundspecial); | |
32 | } | |
33 | } else if (unit.isSpotted()) { | |
34 | WurmEspMod.pickableUnits.add(unit); | |
35 | if (WurmEspMod.items && WurmEspMod.playsounditem) { | |
36 | SoundUtils.playSound(WurmEspMod.sounditem); | |
37 | } | |
38 | } | |
39 | return null; | |
40 | }); | |
41 | WurmEspMod.logger.log(Level.INFO, "[WurmEspMod] MobileModelRenderable.initialize hooked"); | |
42 | } | |
43 | } | |
44 |