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


Java BlockChest类代码示例

本文整理汇总了Java中net.minecraft.block.BlockChest的典型用法代码示例。如果您正苦于以下问题:Java BlockChest类的具体用法?Java BlockChest怎么用?Java BlockChest使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


BlockChest类属于net.minecraft.block包,在下文中一共展示了BlockChest类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: generate

import net.minecraft.block.BlockChest; //导入依赖的package包/类
@Override
public boolean generate(World worldIn, Random rand, BlockPos position) {
	if(size.equals(BlockPos.ORIGIN) && rand.nextFloat() < this.chance)
	{
		worldIn.setBlockState(position, Blocks.CHEST.getDefaultState().withProperty(BlockChest.FACING, EnumFacing.HORIZONTALS[rand.nextInt(4)]), 3);
		((TileEntityChest)worldIn.getTileEntity(position)).setLootTable(lootTable, rand.nextLong());
		return false;
	}
	for(int x = 0; x < size.getX(); x++)
		for(int z = 0; z < size.getZ(); z++)
			if(rand.nextFloat() < this.chance)
			{
				BlockPos blockpos = new BlockPos(position.add(x, 0, z));
				boolean flag = false;
				for(EnumFacing facing : EnumFacing.HORIZONTALS)
					if(worldIn.getBlockState(blockpos.offset(facing)).getBlock() == Blocks.CHEST)
						flag = true;
				if(flag || !worldIn.isAirBlock(blockpos))
					continue;
				if(setBlock)
					worldIn.setBlockState(blockpos, Blocks.CHEST.getDefaultState().withProperty(BlockChest.FACING, EnumFacing.HORIZONTALS[rand.nextInt(4)]), 3);
				((TileEntityChest)worldIn.getTileEntity(blockpos)).setLootTable(lootTable, rand.nextLong());
			}
	return false;
}
 
开发者ID:kenijey,项目名称:harshencastle,代码行数:26,代码来源:ChestGenerator.java

示例2: postAddition

import net.minecraft.block.BlockChest; //导入依赖的package包/类
@Override
public void postAddition(World world, BlockPos pos, Random random) {
	pos = pos.subtract(originAddition);
	world.setBlockState(pos, Blocks.CHEST.getDefaultState().withProperty(BlockChest.FACING, EnumFacing.HORIZONTALS[random.nextInt(4)]), 3);
	if(world instanceof WorldServer && world.getTileEntity(pos) != null)
	{
		TileEntityChest chest = (TileEntityChest)world.getTileEntity(pos);
		chest.setInventorySlotContents(13, HarshenUtils.getItemsFromLootTable(world, HarshenLootTables.shrine).get(0));
		for(ItemStack stack : HarshenUtils.getItemsFromLootPool(world, HarshenLootTables.shrine, "extras"))
			for(int count = 0; count < stack.getCount(); count++)
			{
				int slot = new Random().nextInt(27);
				while(chest.getStackInSlot(slot).getItem() != Item.getItemFromBlock(Blocks.AIR))
					slot = new Random().nextInt(27);
				ItemStack stack1 = stack.copy();
				stack1.setCount(1);
				chest.setInventorySlotContents(slot, stack1);
			}
	}
}
 
开发者ID:kenijey,项目名称:harshencastle,代码行数:21,代码来源:Shrine.java

示例3: openInventory

