MCPcopy Create free account
hub / github.com/demoth/jake2 / setWaterLevel

Method setWaterLevel

game/src/main/java/jake2/game/M.java:230–257  ·  view source on GitHub ↗

M_CatagorizePosition

(SubgameEntity ent, GameExportsImpl gameExports)

Source from the content-addressed store, hash-verified

228 * M_CatagorizePosition
229 */
230 public static void setWaterLevel(SubgameEntity ent, GameExportsImpl gameExports) {
231 float[] point = {
232 ent.s.origin[0],
233 ent.s.origin[1],
234 ent.s.origin[2] + ent.mins[2] + 1
235 };
236
237 int pointContents = gameExports.gameImports.getPointContents(point);
238
239 if (0 == (pointContents & Defines.MASK_WATER)) {
240 ent.waterlevel = 0;
241 ent.watertype = 0;
242 return;
243 }
244 // we are in the water, let check how deep
245 ent.watertype = pointContents;
246 ent.waterlevel = 1;
247 point[2] += 26;
248 pointContents = gameExports.gameImports.getPointContents(point);
249 if (0 == (pointContents & Defines.MASK_WATER))
250 return;
251
252 ent.waterlevel = 2;
253 point[2] += 22;
254 pointContents = gameExports.gameImports.getPointContents(point);
255 if (0 != (pointContents & Defines.MASK_WATER))
256 ent.waterlevel = 3;
257 }
258
259 /**
260 * M_WorldEffects

Callers 2

thinkMethod · 0.95
thinkMethod · 0.95

Calls 1

getPointContentsMethod · 0.65

Tested by

no test coverage detected