本文整理汇总了Java中net.minecraft.world.chunk.IChunkGenerator类的典型用法代码示例。如果您正苦于以下问题:Java IChunkGenerator类的具体用法?Java IChunkGenerator怎么用?Java IChunkGenerator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
IChunkGenerator类属于net.minecraft.world.chunk包,在下文中一共展示了IChunkGenerator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: generateWorld
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
/**
* Callback hook for world gen - if your mod wishes to add extra mod related generation to the world
* call this
*
* @param chunkX Chunk X coordinate
* @param chunkZ Chunk Z coordinate
* @param world World we're generating into
* @param chunkGenerator The chunk generator
* @param chunkProvider The chunk provider
*/
public static void generateWorld(int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
{
if (sortedGeneratorList == null)
{
computeSortedGeneratorList();
}
long worldSeed = world.getSeed();
Random fmlRandom = new Random(worldSeed);
long xSeed = fmlRandom.nextLong() >> 2 + 1L;
long zSeed = fmlRandom.nextLong() >> 2 + 1L;
long chunkSeed = (xSeed * chunkX + zSeed * chunkZ) ^ worldSeed;
for (IWorldGenerator generator : sortedGeneratorList)
{
fmlRandom.setSeed(chunkSeed);
generator.generate(fmlRandom, chunkX, chunkZ, world, chunkGenerator, chunkProvider);
}
}
示例2: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
if (Config.enableOreGen) {
final BlockPos chunkPos = new BlockPos(chunkX * 16, 0, chunkZ * 16);
switch (world.provider.getDimensionType()) {
case OVERWORLD:
for (int i = 0; i < Config.niterPerChunk; i++) {
oreGenNiter.generate(world, random, chunkPos.add(random.nextInt(16), random.nextInt(32) + 16, random.nextInt(16)));
}
for (int i = 0; i < Config.saltPerChunk; i++) {
oreGenSalt.generate(world, random, chunkPos.add(random.nextInt(16), random.nextInt(64) + 32, random.nextInt(16)));
}
for (int i = 0; i < Config.sulfurPerChunk; i++) {
oreGenSulfur.generate(world, random, chunkPos.add(random.nextInt(16), random.nextInt(24), random.nextInt(16)));
}
break;
case NETHER:
break;
case THE_END:
break;
}
}
}
示例3: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
int x = chunkX * 16;
int z = chunkZ * 16;
switch (world.provider.getDimension()) {
case -1:
nether(random, x, z, world);
break;
case 0:
world(random, x, z, world);
break;
case 1:
end(random, x, z, world);
break;
default:
if (!blackList.contains(world.provider.getDimension()))
other(random, x, z, world);
break;
}
}
示例4: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator,
IChunkProvider chunkProvider) {
switch (world.provider.getDimension()) {
case -1: //Nether
break;
case 1: //End
break;
default:
if (PrimordialConfig.enableOreSpawn) {
this.runGenerator(this.MinicioOre, world, random, chunkX, chunkZ, PrimordialConfig.oreSpawnChance, PrimordialConfig.oreSpawnMinZ, PrimordialConfig.oreSpawnMaxZ);
}
break;
}
}
示例5: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator,
IChunkProvider chunkProvider) {
switch (world.provider.getDimension()) {
case 0:
this.runGenerator(this.hemp, world, random, chunkX, chunkZ, 3);
this.runGenerator(this.indica, world, random, chunkX, chunkZ, 1);
this.runGenerator(this.sativa, world, random, chunkX, chunkZ, 1);
break;
case -1: // Nether
break;
case 1: // End
break;
default:
break;
}
}
示例6: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
{
int dimId = world.provider.getDimension();
switch(dimId)
{
case -1:
//Nether
genNether(world, random, chunkX, chunkZ);
break;
case 1:
//End
genEnd(world, random, chunkX, chunkZ);
break;
default:
//Overworld and other dimensions in the config
for(int id : Config.plantGenDimIDs)
if(dimId == id)
{
genOverworld(world, random, chunkX, chunkZ);
break;
}
}
}
示例7: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator,
IChunkProvider chunkProvider) {
for (int i = 0; i < 25; i++)
{
int x = chunkX * 16 + random.nextInt(16);
int z = chunkZ * 16 + random.nextInt(16);
BlockPos pos = world.getHeight(new BlockPos(x, 0, z));
if (world.getBlockState(pos).getBlock() instanceof BlockTallGrass)
{
world.setBlockState(pos, ARKCraftBlocks.berryBush.getDefaultState());
}
}
}
示例8: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random randomDefault, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
if (!allowedDimensions.contains(world.provider.getDimension())) {
return; // Dimension with given id is not allowed
}
Random random = getRandom(world.getSeed(), chunkX, chunkZ);
int drops = (int) density + (random.nextDouble() <= (density - (int) density) ? 1 : 0);
net.minecraft.world.biome.Biome biome = world.getBiomeGenForCoords(new BlockPos(chunkX * 16, 64, chunkZ * 16));
Biome.Style biomeStyle = Biome.determine(biome);
ArrayList<Cluster> biomeClusters = distributor.getClusters(biomeStyle);
for (int i = 0; i < drops; ++i) {
double pointer = random.nextDouble();
for (Cluster cluster : biomeClusters) {
if (pointer <= cluster.getChance()) {
place(world, cluster, chunkX, chunkZ, random.nextLong());
break;
}
pointer -= cluster.getChance();
}
}
}
示例9: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random randomDefault, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
if (!allowedDimensions.contains(world.provider.getDimension())) {
return; // Dimension with given id is not allowed
}
Random random = getRandom(world.getSeed(), chunkX, chunkZ);
int drops = (int) density + (random.nextDouble() <= (density - (int) density) ? 1 : 0);
BiomeGenBase biome = world.getBiomeGenForCoords(new BlockPos(chunkX * 16, 64, chunkZ * 16));
Biome.Style biomeStyle = Biome.determine(biome);
ArrayList<Cluster> biomeClusters = distributor.getClusters(biomeStyle);
for (int i = 0; i < drops; ++i) {
double pointer = random.nextDouble();
for (Cluster cluster : biomeClusters) {
if (pointer <= cluster.getChance()) {
place(world, cluster, chunkX, chunkZ, random.nextLong());
break;
}
pointer -= cluster.getChance();
}
}
}
示例10: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
{
int blockX = chunkX * 16;
int blockZ = chunkZ * 16;
switch (world.provider.getDimension())
{
case -1:
generateNether(world, rand, blockX, blockZ);
break;
case 0:
generateOverworld(world, rand, blockX, blockZ);
break;
case 1:
generateEnd(world, rand, blockX, blockZ);
break;
}
}
示例11: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random random, int chunkX, int chunkZ, World world,
IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
random.setSeed(random.nextLong() ^ hash);
random.nextInt();
final float r = random.nextFloat();
for(float f = frequency; f > r; f -= 1 ){
int x = (chunkX << 4) + random.nextInt(16);
int y = random.nextInt(maxY - minY) + minY;
int z = (chunkZ << 4) + random.nextInt(16);
// System.out.println("Generating deposite of "+ore.getUnlocalizedName()+" at ("+x+","+y+","+z+")");
BlockPos pos = new BlockPos(x,y,z);
OreGenEvent oreEvent = new OreGenEvent(world,random,pos);
net.minecraftforge.common.MinecraftForge.ORE_GEN_BUS.post(oreEvent);
if(oreEvent.getResult() == Event.Result.DENY) {
// canceled by other mod
continue;
}
oreGen.generate(world, random, pos);
}
}
示例12: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
{
int xSpawn, ySpawn, zSpawn;
int xPos = chunkX * 16 + 8, zPos = chunkZ * 16 + 8;
String biomeName = world.getBiomeForCoordsBody(new BlockPos(xPos, 64, zPos)).getBiomeName();;
if (biomeName == null) {
return;
}
if (biomeName == "Forest" || biomeName == "AutumnWoods" || biomeName == "BirchForest" || biomeName == "PineForest" || biomeName == "Rainforest" || biomeName == "TemperateRainforest"
|| biomeName == "Woodlands" || biomeName == "Plains")
{
for (int iter = 0; iter < 3; iter++)
{
xSpawn = xPos + random.nextInt(16);
ySpawn = random.nextInt(300) + 64;
zSpawn = zPos + random.nextInt(16);
genCherryTree.generate(world, random, new BlockPos(xSpawn, ySpawn, zSpawn));
}
}
}
示例13: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator,
IChunkProvider chunkProvider) {
switch (world.provider.getDimension()) {
case 0: //Overworld
// this.runGenerator(this.gen_tutorial_ore, world, random, chunkX, chunkZ, 20, 0, 64);
break;
case -1: //Nether
break;
case 1: //End
break;
}
}
示例14: generateBuilding
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
private void generateBuilding(
Random rand, int chunkX, int groundY, int chunkZ, int chunkSize, int towerFloors,
World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
{
this.prepareSpace(world, chunkX, groundY, chunkZ, chunkSize, Blocks.AIR.getDefaultState());
this.drawStandardRoads(world, chunkX, groundY, chunkZ, chunkSize);
this.drawStandardSidewalks(world, chunkX, groundY, chunkZ, chunkSize);
// Draw the tower
this.generateTower(rand, world, chunkX * 16 + 4, groundY + 1, chunkZ * 16 + 4, chunkSize - 8, chunkSize - 8, towerFloors);
}
示例15: generate
import net.minecraft.world.chunk.IChunkGenerator; //导入依赖的package包/类
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
//System.out.println("Generating "+bs+" at "+chunkX+", "+chunkZ);
int x = random.nextInt(16);
int z = random.nextInt(16);
BlockPos pos = new BlockPos((chunkX*16)+x,0,(chunkZ*16)+z);
pos = world.getTopSolidOrLiquidBlock(pos);
//pos = pos.up();
generate(world, random, pos);
}