import net.minecraft.block.BlockChest; //导入依赖的package包/类
public void openInventory(EntityPlayer player)
{
    if (!player.isSpectator())
    {
        if (this.numPlayersUsing < 0)
        {
            this.numPlayersUsing = 0;
        }

        ++this.numPlayersUsing;
        this.world.addBlockEvent(this.pos, this.getBlockType(), 1, this.numPlayersUsing);
        this.world.notifyNeighborsOfStateChange(this.pos, this.getBlockType(), false);

        if (this.getChestType() == BlockChest.Type.TRAP)
        {
            this.world.notifyNeighborsOfStateChange(this.pos.down(), this.getBlockType(), false);
        }
    }
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:20,代码来源:TileEntityChest.java

示例4: getInventory

import net.minecraft.block.BlockChest; //导入依赖的package包/类
public static IInventory getInventory(final TileEntity tile) {
    if (tile instanceof IInventory) {
        if (tile instanceof TileEntityChest) {
            final int x = tile.xCoord;
            final int y = tile.yCoord;
            final int z = tile.zCoord;
            final Block blockID = tile.getWorldObj().getBlock(x, y, z);
            if (!tile.getWorldObj().isAirBlock(x, y, z) && blockID instanceof BlockChest) {
                if (tile.getWorldObj().getBlock(x - 1, y, z) == blockID) {
                    return (IInventory)new InventoryLargeChest("container.chestDouble", (IInventory)tile.getWorldObj().getTileEntity(x - 1, y, z), (IInventory)tile);
                }
                if (tile.getWorldObj().getBlock(x + 1, y, z) == blockID) {
                    return (IInventory)new InventoryLargeChest("container.chestDouble", (IInventory)tile, (IInventory)tile.getWorldObj().getTileEntity(x + 1, y, z));
                }
                if (tile.getWorldObj().getBlock(x, y, z - 1) == blockID) {
                    return (IInventory)new InventoryLargeChest("container.chestDouble", (IInventory)tile.getWorldObj().getTileEntity(x, y, z - 1), (IInventory)tile);
                }
                if (tile.getWorldObj().getBlock(x, y, z + 1) == blockID) {
                    return (IInventory)new InventoryLargeChest("container.chestDouble", (IInventory)tile, (IInventory)tile.getWorldObj().getTileEntity(x, y, z + 1));
                }
            }
        }
        return (IInventory)tile;
    }
    return null;
}
 
开发者ID:sameer,项目名称:ExtraUtilities,代码行数:27,代码来源:TNHelper.java

示例5: getChestBlock

import net.minecraft.block.BlockChest; //导入依赖的package包/类
private IBlockState getChestBlock(int x, int z) {
	IBlockState currentBlock;
	if (x > 1) {
		currentBlock = ((BlockChest) Blocks.CHEST).getStateFromMeta(4);
	} else if (x < -1) {
		currentBlock = ((BlockChest) Blocks.CHEST).getStateFromMeta(5);
	} else if (z > 1) {
		currentBlock = ((BlockChest) Blocks.CHEST).getStateFromMeta(2);
	} else if (z < -1) {
		currentBlock = ((BlockChest) Blocks.CHEST).getStateFromMeta(3);
	} else {
		currentBlock = Blocks.AIR.getDefaultState();
	}

	return currentBlock;
}
 
开发者ID:ToroCraft,项目名称:ToroQuest,代码行数:17,代码来源:MageTowerGenerator.java

示例6: placeChest

import net.minecraft.block.BlockChest; //导入依赖的package包/类
protected boolean placeChest(World world, StructureBoundingBox box, Random rand, int x, int y, int z, EnumFacing f, boolean a) {
	int i1 = this.getXWithOffset(x, z);
	int j1 = this.getYWithOffset(y);
	int k1 = this.getZWithOffset(x, z);
	BlockPos pos = new BlockPos(i1, j1, k1);
	if (f.getAxis() == Axis.Y)
		f = EnumFacing.NORTH;
	if (box.isVecInside(pos) && (world.getBlockState(pos).getBlock() != Blocks.CHEST)) {
		world.setBlockState(pos, Blocks.CHEST.getDefaultState().withProperty(BlockChest.FACING, f), 2);
		TileEntity tile = world.getTileEntity(pos);
		if (tile instanceof TileEntityChest)
			((TileEntityChest) tile).setLootTable(a ? loot2 : rand.nextInt(10) < 2 ? lootB : loot, rand.nextLong());
		return true;
	} else
		return false;
}
 
开发者ID:tom5454,项目名称:Toms-Mod,代码行数:17,代码来源:VillageHouseScientist.java

示例7: openInventory

import net.minecraft.block.BlockChest; //导入依赖的package包/类
@Override
public void openInventory(EntityPlayer player) {
	if (!player.isSpectator()) {
		if (this.numPlayersUsing < 0) {
			this.numPlayersUsing = 0;
		}

		++this.numPlayersUsing;
		this.world.addBlockEvent(this.pos, this.getBlockType(), 1, this.numPlayersUsing);
		this.world.notifyNeighborsOfStateChange(this.pos, this.getBlockType(), false);

		if (this.getChestType() == BlockChest.Type.TRAP) {
			this.world.notifyNeighborsOfStateChange(this.pos.down(), this.getBlockType(), false);
		}
	}
}
 
开发者ID:tom5454,项目名称:Toms-Mod,代码行数:17,代码来源:TileEntityLimitableChest.java

示例8: func_96117_b

import net.minecraft.block.BlockChest; //导入依赖的package包/类
public static IInventory func_96117_b(World p_96117_0_, double p_96117_1_, double p_96117_3_, double p_96117_5_) {
   IInventory var7 = null;
   int var8 = MathHelper.func_76128_c(p_96117_1_);
   int var9 = MathHelper.func_76128_c(p_96117_3_);
   int var10 = MathHelper.func_76128_c(p_96117_5_);
   TileEntity var11 = p_96117_0_.func_72796_p(var8, var9, var10);
   if(var11 != null && var11 instanceof IInventory) {
      var7 = (IInventory)var11;
      if(var7 instanceof TileEntityChest) {
         int var12 = p_96117_0_.func_72798_a(var8, var9, var10);
         Block var13 = Block.field_71973_m[var12];
         if(var13 instanceof BlockChest) {
            var7 = ((BlockChest)var13).func_94442_h_(p_96117_0_, var8, var9, var10);
         }
      }
   }

   if(var7 == null) {
      List var14 = p_96117_0_.func_94576_a((Entity)null, AxisAlignedBB.func_72332_a().func_72299_a(p_96117_1_, p_96117_3_, p_96117_5_, p_96117_1_ + 1.0D, p_96117_3_ + 1.0D, p_96117_5_ + 1.0D), IEntitySelector.field_96566_b);
      if(var14 != null && var14.size() > 0) {
         var7 = (IInventory)var14.get(p_96117_0_.field_73012_v.nextInt(var14.size()));
      }
   }

   return var7;
}
 
开发者ID:HATB0T,项目名称:RuneCraftery,代码行数:27,代码来源:TileEntityHopper.java

示例9: isChestAt

import net.minecraft.block.BlockChest; //导入依赖的package包/类
private boolean isChestAt(BlockPos posIn)
{
    if (this.worldObj == null)
    {
        return false;
    }
    else
    {
        Block block = this.worldObj.getBlockState(posIn).getBlock();
        return block instanceof BlockChest && ((BlockChest)block).chestType == this.getChestType();
    }
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:13,代码来源:TileEntityChest.java

示例10: closeInventory

import net.minecraft.block.BlockChest; //导入依赖的package包/类
public void closeInventory(EntityPlayer player)
{
    if (!player.isSpectator() && this.getBlockType() instanceof BlockChest)
    {
        --this.numPlayersUsing;
        this.worldObj.addBlockEvent(this.pos, this.getBlockType(), 1, this.numPlayersUsing);
        this.worldObj.notifyNeighborsOfStateChange(this.pos, this.getBlockType());
        this.worldObj.notifyNeighborsOfStateChange(this.pos.down(), this.getBlockType());
    }
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:11,代码来源:TileEntityChest.java

示例11: getChestType

import net.minecraft.block.BlockChest; //导入依赖的package包/类
public int getChestType()
{
    if (this.cachedChestType == -1)
    {
        if (this.worldObj == null || !(this.getBlockType() instanceof BlockChest))
        {
            return 0;
        }

        this.cachedChestType = ((BlockChest)this.getBlockType()).chestType;
    }

    return this.cachedChestType;
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:15,代码来源:TileEntityChest.java

示例12: drawChestESP

import net.minecraft.block.BlockChest; //导入依赖的package包/类
public void drawChestESP(TileEntityChest chest, double x, double y, double z) {
	if(isEnabled()) {
		boolean isAdjacent = chest.adjacentChestChecked;
		if(chest.adjacentChestXPos != null)
		{
			if(chest.getChestType() == BlockChest.Type.TRAP) { //if is trapped chest
				RenderUtils.blockESP(chest.getPos(), Color.red, 1.0, 2.0);
			}else{
				RenderUtils.blockESP(chest.getPos(), Color.green, 1.0, 2.0);
			}
		}

		if(chest.adjacentChestZPos != null)
		{
			if(chest.getChestType() == BlockChest.Type.TRAP) { //if is trapped chest
				RenderUtils.blockESP(chest.getPos(), Color.red, 2.0, 1.0);
			}else{
				RenderUtils.blockESP(chest.getPos(), Color.green, 2.0, 1.0);
			}
		}
		if(chest.adjacentChestZNeg == null && chest.adjacentChestXNeg == null && chest.adjacentChestXPos == null && chest.adjacentChestZPos == null)
		{
			if(chest.getChestType() == BlockChest.Type.TRAP) { //if is trapped chest
				RenderUtils.blockESP(chest.getPos(), Color.red, 1.0, 1.0);
			}else{
				RenderUtils.blockESP(chest.getPos(), 
						Color.green, 
						1.0, 
						1.0);
			}
		}
	}
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:34,代码来源:StorageESP.java

示例13: isChestAt

import net.minecraft.block.BlockChest; //导入依赖的package包/类
private boolean isChestAt(BlockPos posIn)
{
    if (this.world == null)
    {
        return false;
    }
    else
    {
        Block block = this.world.getBlockState(posIn).getBlock();
        return block instanceof BlockChest && ((BlockChest)block).chestType == this.getChestType();
    }
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:13,代码来源:TileEntityChest.java

示例14: closeInventory

import net.minecraft.block.BlockChest; //导入依赖的package包/类
public void closeInventory(EntityPlayer player)
{
    if (!player.isSpectator() && this.getBlockType() instanceof BlockChest)
    {
        --this.numPlayersUsing;
        this.world.addBlockEvent(this.pos, this.getBlockType(), 1, this.numPlayersUsing);
        this.world.notifyNeighborsOfStateChange(this.pos, this.getBlockType(), false);

        if (this.getChestType() == BlockChest.Type.TRAP)
        {
            this.world.notifyNeighborsOfStateChange(this.pos.down(), this.getBlockType(), false);
        }
    }
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:15,代码来源:TileEntityChest.java

示例15: getChestType

import net.minecraft.block.BlockChest; //导入依赖的package包/类
public BlockChest.Type getChestType()
{
    if (this.cachedChestType == null)
    {
        if (this.world == null || !(this.getBlockType() instanceof BlockChest))
        {
            return BlockChest.Type.BASIC;
        }

        this.cachedChestType = ((BlockChest)this.getBlockType()).chestType;
    }

    return this.cachedChestType;
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:15,代码来源:TileEntityChest.java


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