public BlockPos getRandomCoordFromChunk(World world) {
ChunkProviderClient cp = (ChunkProviderClient) world.getChunkProvider();
List<Chunk> chunks = Lists.newArrayList(cp.chunkMapping.values());
Chunk chunk = chunks.get(RandomUtils.nextInt(0, chunks.size()));
int x = chunk.x * 16 + RandomUtils.nextInt(0, 16);
int z = chunk.z * 16 + RandomUtils.nextInt(0, 16);
BlockPos pos = new BlockPos(x, 0, z);
return pos;
}
@SubscribeEvent
public void render(RenderWorldLastEvent e) {
final Minecraft mc = Minecraft.getMinecraft();
final World world = mc.world;
final EntityPlayer player = mc.player;
if (world != null && player != null && !mc.isGamePaused()) {
GlStateManager.enableBlend();
GlStateManager.color(1.0F, 1.0F, 1.0F, 0.5F);
GlStateManager.doPolygonOffset(-3.0F, -3.0F);
GlStateManager.enablePolygonOffset();
GlStateManager.alphaFunc(516, 0.1F);
GlStateManager.enableAlpha();
GlStateManager.pushMatrix();
int dataX, dataY, dataZ;
for(BlockPos pos : WSDCoordToClient.staticList){
dataX = pos.getX();
dataY = pos.getY();
dataZ = pos.getZ();
drawPuddleTexture(player, mc.getRenderPartialTicks(), dataX, dataY, dataZ, world, "realism:textatlas/puddle");
}
// System.out.println("puddle on: " + pos);
GlStateManager.disableAlpha();
GlStateManager.doPolygonOffset(0F, 0.0F);
GlStateManager.disablePolygonOffset();
GlStateManager.enableAlpha();
GlStateManager.depthMask(true);
GlStateManager.popMatrix();
}
}