ArrayList<BlockLocation> temp = new ArrayList<BlockLocation>();
int numContam = ConflictPlugin.contaminated.size();
BlockLocation blo = null;
Block b = null;
int r=0;
for(int i=0; i<Math.min(250, numContam); i++){
r = generator.nextInt(10);
if(r<=4){
blo = ConflictPlugin.contaminated.get(i);
b = plugin.getServer().getWorlds().get(0).getBlockAt(blo.getX(), blo.getY(), blo.getZ());
SpoutManager.getMaterialManager().overrideBlock(b, ConflictPlugin.virusBlock);
temp.add(blo);
}
}
// for(BlockLocation bl: ConflictPlugin.contaminated){
// Block b = plugin.getServer().getWorlds().get(0).getBlockAt(bl.getX(), bl.getY(), bl.getZ());
// int r = generator.nextInt(9);
// if(r<=4){
// SpoutManager.getMaterialManager().overrideBlock(b, ConflictPlugin.virusBlock);
// temp.add(bl);
// }
// }
if(null!= ConflictPlugin.blueBase){
for(BlockLocation bl: temp){
Location l2 = new Location(plugin.getServer().getWorlds().get(0), ConflictPlugin.blueBase.getX(), ConflictPlugin.blueBase.getY(), ConflictPlugin.blueBase.getZ());
if(plugin.getServer().getWorlds().get(0).getHighestBlockAt(bl.getX()+1, bl.getZ()).getTypeId()!=ConflictPlugin.VIRUSBLOCKID){
//BlockLocation bl2 = new BlockLocation(plugin.getServer().getWorlds().get(0).getHighestBlockAt(bl.getX()+1, bl.getZ()).getLocation());
BlockLocation bl2 = new BlockLocation(plugin.getServer().getWorlds().get(0).getName(), bl.getX()+1, plugin.getServer().getWorlds().get(0).getHighestBlockYAt(bl.getX()+1, bl.getZ())-1, bl.getZ());
Location l = new Location(plugin.getServer().getWorlds().get(0), bl.getX(), bl.getY(), bl.getZ());
if(!ConflictPlugin.contaminated.contains(bl2) && l.distance(l2)<1.5*ConflictPlugin.virusDistance)
ConflictPlugin.contaminated.add(bl2);
}
if(plugin.getServer().getWorlds().get(0).getHighestBlockAt(bl.getX()-1, bl.getZ()).getTypeId()!=ConflictPlugin.VIRUSBLOCKID){
//BlockLocation bl2 = new BlockLocation(plugin.getServer().getWorlds().get(0).getHighestBlockAt(bl.getX()-1, bl.getZ()).getLocation());
BlockLocation bl2 = new BlockLocation(plugin.getServer().getWorlds().get(0).getName(), bl.getX()-1, plugin.getServer().getWorlds().get(0).getHighestBlockYAt(bl.getX()-1, bl.getZ())-1, bl.getZ());
Location l = new Location(plugin.getServer().getWorlds().get(0), bl.getX(), bl.getY(), bl.getZ());
if(!ConflictPlugin.contaminated.contains(bl2) && l.distance(l2)<1.5* ConflictPlugin.virusDistance)
ConflictPlugin.contaminated.add(bl2);
}
if(plugin.getServer().getWorlds().get(0).getHighestBlockAt(bl.getX(), bl.getZ()+1).getTypeId()!=ConflictPlugin.VIRUSBLOCKID){
//BlockLocation bl2 = new BlockLocation(plugin.getServer().getWorlds().get(0).getHighestBlockAt(bl.getX(), bl.getZ()+1).getLocation());
BlockLocation bl2 = new BlockLocation(plugin.getServer().getWorlds().get(0).getName(), bl.getX(), plugin.getServer().getWorlds().get(0).getHighestBlockYAt(bl.getX(), bl.getZ()+1)-1, bl.getZ()+1);
Location l = new Location(plugin.getServer().getWorlds().get(0), bl.getX(), bl.getY(), bl.getZ());
if(!ConflictPlugin.contaminated.contains(bl2) && l.distance(l2)< 1.5*ConflictPlugin.virusDistance)
ConflictPlugin.contaminated.add(bl2);
}
if(plugin.getServer().getWorlds().get(0).getHighestBlockAt(bl.getX(), bl.getZ()-1).getTypeId()!=ConflictPlugin.VIRUSBLOCKID){
//BlockLocation bl2 = new BlockLocation(plugin.getServer().getWorlds().get(0).getHighestBlockAt(bl.getX(), bl.getZ()-1).getLocation());
BlockLocation bl2 = new BlockLocation(plugin.getServer().getWorlds().get(0).getName(), bl.getX(), plugin.getServer().getWorlds().get(0).getHighestBlockYAt(bl.getX(), bl.getZ()-1)-1, bl.getZ()-1);
Location l = new Location(plugin.getServer().getWorlds().get(0), bl.getX(), bl.getY(), bl.getZ());
if(!ConflictPlugin.contaminated.contains(bl2) && l.distance(l2)< 1.5*ConflictPlugin.virusDistance)
ConflictPlugin.contaminated.add(bl2);
}
//Block darunter
if(bl.getY()>1){
BlockLocation bl2 = new BlockLocation(bl.getWorld(), bl.getX(), bl.getY()-1, bl.getZ());
if(!ConflictPlugin.contaminated.contains(bl2))
ConflictPlugin.contaminated.add(bl2);
}