當前位置: 首頁>>代碼示例>>Java>>正文


Java EntityLiving.SpawnPlacementType方法代碼示例

本文整理匯總了Java中net.minecraft.entity.EntityLiving.SpawnPlacementType方法的典型用法代碼示例。如果您正苦於以下問題:Java EntityLiving.SpawnPlacementType方法的具體用法?Java EntityLiving.SpawnPlacementType怎麽用?Java EntityLiving.SpawnPlacementType使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在net.minecraft.entity.EntityLiving的用法示例。


在下文中一共展示了EntityLiving.SpawnPlacementType方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: canCreatureTypeSpawnAtLocation

import net.minecraft.entity.EntityLiving; //導入方法依賴的package包/類
public static boolean canCreatureTypeSpawnAtLocation(EntityLiving.SpawnPlacementType p_180267_0_, World worldIn, BlockPos pos)
{
    if (!worldIn.getWorldBorder().contains(pos))
    {
        return false;
    }
    else
    {
        Block block = worldIn.getBlockState(pos).getBlock();

        if (p_180267_0_ == EntityLiving.SpawnPlacementType.IN_WATER)
        {
            return block.getMaterial().isLiquid() && worldIn.getBlockState(pos.down()).getBlock().getMaterial().isLiquid() && !worldIn.getBlockState(pos.up()).getBlock().isNormalCube();
        }
        else
        {
            BlockPos blockpos = pos.down();

            if (!World.doesBlockHaveSolidTopSurface(worldIn, blockpos))
            {
                return false;
            }
            else
            {
                Block block1 = worldIn.getBlockState(blockpos).getBlock();
                boolean flag = block1 != Blocks.bedrock && block1 != Blocks.barrier;
                return flag && !block.isNormalCube() && !block.getMaterial().isLiquid() && !worldIn.getBlockState(pos.up()).getBlock().isNormalCube();
            }
        }
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:32,代碼來源:SpawnerAnimals.java

示例2: canCreatureTypeSpawnAtLocation

import net.minecraft.entity.EntityLiving; //導入方法依賴的package包/類
public static boolean canCreatureTypeSpawnAtLocation(EntityLiving.SpawnPlacementType spawnPlacementTypeIn, World worldIn, BlockPos pos)
{
    if (!worldIn.getWorldBorder().contains(pos))
    {
        return false;
    }
    else
    {
        IBlockState iblockstate = worldIn.getBlockState(pos);

        if (spawnPlacementTypeIn == EntityLiving.SpawnPlacementType.IN_WATER)
        {
            return iblockstate.getMaterial() == Material.WATER && worldIn.getBlockState(pos.down()).getMaterial() == Material.WATER && !worldIn.getBlockState(pos.up()).isNormalCube();
        }
        else
        {
            BlockPos blockpos = pos.down();

            if (!worldIn.getBlockState(blockpos).isFullyOpaque())
            {
                return false;
            }
            else
            {
                Block block = worldIn.getBlockState(blockpos).getBlock();
                boolean flag = block != Blocks.BEDROCK && block != Blocks.BARRIER;
                return flag && isValidEmptySpawnBlock(iblockstate) && isValidEmptySpawnBlock(worldIn.getBlockState(pos.up()));
            }
        }
    }
}
 
開發者ID:sudofox,項目名稱:Backmemed,代碼行數:32,代碼來源:WorldEntitySpawner.java

示例3: canCreatureTypeSpawnAtLocation

import net.minecraft.entity.EntityLiving; //導入方法依賴的package包/類
public static boolean canCreatureTypeSpawnAtLocation(EntityLiving.SpawnPlacementType spawnPlacementTypeIn, World worldIn, BlockPos pos)
{
    if (!worldIn.getWorldBorder().contains(pos))
    {
        return false;
    }
    else
    {
        IBlockState iblockstate = worldIn.getBlockState(pos);

        if (spawnPlacementTypeIn == EntityLiving.SpawnPlacementType.IN_WATER)
        {
            return iblockstate.getMaterial().isLiquid() && worldIn.getBlockState(pos.down()).getMaterial().isLiquid() && !worldIn.getBlockState(pos.up()).isNormalCube();
        }
        else
        {
            BlockPos blockpos = pos.down();
            IBlockState state = worldIn.getBlockState(blockpos);

            if (!state.getBlock().canCreatureSpawn(state, worldIn, blockpos, spawnPlacementTypeIn))
            {
                return false;
            }
            else
            {
                Block block = worldIn.getBlockState(blockpos).getBlock();
                boolean flag = block != Blocks.BEDROCK && block != Blocks.BARRIER;
                return flag && isValidEmptySpawnBlock(iblockstate) && isValidEmptySpawnBlock(worldIn.getBlockState(pos.up()));
            }
        }
    }
}
 
開發者ID:F1r3w477,項目名稱:CustomWorldGen,代碼行數:33,代碼來源:WorldEntitySpawner.java

示例4: canCreatureSpawn

import net.minecraft.entity.EntityLiving; //導入方法依賴的package包/類
@Override
public boolean canCreatureSpawn(IBlockState state, IBlockAccess world, BlockPos pos, EntityLiving.SpawnPlacementType type) {
	return false;
}
 
開發者ID:ArekkuusuJerii,項目名稱:Solar,代碼行數:5,代碼來源:BlockMonolithicGlyph.java

示例5: canMonsterSpawnAt

import net.minecraft.entity.EntityLiving; //導入方法依賴的package包/類
public static boolean canMonsterSpawnAt(int x, int y, int z) {
    //return SpawnerAnimals.canCreatureTypeSpawnAtLocation(EnumCreatureType.MONSTER, getWorld(), x,y,z); // < 1.8
    //return SpawnerAnimals.func_180267_a(EntityLiving.SpawnPlacementType.ON_GROUND, getWorld(), new BlockPos(x,y,z)); // 1.8
    EntityLiving.SpawnPlacementType type = EntityLiving.SpawnPlacementType.ON_GROUND;
    return WorldEntitySpawner.canCreatureTypeSpawnAtLocation(type, getWorld(), new BlockPos(x,y,z));
}
 
開發者ID:NSExceptional,項目名稱:Zombe-Modpack,代碼行數:7,代碼來源:ZWrapper.java

示例6: apply

import net.minecraft.entity.EntityLiving; //導入方法依賴的package包/類
boolean apply(IBlockState arg0, IBlockAccess arg1, BlockPos arg2,
EntityLiving.SpawnPlacementType arg3);
 
開發者ID:MinecraftPangu,項目名稱:Pangu,代碼行數:3,代碼來源:BlockCanCreatureSpawnCallback.java


注:本文中的net.minecraft.entity.EntityLiving.SpawnPlacementType方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。