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 + RandomUtils.nextInt(0, 16);
int z = chunk.z + RandomUtils.nextInt(0, 16);
BlockPos pos = world.getTopSolidOrLiquidBlock(new BlockPos(x,0, z));
return pos;
}
@SubscribeEvent
public void render(RenderWorldLastEvent e) {
World world = Minecraft.getMinecraft().world;
if(!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();
playerpos = mc.player.getPosition();
ChunkProviderClient cp = (ChunkProviderClient)world.getChunkProvider();
List<Chunk> chunks = Lists.newArrayList(cp.chunkMapping.values());
Chunk chunk = chunks.get(RandomUtils.nextInt(0, chunks.size()));
BlockPos pos = this.getRandomCoordFromChunk(world);
int y = world.rand.nextInt(10);
if(world.isRemote) {
drawPuddleTexture(mc.player, mc.getRenderPartialTicks(), pos.getX(), y, pos.getZ(), mc.world, "realism:textatlas/puddle");
System.out.println("puddle on: " + pos);
System.out.println("loaded: " +chunk.isLoaded());
}
GlStateManager.disableAlpha();
GlStateManager.doPolygonOffset(0F, 0.0F);
GlStateManager.disablePolygonOffset();
GlStateManager.enableAlpha();
GlStateManager.depthMask(true);
GlStateManager.popMatrix();
}
}