2 * Decompiled with CFR 0.151.
4 * Could not load the following classes:
5 * com.wurmonline.client.game.PlayerPosition
6 * com.wurmonline.client.game.World
8 package net
.encode
.wurmesp
.feature
;
10 import com
.wurmonline
.client
.game
.PlayerPosition
;
11 import com
.wurmonline
.client
.game
.World
;
12 import net
.encode
.wurmesp
.WurmEspMod
;
13 import net
.encode
.wurmesp
.util
.RenderUtils
;
15 public class FeatureTilesHighlight
18 public void refresh() {
19 WurmEspMod
._tilesHighlightTerrain
.clear();
20 WurmEspMod
._terrainBuffer
= this.world
.getNearTerrainBuffer();
21 float ox
= this.world
.getRenderOriginX();
22 float oy
= this.world
.getRenderOriginY();
23 WurmEspMod
._tilesHighlightBase
.forEach(base
-> {
24 float curX
= (float)(base
[0] * 4) - ox
;
25 float curY
= (float)(base
[1] * 4) - oy
;
26 float nextX
= (float)((base
[0] + 1) * 4) - ox
;
27 float nextY
= (float)((base
[1] + 1) * 4) - oy
;
28 float x0
= curX
+ 0.1f;
29 float y0
= curY
+ 0.1f;
30 float x1
= nextX
- 0.1f;
31 float y1
= nextY
- 0.1f;
32 float z0
= WurmEspMod
._terrainBuffer
.getHeight(base
[0], base
[1]);
33 float z1
= WurmEspMod
._terrainBuffer
.getHeight(base
[0] + 1, base
[1]);
34 float z2
= WurmEspMod
._terrainBuffer
.getHeight(base
[0], base
[1] + 1);
35 float z3
= WurmEspMod
._terrainBuffer
.getHeight(base
[0] + 1, base
[1] + 1);
36 WurmEspMod
._tilesHighlightTerrain
.add(new float[]{x0
, z0
, y0
, x1
, z1
, y0
, x0
, z2
, y1
, x1
, z3
, y1
, x0
, 0.0f, y0
, x1
, 0.0f, y0
, x0
, 0.0f, y1
, x1
, 0.0f, y1
});
42 if (WurmEspMod
._tilesHighlightTerrain
== null) {
45 WurmEspMod
._tilesHighlightTerrain
.forEach(t
-> {
46 float[] color
= new float[]{1.0f, 0.0f, 0.0f, 1.0f};
47 int[] indexdata
= new int[]{1, 0, 0, 2, 2, 3, 3, 1, 1, 2, 0, 3, 5, 4, 4, 6, 6, 7, 7, 5, 0, 4, 1, 5, 2, 6, 3, 7};
48 RenderUtils
.renderPrimitiveLines(8, t
, indexdata
, this.queuePick
, color
);
52 public void setWorld(World world
) {
56 public void addData(String direction
, int tiles
, int times
, int space
) {
57 PlayerPosition pos
= this.world
.getPlayer().getPos();
58 int baseTileX
= pos
.getTileX();
59 int baseTileY
= pos
.getTileY();
60 WurmEspMod
._tilesHighlightBase
.add(new int[]{baseTileX
, baseTileY
});
61 block12
: for (int i
= 0; i
< times
; ++i
) {
66 for (s
= 1; s
< space
+ 1; ++s
) {
67 WurmEspMod
._tilesHighlightBase
.add(new int[]{baseTileX
, --baseTileY
});
74 for (s
= 1; s
< space
+ 1; ++s
) {
75 WurmEspMod
._tilesHighlightBase
.add(new int[]{baseTileX
, ++baseTileY
});
82 for (s
= 1; s
< space
+ 1; ++s
) {
83 WurmEspMod
._tilesHighlightBase
.add(new int[]{++baseTileX
, baseTileY
});
90 for (s
= 1; s
< space
+ 1; ++s
) {
91 WurmEspMod
._tilesHighlightBase
.add(new int[]{--baseTileX
, baseTileY
});
99 public void addData(int x
, int y
) {
100 WurmEspMod
._tilesHighlightBase
.add(new int[]{x
, y
});
103 public void addData(int radius
) {
104 int tileX
= this.world
.getPlayer().getPos().getTileX();
105 int tileY
= this.world
.getPlayer().getPos().getTileY();
106 int startX
= tileX
- radius
;
107 int startY
= tileY
- radius
;
108 int endX
= tileX
+ radius
;
109 int endY
= tileY
+ radius
;
110 this.addData(startX
, startY
, endX
, endY
);
113 public void addData(int startX
, int startY
, int endX
, int endY
) {
114 WurmEspMod
._tilesHighlightBase
.add(new int[]{startX
, startY
});
115 WurmEspMod
._tilesHighlightBase
.add(new int[]{startX
, endY
});
116 WurmEspMod
._tilesHighlightBase
.add(new int[]{endX
, startY
});
117 WurmEspMod
._tilesHighlightBase
.add(new int[]{endX
, endY
});