java类net.minecraft.world.chunk.IChunkProvider的实例源码

EtFuturumNetherGenerator.java 文件源码 项目:connor41-etfuturum2 阅读 23 收藏 0 点赞 0 评论 0
@Override
public void generate(Random random, int chunkX, int chunkZ, World world,
        IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
    switch (world.provider.dimensionId) {
    case 0:

        break;
    case -1:
        this.runGenerator(this.magma, world, random, chunkX, chunkZ, 100, 0, 256);
        break;
    case 1:

        break;
    }   
}
Generation.java 文件源码 项目:statclock 阅读 23 收藏 0 点赞 0 评论 0
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
    switch (world.provider.getDimension()) {
        case -1:
            break;
        case 0:
            generateSurface(world, random, chunkX * 16, chunkZ * 16);
            break;
        case 1:
            break;
    }
}
WGLabMedium.java 文件源码 项目:PurificatiMagicae 阅读 27 收藏 0 点赞 0 评论 0
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
{
    if (dimList.contains(world.provider.getDimension()) == dimListMode)
    {
        if (random.nextFloat() <= chance)
        {
            int x = chunkX * 16 + 16;
            int z = chunkZ * 16 + 16;
            BlockPos pos = new BlockPos(x, world.getHeight(x, z) - 1, z);
            if (pos.getY() >= minY && pos.getY() <= maxY)
            {
                try
                {
                    NBTTagCompound tag = StructureApi.INSTANCE.getStructureNbt(Utils.gRL("lab_medium"));
                    PurMag.INSTANCE.debug("WG START [lab_medium]");
                    StructureApi.INSTANCE.spawnStructure(tag, pos, null, Rotation.values()[random.nextInt(Rotation.values().length)], (WorldServer) world, random);
                    PurMag.INSTANCE.debug("WG END AT " + pos);
                }
                catch (IOException e)
                {
                    PurMag.INSTANCE.log.error("An IOException occurred when spawning the small lab structure!", e);
                }
            }
        }
    }
}
WGCrystal.java 文件源码 项目:PurificatiMagicae 阅读 24 收藏 0 点赞 0 评论 0
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
{
    if(dimList.contains(world.provider.getDimension()) == dimListMode)
    {
        int x = chunkX * 16 + random.nextInt(16);
        int z = chunkZ * 16 + random.nextInt(16);
        float sif = PurMag.INSTANCE.sif_storage.get(new GlobalChunkPos(chunkX, chunkZ, world.provider.getDimension()));
        int y = predicate.getY(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider, x, z, sif);
        BlockPos pos = new BlockPos(x, y, z);

        if (predicate.canGenerateHere(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider, pos, sif))
        {
            int count = predicate.getCrystalCount(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider, pos, sif);
            predicate.beforePlace(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider, pos, sif, count);
            BlockPos.MutableBlockPos genPos = new BlockPos.MutableBlockPos(pos);
            for (int i = 0; i < count; i++)
            {
                genPos.setY(pos.getY() + i);
                world.setBlockState(genPos, BlockRegistry.crystal.getDefaultState(), 2);
                TileSingleSip tss = new TileSingleSip();
                tss.setType(sipType, false);
                world.setTileEntity(genPos, tss);
            }
            PurMag.INSTANCE.debug("Crystal " + sipType + " " + pos);
            predicate.afterPlace(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider, pos, sif, count);
        }
    }
}
CrystalGenPredicates.java 文件源码 项目:PurificatiMagicae 阅读 29 收藏 0 点赞 0 评论 0
@Override
public void beforePlace(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider, BlockPos pos, float sif, int count)
{
    BlockPos.MutableBlockPos p = new BlockPos.MutableBlockPos(pos);
    for (int y1 = 0; y1 < count + 1; y1++)
    {
        p.setY(p.getY() + y1);
        world.setBlockToAir(p);
    }
}
CrystalGenPredicates.java 文件源码 项目:PurificatiMagicae 阅读 23 收藏 0 点赞 0 评论 0
@Override
public int getY(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider, int x, int z, float sif)
{
    BlockPos.MutableBlockPos mut = new BlockPos.MutableBlockPos(x, 0, z);
    for (int y = 0; y < 256; y++)
    {
        mut.setY(y);
        if (world.isAirBlock(mut))
        {
            return y;
        }
    }
    return -1;
}
WorldServer.java 文件源码 项目:BaseClient 阅读 32 收藏 0 点赞 0 评论 0
/**
 * Creates the chunk provider for this world. Called in the constructor. Retrieves provider from worldProvider?
 */
protected IChunkProvider createChunkProvider()
{
    IChunkLoader ichunkloader = this.saveHandler.getChunkLoader(this.provider);
    this.theChunkProviderServer = new ChunkProviderServer(this, ichunkloader, this.provider.createChunkGenerator());
    return this.theChunkProviderServer;
}
ModWorldGen.java 文件源码 项目:MagicWinds 阅读 26 收藏 0 点赞 0 评论 0
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
    switch (world.provider.getDimension()){
        case -1:
            break;
        case 0:
            this.runGenerator(this.gen_green_shard_ore, world, random, chunkX, chunkZ, 20,0, 60);
            break;
        case 1:
            break;
    }
}
ChunkProviderServer.java 文件源码 项目:BaseClient 阅读 25 收藏 0 点赞 0 评论 0
public boolean func_177460_a(IChunkProvider p_177460_1_, Chunk p_177460_2_, int p_177460_3_, int p_177460_4_)
{
    if (this.serverChunkGenerator != null && this.serverChunkGenerator.func_177460_a(p_177460_1_, p_177460_2_, p_177460_3_, p_177460_4_))
    {
        Chunk chunk = this.provideChunk(p_177460_3_, p_177460_4_);
        chunk.setChunkModified();
        return true;
    }
    else
    {
        return false;
    }
}
ChunkProviderServer.java 文件源码 项目:BaseClient 阅读 23 收藏 0 点赞 0 评论 0
public boolean func_177460_a(IChunkProvider p_177460_1_, Chunk p_177460_2_, int p_177460_3_, int p_177460_4_)
{
    if (this.serverChunkGenerator != null && this.serverChunkGenerator.func_177460_a(p_177460_1_, p_177460_2_, p_177460_3_, p_177460_4_))
    {
        Chunk chunk = this.provideChunk(p_177460_3_, p_177460_4_);
        chunk.setChunkModified();
        return true;
    }
    else
    {
        return false;
    }
}


问题


面经


文章

微信
公众号

扫码关注公众号