001 package net.minecraft.src; 002 003 import cpw.mods.fml.common.Side; 004 import cpw.mods.fml.common.asm.SideOnly; 005 import java.util.Random; 006 007 public class BlockLockedChest extends Block 008 { 009 protected BlockLockedChest(int par1) 010 { 011 super(par1, Material.wood); 012 this.blockIndexInTexture = 26; 013 } 014 015 @SideOnly(Side.CLIENT) 016 017 /** 018 * Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side 019 */ 020 public int getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) 021 { 022 if (par5 == 1) 023 { 024 return this.blockIndexInTexture - 1; 025 } 026 else if (par5 == 0) 027 { 028 return this.blockIndexInTexture - 1; 029 } 030 else 031 { 032 int var6 = par1IBlockAccess.getBlockId(par2, par3, par4 - 1); 033 int var7 = par1IBlockAccess.getBlockId(par2, par3, par4 + 1); 034 int var8 = par1IBlockAccess.getBlockId(par2 - 1, par3, par4); 035 int var9 = par1IBlockAccess.getBlockId(par2 + 1, par3, par4); 036 byte var10 = 3; 037 038 if (Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var7]) 039 { 040 var10 = 3; 041 } 042 043 if (Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var6]) 044 { 045 var10 = 2; 046 } 047 048 if (Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var9]) 049 { 050 var10 = 5; 051 } 052 053 if (Block.opaqueCubeLookup[var9] && !Block.opaqueCubeLookup[var8]) 054 { 055 var10 = 4; 056 } 057 058 return par5 == var10 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture; 059 } 060 } 061 062 /** 063 * Returns the block texture based on the side being looked at. Args: side 064 */ 065 public int getBlockTextureFromSide(int par1) 066 { 067 return par1 == 1 ? this.blockIndexInTexture - 1 : (par1 == 0 ? this.blockIndexInTexture - 1 : (par1 == 3 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture)); 068 } 069 070 /** 071 * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z 072 */ 073 public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) 074 { 075 return true; 076 } 077 078 /** 079 * Ticks the block if it's been scheduled 080 */ 081 public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) 082 { 083 par1World.setBlockWithNotify(par2, par3, par4, 0); 084 } 085 }