package net.glowstone.generator.decorators.overworld; import net.glowstone.generator.decorators.BlockDecorator; import net.glowstone.generator.structures.GlowDesertWell; import net.glowstone.generator.structures.util.StructureBoundingBox; import net.glowstone.util.BlockStateDelegate; import org.bukkit.Chunk; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.util.Vector; import java.util.Random; public class DesertWellDecorator extends BlockDecorator { @Override public void decorate(World world, Random random, Chunk source) { if (random.nextInt(1000) == 0) { int x = (source.getX() << 4) + random.nextInt(16); int z = (source.getZ() << 4) + random.nextInt(16); int y = world.getHighestBlockYAt(x, z); final GlowDesertWell well = new GlowDesertWell(new Location(world, x, y, z)); final BlockStateDelegate delegate = new BlockStateDelegate(); if (well.generate(world, random, new StructureBoundingBox(new Vector(x - 15, 1, z - 15), new Vector(x + 15, 511, z + 15)), delegate)) { delegate.updateBlockStates(); } } } }