Java 类net.minecraft.world.gen.structure.MapGenVillage 实例源码
项目:Geographicraft
文件:AbstractWorldGenerator.java
protected void setRules() {
ClimateControlRules newRules = new ClimateControlRules();
newRules = new ClimateControlRules();
for (BiomeSettings biomeSettings: settings().biomeSettings()) {
biomeSettings.setRules(newRules);
}
List<Biome> villageSpawnBiomes = new ArrayList<Biome>();
for (int i = 0 ; i < 256;i++) {
if (newRules.hasVillages(i)) {
villageSpawnBiomes.add(Biome.getBiome(i));
}
}
VillageBiomes villageBiomes = new VillageBiomes(villageSpawnBiomes);
villageBiomes.reportMembers();
if (settings.controlVillageBiomes.value()) {
MapGenVillage.VILLAGE_SPAWN_BIOMES = villageBiomes;
}
rules = newRules;
}
项目:Restructured
文件:TerrainEventBusHandler.java
@SubscribeEvent
public void onInitMapGenEvent(final InitMapGenEvent event) {
// Hook village generation
if (event.type == EventType.VILLAGE && event.newGen instanceof MapGenVillage) {
final MapGenVillage village = (MapGenVillage) event.newGen;
int t = ModOptions.getVillageDensity();
if (t > 0)
village.field_82665_g = t;
t = ModOptions.getMinimumVillageDistance();
if (t > 0)
village.field_82666_h = t;
ModLog.debug("Village parameters: %d density, %d distance", village.field_82665_g, village.field_82666_h);
}
}
项目:Restructured
文件:Proxy.java
public void postInit(final FMLPostInitializationEvent event) {
Assets.initialize();
// Patch up the village biome list with the configured
// settings. We need to create a new map because
// the one that is there is immutable.
final int[] additional = ModOptions.getAdditionalVillageBiomes();
if(additional.length > 0) {
final List<BiomeGenBase> newList = new ArrayList<BiomeGenBase>();
newList.addAll(MapGenVillage.villageSpawnBiomes);
for(final int biomeId: additional) {
final BiomeGenBase biome = BiomeGenBase.getBiome(biomeId);
if(biome != null)
newList.add(biome);
}
MapGenVillage.villageSpawnBiomes = newList;
}
// Initialize themes
if(ModOptions.getEnableTheming())
BlockThemes.initialize();
MobControl.initialize();
}
项目:RuneCraftery
文件:StructureVillagePieces.java
private static StructureComponent func_75077_d(ComponentVillageStartPiece p_75077_0_, List p_75077_1_, Random p_75077_2_, int p_75077_3_, int p_75077_4_, int p_75077_5_, int p_75077_6_, int p_75077_7_) {
if(p_75077_7_ > 50) {
return null;
} else if(Math.abs(p_75077_3_ - p_75077_0_.func_74874_b().field_78897_a) <= 112 && Math.abs(p_75077_5_ - p_75077_0_.func_74874_b().field_78896_c) <= 112) {
ComponentVillage var8 = func_75081_c(p_75077_0_, p_75077_1_, p_75077_2_, p_75077_3_, p_75077_4_, p_75077_5_, p_75077_6_, p_75077_7_ + 1);
if(var8 != null) {
int var9 = (var8.field_74887_e.field_78897_a + var8.field_74887_e.field_78893_d) / 2;
int var10 = (var8.field_74887_e.field_78896_c + var8.field_74887_e.field_78892_f) / 2;
int var11 = var8.field_74887_e.field_78893_d - var8.field_74887_e.field_78897_a;
int var12 = var8.field_74887_e.field_78892_f - var8.field_74887_e.field_78896_c;
int var13 = var11 > var12?var11:var12;
if(p_75077_0_.func_74925_d().func_76940_a(var9, var10, var13 / 2 + 4, MapGenVillage.field_75055_e)) {
p_75077_1_.add(var8);
p_75077_0_.field_74932_i.add(var8);
return var8;
}
}
return null;
} else {
return null;
}
}
项目:RuneCraftery
文件:StructureVillagePieces.java
private static StructureComponent func_75080_e(ComponentVillageStartPiece p_75080_0_, List p_75080_1_, Random p_75080_2_, int p_75080_3_, int p_75080_4_, int p_75080_5_, int p_75080_6_, int p_75080_7_) {
if(p_75080_7_ > 3 + p_75080_0_.field_74928_c) {
return null;
} else if(Math.abs(p_75080_3_ - p_75080_0_.func_74874_b().field_78897_a) <= 112 && Math.abs(p_75080_5_ - p_75080_0_.func_74874_b().field_78896_c) <= 112) {
StructureBoundingBox var8 = ComponentVillagePathGen.func_74933_a(p_75080_0_, p_75080_1_, p_75080_2_, p_75080_3_, p_75080_4_, p_75080_5_, p_75080_6_);
if(var8 != null && var8.field_78895_b > 10) {
ComponentVillagePathGen var9 = new ComponentVillagePathGen(p_75080_0_, p_75080_7_, p_75080_2_, var8, p_75080_6_);
int var10 = (var9.field_74887_e.field_78897_a + var9.field_74887_e.field_78893_d) / 2;
int var11 = (var9.field_74887_e.field_78896_c + var9.field_74887_e.field_78892_f) / 2;
int var12 = var9.field_74887_e.field_78893_d - var9.field_74887_e.field_78897_a;
int var13 = var9.field_74887_e.field_78892_f - var9.field_74887_e.field_78896_c;
int var14 = var12 > var13?var12:var13;
if(p_75080_0_.func_74925_d().func_76940_a(var10, var11, var14 / 2 + 4, MapGenVillage.field_75055_e)) {
p_75080_1_.add(var9);
p_75080_0_.field_74930_j.add(var9);
return var9;
}
}
return null;
} else {
return null;
}
}
项目:CustomWorldGen
文件:BiomeManager.java
public static void addVillageBiome(Biome biome, boolean canSpawn)
{
if (!MapGenVillage.VILLAGE_SPAWN_BIOMES.contains(biome))
{
ArrayList<Biome> biomes = new ArrayList<Biome>(MapGenVillage.VILLAGE_SPAWN_BIOMES);
biomes.add(biome);
MapGenVillage.VILLAGE_SPAWN_BIOMES = biomes;
}
}
项目:CustomWorldGen
文件:BiomeManager.java
public static void removeVillageBiome(Biome biome)
{
if (MapGenVillage.VILLAGE_SPAWN_BIOMES.contains(biome))
{
ArrayList<Biome> biomes = new ArrayList<Biome>(MapGenVillage.VILLAGE_SPAWN_BIOMES);
biomes.remove(biome);
MapGenVillage.VILLAGE_SPAWN_BIOMES = biomes;
}
}
项目:TRHS_Club_Mod_2016
文件:BiomeManager.java
@SuppressWarnings("unchecked")
public static void addVillageBiome(BiomeGenBase biome, boolean canSpawn)
{
if (!MapGenVillage.field_75055_e.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.field_75055_e);
biomes.add(biome);
MapGenVillage.field_75055_e = biomes;
}
}
项目:TRHS_Club_Mod_2016
文件:BiomeManager.java
@SuppressWarnings("unchecked")
public static void removeVillageBiome(BiomeGenBase biome)
{
if (MapGenVillage.field_75055_e.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.field_75055_e);
biomes.remove(biome);
MapGenVillage.field_75055_e = biomes;
}
}
项目:geomastery
文件:WorldGenerator.java
/** Alters vanilla structure generation. */
@SubscribeEvent
public void cancelVillage(InitMapGenEvent event) {
// Cancel any village generation
if (event.getType() == EventType.VILLAGE) {
event.setNewGen(new MapGenVillage() {
@Override
public void generate(World world, int x,
int z, ChunkPrimer primer) {}
});
}
}
项目:PopularMMOS-EpicProportions-Mod
文件:StructureVillagePieces.java
/**
* attempts to find a next Structure Component to be spawned, private Village function
*/
private static StructureComponent getNextVillageStructureComponent(StructureVillagePieces.Start p_75077_0_, List p_75077_1_, Random p_75077_2_, int p_75077_3_, int p_75077_4_, int p_75077_5_, int p_75077_6_, int p_75077_7_)
{
if (p_75077_7_ > 50)
{
return null;
}
else if (Math.abs(p_75077_3_ - p_75077_0_.getBoundingBox().minX) <= 112 && Math.abs(p_75077_5_ - p_75077_0_.getBoundingBox().minZ) <= 112)
{
StructureVillagePieces.Village village = getNextVillageComponent(p_75077_0_, p_75077_1_, p_75077_2_, p_75077_3_, p_75077_4_, p_75077_5_, p_75077_6_, p_75077_7_ + 1);
if (village != null)
{
int j1 = (village.getBoundingBox().minX + village.getBoundingBox().maxX) / 2;
int k1 = (village.getBoundingBox().minZ + village.getBoundingBox().maxZ) / 2;
int l1 = village.getBoundingBox().maxX - village.getBoundingBox().minX;
int i2 = village.getBoundingBox().maxZ - village.getBoundingBox().minZ;
int j2 = l1 > i2 ? l1 : i2;
if (p_75077_0_.getWorldChunkManager().areBiomesViable(j1, k1, j2 / 2 + 4, MapGenVillage.villageSpawnBiomes))
{
p_75077_1_.add(village);
p_75077_0_.field_74932_i.add(village);
return village;
}
}
return null;
}
else
{
return null;
}
}
项目:PopularMMOS-EpicProportions-Mod
文件:StructureVillagePieces.java
private static StructureComponent getNextComponentVillagePath(StructureVillagePieces.Start p_75080_0_, List p_75080_1_, Random p_75080_2_, int p_75080_3_, int p_75080_4_, int p_75080_5_, int p_75080_6_, int p_75080_7_)
{
if (p_75080_7_ > 3 + p_75080_0_.terrainType)
{
return null;
}
else if (Math.abs(p_75080_3_ - p_75080_0_.getBoundingBox().minX) <= 112 && Math.abs(p_75080_5_ - p_75080_0_.getBoundingBox().minZ) <= 112)
{
StructureBoundingBox structureboundingbox = StructureVillagePieces.Path.func_74933_a(p_75080_0_, p_75080_1_, p_75080_2_, p_75080_3_, p_75080_4_, p_75080_5_, p_75080_6_);
if (structureboundingbox != null && structureboundingbox.minY > 10)
{
StructureVillagePieces.Path path = new StructureVillagePieces.Path(p_75080_0_, p_75080_7_, p_75080_2_, structureboundingbox, p_75080_6_);
int j1 = (path.getBoundingBox().minX + path.getBoundingBox().maxX) / 2;
int k1 = (path.getBoundingBox().minZ + path.getBoundingBox().maxZ) / 2;
int l1 = path.getBoundingBox().maxX - path.getBoundingBox().minX;
int i2 = path.getBoundingBox().maxZ - path.getBoundingBox().minZ;
int j2 = l1 > i2 ? l1 : i2;
if (p_75080_0_.getWorldChunkManager().areBiomesViable(j1, k1, j2 / 2 + 4, MapGenVillage.villageSpawnBiomes))
{
p_75080_1_.add(path);
p_75080_0_.field_74930_j.add(path);
return path;
}
}
return null;
}
else
{
return null;
}
}
项目:CauldronGit
文件:BiomeManager.java
@SuppressWarnings("unchecked")
public static void addVillageBiome(BiomeGenBase biome, boolean canSpawn)
{
if (!MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.add(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:CauldronGit
文件:BiomeManager.java
@SuppressWarnings("unchecked")
public static void removeVillageBiome(BiomeGenBase biome)
{
if (MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.remove(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:Cauldron
文件:BiomeManager.java
@SuppressWarnings("unchecked")
public static void addVillageBiome(BiomeGenBase biome, boolean canSpawn)
{
if (!MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.add(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:Cauldron
文件:BiomeManager.java
@SuppressWarnings("unchecked")
public static void removeVillageBiome(BiomeGenBase biome)
{
if (MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.remove(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:Cauldron
文件:BiomeManager.java
@SuppressWarnings("unchecked")
public static void addVillageBiome(BiomeGenBase biome, boolean canSpawn)
{
if (!MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.add(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:Cauldron
文件:BiomeManager.java
@SuppressWarnings("unchecked")
public static void removeVillageBiome(BiomeGenBase biome)
{
if (MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.remove(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:Cauldron
文件:BiomeManager.java
@SuppressWarnings("unchecked")
public static void addVillageBiome(BiomeGenBase biome, boolean canSpawn)
{
if (!MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.add(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:Cauldron
文件:BiomeManager.java
@SuppressWarnings("unchecked")
public static void removeVillageBiome(BiomeGenBase biome)
{
if (MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.remove(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:RuneCraftery
文件:BiomeManager.java
public static void addVillageBiome(BiomeGenBase biome, boolean canSpawn)
{
if (!MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.add(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:RuneCraftery
文件:BiomeManager.java
public static void removeVillageBiome(BiomeGenBase biome)
{
if (MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.remove(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:RuneCraftery
文件:BiomeManager.java
public static void addVillageBiome(BiomeGenBase biome, boolean canSpawn)
{
if (!MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.add(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:RuneCraftery
文件:BiomeManager.java
public static void removeVillageBiome(BiomeGenBase biome)
{
if (MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.remove(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:BetterNutritionMod
文件:BiomeManager.java
public static void addVillageBiome(BiomeGenBase biome, boolean canSpawn)
{
if (!MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.add(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:BetterNutritionMod
文件:BiomeManager.java
public static void removeVillageBiome(BiomeGenBase biome)
{
if (MapGenVillage.villageSpawnBiomes.contains(biome))
{
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(MapGenVillage.villageSpawnBiomes);
biomes.remove(biome);
MapGenVillage.villageSpawnBiomes = biomes;
}
}
项目:DecompiledMinecraft
文件:ChunkProviderFlat.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
int i = p_73153_2_ * 16;
int j = p_73153_3_ * 16;
BlockPos blockpos = new BlockPos(i, 0, j);
BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(new BlockPos(i + 16, 0, j + 16));
boolean flag = false;
this.random.setSeed(this.worldObj.getSeed());
long k = this.random.nextLong() / 2L * 2L + 1L;
long l = this.random.nextLong() / 2L * 2L + 1L;
this.random.setSeed((long)p_73153_2_ * k + (long)p_73153_3_ * l ^ this.worldObj.getSeed());
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(p_73153_2_, p_73153_3_);
for (MapGenStructure mapgenstructure : this.structureGenerators)
{
boolean flag1 = mapgenstructure.generateStructure(this.worldObj, this.random, chunkcoordintpair);
if (mapgenstructure instanceof MapGenVillage)
{
flag |= flag1;
}
}
if (this.waterLakeGenerator != null && !flag && this.random.nextInt(4) == 0)
{
this.waterLakeGenerator.generate(this.worldObj, this.random, blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(256), this.random.nextInt(16) + 8));
}
if (this.lavaLakeGenerator != null && !flag && this.random.nextInt(8) == 0)
{
BlockPos blockpos1 = blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(this.random.nextInt(248) + 8), this.random.nextInt(16) + 8);
if (blockpos1.getY() < this.worldObj.func_181545_F() || this.random.nextInt(10) == 0)
{
this.lavaLakeGenerator.generate(this.worldObj, this.random, blockpos1);
}
}
if (this.hasDungeons)
{
for (int i1 = 0; i1 < 8; ++i1)
{
(new WorldGenDungeons()).generate(this.worldObj, this.random, blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(256), this.random.nextInt(16) + 8));
}
}
if (this.hasDecoration)
{
biomegenbase.decorate(this.worldObj, this.random, blockpos);
}
}
项目:DecompiledMinecraft
文件:ChunkProviderFlat.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
int i = p_73153_2_ * 16;
int j = p_73153_3_ * 16;
BlockPos blockpos = new BlockPos(i, 0, j);
BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(new BlockPos(i + 16, 0, j + 16));
boolean flag = false;
this.random.setSeed(this.worldObj.getSeed());
long k = this.random.nextLong() / 2L * 2L + 1L;
long l = this.random.nextLong() / 2L * 2L + 1L;
this.random.setSeed((long)p_73153_2_ * k + (long)p_73153_3_ * l ^ this.worldObj.getSeed());
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(p_73153_2_, p_73153_3_);
for (MapGenStructure mapgenstructure : this.structureGenerators)
{
boolean flag1 = mapgenstructure.generateStructure(this.worldObj, this.random, chunkcoordintpair);
if (mapgenstructure instanceof MapGenVillage)
{
flag |= flag1;
}
}
if (this.waterLakeGenerator != null && !flag && this.random.nextInt(4) == 0)
{
this.waterLakeGenerator.generate(this.worldObj, this.random, blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(256), this.random.nextInt(16) + 8));
}
if (this.lavaLakeGenerator != null && !flag && this.random.nextInt(8) == 0)
{
BlockPos blockpos1 = blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(this.random.nextInt(248) + 8), this.random.nextInt(16) + 8);
if (blockpos1.getY() < this.worldObj.func_181545_F() || this.random.nextInt(10) == 0)
{
this.lavaLakeGenerator.generate(this.worldObj, this.random, blockpos1);
}
}
if (this.hasDungeons)
{
for (int i1 = 0; i1 < 8; ++i1)
{
(new WorldGenDungeons()).generate(this.worldObj, this.random, blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(256), this.random.nextInt(16) + 8));
}
}
if (this.hasDecoration)
{
biomegenbase.decorate(this.worldObj, this.random, blockpos);
}
}
项目:BaseClient
文件:ChunkProviderFlat.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
int i = p_73153_2_ * 16;
int j = p_73153_3_ * 16;
BlockPos blockpos = new BlockPos(i, 0, j);
BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(new BlockPos(i + 16, 0, j + 16));
boolean flag = false;
this.random.setSeed(this.worldObj.getSeed());
long k = this.random.nextLong() / 2L * 2L + 1L;
long l = this.random.nextLong() / 2L * 2L + 1L;
this.random.setSeed((long)p_73153_2_ * k + (long)p_73153_3_ * l ^ this.worldObj.getSeed());
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(p_73153_2_, p_73153_3_);
for (MapGenStructure mapgenstructure : this.structureGenerators)
{
boolean flag1 = mapgenstructure.generateStructure(this.worldObj, this.random, chunkcoordintpair);
if (mapgenstructure instanceof MapGenVillage)
{
flag |= flag1;
}
}
if (this.waterLakeGenerator != null && !flag && this.random.nextInt(4) == 0)
{
this.waterLakeGenerator.generate(this.worldObj, this.random, blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(256), this.random.nextInt(16) + 8));
}
if (this.lavaLakeGenerator != null && !flag && this.random.nextInt(8) == 0)
{
BlockPos blockpos1 = blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(this.random.nextInt(248) + 8), this.random.nextInt(16) + 8);
if (blockpos1.getY() < this.worldObj.func_181545_F() || this.random.nextInt(10) == 0)
{
this.lavaLakeGenerator.generate(this.worldObj, this.random, blockpos1);
}
}
if (this.hasDungeons)
{
for (int i1 = 0; i1 < 8; ++i1)
{
(new WorldGenDungeons()).generate(this.worldObj, this.random, blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(256), this.random.nextInt(16) + 8));
}
}
if (this.hasDecoration)
{
biomegenbase.decorate(this.worldObj, this.random, blockpos);
}
}
项目:BaseClient
文件:ChunkProviderFlat.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
int i = p_73153_2_ * 16;
int j = p_73153_3_ * 16;
BlockPos blockpos = new BlockPos(i, 0, j);
BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(new BlockPos(i + 16, 0, j + 16));
boolean flag = false;
this.random.setSeed(this.worldObj.getSeed());
long k = this.random.nextLong() / 2L * 2L + 1L;
long l = this.random.nextLong() / 2L * 2L + 1L;
this.random.setSeed((long)p_73153_2_ * k + (long)p_73153_3_ * l ^ this.worldObj.getSeed());
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(p_73153_2_, p_73153_3_);
for (MapGenStructure mapgenstructure : this.structureGenerators)
{
boolean flag1 = mapgenstructure.generateStructure(this.worldObj, this.random, chunkcoordintpair);
if (mapgenstructure instanceof MapGenVillage)
{
flag |= flag1;
}
}
if (this.waterLakeGenerator != null && !flag && this.random.nextInt(4) == 0)
{
this.waterLakeGenerator.generate(this.worldObj, this.random, blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(256), this.random.nextInt(16) + 8));
}
if (this.lavaLakeGenerator != null && !flag && this.random.nextInt(8) == 0)
{
BlockPos blockpos1 = blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(this.random.nextInt(248) + 8), this.random.nextInt(16) + 8);
if (blockpos1.getY() < this.worldObj.func_181545_F() || this.random.nextInt(10) == 0)
{
this.lavaLakeGenerator.generate(this.worldObj, this.random, blockpos1);
}
}
if (this.hasDungeons)
{
for (int i1 = 0; i1 < 8; ++i1)
{
(new WorldGenDungeons()).generate(this.worldObj, this.random, blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(256), this.random.nextInt(16) + 8));
}
}
if (this.hasDecoration)
{
biomegenbase.decorate(this.worldObj, this.random, blockpos);
}
}
项目:Backmemed
文件:ChunkProviderFlat.java
public void populate(int x, int z)
{
int i = x * 16;
int j = z * 16;
BlockPos blockpos = new BlockPos(i, 0, j);
Biome biome = this.worldObj.getBiome(new BlockPos(i + 16, 0, j + 16));
boolean flag = false;
this.random.setSeed(this.worldObj.getSeed());
long k = this.random.nextLong() / 2L * 2L + 1L;
long l = this.random.nextLong() / 2L * 2L + 1L;
this.random.setSeed((long)x * k + (long)z * l ^ this.worldObj.getSeed());
ChunkPos chunkpos = new ChunkPos(x, z);
for (MapGenStructure mapgenstructure : this.structureGenerators.values())
{
boolean flag1 = mapgenstructure.generateStructure(this.worldObj, this.random, chunkpos);
if (mapgenstructure instanceof MapGenVillage)
{
flag |= flag1;
}
}
if (this.waterLakeGenerator != null && !flag && this.random.nextInt(4) == 0)
{
this.waterLakeGenerator.generate(this.worldObj, this.random, blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(256), this.random.nextInt(16) + 8));
}
if (this.lavaLakeGenerator != null && !flag && this.random.nextInt(8) == 0)
{
BlockPos blockpos1 = blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(this.random.nextInt(248) + 8), this.random.nextInt(16) + 8);
if (blockpos1.getY() < this.worldObj.getSeaLevel() || this.random.nextInt(10) == 0)
{
this.lavaLakeGenerator.generate(this.worldObj, this.random, blockpos1);
}
}
if (this.hasDungeons)
{
for (int i1 = 0; i1 < 8; ++i1)
{
(new WorldGenDungeons()).generate(this.worldObj, this.random, blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(256), this.random.nextInt(16) + 8));
}
}
if (this.hasDecoration)
{
biome.decorate(this.worldObj, this.random, blockpos);
}
}
项目:CustomWorldGen
文件:ChunkProviderFlat.java
public void populate(int x, int z)
{
net.minecraft.block.BlockFalling.fallInstantly = true;
int i = x * 16;
int j = z * 16;
BlockPos blockpos = new BlockPos(i, 0, j);
Biome biome = this.worldObj.getBiome(new BlockPos(i + 16, 0, j + 16));
boolean flag = false;
this.random.setSeed(this.worldObj.getSeed());
long k = this.random.nextLong() / 2L * 2L + 1L;
long l = this.random.nextLong() / 2L * 2L + 1L;
this.random.setSeed((long)x * k + (long)z * l ^ this.worldObj.getSeed());
ChunkPos chunkpos = new ChunkPos(x, z);
net.minecraftforge.event.ForgeEventFactory.onChunkPopulate(true, this, this.worldObj, this.random, x, z, flag);
for (MapGenStructure mapgenstructure : this.structureGenerators)
{
boolean flag1 = mapgenstructure.generateStructure(this.worldObj, this.random, chunkpos);
if (mapgenstructure instanceof MapGenVillage)
{
flag |= flag1;
}
}
if (this.waterLakeGenerator != null && !flag && this.random.nextInt(4) == 0)
{
this.waterLakeGenerator.generate(this.worldObj, this.random, blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(256), this.random.nextInt(16) + 8));
}
if (this.lavaLakeGenerator != null && !flag && this.random.nextInt(8) == 0)
{
BlockPos blockpos1 = blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(this.random.nextInt(248) + 8), this.random.nextInt(16) + 8);
if (blockpos1.getY() < this.worldObj.getSeaLevel() || this.random.nextInt(10) == 0)
{
this.lavaLakeGenerator.generate(this.worldObj, this.random, blockpos1);
}
}
if (this.hasDungeons)
{
for (int i1 = 0; i1 < 8; ++i1)
{
(new WorldGenDungeons()).generate(this.worldObj, this.random, blockpos.add(this.random.nextInt(16) + 8, this.random.nextInt(256), this.random.nextInt(16) + 8));
}
}
if (this.hasDecoration)
{
biome.decorate(this.worldObj, this.random, blockpos);
}
net.minecraftforge.event.ForgeEventFactory.onChunkPopulate(false, this, this.worldObj, this.random, x, z, flag);
net.minecraft.block.BlockFalling.fallInstantly = false;
}
项目:CustomWorldGen
文件:ChunkProviderOverworld.java
public ChunkProviderOverworld(World worldIn, long seed, boolean mapFeaturesEnabledIn, String p_i46668_5_)
{
{
caveGenerator = net.minecraftforge.event.terraingen.TerrainGen.getModdedMapGen(caveGenerator, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE);
strongholdGenerator = (MapGenStronghold)net.minecraftforge.event.terraingen.TerrainGen.getModdedMapGen(strongholdGenerator, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.STRONGHOLD);
villageGenerator = (MapGenVillage)net.minecraftforge.event.terraingen.TerrainGen.getModdedMapGen(villageGenerator, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.VILLAGE);
mineshaftGenerator = (MapGenMineshaft)net.minecraftforge.event.terraingen.TerrainGen.getModdedMapGen(mineshaftGenerator, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.MINESHAFT);
scatteredFeatureGenerator = (MapGenScatteredFeature)net.minecraftforge.event.terraingen.TerrainGen.getModdedMapGen(scatteredFeatureGenerator, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.SCATTERED_FEATURE);
ravineGenerator = net.minecraftforge.event.terraingen.TerrainGen.getModdedMapGen(ravineGenerator, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.RAVINE);
oceanMonumentGenerator = (StructureOceanMonument)net.minecraftforge.event.terraingen.TerrainGen.getModdedMapGen(oceanMonumentGenerator, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.OCEAN_MONUMENT);
}
this.worldObj = worldIn;
this.mapFeaturesEnabled = mapFeaturesEnabledIn;
this.terrainType = worldIn.getWorldInfo().getTerrainType();
this.rand = new Random(seed);
this.minLimitPerlinNoise = new NoiseGeneratorOctaves(this.rand, 16);
this.maxLimitPerlinNoise = new NoiseGeneratorOctaves(this.rand, 16);
this.mainPerlinNoise = new NoiseGeneratorOctaves(this.rand, 8);
this.surfaceNoise = new NoiseGeneratorPerlin(this.rand, 4);
this.scaleNoise = new NoiseGeneratorOctaves(this.rand, 10);
this.depthNoise = new NoiseGeneratorOctaves(this.rand, 16);
this.forestNoise = new NoiseGeneratorOctaves(this.rand, 8);
this.heightMap = new double[825];
this.biomeWeights = new float[25];
for (int i = -2; i <= 2; ++i)
{
for (int j = -2; j <= 2; ++j)
{
float f = 10.0F / MathHelper.sqrt_float((float)(i * i + j * j) + 0.2F);
this.biomeWeights[i + 2 + (j + 2) * 5] = f;
}
}
if (p_i46668_5_ != null)
{
this.settings = ChunkProviderSettings.Factory.jsonToFactory(p_i46668_5_).build();
this.oceanBlock = this.settings.useLavaOceans ? Blocks.LAVA.getDefaultState() : Blocks.WATER.getDefaultState();
worldIn.setSeaLevel(this.settings.seaLevel);
}
net.minecraftforge.event.terraingen.InitNoiseGensEvent.ContextOverworld ctx =
new net.minecraftforge.event.terraingen.InitNoiseGensEvent.ContextOverworld(minLimitPerlinNoise, maxLimitPerlinNoise, mainPerlinNoise, surfaceNoise, scaleNoise, depthNoise, forestNoise);
ctx = net.minecraftforge.event.terraingen.TerrainGen.getModdedNoiseGenerators(worldIn, this.rand, ctx);
this.minLimitPerlinNoise = ctx.getLPerlin1();
this.maxLimitPerlinNoise = ctx.getLPerlin2();
this.mainPerlinNoise = ctx.getPerlin();
this.surfaceNoise = ctx.getHeight();
this.scaleNoise = ctx.getScale();
this.depthNoise = ctx.getDepth();
this.forestNoise = ctx.getForest();
}
项目:witchery
文件:EntitySpirit.java
public void setTarget(String target, int type) {
this.timeToLive = TimeUtil.secsToTicks(10);
this.spiritType = type;
try {
if(target.equals("Village")) {
IChunkProvider ex;
for(ex = super.worldObj.getChunkProvider(); ex != null && ex instanceof ChunkProviderServer; ex = ((ChunkProviderServer)ex).currentChunkProvider) {
;
}
if(ex != null) {
if(ex instanceof ChunkProviderFlat) {
if(fieldStructureGenerators == null) {
fieldStructureGenerators = ReflectionHelper.findField(ChunkProviderFlat.class, new String[]{"structureGenerators", "field_82696_f", "f"});
}
Iterator iterator = ((List)fieldStructureGenerators.get((ChunkProviderFlat)ex)).iterator();
while(iterator.hasNext()) {
if(this.setWaypointTo(iterator.next(), MapGenVillage.class)) {
return;
}
}
} else if(ex instanceof ChunkProviderGenerate) {
if(fieldVillageGenerator == null) {
fieldVillageGenerator = ReflectionHelper.findField(ChunkProviderGenerate.class, new String[]{"villageGenerator", "field_73224_v", "v"});
}
if(fieldVillageGenerator != null) {
this.setWaypointTo(fieldVillageGenerator.get((ChunkProviderGenerate)ex), MapGenVillage.class);
}
} else if(ex instanceof ChunkProviderHell) {
this.setWaypointTo(((ChunkProviderHell)ex).genNetherBridge);
}
}
}
} catch (IllegalAccessException var5) {
;
}
}
项目:Geographicraft
文件:ChunkGeneratorExtractor.java
public void impose(WorldServer world, MapGenVillage mapGen) {
IChunkProvider provider = extractFrom(world);
if (provider instanceof ChunkProviderOverworld) {
villageGeneratorFromVillage.setField((ChunkProviderOverworld)provider, mapGen);
}
}
项目:ClockworkPhase2
文件:MapGenVillageDeadzone.java
public MapGenVillageDeadzone(MapGenVillage base) {
this.childGen = base;
}
项目:Resilience-Client-Source
文件:ChunkProviderFlat.java
public ChunkProviderFlat(World par1World, long par2, boolean par4, String par5Str)
{
this.worldObj = par1World;
this.random = new Random(par2);
this.flatWorldGenInfo = FlatGeneratorInfo.createFlatGeneratorFromString(par5Str);
if (par4)
{
Map var6 = this.flatWorldGenInfo.getWorldFeatures();
if (var6.containsKey("village"))
{
Map var7 = (Map)var6.get("village");
if (!var7.containsKey("size"))
{
var7.put("size", "1");
}
this.structureGenerators.add(new MapGenVillage(var7));
}
if (var6.containsKey("biome_1"))
{
this.structureGenerators.add(new MapGenScatteredFeature((Map)var6.get("biome_1")));
}
if (var6.containsKey("mineshaft"))
{
this.structureGenerators.add(new MapGenMineshaft((Map)var6.get("mineshaft")));
}
if (var6.containsKey("stronghold"))
{
this.structureGenerators.add(new MapGenStronghold((Map)var6.get("stronghold")));
}
}
this.hasDecoration = this.flatWorldGenInfo.getWorldFeatures().containsKey("decoration");
if (this.flatWorldGenInfo.getWorldFeatures().containsKey("lake"))
{
this.waterLakeGenerator = new WorldGenLakes(Blocks.water);
}
if (this.flatWorldGenInfo.getWorldFeatures().containsKey("lava_lake"))
{
this.lavaLakeGenerator = new WorldGenLakes(Blocks.lava);
}
this.hasDungeons = this.flatWorldGenInfo.getWorldFeatures().containsKey("dungeon");
Iterator var9 = this.flatWorldGenInfo.getFlatLayers().iterator();
while (var9.hasNext())
{
FlatLayerInfo var10 = (FlatLayerInfo)var9.next();
for (int var8 = var10.getMinY(); var8 < var10.getMinY() + var10.getLayerCount(); ++var8)
{
this.cachedBlockIDs[var8] = var10.func_151536_b();
this.cachedBlockMetadata[var8] = (byte)var10.getFillBlockMeta();
}
}
}
项目:Resilience-Client-Source
文件:ChunkProviderFlat.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider par1IChunkProvider, int par2, int par3)
{
int var4 = par2 * 16;
int var5 = par3 * 16;
BiomeGenBase var6 = this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16);
boolean var7 = false;
this.random.setSeed(this.worldObj.getSeed());
long var8 = this.random.nextLong() / 2L * 2L + 1L;
long var10 = this.random.nextLong() / 2L * 2L + 1L;
this.random.setSeed((long)par2 * var8 + (long)par3 * var10 ^ this.worldObj.getSeed());
Iterator var12 = this.structureGenerators.iterator();
while (var12.hasNext())
{
MapGenStructure var13 = (MapGenStructure)var12.next();
boolean var14 = var13.generateStructuresInChunk(this.worldObj, this.random, par2, par3);
if (var13 instanceof MapGenVillage)
{
var7 |= var14;
}
}
int var17;
int var16;
int var18;
if (this.waterLakeGenerator != null && !var7 && this.random.nextInt(4) == 0)
{
var16 = var4 + this.random.nextInt(16) + 8;
var17 = this.random.nextInt(256);
var18 = var5 + this.random.nextInt(16) + 8;
this.waterLakeGenerator.generate(this.worldObj, this.random, var16, var17, var18);
}
if (this.lavaLakeGenerator != null && !var7 && this.random.nextInt(8) == 0)
{
var16 = var4 + this.random.nextInt(16) + 8;
var17 = this.random.nextInt(this.random.nextInt(248) + 8);
var18 = var5 + this.random.nextInt(16) + 8;
if (var17 < 63 || this.random.nextInt(10) == 0)
{
this.lavaLakeGenerator.generate(this.worldObj, this.random, var16, var17, var18);
}
}
if (this.hasDungeons)
{
for (var16 = 0; var16 < 8; ++var16)
{
var17 = var4 + this.random.nextInt(16) + 8;
var18 = this.random.nextInt(256);
int var15 = var5 + this.random.nextInt(16) + 8;
(new WorldGenDungeons()).generate(this.worldObj, this.random, var17, var18, var15);
}
}
if (this.hasDecoration)
{
var6.decorate(this.worldObj, this.random, var4, var5);
}
}
项目:Cauldron
文件:ChunkProviderFlat.java
public ChunkProviderFlat(World p_i2004_1_, long p_i2004_2_, boolean p_i2004_4_, String p_i2004_5_)
{
this.worldObj = p_i2004_1_;
this.random = new Random(p_i2004_2_);
this.flatWorldGenInfo = FlatGeneratorInfo.createFlatGeneratorFromString(p_i2004_5_);
if (p_i2004_4_)
{
Map map = this.flatWorldGenInfo.getWorldFeatures();
if (map.containsKey("village"))
{
Map map1 = (Map)map.get("village");
if (!map1.containsKey("size"))
{
map1.put("size", "1");
}
this.structureGenerators.add(new MapGenVillage(map1));
}
if (map.containsKey("biome_1"))
{
this.structureGenerators.add(new MapGenScatteredFeature((Map)map.get("biome_1")));
}
if (map.containsKey("mineshaft"))
{
this.structureGenerators.add(new MapGenMineshaft((Map)map.get("mineshaft")));
}
if (map.containsKey("stronghold"))
{
this.structureGenerators.add(new MapGenStronghold((Map)map.get("stronghold")));
}
}
this.hasDecoration = this.flatWorldGenInfo.getWorldFeatures().containsKey("decoration");
if (this.flatWorldGenInfo.getWorldFeatures().containsKey("lake"))
{
this.waterLakeGenerator = new WorldGenLakes(Blocks.water);
}
if (this.flatWorldGenInfo.getWorldFeatures().containsKey("lava_lake"))
{
this.lavaLakeGenerator = new WorldGenLakes(Blocks.lava);
}
this.hasDungeons = this.flatWorldGenInfo.getWorldFeatures().containsKey("dungeon");
Iterator iterator = this.flatWorldGenInfo.getFlatLayers().iterator();
while (iterator.hasNext())
{
FlatLayerInfo flatlayerinfo = (FlatLayerInfo)iterator.next();
for (int j = flatlayerinfo.getMinY(); j < flatlayerinfo.getMinY() + flatlayerinfo.getLayerCount(); ++j)
{
this.cachedBlockIDs[j] = flatlayerinfo.func_151536_b();
this.cachedBlockMetadata[j] = (byte)flatlayerinfo.getFillBlockMeta();
}
}
}
项目:Cauldron
文件:ChunkProviderFlat.java
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
int k = p_73153_2_ * 16;
int l = p_73153_3_ * 16;
BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16);
boolean flag = false;
this.random.setSeed(this.worldObj.getSeed());
long i1 = this.random.nextLong() / 2L * 2L + 1L;
long j1 = this.random.nextLong() / 2L * 2L + 1L;
this.random.setSeed((long)p_73153_2_ * i1 + (long)p_73153_3_ * j1 ^ this.worldObj.getSeed());
Iterator iterator = this.structureGenerators.iterator();
while (iterator.hasNext())
{
MapGenStructure mapgenstructure = (MapGenStructure)iterator.next();
boolean flag1 = mapgenstructure.generateStructuresInChunk(this.worldObj, this.random, p_73153_2_, p_73153_3_);
if (mapgenstructure instanceof MapGenVillage)
{
flag |= flag1;
}
}
int l1;
int i2;
int j2;
if (this.waterLakeGenerator != null && !flag && this.random.nextInt(4) == 0)
{
l1 = k + this.random.nextInt(16) + 8;
i2 = this.random.nextInt(256);
j2 = l + this.random.nextInt(16) + 8;
this.waterLakeGenerator.generate(this.worldObj, this.random, l1, i2, j2);
}
if (this.lavaLakeGenerator != null && !flag && this.random.nextInt(8) == 0)
{
l1 = k + this.random.nextInt(16) + 8;
i2 = this.random.nextInt(this.random.nextInt(248) + 8);
j2 = l + this.random.nextInt(16) + 8;
if (i2 < 63 || this.random.nextInt(10) == 0)
{
this.lavaLakeGenerator.generate(this.worldObj, this.random, l1, i2, j2);
}
}
if (this.hasDungeons)
{
for (l1 = 0; l1 < 8; ++l1)
{
i2 = k + this.random.nextInt(16) + 8;
j2 = this.random.nextInt(256);
int k1 = l + this.random.nextInt(16) + 8;
(new WorldGenDungeons()).generate(this.worldObj, this.random, i2, j2, k1);
}
}
if (this.hasDecoration)
{
biomegenbase.decorate(this.worldObj, this.random, k, l);
}
}