public static Model getModelAt(this GameObjectDefinition definition, int i, int j, int k, int l, int i1, int j1, int k1) { Model model = definition.getAnimatedModel(i, k1, j); if (model == null) { return(null); } if (definition.adjustToTerrain || definition.delayShading) { model = new Model(definition.adjustToTerrain, definition.delayShading, model); } if (definition.adjustToTerrain) { int l1 = (k + l + i1 + j1) / 4; for (int v = 0; v < model.vertexCount; v++) { int x = model.verticesX[v]; int z = model.verticesZ[v]; int l2 = k + ((l - k) * (x + 64)) / 128; int i3 = j1 + ((i1 - j1) * (x + 64)) / 128; int j3 = l2 + ((i3 - l2) * (z + 64)) / 128; model.verticesY[v] += j3 - l1; } model.normalise(); } return(model); }