当前位置: 首页>>代码示例>>Java>>正文


Java IChunkGenerator类代码示例

本文整理汇总了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);
    }
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:29,代码来源:GameRegistry.java

示例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;
        }
    }
}
 
开发者ID:droidicus,项目名称:AquaRegia,代码行数:25,代码来源:WorldGenOres.java

示例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;
    }
}
 
开发者ID:TeamFRM,项目名称:TAIGA,代码行数:21,代码来源:WorldGen.java

示例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;
	}

}
 
开发者ID:KillBait,项目名称:PrimordialCrops,代码行数:20,代码来源:MagicalWorldGen.java

示例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;
	}
}
 
开发者ID:MinecraftModDevelopmentMods,项目名称:HempFarmer,代码行数:19,代码来源:HempGen.java

示例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;
                }
    }
}
 
开发者ID:alxnns1,项目名称:MobHunter,代码行数:25,代码来源:WorldGenHandler.java

示例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());
		}
	}
}
 
开发者ID:BubbleTrouble14,项目名称:ARKCraft,代码行数:17,代码来源:WorldGeneratorBushes.java

示例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();
        }
    }
}
 
开发者ID:ternsip,项目名称:Placemod,代码行数:22,代码来源:Decorator.java

示例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();
        }
    }
}
 
开发者ID:ternsip,项目名称:Placemod,代码行数:22,代码来源:Decorator.java

示例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;
	}
}
 
开发者ID:TheXFactor117,项目名称:Lost-Eclipse-Outdated,代码行数:20,代码来源:LEWorldGenerator.java

示例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);
	}
}
 
开发者ID:cyanobacterium,项目名称:Minecraft_Mineralogy,代码行数:23,代码来源:OreSpawner.java

示例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));
            }


    }
}
 
开发者ID:Othlon,项目名称:CherryPig,代码行数:27,代码来源:CPTreeWorldGen.java

示例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;
    }
    
	
}
 
开发者ID:ProBossGamers,项目名称:TurtleMod,代码行数:18,代码来源:TutorialWorldGenerator.java

示例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);
	
}
 
开发者ID:astronautlabs,项目名称:rezolve,代码行数:14,代码来源:CityGenerator.java

示例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);
}
 
开发者ID:trigg,项目名称:Firma,代码行数:11,代码来源:FirmaTree.java


注:本文中的net.minecraft.world.chunk.IChunkGenerator类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。