public ItemStack getItem() {
   ItemStack ret = Core.registry.greenware_item.copy();
   NBTTagCompound tag = new NBTTagCompound();
   byte r = rotation;
   setRotation((byte) 0);
   try {
     putData(new DataOutNBT(tag));
   } catch (IOException e) {
     e.printStackTrace();
   }
   setRotation(r);
   tag.setByte("front", (byte) front.ordinal());
   ret.setTagCompound(tag);
   if (customName != null) {
     ret.setStackDisplayName(customName);
   }
   return ret;
 }
 @Override
 public boolean isSideSolid(IBlockAccess world, BlockPos pos, EnumFacing direction) {
   return direction.ordinal() != getMetaFromState(world.getBlockState(pos));
 }