package me.gtacraft.plugins.hub.special; import com.google.common.collect.Lists; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.entity.FallingBlock; import org.bukkit.util.Vector; import java.util.List; /** * Created by Connor on 7/11/14. Designed for the GTA-Hub project. */ public class WaterFountain { private List<Location> water_locs = Lists.newArrayList(); private List<FallingBlock> remove = Lists.newArrayList(); public WaterFountain(List<Location> water_locs) { this.water_locs = water_locs; } public void tick() { if (Bukkit.getOnlinePlayers().length == 0) return; if (remove.size() > 100) return; for (Location loc : water_locs) { if (Math.random()*100 > 90) loc.getWorld().playSound(loc, Sound.WATER, 1, 1); FallingBlock water = loc.getWorld().spawnFallingBlock(loc, Material.WATER.getId(), (byte)0); water.setDropItem(false); water.setVelocity(new Vector((Math.random()*0.25)-0.125, 0.5, (Math.random()*0.25)-0.125)); } } public boolean handleFallingBlock(FallingBlock block) { if (remove.contains(block)) { block.remove(); remove.remove(block); } return true; //just to let the listener cancel the event } }