public IBlockData getPlacedState( World world, BlockPosition blockposition, EnumDirection enumdirection, float f, float f1, float f2, int i, EntityLiving entityliving) { IBlockData iblockdata = getBlockData().set(POWERED, Boolean.valueOf(false)); if (a(world, blockposition, enumdirection.opposite())) { return iblockdata.set( FACING, EnumLeverPosition.a(enumdirection, entityliving.getDirection())); } Iterator iterator = EnumDirection.EnumDirectionLimit.HORIZONTAL.iterator(); EnumDirection enumdirection1; do { if (!iterator.hasNext()) { if (World.a(world, blockposition.down())) { return iblockdata.set( FACING, EnumLeverPosition.a(EnumDirection.UP, entityliving.getDirection())); } return iblockdata; } enumdirection1 = (EnumDirection) iterator.next(); } while ((enumdirection1 == enumdirection) || (!a(world, blockposition, enumdirection1.opposite()))); return iblockdata.set(FACING, EnumLeverPosition.a(enumdirection1, entityliving.getDirection())); }
static { i = new EnumLeverPosition[values().length]; EnumLeverPosition[] ablocklever_enumleverposition = values(); int i = ablocklever_enumleverposition.length; for (int j = 0; j < i; j++) { EnumLeverPosition blocklever_enumleverposition = ablocklever_enumleverposition[j]; i[blocklever_enumleverposition.a()] = blocklever_enumleverposition; } }
public IBlockData fromLegacyData(int i) { return getBlockData() .set(FACING, EnumLeverPosition.a(i & 0x7)) .set(POWERED, Boolean.valueOf((i & 0x8) > 0)); }