2016-01-06 10:50:28 -08:00
|
|
|
package amidst.mojangapi.world.icon.locationchecker;
|
2016-01-06 09:45:56 -08:00
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
2016-01-06 11:33:14 -08:00
|
|
|
import amidst.documentation.ThreadSafe;
|
2018-03-09 23:48:03 -08:00
|
|
|
import amidst.logging.AmidstLogger;
|
2016-01-06 09:45:56 -08:00
|
|
|
import amidst.mojangapi.world.biome.Biome;
|
|
|
|
import amidst.mojangapi.world.oracle.BiomeDataOracle;
|
|
|
|
|
2016-01-06 11:33:14 -08:00
|
|
|
@ThreadSafe
|
2016-01-06 09:45:56 -08:00
|
|
|
public class StructureBiomeLocationChecker implements LocationChecker {
|
|
|
|
private final BiomeDataOracle biomeDataOracle;
|
|
|
|
private final int size;
|
|
|
|
private final List<Biome> validBiomes;
|
|
|
|
|
2016-04-11 05:29:06 -07:00
|
|
|
public StructureBiomeLocationChecker(BiomeDataOracle biomeDataOracle, int size, List<Biome> validBiomes) {
|
2016-01-06 09:45:56 -08:00
|
|
|
this.biomeDataOracle = biomeDataOracle;
|
|
|
|
this.size = size;
|
2016-01-09 14:56:05 -08:00
|
|
|
this.validBiomes = validBiomes;
|
2016-01-06 09:45:56 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean isValidLocation(int x, int y) {
|
2018-03-09 23:48:03 -08:00
|
|
|
if (biomeDataOracle == null) {
|
|
|
|
AmidstLogger.warn("isValidLocation asked with null biome - LocationCheckers not suitable for the current biome may be in use!");
|
|
|
|
return false;
|
|
|
|
}
|
2016-04-11 05:29:06 -07:00
|
|
|
return biomeDataOracle.isValidBiomeForStructureAtMiddleOfChunk(x, y, size, validBiomes);
|
2016-01-06 09:45:56 -08:00
|
|
|
}
|
|
|
|
}
|