001 package net.minecraft.src; 002 003 public class ItemBed extends Item 004 { 005 public ItemBed(int par1) 006 { 007 super(par1); 008 this.setTabToDisplayOn(CreativeTabs.tabDeco); 009 } 010 011 public boolean tryPlaceIntoWorld(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) 012 { 013 if (par7 != 1) 014 { 015 return false; 016 } 017 else 018 { 019 ++par5; 020 BlockBed var11 = (BlockBed)Block.bed; 021 int var12 = MathHelper.floor_double((double)(par2EntityPlayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; 022 byte var13 = 0; 023 byte var14 = 0; 024 025 if (var12 == 0) 026 { 027 var14 = 1; 028 } 029 030 if (var12 == 1) 031 { 032 var13 = -1; 033 } 034 035 if (var12 == 2) 036 { 037 var14 = -1; 038 } 039 040 if (var12 == 3) 041 { 042 var13 = 1; 043 } 044 045 if (par2EntityPlayer.canPlayerEdit(par4, par5, par6) && par2EntityPlayer.canPlayerEdit(par4 + var13, par5, par6 + var14)) 046 { 047 if (par3World.isAirBlock(par4, par5, par6) && par3World.isAirBlock(par4 + var13, par5, par6 + var14) && par3World.doesBlockHaveSolidTopSurface(par4, par5 - 1, par6) && par3World.doesBlockHaveSolidTopSurface(par4 + var13, par5 - 1, par6 + var14)) 048 { 049 par3World.setBlockAndMetadataWithNotify(par4, par5, par6, var11.blockID, var12); 050 051 if (par3World.getBlockId(par4, par5, par6) == var11.blockID) 052 { 053 par3World.setBlockAndMetadataWithNotify(par4 + var13, par5, par6 + var14, var11.blockID, var12 + 8); 054 } 055 056 --par1ItemStack.stackSize; 057 return true; 058 } 059 else 060 { 061 return false; 062 } 063 } 064 else 065 { 066 return false; 067 } 068 } 069 } 070 }