Package net.glowstone.generator.populators

Source Code of net.glowstone.generator.populators.SnowPopulator

package net.glowstone.generator.populators;

import org.bukkit.Chunk;
import org.bukkit.ChunkSnapshot;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Biome;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.generator.BlockPopulator;

import java.util.Random;

/**
* BlockPopulator that coats tundra and {@link Biome#TAIGA
* taiga} with snow.
*/
public class SnowPopulator extends BlockPopulator {

    @Override
    public void populate(World world, Random random, Chunk source) {
        int chunkX = source.getX() * 16;
        int chunkZ = source.getZ() * 16;
        ChunkSnapshot snapshot = source.getChunkSnapshot();
        for (int x = 0; x < 16; x++) {
            for (int z = 0; z < 16; z++) {
                Biome biome = world.getBiome(x + chunkX, z + chunkZ);
                if (biome != Biome.TAIGA) {
                    continue;
                }

                int y = snapshot.getHighestBlockYAt(x, z);
                if (source.getBlock(x, y, z).getType() == Material.AIR) {
                    y--;
                }

                Block block = source.getBlock(x, y, z);
                switch (block.getType()) {
                    case WATER:
                    case STATIONARY_WATER:
                        if (block.getData() == 0) {
                            block.setType(Material.ICE);
                        }
                        break;
                    case LAVA:
                    case STATIONARY_LAVA:
                        break;
                    case DIRT:
                        block.setType(Material.GRASS);
                        block.getRelative(BlockFace.UP).setType(Material.SNOW);
                        break;
                    default:
                        block.getRelative(BlockFace.UP).setType(Material.SNOW);
                        break;
                }
            }
        }
    }
   
}
TOP

Related Classes of net.glowstone.generator.populators.SnowPopulator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.