下面列出了怎么用net.minecraftforge.common.BiomeManager的API类实例代码及写法,或者点击链接到github查看源代码。
public void init(FMLInitializationEvent event) {
for (Block block : TraverseBlocks.oreDictNames.keySet()) {
OreDictionary.registerOre(TraverseBlocks.oreDictNames.get(block), block);
}
for (TraverseWorld.TraverseBiomeEntry traverseBiome : TraverseWorld.biomeList) {
BiomeManager.addBiome(traverseBiome.getType(), traverseBiome.getEntry());
if (traverseBiome.hasVillages()) {
BiomeManager.addVillageBiome(traverseBiome.getBiome(), traverseBiome.canSpawn());
}
if (traverseBiome.canSpawn()) {
BiomeManager.addSpawnBiome(traverseBiome.getBiome());
}
BiomeProvider.allowedBiomes.add(traverseBiome.getBiome());
}
registerSmeltingRecipe(new ItemStack(Items.COAL, 1, 1), new ItemStack(TUtils.getBlock("fir_log")), 0.15F);
registerSmeltingRecipe(new ItemStack(TUtils.getBlock("red_rock")), new ItemStack(TUtils.getBlock("red_rock_cobblestone")), 0.1F);
registerSmeltingRecipe(new ItemStack(TUtils.getBlock("blue_rock")), new ItemStack(TUtils.getBlock("blue_rock_cobblestone")), 0.1F);
}
public void init(FMLInitializationEvent event) {
for (Block block : TraverseBlocks.oreDictNames.keySet()) {
OreDictionary.registerOre(TraverseBlocks.oreDictNames.get(block), block);
}
for (TraverseWorld.TraverseBiomeEntry traverseBiome : TraverseWorld.biomeList) {
BiomeManager.addBiome(traverseBiome.getType(), traverseBiome.getEntry());
if (traverseBiome.hasVillages()) {
BiomeManager.addVillageBiome(traverseBiome.getBiome(), traverseBiome.canSpawn());
}
if (traverseBiome.canSpawn()) {
BiomeManager.addSpawnBiome(traverseBiome.getBiome());
}
BiomeProvider.allowedBiomes.add(traverseBiome.getBiome());
}
registerSmeltingRecipe(new ItemStack(Items.COAL, 1, 1), new ItemStack(getBlock("fir_log")), 0.15F);
registerSmeltingRecipe(new ItemStack(getBlock("red_rock")), new ItemStack(getBlock("red_rock_cobblestone")), 0.1F);
registerSmeltingRecipe(new ItemStack(getBlock("blue_rock")), new ItemStack(getBlock("blue_rock_cobblestone")), 0.1F);
}
public DimensionProperties(int id) {
name = "Temp";
resetProperties();
planetId = id;
parentPlanet = -1;
childPlanets = new HashSet<Integer>();
orbitalPhi = 0;
ringColor = new float[] {.4f, .4f, .7f};
oceanBlock = null;
fillerBlock = null;
allowedBiomes = new LinkedList<BiomeManager.BiomeEntry>();
terraformedBiomes = new LinkedList<BiomeManager.BiomeEntry>();
satallites = new HashMap<>();
requiredArtifacts = new LinkedList<ItemStack>();
tickingSatallites = new HashMap<Long,SatelliteBase>();
isNativeDimension = true;
isGasGiant = false;
hasRings = false;
customIcon = "";
harvestableAtmosphere = new LinkedList<Fluid>();
beaconLocations = new HashSet<HashedBlockPosition>();
sealevel = 63;
generatorType = 0;
}
public static void entitySpawn() {
List<BiomeManager.BiomeEntry> biomeEntries = new ArrayList<BiomeManager.BiomeEntry>();
biomeEntries.addAll(BiomeManager.getBiomes(BiomeManager.BiomeType.COOL));
biomeEntries.addAll(BiomeManager.getBiomes(BiomeManager.BiomeType.DESERT));
biomeEntries.addAll(BiomeManager.getBiomes(BiomeManager.BiomeType.ICY));
biomeEntries.addAll(BiomeManager.getBiomes(BiomeManager.BiomeType.WARM));
List<Biome> biomes = new ArrayList<Biome>();
for (BiomeManager.BiomeEntry b : biomeEntries) {
biomes.add(b.biome);
}
biomes.addAll(BiomeManager.oceanBiomes);
EntityRegistry.addSpawn(EntityTofuSlime.class, 105, 2, 3, EnumCreatureType.MONSTER, biomes.toArray(new Biome[biomes.size()]));
}
public static void register(IForgeRegistry<Biome> registry) {
registry.register(BAMBOOFOREST.setRegistryName("bamboo_forest"));
BiomeManager.addBiome(BiomeManager.BiomeType.WARM,new BiomeManager.BiomeEntry(BAMBOOFOREST, 8));
BiomeDictionary.addTypes(BAMBOOFOREST, HOT, WET, DENSE, JUNGLE);
registry.register(MAPLEFOREST.setRegistryName("maple_forest"));
BiomeManager.addBiome(BiomeManager.BiomeType.WARM,new BiomeManager.BiomeEntry(MAPLEFOREST, 8));
BiomeDictionary.addTypes(MAPLEFOREST, FOREST);
}
public TraverseBiomeEntry(Biome biome, BiomeType type, int weight, boolean canSpawn, boolean hasVillages, Version versionAdded) {
this.biome = biome;
this.type = type;
this.weight = weight;
this.canSpawn = canSpawn;
this.hasVillages = hasVillages;
this.versionAdded = versionAdded;
this.entry = new BiomeManager.BiomeEntry(biome, weight);
}
public void serverAboutToStart(FMLServerAboutToStartEvent event) {
traverse_world_data = null;
File rootDir = FMLCommonHandler.instance().getSavesDirectory();
if (!rootDir.exists()) {
rootDir.mkdir();
}
File worldDir = new File(rootDir, event.getServer().getFolderName());
if (!worldDir.exists()) {
worldDir.mkdir();
}
traverse_world_data = new TraverseWorldVersion(worldDir);
for (TraverseWorld.TraverseBiomeEntry traverseBiome : TraverseWorld.biomeList) {
BiomeProvider.allowedBiomes.remove(traverseBiome.getBiome());
BiomeManager.removeSpawnBiome(traverseBiome.getBiome());
BiomeManager.removeBiome(traverseBiome.getType(), traverseBiome.getEntry());
boolean canRegister;
if (!TraverseConfig.registerBiomesRegardless) {
traverse_world_data.reloadVersionFile();
canRegister = VersionUtils.isVersionLessOrEqual(traverseBiome.getVersionAdded(), traverse_world_data.version);
} else {
canRegister = true;
}
if (canRegister) {
BiomeManager.addBiome(traverseBiome.getType(), traverseBiome.getEntry());
if (traverseBiome.hasVillages()) {
BiomeManager.addVillageBiome(traverseBiome.getBiome(), traverseBiome.canSpawn());
}
if (traverseBiome.canSpawn()) {
BiomeManager.addSpawnBiome(traverseBiome.getBiome());
}
BiomeProvider.allowedBiomes.add(traverseBiome.getBiome());
}
}
}
public TraverseBiomeEntry(Biome biome, BiomeType type, int weight, boolean canSpawn, boolean hasVillages, Version versionAdded) {
this.biome = biome;
this.type = type;
this.weight = weight;
this.canSpawn = canSpawn;
this.hasVillages = hasVillages;
this.versionAdded = versionAdded;
this.entry = new BiomeManager.BiomeEntry(biome, weight);
}
public void serverAboutToStart(FMLServerAboutToStartEvent event) {
traverse_world_data = null;
File rootDir = FMLCommonHandler.instance().getSavesDirectory();
if (!rootDir.exists()) {
rootDir.mkdir();
}
File worldDir = new File(rootDir, event.getServer().getFolderName());
if (!worldDir.exists()) {
worldDir.mkdir();
}
traverse_world_data = new TraverseWorldVersion(worldDir);
for (TraverseWorld.TraverseBiomeEntry traverseBiome : TraverseWorld.biomeList) {
BiomeProvider.allowedBiomes.remove(traverseBiome.getBiome());
BiomeManager.removeSpawnBiome(traverseBiome.getBiome());
BiomeManager.removeBiome(traverseBiome.getType(), traverseBiome.getEntry());
boolean canRegister;
if (!TraverseConfig.registerBiomesRegardless) {
traverse_world_data.reloadVersionFile();
canRegister = VersionUtils.isVersionLessOrEqual(traverseBiome.getVersionAdded(), traverse_world_data.version);
} else {
canRegister = true;
}
if (canRegister) {
BiomeManager.addBiome(traverseBiome.getType(), traverseBiome.getEntry());
if (traverseBiome.hasVillages()) {
BiomeManager.addVillageBiome(traverseBiome.getBiome(), traverseBiome.canSpawn());
}
if (traverseBiome.canSpawn()) {
BiomeManager.addSpawnBiome(traverseBiome.getBiome());
}
BiomeProvider.allowedBiomes.add(traverseBiome.getBiome());
}
}
}
public BiomeManager.BiomeEntry getEntry() {
return entry;
}
public BiomeManager.BiomeEntry getEntry() {
return entry;
}
/**
* Gets a list of BiomeEntries allowed to spawn in this dimension
* @param biomeIds
* @return
*/
private ArrayList<BiomeEntry> getBiomesEntries(List<Biome> biomeIds) {
ArrayList<BiomeEntry> biomeEntries = new ArrayList<BiomeManager.BiomeEntry>();
Iterator<Biome> itr = biomeIds.iterator();
while( itr.hasNext()) {
Biome biomes = itr.next();
/*if(biomes == Biome.desert) {
biomeEntries.add(new BiomeEntry(BiomeGenBase.desert, 30));
continue;
}
else if(biomes == BiomeGenBase.savanna) {
biomeEntries.add(new BiomeEntry(BiomeGenBase.savanna, 20));
continue;
}
else if(biomes == BiomeGenBase.plains) {
biomeEntries.add(new BiomeEntry(BiomeGenBase.plains, 10));
continue;
}*/
boolean notFound = true;
label:
for(BiomeManager.BiomeType types : BiomeManager.BiomeType.values()) {
for(BiomeEntry entry : BiomeManager.getBiomes(types)) {
if(biomes == null)
AdvancedRocketry.logger.warn("Null biomes loaded for DIMID: " + this.getId());
else if(entry.biome.equals(biomes)) {
biomeEntries.add(entry);
notFound = false;
break label;
}
}
}
if(notFound && biomes != null) {
biomeEntries.add(new BiomeEntry(biomes, 30));
}
}
return biomeEntries;
}
public GenLayerBiomePlanet(long p_i2122_1_, GenLayer p_i2122_3_, WorldType worldType)
{
super(p_i2122_1_);
this.parent = p_i2122_3_;
biomeEntries = new ArrayList<BiomeManager.BiomeEntry>();
}